@nutui/nutui-react-taro 3.0.0-beta.2 → 3.0.0-beta.3

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 (90) hide show
  1. package/dist/cjs/packages/avatar/avatar.js +14 -16
  2. package/dist/cjs/packages/avatar/style/avatar.scss +7 -60
  3. package/dist/cjs/packages/avatar/style/style.css +5 -43
  4. package/dist/cjs/packages/avatar/style/style.harmony.css +5 -43
  5. package/dist/cjs/packages/badge/badge.js +67 -12
  6. package/dist/cjs/packages/badge/style/badge.scss +18 -24
  7. package/dist/cjs/packages/badge/style/style.css +17 -15
  8. package/dist/cjs/packages/badge/style/style.harmony.css +22 -17
  9. package/dist/cjs/packages/calendarcard/calendarcard.js +8 -3
  10. package/dist/cjs/packages/calendarcard/icon.js +14 -2
  11. package/dist/cjs/packages/calendarcard/style/calendarcard.scss +25 -4
  12. package/dist/cjs/packages/calendarcard/style/style.css +27 -2
  13. package/dist/cjs/packages/image/image.js +5 -5
  14. package/dist/cjs/packages/input/style/style.harmony.css +4 -0
  15. package/dist/cjs/packages/navbar/navbar.js +17 -8
  16. package/dist/cjs/packages/navbar/style/navbar.scss +46 -101
  17. package/dist/cjs/packages/navbar/style/style.css +44 -89
  18. package/dist/cjs/packages/navbar/style/style.harmony.css +45 -93
  19. package/dist/cjs/packages/pagination/pagination.js +2 -0
  20. package/dist/cjs/packages/pagination/style/pagination.scss +6 -12
  21. package/dist/cjs/packages/pagination/style/style.css +8 -14
  22. package/dist/cjs/packages/radio/index.d.ts +8 -2
  23. package/dist/cjs/packages/radio/index.js +6 -1
  24. package/dist/cjs/packages/radio/radio.d.ts +2 -5
  25. package/dist/cjs/packages/radio/radio.js +2 -4
  26. package/dist/cjs/packages/radio/style/radio.scss +1 -0
  27. package/dist/cjs/packages/radiogroup/radiogroup.d.ts +2 -1
  28. package/dist/cjs/packages/radiogroup/radiogroup.js +3 -2
  29. package/dist/cjs/packages/safearea/style/safearea.scss +1 -1
  30. package/dist/cjs/packages/safearea/style/style.css +1 -1
  31. package/dist/cjs/packages/safearea/style/style.harmony.css +1 -1
  32. package/dist/cjs/packages/searchbar/searchbar.d.ts +1 -1
  33. package/dist/cjs/packages/searchbar/searchbar.js +31 -33
  34. package/dist/cjs/packages/searchbar/style/searchbar.scss +10 -7
  35. package/dist/cjs/packages/searchbar/style/style.css +11 -8
  36. package/dist/cjs/packages/searchbar/style/style.harmony.css +25 -12
  37. package/dist/cjs/packages/skeleton/style/style.css +5 -43
  38. package/dist/cjs/packages/tabbar/style/style.css +17 -15
  39. package/dist/cjs/packages/tabbaritem/style/style.css +17 -15
  40. package/dist/cjs/packages/video/video.js +3 -3
  41. package/dist/es/packages/avatar/avatar.js +14 -16
  42. package/dist/es/packages/avatar/style/avatar.scss +7 -60
  43. package/dist/es/packages/avatar/style/style.css +5 -43
  44. package/dist/es/packages/avatar/style/style.harmony.css +5 -43
  45. package/dist/es/packages/badge/badge.d.ts +7 -35
  46. package/dist/es/packages/badge/badge.js +66 -12
  47. package/dist/es/packages/badge/style/badge.scss +18 -24
  48. package/dist/es/packages/badge/style/style.css +17 -15
  49. package/dist/es/packages/badge/style/style.harmony.css +22 -17
  50. package/dist/es/packages/calendarcard/calendarcard.d.ts +13 -65
  51. package/dist/es/packages/calendarcard/calendarcard.js +9 -4
  52. package/dist/es/packages/calendarcard/icon.js +15 -3
  53. package/dist/es/packages/calendarcard/style/calendarcard.scss +25 -4
  54. package/dist/es/packages/calendarcard/style/style.css +27 -2
  55. package/dist/es/packages/image/image.js +5 -5
  56. package/dist/es/packages/input/style/style.harmony.css +4 -0
  57. package/dist/es/packages/loading/loading.d.ts +3 -15
  58. package/dist/es/packages/navbar/navbar.js +17 -8
  59. package/dist/es/packages/navbar/style/navbar.scss +46 -101
  60. package/dist/es/packages/navbar/style/style.css +44 -89
  61. package/dist/es/packages/navbar/style/style.harmony.css +45 -93
  62. package/dist/es/packages/pagination/pagination.js +2 -0
  63. package/dist/es/packages/pagination/style/pagination.scss +6 -12
  64. package/dist/es/packages/pagination/style/style.css +8 -14
  65. package/dist/es/packages/radio/index.d.ts +8 -2
  66. package/dist/es/packages/radio/index.js +5 -1
  67. package/dist/es/packages/radio/radio.d.ts +11 -50
  68. package/dist/es/packages/radio/radio.js +3 -5
  69. package/dist/es/packages/radio/style/radio.scss +1 -0
  70. package/dist/es/packages/radiogroup/radiogroup.d.ts +9 -36
  71. package/dist/es/packages/radiogroup/radiogroup.js +3 -2
  72. package/dist/es/packages/safearea/safearea.d.ts +1 -5
  73. package/dist/es/packages/safearea/style/safearea.scss +1 -1
  74. package/dist/es/packages/safearea/style/style.css +1 -1
  75. package/dist/es/packages/safearea/style/style.harmony.css +1 -1
  76. package/dist/es/packages/searchbar/searchbar.d.ts +19 -95
  77. package/dist/es/packages/searchbar/searchbar.js +32 -34
  78. package/dist/es/packages/searchbar/style/searchbar.scss +10 -7
  79. package/dist/es/packages/searchbar/style/style.css +11 -8
  80. package/dist/es/packages/searchbar/style/style.harmony.css +25 -12
  81. package/dist/es/packages/skeleton/style/style.css +5 -43
  82. package/dist/es/packages/tabbar/style/style.css +17 -15
  83. package/dist/es/packages/tabbaritem/style/style.css +17 -15
  84. package/dist/es/packages/video/video.d.ts +5 -25
  85. package/dist/es/packages/video/video.js +3 -3
  86. package/dist/nutui.react.umd.js +256 -199
  87. package/dist/style.css +1 -1
  88. package/dist/styles/themes/default.scss +25 -25
  89. package/dist/styles/variables.scss +7 -4
  90. package/package.json +2 -2
@@ -82,31 +82,29 @@ var Avatar = function Avatar(props) {
82
82
  };
83
83
  return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, (showMax || !groupMax || avatarIndex <= groupMax) && /*#__PURE__*/ _react.default.createElement(_components.View, {
84
84
  className: cls,
85
- // {...rest}
86
85
  style: !showMax ? styles : maxStyles,
87
86
  onClick: clickAvatar,
88
87
  ref: avatarRef
89
88
  }, (!groupMax || avatarIndex <= groupMax) && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, src && /*#__PURE__*/ _react.default.createElement(_components.Image, {
90
89
  className: "nut-avatar-img nut-avatar-".concat(groupSize || size || 'normal', "-img"),
91
90
  src: src,
92
- style: (0, _object_spread._)({
91
+ style: {
93
92
  objectFit: fit
94
- }, styles),
93
+ },
95
94
  onError: errorEvent
96
- }), /*#__PURE__*/ _react.default.isValidElement(icon) ? /*#__PURE__*/ _react.default.cloneElement(icon, (0, _object_spread_props._)((0, _object_spread._)({}, icon.props), {
97
- className: "".concat(icon.props.className || '', " nut-avatar-icon nut-avatar-").concat(groupSize || size || 'normal', "-icon"),
98
- style: {
99
- position: 'absolute'
100
- }
101
- })) : null, children && /*#__PURE__*/ _react.default.createElement(_components.View, {
95
+ }), /*#__PURE__*/ _react.default.isValidElement(icon) ? /*#__PURE__*/ _react.default.createElement(_components.View, {
96
+ className: "nut-avatar-text"
97
+ }, /*#__PURE__*/ _react.default.cloneElement(icon, (0, _object_spread_props._)((0, _object_spread._)({}, icon.props), {
98
+ className: "".concat(icon.props.className || '', " nut-avatar-icon nut-avatar-").concat(groupSize || size || 'normal', "-icon")
99
+ }))) : null, children && /*#__PURE__*/ _react.default.createElement(_components.View, {
102
100
  className: "nut-avatar-text nut-avatar-".concat(groupSize || size || 'normal', "-text")
103
- }, children), !src && !icon && !children && !(0, _platformtaro.harmonyAndRn)() && /*#__PURE__*/ _react.default.createElement(_iconsreacttaro.User, {
104
- className: "nut-avatar-icon nut-avatar-".concat(groupSize || size || 'normal', "-icon"),
105
- style: {
106
- position: 'absolute'
107
- }
108
- })), showMax && /*#__PURE__*/ _react.default.createElement(_components.View, {
109
- className: "nut-avatar-text nut-avatar-".concat(groupSize || 'normal', "-text")
101
+ }, children), !src && !icon && !children && /*#__PURE__*/ _react.default.createElement(_components.View, {
102
+ className: "nut-avatar-text"
103
+ }, /*#__PURE__*/ _react.default.createElement(_iconsreacttaro.User, {
104
+ className: "nut-avatar-icon nut-avatar-".concat(groupSize || size || 'normal', "-icon")
105
+ }))), showMax && /*#__PURE__*/ _react.default.createElement(_components.View, {
106
+ className: "nut-avatar-text nut-avatar-".concat(groupSize || 'normal', "-text"),
107
+ style: (0, _object_spread._)({}, maxStyles)
110
108
  }, (propAvatarGroup === null || propAvatarGroup === void 0 ? void 0 : propAvatarGroup.maxContent) ? propAvatarGroup === null || propAvatarGroup === void 0 ? void 0 : propAvatarGroup.maxContent : "+ ".concat(avatarIndex - Number(groupMax || 0)))));
111
109
  };
112
110
  Avatar.displayName = 'NutAvatar';
@@ -1,6 +1,13 @@
1
1
  .nut-avatar {
2
2
  position: relative;
3
3
  flex: 0 0 auto; // 防止被压缩
4
+
5
+ display: flex;
6
+ justify-content: center;
7
+ align-items: center;
8
+ width: $avatar-normal-width;
9
+ height: $avatar-normal-height;
10
+
4
11
  &-round {
5
12
  border-radius: 999px;
6
13
  overflow: hidden;
@@ -28,45 +35,23 @@
28
35
  background-size: 100% 100%;
29
36
  }
30
37
 
31
- .nut-icon-img {
32
- width: 100%;
33
- height: 100%;
34
- }
35
-
36
38
  &-text {
37
39
  display: flex;
38
40
  justify-content: center;
39
41
  align-items: center;
40
- width: 100%;
41
- height: 100%;
42
42
  }
43
43
 
44
44
  &-large {
45
- display: flex;
46
- justify-content: center;
47
- align-items: center;
48
45
  width: $avatar-large-width;
49
46
  height: $avatar-large-height;
50
-
51
47
  &-img {
52
48
  width: $avatar-large-width;
53
49
  height: $avatar-large-height;
54
- &-image {
55
- width: $avatar-large-width;
56
- height: $avatar-large-height;
57
- }
58
50
  }
59
-
60
51
  &-icon {
61
52
  width: $avatar-large-width;
62
53
  height: $avatar-large-height;
63
54
  }
64
-
65
- .nut-icon-img {
66
- width: 100%;
67
- height: 100%;
68
- }
69
-
70
55
  &-text {
71
56
  width: $avatar-large-width;
72
57
  height: $avatar-large-height;
@@ -74,51 +59,13 @@
74
59
  }
75
60
 
76
61
  &-small {
77
- display: flex;
78
- justify-content: center;
79
- align-items: center;
80
62
  width: $avatar-small-width;
81
63
  height: $avatar-small-height;
82
-
83
- &-img-image {
84
- width: $avatar-small-width;
85
- height: $avatar-small-height;
86
- }
87
- &-icon {
88
- // width: $avatar-small-width;
89
- // height: $avatar-small-height;
90
- }
91
64
  &-text {
92
65
  width: $avatar-small-width;
93
66
  height: $avatar-small-height;
94
67
  }
95
68
  }
96
-
97
- &-normal {
98
- display: flex;
99
- justify-content: center;
100
- align-items: center;
101
- width: $avatar-normal-width;
102
- height: $avatar-normal-height;
103
-
104
- &-img-image {
105
- width: $avatar-normal-width;
106
- height: $avatar-normal-height;
107
- }
108
-
109
- &-icon {
110
- }
111
-
112
- .nut-icon-img {
113
- width: 100%;
114
- height: 100%;
115
- }
116
-
117
- &-text {
118
- width: $avatar-normal-width;
119
- height: $avatar-normal-height;
120
- }
121
- }
122
69
  }
123
70
 
124
71
  // [dir='rtl'] .nut-avatar,
@@ -73,6 +73,11 @@
73
73
  .nut-avatar {
74
74
  position: relative;
75
75
  flex: 0 0 auto;
76
+ display: flex;
77
+ justify-content: center;
78
+ align-items: center;
79
+ width: var(--nutui-avatar-normal-width, 40px);
80
+ height: var(--nutui-avatar-normal-height, 40px);
76
81
  }
77
82
  .nut-avatar-round {
78
83
  border-radius: 999px;
@@ -96,21 +101,12 @@
96
101
  .nut-avatar-icon {
97
102
  background-size: 100% 100%;
98
103
  }
99
- .nut-avatar .nut-icon-img {
100
- width: 100%;
101
- height: 100%;
102
- }
103
104
  .nut-avatar-text {
104
105
  display: flex;
105
106
  justify-content: center;
106
107
  align-items: center;
107
- width: 100%;
108
- height: 100%;
109
108
  }
110
109
  .nut-avatar-large {
111
- display: flex;
112
- justify-content: center;
113
- align-items: center;
114
110
  width: var(--nutui-avatar-large-width, 60px);
115
111
  height: var(--nutui-avatar-large-height, 60px);
116
112
  }
@@ -118,53 +114,19 @@
118
114
  width: var(--nutui-avatar-large-width, 60px);
119
115
  height: var(--nutui-avatar-large-height, 60px);
120
116
  }
121
- .nut-avatar-large-img-image {
122
- width: var(--nutui-avatar-large-width, 60px);
123
- height: var(--nutui-avatar-large-height, 60px);
124
- }
125
117
  .nut-avatar-large-icon {
126
118
  width: var(--nutui-avatar-large-width, 60px);
127
119
  height: var(--nutui-avatar-large-height, 60px);
128
120
  }
129
- .nut-avatar-large .nut-icon-img {
130
- width: 100%;
131
- height: 100%;
132
- }
133
121
  .nut-avatar-large-text {
134
122
  width: var(--nutui-avatar-large-width, 60px);
135
123
  height: var(--nutui-avatar-large-height, 60px);
136
124
  }
137
125
  .nut-avatar-small {
138
- display: flex;
139
- justify-content: center;
140
- align-items: center;
141
- width: var(--nutui-avatar-small-width, 32px);
142
- height: var(--nutui-avatar-small-height, 32px);
143
- }
144
- .nut-avatar-small-img-image {
145
126
  width: var(--nutui-avatar-small-width, 32px);
146
127
  height: var(--nutui-avatar-small-height, 32px);
147
128
  }
148
129
  .nut-avatar-small-text {
149
130
  width: var(--nutui-avatar-small-width, 32px);
150
131
  height: var(--nutui-avatar-small-height, 32px);
151
- }
152
- .nut-avatar-normal {
153
- display: flex;
154
- justify-content: center;
155
- align-items: center;
156
- width: var(--nutui-avatar-normal-width, 40px);
157
- height: var(--nutui-avatar-normal-height, 40px);
158
- }
159
- .nut-avatar-normal-img-image {
160
- width: var(--nutui-avatar-normal-width, 40px);
161
- height: var(--nutui-avatar-normal-height, 40px);
162
- }
163
- .nut-avatar-normal .nut-icon-img {
164
- width: 100%;
165
- height: 100%;
166
- }
167
- .nut-avatar-normal-text {
168
- width: var(--nutui-avatar-normal-width, 40px);
169
- height: var(--nutui-avatar-normal-height, 40px);
170
132
  }
@@ -73,6 +73,11 @@
73
73
  .nut-avatar {
74
74
  position: relative;
75
75
  flex: 0 0 auto;
76
+ display: flex;
77
+ justify-content: center;
78
+ align-items: center;
79
+ width: 40px;
80
+ height: 40px;
76
81
  }
77
82
  .nut-avatar-round {
78
83
  border-radius: 999px;
@@ -96,21 +101,12 @@
96
101
  .nut-avatar-icon {
97
102
  background-size: 100% 100%;
98
103
  }
99
- .nut-avatar .nut-icon-img {
100
- width: 100%;
101
- height: 100%;
102
- }
103
104
  .nut-avatar-text {
104
105
  display: flex;
105
106
  justify-content: center;
106
107
  align-items: center;
107
- width: 100%;
108
- height: 100%;
109
108
  }
110
109
  .nut-avatar-large {
111
- display: flex;
112
- justify-content: center;
113
- align-items: center;
114
110
  width: 60px;
115
111
  height: 60px;
116
112
  }
@@ -118,53 +114,19 @@
118
114
  width: 60px;
119
115
  height: 60px;
120
116
  }
121
- .nut-avatar-large-img-image {
122
- width: 60px;
123
- height: 60px;
124
- }
125
117
  .nut-avatar-large-icon {
126
118
  width: 60px;
127
119
  height: 60px;
128
120
  }
129
- .nut-avatar-large .nut-icon-img {
130
- width: 100%;
131
- height: 100%;
132
- }
133
121
  .nut-avatar-large-text {
134
122
  width: 60px;
135
123
  height: 60px;
136
124
  }
137
125
  .nut-avatar-small {
138
- display: flex;
139
- justify-content: center;
140
- align-items: center;
141
- width: 32px;
142
- height: 32px;
143
- }
144
- .nut-avatar-small-img-image {
145
126
  width: 32px;
146
127
  height: 32px;
147
128
  }
148
129
  .nut-avatar-small-text {
149
130
  width: 32px;
150
131
  height: 32px;
151
- }
152
- .nut-avatar-normal {
153
- display: flex;
154
- justify-content: center;
155
- align-items: center;
156
- width: 40px;
157
- height: 40px;
158
- }
159
- .nut-avatar-normal-img-image {
160
- width: 40px;
161
- height: 40px;
162
- }
163
- .nut-avatar-normal .nut-icon-img {
164
- width: 100%;
165
- height: 100%;
166
- }
167
- .nut-avatar-normal-text {
168
- width: 40px;
169
- height: 40px;
170
132
  }
@@ -9,15 +9,22 @@ Object.defineProperty(exports, "Badge", {
9
9
  }
10
10
  });
11
11
  var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
12
+ var _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
13
+ var _async_to_generator = require("@swc/helpers/_/_async_to_generator");
12
14
  var _define_property = require("@swc/helpers/_/_define_property");
13
15
  var _object_spread = require("@swc/helpers/_/_object_spread");
14
16
  var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
17
+ var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
15
18
  var _type_of = require("@swc/helpers/_/_type_of");
16
- var _react = /*#__PURE__*/ _interop_require_default._(require("react"));
19
+ var _ts_generator = require("@swc/helpers/_/_ts_generator");
20
+ var _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
17
21
  var _classnames = /*#__PURE__*/ _interop_require_default._(require("classnames"));
18
22
  var _components = require("@tarojs/components");
19
23
  var _typings = require("../../utils/typings");
20
24
  var _index = require("../configprovider/index");
25
+ var _pxtransform = /*#__PURE__*/ _interop_require_default._(require("../../utils/px-transform"));
26
+ var _getrectbytaro = require("../../utils/get-rect-by-taro");
27
+ var _platformtaro = require("../../utils/platform-taro");
21
28
  var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _typings.ComponentDefaults), {
22
29
  value: '',
23
30
  dot: false,
@@ -48,35 +55,83 @@ var Badge = function Badge(props) {
48
55
  var rtl = (0, _index.useRtl)();
49
56
  var _$_object_spread = (0, _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;
50
57
  var classPrefix = 'nut-badge';
51
- var classes = (0, _classnames.default)(classPrefix, className, (0, _define_property._)({}, "".concat(classPrefix, "-").concat(fill), fill === 'outline'));
52
- var contentClasses = (0, _classnames.default)((0, _define_property._)({}, "".concat(classPrefix, "-dot"), dot), "".concat(classPrefix, "-content"), (0, _define_property._)({}, "".concat(classPrefix, "-sup"), isNumber() || isString() || dot), (0, _define_property._)({}, "".concat(classPrefix, "-one"), typeof content() === 'string' && ((_this = "".concat(content())) === null || _this === void 0 ? void 0 : _this.length) === 1));
58
+ var isHarmony = (0, _platformtaro.harmony)();
59
+ var classes = (0, _classnames.default)(classPrefix, className);
60
+ var badgeRef = (0, _react.useRef)(null);
61
+ var _useState = (0, _sliced_to_array._)((0, _react.useState)({}), 2), contentStyle = _useState[0], setContentStyle = _useState[1];
62
+ var _obj;
63
+ var contentClasses = (0, _classnames.default)("".concat(classPrefix, "-content"), (_obj = {}, (0, _define_property._)(_obj, "".concat(classPrefix, "-sup"), isNumber() || isString() || dot), (0, _define_property._)(_obj, "".concat(classPrefix, "-one"), typeof content() === 'string' && ((_this = "".concat(content())) === null || _this === void 0 ? void 0 : _this.length) === 1), (0, _define_property._)(_obj, "".concat(classPrefix, "-dot"), dot), (0, _define_property._)(_obj, "".concat(classPrefix, "-").concat(fill), fill === 'outline'), _obj));
64
+ (0, _react.useEffect)(function() {
65
+ if (badgeRef.current) {
66
+ getPositionStyle();
67
+ }
68
+ }, []);
69
+ var getPositionStyle = /*#__PURE__*/ function() {
70
+ var _ref = (0, _async_to_generator._)(function() {
71
+ var style, reacts, dir;
72
+ return (0, _ts_generator._)(this, function(_state) {
73
+ switch(_state.label){
74
+ case 0:
75
+ style = {};
76
+ style.top = (0, _pxtransform.default)(-Number(top) || 0);
77
+ if (!(0, _platformtaro.rn)()) return [
78
+ 3,
79
+ 2
80
+ ];
81
+ return [
82
+ 4,
83
+ (0, _getrectbytaro.getRectByTaro)(badgeRef.current)
84
+ ];
85
+ case 1:
86
+ reacts = _state.sent();
87
+ style.left = (reacts === null || reacts === void 0 ? void 0 : reacts.width) && (reacts === null || reacts === void 0 ? void 0 : reacts.width) > Number(right) ? (0, _pxtransform.default)(reacts.width - Number(right)) : 0;
88
+ return [
89
+ 3,
90
+ 3
91
+ ];
92
+ case 2:
93
+ dir = rtl ? 'left' : 'right';
94
+ style[dir] = isHarmony ? (0, _pxtransform.default)(Number(right)) : "".concat(Number(right) || parseFloat(String(right)) || 0, "px");
95
+ _state.label = 3;
96
+ case 3:
97
+ setContentStyle(style);
98
+ return [
99
+ 2
100
+ ];
101
+ }
102
+ });
103
+ });
104
+ return function getPositionStyle() {
105
+ return _ref.apply(this, arguments);
106
+ };
107
+ }();
53
108
  var getStyle = function getStyle() {
54
109
  var style = {};
55
- style.top = "".concat(Number(top) || parseFloat(String(top)) || 0, "px");
56
- var dir = rtl ? 'left' : 'right';
57
- style[dir] = "".concat(Number(right) || parseFloat(String(right)) || 0, "px");
58
110
  if (color) {
59
111
  if (fill === 'outline') {
60
112
  style.color = color;
61
- style.background = '#fff';
113
+ isHarmony ? style.backgroundColor = '#fff' : style.background = '#fff';
62
114
  if (!(color === null || color === void 0 ? void 0 : color.includes('gradient'))) {
63
- style.border = "1px solid ".concat(color);
115
+ style.borderColor = color;
64
116
  }
65
117
  } else {
66
118
  style.color = '#fff';
67
- style.background = color;
119
+ isHarmony ? style.backgroundColor = color : style.background = color;
68
120
  }
69
121
  }
70
122
  return style;
71
123
  };
124
+ var _obj1;
72
125
  return /*#__PURE__*/ _react.default.createElement(_components.View, {
73
126
  className: classes,
74
- style: style
127
+ style: style,
128
+ ref: badgeRef
75
129
  }, isIcon() && /*#__PURE__*/ _react.default.createElement(_components.View, {
76
- className: "".concat(classPrefix, "-icon")
130
+ className: (0, _classnames.default)("".concat(classPrefix, "-content"), (_obj1 = {}, (0, _define_property._)(_obj1, "".concat(classPrefix, "-icon"), true), (0, _define_property._)(_obj1, "".concat(classPrefix, "-icon-rtl"), rtl), _obj1)),
131
+ style: contentStyle
77
132
  }, value), children, !isIcon() && /*#__PURE__*/ _react.default.createElement(_components.View, {
78
133
  className: contentClasses,
79
- style: getStyle()
134
+ style: (0, _object_spread._)({}, contentStyle, getStyle())
80
135
  }, content()));
81
136
  };
82
137
  Badge.displayName = 'NutBadge';
@@ -1,15 +1,19 @@
1
1
  .nut-badge {
2
2
  position: relative;
3
- display: inline-block;
4
-
3
+ display: inline-flex;
4
+ width: auto;
5
+ /* #ifdef harmony */
6
+ min-width: 1px;
7
+ /* #endif */
8
+ /* #ifndef harmony */
9
+ min-width: auto;
10
+ /* #endif */
5
11
  &-icon {
6
12
  position: absolute;
7
13
  display: flex;
8
14
  justify-content: center;
9
15
  align-items: center;
10
16
  background: $badge-background-color;
11
- top: -10%;
12
- right: -15%;
13
17
  padding: $badge-icon-padding;
14
18
  text-align: center;
15
19
  border: $badge-border;
@@ -29,7 +33,12 @@
29
33
  display: flex;
30
34
  justify-content: center;
31
35
  align-items: center;
36
+ /* #ifdef harmony */
37
+ background: $color-primary;
38
+ /* #endif */
39
+ /* #ifndef harmony */
32
40
  background: $badge-background-color;
41
+ /* #endif */
33
42
  color: $badge-color;
34
43
  padding: $badge-padding;
35
44
  font-size: $badge-font-size;
@@ -49,7 +58,9 @@
49
58
  }
50
59
 
51
60
  &-content {
61
+ /* #ifndef rn */
52
62
  transform: $badge-content-transform;
63
+ /* #endif */
53
64
  }
54
65
 
55
66
  &-dot {
@@ -61,25 +72,8 @@
61
72
  }
62
73
 
63
74
  &-outline {
64
- .nut-badge-content {
65
- background: $color-primary-text;
66
- border: 1px solid $color-primary;
67
- color: $color-primary;
68
- }
69
- }
70
- }
71
-
72
- [dir='rtl'] .nut-badge,
73
- .nut-rtl .nut-badge {
74
- &-icon {
75
- right: auto;
76
- left: -15%;
77
- }
78
-
79
- &-content {
80
- transform: var(
81
- --nutui-badge-content-transform,
82
- translateY(-50%) translateX(-100%)
83
- );
75
+ background: $color-primary-text;
76
+ border: 1px solid $color-primary;
77
+ color: $color-primary;
84
78
  }
85
79
  }
@@ -1,6 +1,13 @@
1
1
  .nut-badge {
2
2
  position: relative;
3
- display: inline-block;
3
+ display: inline-flex;
4
+ width: auto;
5
+ /* #ifdef harmony */
6
+ min-width: 1px;
7
+ /* #endif */
8
+ /* #ifndef harmony */
9
+ min-width: auto;
10
+ /* #endif */
4
11
  }
5
12
  .nut-badge-icon {
6
13
  position: absolute;
@@ -8,8 +15,6 @@
8
15
  justify-content: center;
9
16
  align-items: center;
10
17
  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%));
11
- top: -10%;
12
- right: -15%;
13
18
  padding: var(--nutui-badge-icon-padding, 3px);
14
19
  text-align: center;
15
20
  border: var(--nutui-badge-border, 0px solid var(--nutui-color-primary-text, #ffffff));
@@ -27,7 +32,12 @@
27
32
  display: flex;
28
33
  justify-content: center;
29
34
  align-items: center;
35
+ /* #ifdef harmony */
36
+ background: var(--nutui-color-primary, #ff0f23);
37
+ /* #endif */
38
+ /* #ifndef harmony */
30
39
  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%));
40
+ /* #endif */
31
41
  color: var(--nutui-badge-color, #fff);
32
42
  padding: var(--nutui-badge-padding, 0 4px);
33
43
  font-size: var(--nutui-badge-font-size, var(--nutui-font-size-xxs, 10px));
@@ -45,7 +55,9 @@
45
55
  padding: 0;
46
56
  }
47
57
  .nut-badge-content {
48
- transform: var(--nutui-badge-content-transform, translateY(-50%) translateX(100%));
58
+ /* #ifndef rn */
59
+ transform: var(--nutui-badge-content-transform, translateX(100%));
60
+ /* #endif */
49
61
  }
50
62
  .nut-badge-dot {
51
63
  width: var(--nutui-badge-dot-width, 7px);
@@ -54,18 +66,8 @@
54
66
  border-radius: var(--nutui-badge-dot-width, 7px);
55
67
  padding: 0;
56
68
  }
57
- .nut-badge-outline .nut-badge-content {
69
+ .nut-badge-outline {
58
70
  background: var(--nutui-color-primary-text, #ffffff);
59
71
  border: 1px solid var(--nutui-color-primary, #ff0f23);
60
72
  color: var(--nutui-color-primary, #ff0f23);
61
- }
62
-
63
- [dir=rtl] .nut-badge-icon,
64
- .nut-rtl .nut-badge-icon {
65
- right: auto;
66
- left: -15%;
67
- }
68
- [dir=rtl] .nut-badge-content,
69
- .nut-rtl .nut-badge-content {
70
- transform: var(--nutui-badge-content-transform, translateY(-50%) translateX(-100%));
71
73
  }
@@ -1,15 +1,20 @@
1
1
  .nut-badge {
2
2
  position: relative;
3
- display: inline-block;
3
+ display: inline-flex;
4
+ width: auto;
5
+ /* #ifdef harmony */
6
+ min-width: 1px;
7
+ /* #endif */
8
+ /* #ifndef harmony */
9
+ min-width: auto;
10
+ /* #endif */
4
11
  }
5
12
  .nut-badge-icon {
6
13
  position: absolute;
7
14
  display: flex;
8
15
  justify-content: center;
9
16
  align-items: center;
10
- background: linear-gradient(135deg, #FF0F23 0%, #FF0F23 100%);
11
- top: -10%;
12
- right: -15%;
17
+ background: linear-gradient(135deg, #ff475d 0%, #ff0f23 100%);
13
18
  padding: 3px;
14
19
  text-align: center;
15
20
  border: 0px solid #ffffff;
@@ -27,7 +32,12 @@
27
32
  display: flex;
28
33
  justify-content: center;
29
34
  align-items: center;
30
- background: linear-gradient(135deg, #FF0F23 0%, #FF0F23 100%);
35
+ /* #ifdef harmony */
36
+ background: #ff0f23;
37
+ /* #endif */
38
+ /* #ifndef harmony */
39
+ background: linear-gradient(135deg, #ff475d 0%, #ff0f23 100%);
40
+ /* #endif */
31
41
  color: #fff;
32
42
  padding: 0 4px;
33
43
  font-size: 10px;
@@ -45,7 +55,9 @@
45
55
  padding: 0;
46
56
  }
47
57
  .nut-badge-content {
48
- transform: translateY(-50%) translateX(100%);
58
+ /* #ifndef rn */
59
+ transform: translateX(100%);
60
+ /* #endif */
49
61
  }
50
62
  .nut-badge-dot {
51
63
  width: 7px;
@@ -54,15 +66,8 @@
54
66
  border-radius: 7px;
55
67
  padding: 0;
56
68
  }
57
-
58
- [dir=rtl] .nut-badge-icon,
59
- .nut-rtl .nut-badge-icon {
60
- right: auto;
61
- left: -15%;
62
- }
63
- [dir=rtl] .nut-badge-content {
64
- transform: translateY(-50%) translateX(-100%);
65
- }
66
- .nut-rtl .nut-badge-content {
67
- transform: translateY(-50%) translateX(-100%);
69
+ .nut-badge-outline {
70
+ background: #ffffff;
71
+ border: 1px solid #ff0f23;
72
+ color: #ff0f23;
68
73
  }