@arco-design/mobile-react 2.19.2-ee92494.5 → 2.20.0

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 (112) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.en-US.md +4 -4
  3. package/README.md +4 -4
  4. package/cjs/avatar/group.js +1 -1
  5. package/cjs/avatar/index.js +10 -13
  6. package/cjs/avatar/style/css/index.css +96 -126
  7. package/cjs/avatar/style/index.less +54 -72
  8. package/cjs/badge/index.js +6 -8
  9. package/cjs/badge/style/css/index.css +5 -5
  10. package/cjs/badge/style/index.less +5 -5
  11. package/cjs/button/demo/style/mobile.less +0 -4
  12. package/cjs/button/hooks.d.ts +1 -2
  13. package/cjs/button/hooks.js +5 -3
  14. package/cjs/button/index.d.ts +1 -1
  15. package/cjs/button/index.js +28 -33
  16. package/cjs/button/style/css/index.css +75 -310
  17. package/cjs/button/style/index.less +32 -38
  18. package/cjs/dropdown/dropdown.d.ts +3 -0
  19. package/cjs/dropdown/dropdown.js +306 -0
  20. package/cjs/dropdown/index.d.ts +3 -4
  21. package/cjs/dropdown/index.js +3 -303
  22. package/cjs/dropdown/options.js +2 -1
  23. package/cjs/dropdown/type.d.ts +20 -9
  24. package/cjs/dropdown-menu/dropdown-menu.d.ts +4 -0
  25. package/cjs/dropdown-menu/dropdown-menu.js +273 -0
  26. package/cjs/dropdown-menu/helper.d.ts +1 -1
  27. package/cjs/dropdown-menu/index.d.ts +2 -3
  28. package/cjs/dropdown-menu/index.js +2 -245
  29. package/cjs/dropdown-menu/type.d.ts +21 -20
  30. package/cjs/image/index.js +4 -1
  31. package/cjs/image/style/css/index.css +2 -1
  32. package/cjs/image/style/index.less +2 -1
  33. package/cjs/image-picker/index.d.ts +6 -6
  34. package/cjs/image-picker/index.js +4 -3
  35. package/cjs/nav-bar/index.js +7 -2
  36. package/cjs/show-monitor/index.js +31 -3
  37. package/dist/index.js +644 -604
  38. package/dist/index.min.js +3 -3
  39. package/dist/style.css +174 -438
  40. package/dist/style.min.css +1 -1
  41. package/esm/avatar/group.js +1 -1
  42. package/esm/avatar/index.js +10 -13
  43. package/esm/avatar/style/css/index.css +96 -126
  44. package/esm/avatar/style/index.less +54 -72
  45. package/esm/badge/index.js +6 -8
  46. package/esm/badge/style/css/index.css +5 -5
  47. package/esm/badge/style/index.less +5 -5
  48. package/esm/button/demo/style/mobile.less +0 -4
  49. package/esm/button/hooks.d.ts +1 -2
  50. package/esm/button/hooks.js +5 -3
  51. package/esm/button/index.d.ts +1 -1
  52. package/esm/button/index.js +30 -35
  53. package/esm/button/style/css/index.css +75 -310
  54. package/esm/button/style/index.less +32 -38
  55. package/esm/dropdown/dropdown.d.ts +3 -0
  56. package/esm/dropdown/dropdown.js +288 -0
  57. package/esm/dropdown/index.d.ts +3 -4
  58. package/esm/dropdown/index.js +3 -293
  59. package/esm/dropdown/options.js +2 -1
  60. package/esm/dropdown/type.d.ts +20 -9
  61. package/esm/dropdown-menu/dropdown-menu.d.ts +4 -0
  62. package/esm/dropdown-menu/dropdown-menu.js +256 -0
  63. package/esm/dropdown-menu/helper.d.ts +1 -1
  64. package/esm/dropdown-menu/index.d.ts +2 -3
  65. package/esm/dropdown-menu/index.js +2 -237
  66. package/esm/dropdown-menu/type.d.ts +21 -20
  67. package/esm/image/index.js +4 -1
  68. package/esm/image/style/css/index.css +2 -1
  69. package/esm/image/style/index.less +2 -1
  70. package/esm/image-picker/index.d.ts +6 -6
  71. package/esm/image-picker/index.js +4 -3
  72. package/esm/nav-bar/index.js +6 -2
  73. package/esm/show-monitor/index.js +31 -3
  74. package/package.json +3 -3
  75. package/tokens/app/arcodesign/default/css-variables.less +2 -1
  76. package/tokens/app/arcodesign/default/index.d.ts +2 -1
  77. package/tokens/app/arcodesign/default/index.js +2 -1
  78. package/tokens/app/arcodesign/default/index.json +27 -15
  79. package/tokens/app/arcodesign/default/index.less +2 -1
  80. package/umd/avatar/group.js +1 -1
  81. package/umd/avatar/index.js +10 -13
  82. package/umd/avatar/style/css/index.css +96 -126
  83. package/umd/avatar/style/index.less +54 -72
  84. package/umd/badge/index.js +6 -8
  85. package/umd/badge/style/css/index.css +5 -5
  86. package/umd/badge/style/index.less +5 -5
  87. package/umd/button/demo/style/mobile.less +0 -4
  88. package/umd/button/hooks.d.ts +1 -2
  89. package/umd/button/hooks.js +5 -3
  90. package/umd/button/index.d.ts +1 -1
  91. package/umd/button/index.js +28 -33
  92. package/umd/button/style/css/index.css +75 -310
  93. package/umd/button/style/index.less +32 -38
  94. package/umd/dropdown/dropdown.d.ts +3 -0
  95. package/umd/dropdown/dropdown.js +309 -0
  96. package/umd/dropdown/index.d.ts +3 -4
  97. package/umd/dropdown/index.js +5 -298
  98. package/umd/dropdown/options.js +2 -1
  99. package/umd/dropdown/type.d.ts +20 -9
  100. package/umd/dropdown-menu/dropdown-menu.d.ts +4 -0
  101. package/umd/dropdown-menu/dropdown-menu.js +278 -0
  102. package/umd/dropdown-menu/helper.d.ts +1 -1
  103. package/umd/dropdown-menu/index.d.ts +2 -3
  104. package/umd/dropdown-menu/index.js +5 -241
  105. package/umd/dropdown-menu/type.d.ts +21 -20
  106. package/umd/image/index.js +4 -1
  107. package/umd/image/style/css/index.css +2 -1
  108. package/umd/image/style/index.less +2 -1
  109. package/umd/image-picker/index.d.ts +6 -6
  110. package/umd/image-picker/index.js +4 -3
  111. package/umd/nav-bar/index.js +9 -6
  112. package/umd/show-monitor/index.js +31 -3
@@ -971,18 +971,6 @@
971
971
  "en": "Base font size used for rem conversion"
972
972
  }
973
973
  },
974
- "buttonBorderColor": {
975
- "cssKey": "button-border-color",
976
- "desc": "border颜色",
977
- "override": "button-border",
978
- "value": "@primary-color",
979
- "jsValue": "@global@primaryColor",
980
- "staticValue": "#165dff",
981
- "localeDesc": {
982
- "ch": "border颜色",
983
- "en": "Button Border color"
984
- }
985
- },
986
974
  "buttonDefaultBackground": {
987
975
  "cssKey": "button-default-background",
988
976
  "desc": "default 类型按钮背景色",
@@ -1139,6 +1127,18 @@
1139
1127
  "en": "Huge button font size"
1140
1128
  }
1141
1129
  },
1130
+ "buttonIconTextGutter": {
1131
+ "cssKey": "button-icon-text-gutter",
1132
+ "desc": "按钮图标与文字的间距",
1133
+ "override": "",
1134
+ "value": "~`pxtorem(4)`",
1135
+ "jsValue": "@getRem@4",
1136
+ "staticValue": "0.08rem",
1137
+ "localeDesc": {
1138
+ "ch": "按钮图标与文字的间距",
1139
+ "en": "Gutter between icon and text"
1140
+ }
1141
+ },
1142
1142
  "buttonLargeHeight": {
1143
1143
  "cssKey": "button-large-height",
1144
1144
  "desc": "large 按钮高度",
@@ -1175,6 +1175,18 @@
1175
1175
  "en": "Large button font size"
1176
1176
  }
1177
1177
  },
1178
+ "buttonLineHeight": {
1179
+ "cssKey": "button-line-height",
1180
+ "desc": "按钮的行高",
1181
+ "override": "button-border",
1182
+ "value": "1.2",
1183
+ "jsValue": "1.2",
1184
+ "staticValue": "1.2",
1185
+ "localeDesc": {
1186
+ "ch": "按钮的行高",
1187
+ "en": "Button line height"
1188
+ }
1189
+ },
1178
1190
  "buttonMediumHeight": {
1179
1191
  "cssKey": "button-medium-height",
1180
1192
  "desc": "medium 按钮高度",
@@ -1309,14 +1321,14 @@
1309
1321
  },
1310
1322
  "buttonRadius": {
1311
1323
  "cssKey": "button-radius",
1312
- "desc": "圆角大小",
1324
+ "desc": "shape=semi时圆角大小",
1313
1325
  "override": "",
1314
1326
  "value": "2PX",
1315
1327
  "jsValue": "2PX",
1316
1328
  "staticValue": "2PX",
1317
1329
  "localeDesc": {
1318
- "ch": "圆角大小",
1319
- "en": "Button border radius"
1330
+ "ch": "shape=semi时圆角大小",
1331
+ "en": "Button border radius when shape=semi"
1320
1332
  }
1321
1333
  },
1322
1334
  "buttonSmallHeight": {
@@ -158,8 +158,9 @@
158
158
  @avatar-desc-ultra-small-margin-top: ~`pxtorem(2)`;
159
159
  @avatar-name-color: @font-color;
160
160
  @avatar-desc-color: @sub-info-font-color;
161
- @button-border-color: @primary-color;
161
+ @button-line-height: 1.2;
162
162
  @button-radius: 2PX;
163
+ @button-icon-text-gutter: ~`pxtorem(4)`;
163
164
  @button-primary-background: @primary-color;
164
165
  @button-primary-clicked-background: #0E42D2;
165
166
  @button-primary-disabled-background: @primary-disabled-color;
@@ -64,7 +64,7 @@
64
64
  return /*#__PURE__*/_react.default.createElement("div", {
65
65
  ref: domRef,
66
66
  style: style,
67
- className: (0, _mobileUtils.cls)(className, prefixCls + "-avatar-group", "group-" + size)
67
+ className: (0, _mobileUtils.cls)(className, prefixCls + "-avatar-group", prefixCls + "-avatar-group-size-" + size, "group-" + size)
68
68
  }, /*#__PURE__*/_react.default.createElement(AvatarGroupContext.Provider, {
69
69
  value: {
70
70
  isGroup: true,
@@ -38,7 +38,7 @@
38
38
 
39
39
  function componentGenerator(Comp) {
40
40
  return /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
41
- var _cls;
41
+ var _cls, _cls2;
42
42
 
43
43
  var _useContext = (0, _react.useContext)(_contextProvider.GlobalContext),
44
44
  prefixCls = _useContext.prefixCls;
@@ -77,10 +77,7 @@
77
77
  style = _props$style === void 0 ? {} : _props$style,
78
78
  _props$imageProps = props.imageProps,
79
79
  imageProps = _props$imageProps === void 0 ? {} : _props$imageProps,
80
- _props$defaultOverLap = props.defaultOverLap,
81
- defaultOverLap = _props$defaultOverLap === void 0 ? /*#__PURE__*/_react.default.createElement(_IconUserFill.default, {
82
- className: prefixCls + "-avatar-default"
83
- }) : _props$defaultOverLap,
80
+ defaultOverLap = props.defaultOverLap,
84
81
  onClickDecoration = props.onClickDecoration,
85
82
  onClick = props.onClick;
86
83
  var domRef = (0, _react.useRef)(null);
@@ -140,19 +137,19 @@
140
137
  return /*#__PURE__*/_react.default.createElement("div", {
141
138
  ref: domRef,
142
139
  style: style,
143
- className: (0, _mobileUtils.cls)(prefixCls + "-avatar-wrapper", className, size, shape, {
144
- 'with-info': Boolean(avatarName)
145
- }),
140
+ className: (0, _mobileUtils.cls)(prefixCls + "-avatar-wrapper", className, size, shape, prefixCls + "-avatar-wrapper-shape-" + shape, (_cls = {}, _cls[prefixCls + "-avatar-wrapper-with-info " + prefixCls + "-avatar-wrapper-with-info-size-" + size + " with-info"] = Boolean(avatarName), _cls)),
146
141
  onClick: onClick
147
142
  }, /*#__PURE__*/_react.default.createElement("div", {
148
- className: (0, _mobileUtils.cls)(prefixCls + "-avatar", size, shape, (_cls = {}, _cls[prefixCls + "-text-avatar"] = isTextAvatar, _cls[prefixCls + "-image-avatar"] = isImageAvatar, _cls['default-overlap'] = useDefaultAvatar, _cls)),
143
+ className: (0, _mobileUtils.cls)(prefixCls + "-avatar", prefixCls + "-avatar-size-" + size, size, prefixCls + "-avatar-shape-" + shape, shape, (_cls2 = {}, _cls2[prefixCls + "-text-avatar " + prefixCls + "-avatar-mode-text"] = isTextAvatar, _cls2[prefixCls + "-image-avatar " + prefixCls + "-avatar-mode-image"] = isImageAvatar, _cls2[prefixCls + "-avatar-default-overlap default-overlap"] = useDefaultAvatar, _cls2)),
149
144
  style: avatarStyle,
150
145
  ref: avatarRef
151
- }, children, useDefaultAvatar && defaultOverLap, isImageAvatar && src && /*#__PURE__*/_react.default.createElement(Comp, (0, _extends2.default)({
146
+ }, children, useDefaultAvatar && (defaultOverLap === void 0 ? /*#__PURE__*/_react.default.createElement(_IconUserFill.default, {
147
+ className: prefixCls + "-avatar-default " + prefixCls + "-avatar-default-icon-size-" + size
148
+ }) : defaultOverLap), isImageAvatar && src && /*#__PURE__*/_react.default.createElement(Comp, (0, _extends2.default)({
152
149
  className: prefixCls + "-avatar-img",
153
150
  src: src
154
151
  }, imageProps)), isTextAvatar && /*#__PURE__*/_react.default.createElement("span", {
155
- className: prefixCls + "-avatar-text",
152
+ className: prefixCls + "-avatar-text " + prefixCls + "-avatar-text-size-" + size,
156
153
  ref: avatarTextRef,
157
154
  style: {
158
155
  transform: "scale(" + textScale + ")"
@@ -163,9 +160,9 @@
163
160
  }, decoration)), renderInfo, !renderInfo && avatarName && /*#__PURE__*/_react.default.createElement("div", {
164
161
  className: (0, _mobileUtils.cls)(prefixCls + "-avatar-info")
165
162
  }, /*#__PURE__*/_react.default.createElement("div", {
166
- className: (0, _mobileUtils.cls)(prefixCls + "-avatar-name")
163
+ className: prefixCls + "-avatar-name " + prefixCls + "-avatar-name-size-" + size
167
164
  }, avatarName), avatarDesc && /*#__PURE__*/_react.default.createElement("div", {
168
- className: (0, _mobileUtils.cls)(prefixCls + "-avatar-desc")
165
+ className: prefixCls + "-avatar-desc " + prefixCls + "-avatar-desc-size-" + size
169
166
  }, avatarDesc)));
170
167
  });
171
168
  }
@@ -1,74 +1,3 @@
1
- .arco-avatar-wrapper {
2
- display: inline-block;
3
- }
4
- .arco-avatar-wrapper.with-info.ultra-small {
5
- height: 1.12rem ;
6
- }
7
- .arco-avatar-wrapper.ultra-small .arco-avatar-name {
8
- font-size: 0.26rem ;
9
- line-height: 0.36rem ;
10
- }
11
- .arco-avatar-wrapper.ultra-small .arco-avatar-desc {
12
- margin-top: 0.04rem ;
13
- font-size: 0.2rem ;
14
- line-height: 0.28rem ;
15
- }
16
- .arco-avatar-wrapper.with-info.smaller {
17
- height: 1.28rem ;
18
- }
19
- .arco-avatar-wrapper.smaller .arco-avatar-name {
20
- font-size: 0.28rem ;
21
- line-height: 0.4rem ;
22
- }
23
- .arco-avatar-wrapper.smaller .arco-avatar-desc {
24
- margin-top: 0 ;
25
- font-size: 0.24rem ;
26
- line-height: 0.32rem ;
27
- }
28
- .arco-avatar-wrapper.with-info.small {
29
- height: 1.6rem ;
30
- }
31
- .arco-avatar-wrapper.small .arco-avatar-name {
32
- font-size: 0.32rem ;
33
- line-height: 0.48rem ;
34
- }
35
- .arco-avatar-wrapper.small .arco-avatar-desc {
36
- margin-top: 0 ;
37
- font-size: 0.24rem ;
38
- line-height: 0.32rem ;
39
- }
40
- .arco-avatar-wrapper.with-info.medium {
41
- height: 1.6rem ;
42
- }
43
- .arco-avatar-wrapper.medium .arco-avatar-name {
44
- font-size: 0.36rem ;
45
- line-height: 0.52rem ;
46
- }
47
- .arco-avatar-wrapper.medium .arco-avatar-desc {
48
- margin-top: 0.04rem ;
49
- font-size: 0.28rem ;
50
- line-height: 0.4rem ;
51
- }
52
- .arco-avatar-wrapper.with-info.large {
53
- height: 1.76rem ;
54
- }
55
- .arco-avatar-wrapper.large .arco-avatar-name {
56
- font-size: 0.36rem ;
57
- line-height: 0.52rem ;
58
- }
59
- .arco-avatar-wrapper.large .arco-avatar-desc {
60
- margin-top: 0.04rem ;
61
- font-size: 0.28rem ;
62
- line-height: 0.4rem ;
63
- }
64
- .arco-avatar-wrapper.with-info {
65
- display: -webkit-box;
66
- display: -webkit-flex;
67
- display: flex;
68
- -webkit-box-align: center;
69
- -webkit-align-items: center;
70
- align-items: center;
71
- }
72
1
  .arco-avatar {
73
2
  position: relative;
74
3
  font-size: 0;
@@ -84,104 +13,134 @@
84
13
  color: #fff ;
85
14
  background-color: #4080FF ;
86
15
  }
87
- .arco-avatar.arco-image-avatar {
16
+ .arco-avatar-mode-image {
88
17
  background-color: transparent;
89
18
  }
90
- .arco-avatar.default-overlap {
19
+ .arco-avatar-default-overlap {
91
20
  background-color: #c9cdd4 ;
92
21
  }
93
- .arco-avatar.circle {
22
+ .arco-avatar-shape-circle {
94
23
  border-radius: 50%;
95
24
  }
96
- .arco-avatar.circle .arco-avatar-img .image-content {
25
+ .arco-avatar-shape-circle .arco-avatar-img .image-content {
97
26
  border-radius: 50%;
98
27
  }
99
- .arco-avatar.square {
28
+ .arco-avatar-shape-square {
100
29
  border-radius: 0.08rem;
101
30
  }
102
- .arco-avatar.square .arco-avatar-img .image-content {
31
+ .arco-avatar-shape-square .arco-avatar-img .image-content {
103
32
  border-radius: 0.08rem;
104
33
  }
105
- .arco-avatar.group-ultra-small .arco-avatar-wrapper {
106
- margin-left: -0.16rem ;
107
- }
108
- .arco-avatar.group-ultra-small .arco-avatar {
109
- border-width: 0.02rem ;
110
- }
111
- .arco-avatar.ultra-small {
34
+ .arco-avatar-size-ultra-small {
112
35
  width: 0.48rem ;
113
36
  height: 0.48rem ;
114
37
  }
115
- .arco-avatar.ultra-small .arco-avatar-default {
38
+ .arco-avatar-default-icon-size-ultra-small {
116
39
  font-size: 0.24rem ;
117
40
  }
118
- .arco-avatar.ultra-small .arco-avatar-text {
41
+ .arco-avatar-text-size-ultra-small {
119
42
  font-size: 0.2rem ;
120
43
  }
121
- .arco-avatar.group-smaller .arco-avatar-wrapper {
122
- margin-left: -0.16rem ;
44
+ .arco-avatar-wrapper-with-info-size-ultra-small {
45
+ height: 1.12rem ;
123
46
  }
124
- .arco-avatar.group-smaller .arco-avatar {
125
- border-width: 0.02rem ;
47
+ .arco-avatar-name-size-ultra-small {
48
+ font-size: 0.26rem ;
49
+ line-height: 0.36rem ;
126
50
  }
127
- .arco-avatar.smaller {
51
+ .arco-avatar-desc-size-ultra-small {
52
+ margin-top: 0.04rem ;
53
+ font-size: 0.2rem ;
54
+ line-height: 0.28rem ;
55
+ }
56
+ .arco-avatar-size-smaller {
128
57
  width: 0.64rem ;
129
58
  height: 0.64rem ;
130
59
  }
131
- .arco-avatar.smaller .arco-avatar-default {
60
+ .arco-avatar-default-icon-size-smaller {
132
61
  font-size: 0.32rem ;
133
62
  }
134
- .arco-avatar.smaller .arco-avatar-text {
63
+ .arco-avatar-text-size-smaller {
135
64
  font-size: 0.24rem ;
136
65
  }
137
- .arco-avatar.group-small .arco-avatar-wrapper {
138
- margin-left: -0.24rem ;
66
+ .arco-avatar-wrapper-with-info-size-smaller {
67
+ height: 1.28rem ;
139
68
  }
140
- .arco-avatar.group-small .arco-avatar {
141
- border-width: 0.03rem ;
69
+ .arco-avatar-name-size-smaller {
70
+ font-size: 0.28rem ;
71
+ line-height: 0.4rem ;
142
72
  }
143
- .arco-avatar.small {
73
+ .arco-avatar-desc-size-smaller {
74
+ margin-top: 0 ;
75
+ font-size: 0.24rem ;
76
+ line-height: 0.32rem ;
77
+ }
78
+ .arco-avatar-size-small {
144
79
  width: 0.8rem ;
145
80
  height: 0.8rem ;
146
81
  }
147
- .arco-avatar.small .arco-avatar-default {
82
+ .arco-avatar-default-icon-size-small {
148
83
  font-size: 0.4rem ;
149
84
  }
150
- .arco-avatar.small .arco-avatar-text {
85
+ .arco-avatar-text-size-small {
151
86
  font-size: 0.28rem ;
152
87
  }
153
- .arco-avatar.group-medium .arco-avatar-wrapper {
154
- margin-left: -0.24rem ;
88
+ .arco-avatar-wrapper-with-info-size-small {
89
+ height: 1.6rem ;
155
90
  }
156
- .arco-avatar.group-medium .arco-avatar {
157
- border-width: 0.03rem ;
91
+ .arco-avatar-name-size-small {
92
+ font-size: 0.32rem ;
93
+ line-height: 0.48rem ;
94
+ }
95
+ .arco-avatar-desc-size-small {
96
+ margin-top: 0 ;
97
+ font-size: 0.24rem ;
98
+ line-height: 0.32rem ;
158
99
  }
159
- .arco-avatar.medium {
100
+ .arco-avatar-size-medium {
160
101
  width: 0.96rem ;
161
102
  height: 0.96rem ;
162
103
  }
163
- .arco-avatar.medium .arco-avatar-default {
104
+ .arco-avatar-default-icon-size-medium {
164
105
  font-size: 0.48rem ;
165
106
  }
166
- .arco-avatar.medium .arco-avatar-text {
107
+ .arco-avatar-text-size-medium {
167
108
  font-size: 0.32rem ;
168
109
  }
169
- .arco-avatar.group-large .arco-avatar-wrapper {
170
- margin-left: -0.24rem ;
110
+ .arco-avatar-wrapper-with-info-size-medium {
111
+ height: 1.6rem ;
171
112
  }
172
- .arco-avatar.group-large .arco-avatar {
173
- border-width: 0.03rem ;
113
+ .arco-avatar-name-size-medium {
114
+ font-size: 0.36rem ;
115
+ line-height: 0.52rem ;
116
+ }
117
+ .arco-avatar-desc-size-medium {
118
+ margin-top: 0.04rem ;
119
+ font-size: 0.28rem ;
120
+ line-height: 0.4rem ;
174
121
  }
175
- .arco-avatar.large {
122
+ .arco-avatar-size-large {
176
123
  width: 1.12rem ;
177
124
  height: 1.12rem ;
178
125
  }
179
- .arco-avatar.large .arco-avatar-default {
126
+ .arco-avatar-default-icon-size-large {
180
127
  font-size: 0.56rem ;
181
128
  }
182
- .arco-avatar.large .arco-avatar-text {
129
+ .arco-avatar-text-size-large {
183
130
  font-size: 0.32rem ;
184
131
  }
132
+ .arco-avatar-wrapper-with-info-size-large {
133
+ height: 1.76rem ;
134
+ }
135
+ .arco-avatar-name-size-large {
136
+ font-size: 0.36rem ;
137
+ line-height: 0.52rem ;
138
+ }
139
+ .arco-avatar-desc-size-large {
140
+ margin-top: 0.04rem ;
141
+ font-size: 0.28rem ;
142
+ line-height: 0.4rem ;
143
+ }
185
144
  .arco-avatar-img {
186
145
  width: 100%;
187
146
  height: 100%;
@@ -195,6 +154,17 @@
195
154
  flex: 0 0 auto;
196
155
  font-weight: bold;
197
156
  }
157
+ .arco-avatar-wrapper {
158
+ display: inline-block;
159
+ }
160
+ .arco-avatar-wrapper-with-info {
161
+ display: -webkit-box;
162
+ display: -webkit-flex;
163
+ display: flex;
164
+ -webkit-box-align: center;
165
+ -webkit-align-items: center;
166
+ align-items: center;
167
+ }
198
168
  .arco-avatar-info {
199
169
  display: -webkit-box;
200
170
  display: -webkit-flex;
@@ -214,43 +184,43 @@
214
184
  .arco-avatar-desc {
215
185
  color: #86909c ;
216
186
  }
217
- .arco-avatar-group .arco-avatar-wrapper.circle {
187
+ .arco-avatar-group .arco-avatar-wrapper-shape-circle {
218
188
  position: relative;
219
189
  }
220
- .arco-avatar-group .arco-avatar-wrapper.circle:first-child {
190
+ .arco-avatar-group .arco-avatar-wrapper-shape-circle:first-child {
221
191
  margin-left: 0;
222
192
  }
223
193
  .arco-avatar-group .arco-avatar {
224
194
  border-style: solid;
225
195
  border-color: #ffffff ;
226
196
  }
227
- .arco-avatar-group.group-ultra-small .arco-avatar-wrapper {
197
+ .arco-avatar-group-size-ultra-small .arco-avatar-wrapper {
228
198
  margin-left: -0.16rem ;
229
199
  }
230
- .arco-avatar-group.group-ultra-small .arco-avatar {
200
+ .arco-avatar-group-size-ultra-small .arco-avatar {
231
201
  border-width: 0.02rem ;
232
202
  }
233
- .arco-avatar-group.group-smaller .arco-avatar-wrapper {
203
+ .arco-avatar-group-size-smaller .arco-avatar-wrapper {
234
204
  margin-left: -0.16rem ;
235
205
  }
236
- .arco-avatar-group.group-smaller .arco-avatar {
206
+ .arco-avatar-group-size-smaller .arco-avatar {
237
207
  border-width: 0.02rem ;
238
208
  }
239
- .arco-avatar-group.group-small .arco-avatar-wrapper {
209
+ .arco-avatar-group-size-small .arco-avatar-wrapper {
240
210
  margin-left: -0.24rem ;
241
211
  }
242
- .arco-avatar-group.group-small .arco-avatar {
212
+ .arco-avatar-group-size-small .arco-avatar {
243
213
  border-width: 0.03rem ;
244
214
  }
245
- .arco-avatar-group.group-medium .arco-avatar-wrapper {
215
+ .arco-avatar-group-size-medium .arco-avatar-wrapper {
246
216
  margin-left: -0.24rem ;
247
217
  }
248
- .arco-avatar-group.group-medium .arco-avatar {
218
+ .arco-avatar-group-size-medium .arco-avatar {
249
219
  border-width: 0.03rem ;
250
220
  }
251
- .arco-avatar-group.group-large .arco-avatar-wrapper {
221
+ .arco-avatar-group-size-large .arco-avatar-wrapper {
252
222
  margin-left: -0.24rem ;
253
223
  }
254
- .arco-avatar-group.group-large .arco-avatar {
224
+ .arco-avatar-group-size-large .arco-avatar {
255
225
  border-width: 0.03rem ;
256
226
  }
@@ -2,16 +2,6 @@
2
2
 
3
3
  @size-map: @avatar-size-map;
4
4
 
5
- .@{prefix}-avatar-wrapper {
6
- display: inline-block;
7
- .set-with-info-avatar-size(length(@size-map));
8
-
9
- &.with-info {
10
- display: flex;
11
- align-items: center;
12
- }
13
- }
14
-
15
5
  .@{prefix}-avatar {
16
6
  position: relative;
17
7
  font-size: 0;
@@ -20,21 +10,23 @@
20
10
  justify-content: center;
21
11
  .use-var(color, avatar-text-font-color);
22
12
  .use-var(background-color, avatar-background);
23
- &.@{prefix}-image-avatar {
13
+
14
+ &-mode-image {
24
15
  background-color: transparent;
25
16
  }
26
17
 
27
- &.default-overlap {
18
+ &-default-overlap {
28
19
  .use-var(background-color, avatar-default-overlap-background);
29
20
  }
30
21
 
31
- &.circle {
22
+ &-shape-circle {
32
23
  .set-avatar-radius(50%);
33
24
  }
34
25
 
35
- &.square {
26
+ &-shape-square {
36
27
  .set-avatar-radius(.08rem);
37
28
  }
29
+
38
30
  .set-avatar-size(length(@size-map));
39
31
 
40
32
  &-img {
@@ -50,26 +42,34 @@
50
42
  flex: 0 0 auto;
51
43
  font-weight: bold;
52
44
  }
53
- }
54
45
 
55
- .@{prefix}-avatar-info {
56
- display: flex;
57
- justify-content: center;
58
- flex-direction: column;
59
- .rem(margin-left, 16);
60
- }
46
+ &-wrapper {
47
+ display: inline-block;
61
48
 
62
- .@{prefix}-avatar-name {
63
- .use-var(color, avatar-name-color);
64
- }
49
+ &-with-info {
50
+ display: flex;
51
+ align-items: center;
52
+ }
53
+ }
65
54
 
66
- .@{prefix}-avatar-desc {
67
- .use-var(color, avatar-desc-color);
68
- }
55
+ &-info {
56
+ display: flex;
57
+ justify-content: center;
58
+ flex-direction: column;
59
+ .rem(margin-left, 16);
60
+ }
69
61
 
62
+ &-name {
63
+ .use-var(color, avatar-name-color);
64
+ }
65
+
66
+ &-desc {
67
+ .use-var(color, avatar-desc-color);
68
+ }
69
+ }
70
70
 
71
71
  .@{prefix}-avatar-group {
72
- .@{prefix}-avatar-wrapper.circle {
72
+ .@{prefix}-avatar-wrapper-shape-circle {
73
73
  position: relative; // 为了让z-index属性生效
74
74
 
75
75
  &:first-child {
@@ -92,39 +92,12 @@
92
92
  }
93
93
  }
94
94
 
95
- // 循环设置各头像大小的属性
96
-
97
- .set-with-info-avatar-size(@index) when (@index > 0) {
98
-
99
- @size: extract(@size-map, @index);
100
-
101
- // 有辅助信息的样式
102
- &.with-info.@{size} {
103
- .use-var(height, "avatar-info-box-@{size}-size");
104
- }
105
-
106
- // 用户名样式
107
- &.@{size} .@{prefix}-avatar-name {
108
- .use-var(font-size, "avatar-name-@{size}-font-size");
109
- .use-var(line-height, "avatar-name-@{size}-line-height");
110
- }
111
-
112
- // 用户描述样式
113
- &.@{size} .@{prefix}-avatar-desc {
114
- .use-var(margin-top, "avatar-desc-@{size}-margin-top");
115
- .use-var(font-size, "avatar-desc-@{size}-font-size");
116
- .use-var(line-height, "avatar-desc-@{size}-line-height");
117
- }
118
-
119
- .set-with-info-avatar-size(@index - 1);
120
- }
121
-
122
95
  // 循环设置头像叠层的样式
123
96
  .set-avatar-group-size(@index) when (@index > 0) {
124
97
 
125
98
  @size: extract(@size-map, @index);
126
99
 
127
- &.group-@{size} {
100
+ &-size-@{size} {
128
101
  .@{prefix}-avatar-wrapper {
129
102
  .use-var(margin-left, "avatar-group-@{size}-size-offset");
130
103
  }
@@ -141,24 +114,33 @@
141
114
 
142
115
  @size: extract(@size-map, @index);
143
116
 
144
- &.group-@{size} {
145
- .@{prefix}-avatar-wrapper {
146
- .use-var(margin-left, "avatar-group-@{size}-size-offset");
147
- }
148
- .@{prefix}-avatar {
149
- .use-var(border-width, "avatar-group-@{size}-size-border");
150
- }
151
- }
152
-
153
- &.@{size} {
117
+ &-size-@{size} {
154
118
  .use-var(width, "avatar-@{size}-size");
155
119
  .use-var(height, "avatar-@{size}-size");
156
- .@{prefix}-avatar-default {
157
- .use-var(font-size, "avatar-default-overlap-@{size}-size");
158
- }
159
- .@{prefix}-avatar-text {
160
- .use-var(font-size, "avatar-@{size}-text-font-size");
161
- }
120
+ }
121
+ &-default-icon-size-@{size} {
122
+ .use-var(font-size, "avatar-default-overlap-@{size}-size");
123
+ }
124
+ &-text-size-@{size} {
125
+ .use-var(font-size, "avatar-@{size}-text-font-size");
126
+ }
127
+
128
+ // 有辅助信息的样式
129
+ &-wrapper-with-info-size-@{size} {
130
+ .use-var(height, "avatar-info-box-@{size}-size");
131
+ }
132
+
133
+ // 用户名样式
134
+ &-name-size-@{size} {
135
+ .use-var(font-size, "avatar-name-@{size}-font-size");
136
+ .use-var(line-height, "avatar-name-@{size}-line-height");
137
+ }
138
+
139
+ // 用户描述样式
140
+ &-desc-size-@{size} {
141
+ .use-var(margin-top, "avatar-desc-@{size}-margin-top");
142
+ .use-var(font-size, "avatar-desc-@{size}-font-size");
143
+ .use-var(line-height, "avatar-desc-@{size}-line-height");
162
144
  }
163
145
 
164
146
  .set-avatar-size(@index - 1);