@nutui/nutui-react-taro 3.0.0-beta.6 → 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 (94) hide show
  1. package/README.md +39 -9
  2. package/dist/cjs/packages/address/style/style.css +56 -89
  3. package/dist/cjs/packages/animate/style/animate.scss +0 -3
  4. package/dist/cjs/packages/animate/style/style.css +0 -3
  5. package/dist/cjs/packages/animatingnumbers/style/style.css +1 -1
  6. package/dist/cjs/packages/backtop/backtop.d.ts +3 -4
  7. package/dist/cjs/packages/backtop/backtop.js +16 -34
  8. package/dist/cjs/packages/backtop/style/backtop.scss +8 -17
  9. package/dist/cjs/packages/backtop/style/style.css +8 -14
  10. package/dist/cjs/packages/badge/badge.d.ts +2 -12
  11. package/dist/cjs/packages/badge/badge.js +16 -54
  12. package/dist/cjs/packages/badge/index.d.ts +1 -1
  13. package/dist/cjs/packages/badge/style/badge.scss +61 -34
  14. package/dist/cjs/packages/badge/style/style.css +63 -40
  15. package/dist/cjs/packages/badge/types.d.ts +12 -0
  16. package/dist/cjs/packages/badge/types.js +4 -0
  17. package/dist/cjs/packages/cascader/style/style.css +49 -85
  18. package/dist/cjs/packages/configprovider/types.d.ts +1 -1
  19. package/dist/cjs/packages/countdown/countdown.js +1 -1
  20. package/dist/cjs/packages/countdown/style/countdown.scss +21 -2
  21. package/dist/cjs/packages/countdown/style/style.css +20 -2
  22. package/dist/cjs/packages/countup/style/countup.scss +1 -1
  23. package/dist/cjs/packages/countup/style/style.css +1 -1
  24. package/dist/cjs/packages/elevator/elevator.js +23 -16
  25. package/dist/cjs/packages/elevator/style/elevator.scss +7 -4
  26. package/dist/cjs/packages/elevator/style/style.css +7 -4
  27. package/dist/cjs/packages/hoverbutton/style/style.css +3 -3
  28. package/dist/cjs/packages/hoverbuttonitem/style/hoverbuttonitem.scss +3 -3
  29. package/dist/cjs/packages/hoverbuttonitem/style/style.css +3 -3
  30. package/dist/cjs/packages/inputnumber/inputnumber.js +0 -1
  31. package/dist/cjs/packages/inputnumber/style/inputnumber.scss +19 -16
  32. package/dist/cjs/packages/inputnumber/style/style.css +21 -19
  33. package/dist/cjs/packages/numberkeyboard/numberkeyboard.js +6 -5
  34. package/dist/cjs/packages/numberkeyboard/style/numberkeyboard.scss +10 -1
  35. package/dist/cjs/packages/numberkeyboard/style/style.css +12 -0
  36. package/dist/cjs/packages/popover/style/popover.scss +16 -11
  37. package/dist/cjs/packages/popover/style/style.css +14 -2
  38. package/dist/cjs/packages/tabbar/style/style.css +63 -40
  39. package/dist/cjs/packages/tabbaritem/style/style.css +63 -40
  40. package/dist/cjs/packages/tabs/style/style.css +49 -85
  41. package/dist/cjs/packages/tabs/style/tabs.scss +68 -106
  42. package/dist/cjs/packages/tabs/tabs.js +2 -4
  43. package/dist/cjs/packages/tour/style/style.css +14 -2
  44. package/dist/es/packages/address/style/style.css +56 -89
  45. package/dist/es/packages/animate/style/animate.scss +0 -3
  46. package/dist/es/packages/animate/style/style.css +0 -3
  47. package/dist/es/packages/animatingnumbers/style/style.css +1 -1
  48. package/dist/es/packages/backtop/backtop.d.ts +3 -4
  49. package/dist/es/packages/backtop/backtop.js +18 -36
  50. package/dist/es/packages/backtop/style/backtop.scss +8 -17
  51. package/dist/es/packages/backtop/style/style.css +8 -14
  52. package/dist/es/packages/badge/badge.d.ts +2 -12
  53. package/dist/es/packages/badge/badge.js +17 -55
  54. package/dist/es/packages/badge/index.d.ts +1 -1
  55. package/dist/es/packages/badge/style/badge.scss +61 -34
  56. package/dist/es/packages/badge/style/style.css +63 -40
  57. package/dist/es/packages/badge/types.d.ts +12 -0
  58. package/dist/es/packages/badge/types.js +1 -0
  59. package/dist/es/packages/cascader/style/style.css +49 -85
  60. package/dist/es/packages/configprovider/types.d.ts +1 -1
  61. package/dist/es/packages/countdown/countdown.js +1 -1
  62. package/dist/es/packages/countdown/style/countdown.scss +21 -2
  63. package/dist/es/packages/countdown/style/style.css +20 -2
  64. package/dist/es/packages/countup/style/countup.scss +1 -1
  65. package/dist/es/packages/countup/style/style.css +1 -1
  66. package/dist/es/packages/elevator/elevator.js +26 -19
  67. package/dist/es/packages/elevator/style/elevator.scss +7 -4
  68. package/dist/es/packages/elevator/style/style.css +7 -4
  69. package/dist/es/packages/hoverbutton/style/style.css +3 -3
  70. package/dist/es/packages/hoverbuttonitem/style/hoverbuttonitem.scss +3 -3
  71. package/dist/es/packages/hoverbuttonitem/style/style.css +3 -3
  72. package/dist/es/packages/inputnumber/inputnumber.js +1 -2
  73. package/dist/es/packages/inputnumber/style/inputnumber.scss +19 -16
  74. package/dist/es/packages/inputnumber/style/style.css +21 -19
  75. package/dist/es/packages/numberkeyboard/numberkeyboard.d.ts +10 -50
  76. package/dist/es/packages/numberkeyboard/numberkeyboard.js +6 -5
  77. package/dist/es/packages/numberkeyboard/style/numberkeyboard.scss +10 -1
  78. package/dist/es/packages/numberkeyboard/style/style.css +12 -0
  79. package/dist/es/packages/popover/style/popover.scss +16 -11
  80. package/dist/es/packages/popover/style/style.css +14 -2
  81. package/dist/es/packages/tabbar/style/style.css +63 -40
  82. package/dist/es/packages/tabbaritem/style/style.css +63 -40
  83. package/dist/es/packages/tabpane/tabpane.d.ts +3 -15
  84. package/dist/es/packages/tabs/style/style.css +49 -85
  85. package/dist/es/packages/tabs/style/tabs.scss +68 -106
  86. package/dist/es/packages/tabs/tabs.d.ts +12 -60
  87. package/dist/es/packages/tabs/tabs.js +2 -4
  88. package/dist/es/packages/tour/style/style.css +14 -2
  89. package/dist/nutui.react.umd.js +188 -253
  90. package/dist/style.css +1 -1
  91. package/dist/styles/theme-dark.scss +2 -0
  92. package/dist/styles/theme-default.scss +2 -0
  93. package/dist/styles/variables.scss +36 -29
  94. package/package.json +1 -1
@@ -23,16 +23,15 @@ var _components = require("@tarojs/components");
23
23
  var _typings = require("../../utils/typings");
24
24
  var _index = require("../configprovider/index");
25
25
  var _pxtransform = /*#__PURE__*/ _interop_require_default._(require("../../utils/px-transform"));
26
- var _getrectbytaro = require("../../utils/get-rect-by-taro");
27
26
  var _platformtaro = require("../../utils/platform-taro");
28
27
  var defaultProps = (0, _object_spread_props._)((0, _object_spread._)({}, _typings.ComponentDefaults), {
29
28
  value: '',
30
29
  dot: false,
31
30
  max: 99,
32
- top: '4',
33
- right: '8',
34
- color: '',
35
- fill: 'solid'
31
+ top: 0,
32
+ right: 0,
33
+ fill: 'solid',
34
+ size: 'large'
36
35
  });
37
36
  var Badge = function Badge(props) {
38
37
  var content = function content() {
@@ -53,14 +52,14 @@ var Badge = function Badge(props) {
53
52
  };
54
53
  var _this;
55
54
  var rtl = (0, _index.useRtl)();
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;
55
+ 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;
57
56
  var classPrefix = 'nut-badge';
58
57
  var isHarmony = (0, _platformtaro.harmony)();
59
58
  var classes = (0, _classnames.default)(classPrefix, className);
60
59
  var badgeRef = (0, _react.useRef)(null);
61
60
  var _useState = (0, _sliced_to_array._)((0, _react.useState)({}), 2), contentStyle = _useState[0], setContentStyle = _useState[1];
62
61
  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));
62
+ 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));
64
63
  (0, _react.useEffect)(function() {
65
64
  if (badgeRef.current) {
66
65
  getPositionStyle();
@@ -68,59 +67,22 @@ var Badge = function Badge(props) {
68
67
  }, []);
69
68
  var getPositionStyle = /*#__PURE__*/ function() {
70
69
  var _ref = (0, _async_to_generator._)(function() {
71
- var style, reacts, dir;
70
+ var style, dir;
72
71
  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
- }
72
+ style = {};
73
+ style.top = (0, _pxtransform.default)(Number(top) || 0);
74
+ dir = rtl ? 'left' : 'right';
75
+ style[dir] = isHarmony ? (0, _pxtransform.default)(Number(right)) : "".concat(Number(right) || 0, "px");
76
+ setContentStyle(style);
77
+ return [
78
+ 2
79
+ ];
102
80
  });
103
81
  });
104
82
  return function getPositionStyle() {
105
83
  return _ref.apply(this, arguments);
106
84
  };
107
85
  }();
108
- var getStyle = function getStyle() {
109
- var style = {};
110
- if (color) {
111
- if (fill === 'outline') {
112
- style.color = color;
113
- isHarmony ? style.backgroundColor = '#fff' : style.background = '#fff';
114
- if (!(color === null || color === void 0 ? void 0 : color.includes('gradient'))) {
115
- style.borderColor = color;
116
- }
117
- } else {
118
- style.color = '#fff';
119
- isHarmony ? style.backgroundColor = color : style.background = color;
120
- }
121
- }
122
- return style;
123
- };
124
86
  var _obj1;
125
87
  return /*#__PURE__*/ _react.default.createElement(_components.View, {
126
88
  className: classes,
@@ -131,7 +93,7 @@ var Badge = function Badge(props) {
131
93
  style: contentStyle
132
94
  }, value), children, !isIcon() && /*#__PURE__*/ _react.default.createElement(_components.View, {
133
95
  className: contentClasses,
134
- style: (0, _object_spread._)({}, contentStyle, getStyle())
96
+ style: contentStyle
135
97
  }, content()));
136
98
  };
137
99
  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
+ });
@@ -429,12 +429,17 @@
429
429
  display: flex;
430
430
  }
431
431
 
432
+ .nut-tabs-horizontal {
433
+ flex-direction: column;
434
+ }
435
+
432
436
  .nut-tabs-titles {
433
437
  display: flex;
434
438
  box-sizing: border-box;
435
439
  height: var(--nutui-tabs-titles-height, 44px);
436
440
  user-select: none;
437
- overflow: hidden;
441
+ overflow-x: auto;
442
+ overflow-y: hidden;
438
443
  background: var(--nutui-tabs-titles-background-color, var(--nutui-color-background, #f5f6fa));
439
444
  scrollbar-width: none;
440
445
  }
@@ -445,7 +450,6 @@
445
450
  }
446
451
  .nut-tabs-titles .nut-tabs-list {
447
452
  width: 100%;
448
- height: auto;
449
453
  display: flex;
450
454
  flex-shrink: 0;
451
455
  }
@@ -461,10 +465,6 @@
461
465
  .nut-tabs-titles-right .nut-tabs-titles-item {
462
466
  padding: 0 22px;
463
467
  }
464
- .nut-tabs-titles-scrollable {
465
- overflow-x: auto;
466
- overflow-y: hidden;
467
- }
468
468
  .nut-tabs-titles-item {
469
469
  position: relative;
470
470
  display: flex;
@@ -480,11 +480,14 @@
480
480
  text-overflow: ellipsis;
481
481
  white-space: nowrap;
482
482
  }
483
+ .nut-tabs-titles-item .nut-icon {
484
+ color: var(--nutui-tabs-titles-item-color, var(--nutui-color-title, #1a1a1a));
485
+ }
483
486
  .nut-tabs-titles-item-left, .nut-tabs-titles-item-right {
484
487
  flex: none;
485
488
  }
486
489
  .nut-tabs-titles-item-text {
487
- text-align: center;
490
+ color: var(--nutui-tabs-titles-item-color, var(--nutui-color-title, #1a1a1a));
488
491
  }
489
492
  .nut-tabs-titles-item-smile, .nut-tabs-titles-item-line {
490
493
  position: absolute;
@@ -492,9 +495,9 @@
492
495
  width: 0;
493
496
  height: 0;
494
497
  content: " ";
495
- bottom: var(--nutui-tabs-line-bottom, 15%);
496
498
  left: 50%;
497
499
  transform: translate(-50%, 0);
500
+ bottom: var(--nutui-tabs-line-bottom, 15%);
498
501
  border-radius: var(--nutui-tabs-line-border-radius, 2px);
499
502
  opacity: var(--nutui-tabs-tab-line-opacity, 1);
500
503
  overflow: hidden;
@@ -507,9 +510,11 @@
507
510
  font-size: 20px;
508
511
  width: 100%;
509
512
  height: 100%;
510
- color: var(--nutui-color-primary, #ff0f23);
511
513
  }
512
- .nut-tabs-titles-item-active {
514
+ .nut-tabs-titles-item-active .nut-icon {
515
+ color: var(--nutui-tabs-titles-item-active-color, var(--nutui-color-primary, #ff0f23));
516
+ }
517
+ .nut-tabs-titles-item-active .nut-tabs-titles-item-text {
513
518
  color: var(--nutui-tabs-titles-item-active-color, var(--nutui-color-primary, #ff0f23));
514
519
  font-weight: var(--nutui-tabs-titles-item-active-font-weight, var(--nutui-font-weight-bold, 600));
515
520
  }
@@ -525,10 +530,20 @@
525
530
  width: 40px;
526
531
  height: 20px;
527
532
  }
533
+ .nut-tabs-titles-item-active .nut-tabs-titles-item-smile .nut-icon {
534
+ color: var(--nutui-tabs-titles-item-active-color, var(--nutui-color-primary, #ff0f23));
535
+ }
528
536
  .nut-tabs-titles-item-disabled {
529
537
  color: var(--nutui-color-text-disabled, #c2c4cc);
530
538
  }
531
- .nut-tabs-titles-simple .nut-tabs-titles-item-active {
539
+ .nut-tabs-titles-item-disabled .nut-icon {
540
+ color: var(--nutui-color-text-disabled, #c2c4cc);
541
+ }
542
+ .nut-tabs-titles-item-disabled .nut-tabs-titles-item-text {
543
+ color: var(--nutui-color-text-disabled, #c2c4cc);
544
+ }
545
+ .nut-tabs-titles-simple .nut-tabs-titles-item-active .nut-tabs-titles-item-text,
546
+ .nut-tabs-titles-simple .nut-tabs-titles-item-active .nut-icon {
532
547
  color: var(--nutui-color-title, #1a1a1a);
533
548
  font-size: var(--nutui-tabs-titles-item-active-font-size, var(--nutui-font-size-l, 16px));
534
549
  }
@@ -557,11 +572,10 @@
557
572
  }
558
573
  .nut-tabs-titles-button .nut-tabs-titles-item-active .nut-tabs-titles-item-text {
559
574
  background: var(--nutui-color-default-light);
560
- color: var(--nutui-color-text, #505259);
575
+ color: var(--nutui-tabs-titles-item-active-color, var(--nutui-color-primary, #ff0f23));
561
576
  border-radius: var(--nutui-tabs-button-border-radius, 50px);
562
577
  font-weight: var(--nutui-font-weight-bold, 600);
563
578
  background-color: var(--nutui-tabs-button-active-background-color, var(--nutui-color-primary-light-pressed, #ffebf1));
564
- color: var(--nutui-color-primary, #ff0f23);
565
579
  border: var(--nutui-tabs-button-active-border, 1px solid var(--nutui-color-primary, #ff0f23));
566
580
  }
567
581
  .nut-tabs-titles-divider {
@@ -586,68 +600,29 @@
586
600
  display: none;
587
601
  }
588
602
 
589
- [dir=rtl] .nut-tabs-titles-item-smile, [dir=rtl] .nut-tabs-titles-item-line,
590
- .nut-rtl .nut-tabs-titles-item-smile,
591
- .nut-rtl .nut-tabs-titles-item-line {
592
- left: auto;
593
- right: 50%;
594
- transform: translate(50%, 0);
595
- }
596
- [dir=rtl] .nut-tabs-titles-divider .nut-tabs-titles-item::after,
597
- .nut-rtl .nut-tabs-titles-divider .nut-tabs-titles-item::after {
598
- right: auto;
599
- left: 0;
600
- }
601
-
602
- .nut-tabs-horizontal {
603
- flex-direction: column;
604
- position: relative;
605
- }
606
-
607
- .nut-tabs-vertical {
608
- flex-direction: row;
609
- width: 100%;
610
- }
611
603
  .nut-tabs-vertical .nut-tabs-ellipsis {
612
604
  text-overflow: ellipsis;
613
605
  white-space: nowrap;
614
606
  overflow: hidden;
615
607
  }
616
608
  .nut-tabs-vertical .nut-tabs-titles {
617
- box-sizing: border-box;
618
609
  flex-direction: column;
619
610
  height: 100%;
620
- padding: 0;
621
611
  width: var(--nutui-tabs-vertical-titles-width, 100px);
622
612
  flex-shrink: 0;
623
613
  }
624
614
  .nut-tabs-vertical .nut-tabs-titles .nut-tabs-list {
625
- width: 100%;
626
- display: flex;
627
615
  flex-direction: column;
628
- flex-shrink: 0;
629
- }
630
- .nut-tabs-vertical .nut-tabs-titles-line .nut-tabs-titles-item {
631
- padding-left: 14px;
632
- }
633
- .nut-tabs-vertical .nut-tabs-titles-scrollable {
634
- overflow-x: hidden;
635
- overflow-y: auto;
636
616
  }
637
617
  .nut-tabs-vertical .nut-tabs-titles-item {
638
618
  height: var(--nutui-tabs-vertical-titles-item-height, 40px);
639
- margin: 0;
640
619
  flex: none;
641
620
  }
642
621
  .nut-tabs-vertical .nut-tabs-titles-item-smile {
643
- width: 0;
644
- height: 0;
645
622
  overflow: hidden;
646
623
  transition: width 0.3s ease;
647
624
  }
648
625
  .nut-tabs-vertical .nut-tabs-titles-item-line {
649
- width: 0;
650
- height: 0;
651
626
  transform: translate(0, -50%);
652
627
  transition: height 0.3s ease;
653
628
  }
@@ -667,21 +642,17 @@
667
642
  right: -12px;
668
643
  bottom: -2%;
669
644
  left: auto;
670
- width: 40px;
671
- height: 20px;
672
645
  transform: rotate(320deg);
673
646
  }
674
647
  .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles {
675
648
  flex-direction: row;
676
- overflow-x: auto;
677
- overflow-y: hidden;
678
649
  height: var(--nutui-tabs-titles-height, 44px);
650
+ width: 100%;
651
+ padding: 0 !important;
679
652
  }
680
653
  .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles .nut-tabs-list {
681
- width: 100%;
682
- display: flex;
683
654
  flex-direction: row;
684
- flex-shrink: 0;
655
+ height: auto;
685
656
  }
686
657
  .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-content {
687
658
  flex-direction: row;
@@ -692,6 +663,9 @@
692
663
  .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-line {
693
664
  left: 50%;
694
665
  transform: translate(-50%, 0);
666
+ width: var(--nutui-tabs-tab-line-width, 12px);
667
+ height: var(--nutui-tabs-tab-line-height, 2px);
668
+ background: var(--nutui-tabs-tab-line-color, var(--nutui-color-primary, #ff0f23));
695
669
  }
696
670
  .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles-item-active .nut-tabs-titles-item-smile {
697
671
  left: 50%;
@@ -709,28 +683,26 @@
709
683
  .nut-tabs-vertical .nut-tabs-content .nut-tabpane {
710
684
  height: 100%;
711
685
  }
712
- .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles {
686
+
687
+ .nut-tabs-content {
713
688
  display: flex;
714
- flex-direction: row;
715
- padding: 0 !important;
716
- width: 100%;
689
+ box-sizing: border-box;
717
690
  }
718
- .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles .nut-tabs-titles-item {
719
- display: flex;
720
- align-items: center;
721
- justify-content: center;
722
- flex: 1 0 auto;
691
+ .nut-tabs-content-wrap {
692
+ overflow: hidden;
723
693
  }
724
- .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles .nut-tabs-titles-item-active {
725
- color: var(--nutui-color-primary, #ff0f23);
726
- font-weight: var(--nutui-tabs-titles-item-active-font-weight, var(--nutui-font-weight-bold, 600));
727
- font-size: var(--nutui-tabs-titles-item-active-font-size, var(--nutui-font-size-l, 16px));
694
+
695
+ [dir=rtl] .nut-tabs-titles-item-smile, [dir=rtl] .nut-tabs-titles-item-line,
696
+ .nut-rtl .nut-tabs-titles-item-smile,
697
+ .nut-rtl .nut-tabs-titles-item-line {
698
+ left: auto;
699
+ right: 50%;
700
+ transform: translate(50%, 0);
728
701
  }
729
- .nut-tabs-vertical .nut-tabs-horizontal .nut-tabs-titles .nut-tabs-titles-item-active .nut-tabs-titles-item-line {
730
- content: " ";
731
- width: var(--nutui-tabs-tab-line-width, 12px);
732
- height: var(--nutui-tabs-tab-line-height, 2px);
733
- background: var(--nutui-tabs-tab-line-color, var(--nutui-color-primary, #ff0f23));
702
+ [dir=rtl] .nut-tabs-titles-divider .nut-tabs-titles-item::after,
703
+ .nut-rtl .nut-tabs-titles-divider .nut-tabs-titles-item::after {
704
+ right: auto;
705
+ left: 0;
734
706
  }
735
707
 
736
708
  [dir=rtl] .nut-tabs-vertical .nut-tabs-titles-line .nut-tabs-titles-item,
@@ -762,14 +734,6 @@
762
734
  transform: translate(50%, 0) rotate(0deg);
763
735
  }
764
736
 
765
- .nut-tabs-content {
766
- display: flex;
767
- box-sizing: border-box;
768
- }
769
- .nut-tabs-content-wrap {
770
- overflow: hidden;
771
- }
772
-
773
737
  .nut-cascader {
774
738
  width: 100%;
775
739
  font-size: var(--nutui-cascader-font-size, var(--nutui-font-size-base, 14px));