@nutui/nutui-react 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 +2 -2
  3. package/dist/cjs/packages/backtop/backtop.js +14 -21
  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 +12 -23
  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 +2 -2
  23. package/dist/es/packages/backtop/backtop.js +15 -22
  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 +12 -23
  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 +100 -118
  42. package/dist/styles/variables.scss +22 -16
  43. package/package.json +1 -1
@@ -24,7 +24,7 @@
24
24
  display: flex;
25
25
  height: 80%;
26
26
  align-items: flex-end;
27
- color: var(--nutui-countup-bg-color, inherit);
27
+ color: var(--nutui-countup-separator-color, var(--nutui-color-title, #1a1a1a));
28
28
  font-size: var(--nutui-countup-base-size, 18px);
29
29
  font-weight: var(--nutui-font-weight-bold, 600);
30
30
  }
@@ -1,7 +1,7 @@
1
1
  import React, { FunctionComponent } from 'react';
2
2
  import type { MouseEvent } from 'react';
3
- import { BasicComponent } from "../../utils/typings";
4
- export interface BackTopProps extends BasicComponent {
3
+ import { HoverButtonProps } from "../hoverbutton/index";
4
+ export interface BackTopProps extends HoverButtonProps {
5
5
  target: string;
6
6
  threshold: number;
7
7
  zIndex: number;
@@ -16,11 +16,11 @@ var _object_spread = require("@swc/helpers/_/_object_spread");
16
16
  var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
17
17
  var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
18
18
  var _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
19
- var _iconsreact = require("@nutui/icons-react");
20
19
  var _classnames = /*#__PURE__*/ _interop_require_default._(require("classnames"));
20
+ var _iconsreact = require("@nutui/icons-react");
21
21
  var _typings = require("../../utils/typings");
22
22
  var _raf = /*#__PURE__*/ _interop_require_wildcard._(require("../../utils/raf"));
23
- var _configprovider = require("../configprovider");
23
+ var _index = /*#__PURE__*/ _interop_require_default._(require("../hoverbutton/index"));
24
24
  var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _typings.ComponentDefaults), {
25
25
  target: '',
26
26
  threshold: 200,
@@ -28,8 +28,7 @@ var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _typing
28
28
  duration: 1000
29
29
  });
30
30
  var BackTop = function BackTop(props) {
31
- var rtl = (0, _configprovider.useRtl)();
32
- var _$_object_spread = (0, _object_spread._)({}, defaultProps, props), children = _$_object_spread.children, target = _$_object_spread.target, threshold = _$_object_spread.threshold, zIndex = _$_object_spread.zIndex, className = _$_object_spread.className, duration = _$_object_spread.duration, style = _$_object_spread.style, onClick = _$_object_spread.onClick;
31
+ var _$_object_spread = (0, _object_spread._)({}, defaultProps, props), children = _$_object_spread.children, target = _$_object_spread.target, threshold = _$_object_spread.threshold, zIndex = _$_object_spread.zIndex, className = _$_object_spread.className, duration = _$_object_spread.duration, icon = _$_object_spread.icon, style = _$_object_spread.style, onClick = _$_object_spread.onClick;
33
32
  var classPrefix = 'nut-backtop';
34
33
  var _useState = (0, _sliced_to_array._)((0, _react.useState)(false), 2), backTop = _useState[0], setBackTop = _useState[1];
35
34
  var _useState1 = (0, _sliced_to_array._)((0, _react.useState)(0), 2), scrollTop = _useState1[0], setScrollTop = _useState1[1];
@@ -108,26 +107,20 @@ var BackTop = function BackTop(props) {
108
107
  scroll,
109
108
  scrollAnimation
110
109
  ]);
111
- var styles = (0, _react.useMemo)(function() {
112
- var _obj;
113
- return Object.keys(style || {}).length !== 0 ? (0, _object_spread._)({
114
- zIndex: zIndex
115
- }, style) : (_obj = {}, (0, _define_property._)(_obj, rtl ? 'left' : 'right', '10px'), (0, _define_property._)(_obj, "bottom", '20px'), (0, _define_property._)(_obj, "zIndex", zIndex), _obj);
116
- }, [
117
- rtl,
118
- style,
119
- zIndex
120
- ]);
121
- return /*#__PURE__*/ _react.default.createElement("div", {
110
+ return /*#__PURE__*/ _react.default.createElement(_index.default, {
122
111
  className: cls,
123
- style: styles,
112
+ style: (0, _object_spread._)({
113
+ zIndex: zIndex
114
+ }, style),
115
+ icon: !children && (icon || /*#__PURE__*/ _react.default.createElement(_iconsreact.Top, null)),
116
+ onClick: function onClick(e) {
117
+ goTop(e);
118
+ }
119
+ }, children && /*#__PURE__*/ _react.default.createElement("div", {
120
+ className: "nut-hoverbutton-item-container",
124
121
  onClick: function onClick(e) {
125
122
  goTop(e);
126
123
  }
127
- }, children || /*#__PURE__*/ _react.default.createElement(_iconsreact.Top, {
128
- width: 19,
129
- height: 19,
130
- className: "nut-backtop-main"
131
- }));
124
+ }, children));
132
125
  };
133
126
  BackTop.displayName = 'NutBackTop';
@@ -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>>;
@@ -21,10 +21,10 @@ var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _typing
21
21
  value: '',
22
22
  dot: false,
23
23
  max: 99,
24
- top: '4',
25
- right: '8',
26
- color: '',
27
- fill: 'solid'
24
+ top: 0,
25
+ right: 0,
26
+ fill: 'solid',
27
+ size: 'large'
28
28
  });
29
29
  var Badge = function Badge(props) {
30
30
  var content = function content() {
@@ -45,28 +45,16 @@ var Badge = function Badge(props) {
45
45
  };
46
46
  var _this;
47
47
  var rtl = (0, _configprovider.useRtl)();
48
- 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;
48
+ 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, fill = _$_object_spread.fill, size = _$_object_spread.size;
49
49
  var classPrefix = 'nut-badge';
50
- var classes = (0, _classnames.default)(classPrefix, className, (0, _define_property._)({}, "".concat(classPrefix, "-").concat(fill), fill === 'outline'));
50
+ var classes = (0, _classnames.default)(classPrefix, className);
51
51
  var _obj;
52
- 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));
53
- var getStyle = function getStyle() {
52
+ var contentClasses = (0, _classnames.default)((_obj = {}, (0, _define_property._)(_obj, "".concat(classPrefix, "-sup"), isNumber() || isString() || dot), (0, _define_property._)(_obj, "".concat(classPrefix, "-number"), isNumber()), (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, "-dot-").concat(size), dot), (0, _define_property._)(_obj, "".concat(classPrefix, "-").concat(fill), fill === 'outline'), (0, _define_property._)(_obj, "".concat(classPrefix, "-content"), children), _obj));
53
+ var getPositionStyle = function getPositionStyle() {
54
54
  var style = {};
55
- style.top = "".concat(Number(-top) || parseFloat(String(-top)) || 0, "px");
55
+ style.top = "".concat(Number(top) || 0, "px");
56
56
  var dir = rtl ? 'left' : 'right';
57
57
  style[dir] = "".concat(Number(right) || parseFloat(String(right)) || 0, "px");
58
- if (color) {
59
- if (fill === 'outline') {
60
- style.color = color;
61
- style.background = '#fff';
62
- if (!(color === null || color === void 0 ? void 0 : color.includes('gradient'))) {
63
- style.border = "1px solid ".concat(color);
64
- }
65
- } else {
66
- style.color = '#fff';
67
- style.background = color;
68
- }
69
- }
70
58
  return style;
71
59
  };
72
60
  var _obj1;
@@ -74,10 +62,11 @@ var Badge = function Badge(props) {
74
62
  className: classes,
75
63
  style: style
76
64
  }, isIcon() && /*#__PURE__*/ _react.default.createElement("div", {
77
- 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))
65
+ 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)),
66
+ style: getPositionStyle()
78
67
  }, value), children, !isIcon() && /*#__PURE__*/ _react.default.createElement("div", {
79
68
  className: contentClasses,
80
- style: getStyle()
69
+ style: getPositionStyle()
81
70
  }, content()));
82
71
  };
83
72
  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,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });