@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
package/CHANGELOG.md CHANGED
@@ -3,6 +3,29 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.20.0](https://github.com/arco-design/arco-design-mobile/compare/@arco-design/mobile-react@2.19.1...@arco-design/mobile-react@2.20.0) (2022-08-12)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * `Button` support coverIconWhenLoading ([#33](https://github.com/arco-design/arco-design-mobile/issues/33)) ([2ef79f5](https://github.com/arco-design/arco-design-mobile/commit/2ef79f5f77081682075d00beb8639c87515aa4b3))
12
+ * `Dropdown` support customize select icon & value of string type ([9eb6f5d](https://github.com/arco-design/arco-design-mobile/commit/9eb6f5db76d2a1975e61a478d897522cf8bcbf8e))
13
+ * `DropdownMenu` optimize renderSelectLabel params ([1c685fd](https://github.com/arco-design/arco-design-mobile/commit/1c685fd85851f6735d1d91dc49c6f28ade0a858c))
14
+ * `ImagePicker` optimize display when uploading ([eba85a4](https://github.com/arco-design/arco-design-mobile/commit/eba85a46bfadddc5924f8cd89f614416bdb0e3c1))
15
+ * `NavBar` trigger caculation when showOffset changes ([06119ce](https://github.com/arco-design/arco-design-mobile/commit/06119ceeefb286ac963dae0f8b49a1112063d1b9))
16
+ * `ShowMonitor` support flush visible status ([#31](https://github.com/arco-design/arco-design-mobile/issues/31)) ([b5e12b2](https://github.com/arco-design/arco-design-mobile/commit/b5e12b27cd464cc137be810bea828850934072b0))
17
+ * `Steps` converge style to token ([6cf4f26](https://github.com/arco-design/arco-design-mobile/commit/6cf4f267a271dc0d03f559c4aca8199f9fcae2ec))
18
+ * components classname optimize: `Avatar` & `Button` & `Badge` ([cba4ac4](https://github.com/arco-design/arco-design-mobile/commit/cba4ac4bfafbe4edd53019b2c2ee314e092e409b))
19
+
20
+
21
+ ### Features
22
+
23
+ * add new component `ImagePicker` ([#24](https://github.com/arco-design/arco-design-mobile/issues/24)) ([73f6156](https://github.com/arco-design/arco-design-mobile/commit/73f615651f46dc670f29733f6b99ec56795fc48b))
24
+
25
+
26
+
27
+
28
+
6
29
  ## [2.19.1](https://github.com/arco-design/arco-design-mobile/compare/@arco-design/mobile-react@2.19.0...@arco-design/mobile-react@2.19.1) (2022-07-22)
7
30
 
8
31
 
package/README.en-US.md CHANGED
@@ -89,7 +89,7 @@ npm install babel-plugin-import -D
89
89
  plugins: [
90
90
  ["import", {
91
91
  "libraryName": "@arco-design/mobile-react",
92
- "libraryDirectory": "esm",
92
+ "libraryDirectory": "esm", // In SSR environment, you need to use `cjs` here
93
93
  "style": (path) => `${path}/style`,
94
94
  }]
95
95
  ]
@@ -102,7 +102,7 @@ plugins: [
102
102
  ```js
103
103
  plugins: [
104
104
  ["import", {
105
- "libraryName": "@arco-design/mobile-react/esm/icon",
105
+ "libraryName": "@arco-design/mobile-react/esm/icon", // In SSR environment, you need to replace `esm` with `cjs`
106
106
  "libraryDirectory": "",
107
107
  "camel2DashComponentName": false,
108
108
  }]
@@ -115,11 +115,11 @@ If both **component** and **Icon** need to be imported on demand, you need to ad
115
115
  plugins: [
116
116
  ["import", {
117
117
  "libraryName": "@arco-design/mobile-react",
118
- "libraryDirectory": "esm",
118
+ "libraryDirectory": "esm", // In SSR environment, you need to use `cjs` here
119
119
  "style": (path) => `${path}/style`
120
120
  }, "@arco-design/mobile-react"],
121
121
  ["import", {
122
- "libraryName": "@arco-design/mobile-react/esm/icon",
122
+ "libraryName": "@arco-design/mobile-react/esm/icon", // In SSR environment, you need to replace `esm` with `cjs`
123
123
  "libraryDirectory": "",
124
124
  "camel2DashComponentName": false
125
125
  }, "@arco-design/mobile-react/esm/icon"]
package/README.md CHANGED
@@ -89,7 +89,7 @@ npm install babel-plugin-import -D
89
89
  plugins: [
90
90
  ["import", {
91
91
  "libraryName": "@arco-design/mobile-react",
92
- "libraryDirectory": "esm",
92
+ "libraryDirectory": "esm", // 注意如果是 SSR 环境,这里需使用 `cjs`
93
93
  "style": (path) => `${path}/style`,
94
94
  }]
95
95
  ]
@@ -102,7 +102,7 @@ plugins: [
102
102
  ```js
103
103
  plugins: [
104
104
  ["import", {
105
- "libraryName": "@arco-design/mobile-react/esm/icon",
105
+ "libraryName": "@arco-design/mobile-react/esm/icon", // 注意如果是 SSR 环境,这里需将 `esm` 替换为 `cjs`
106
106
  "libraryDirectory": "",
107
107
  "camel2DashComponentName": false,
108
108
  }]
@@ -115,11 +115,11 @@ plugins: [
115
115
  plugins: [
116
116
  ["import", {
117
117
  "libraryName": "@arco-design/mobile-react",
118
- "libraryDirectory": "esm",
118
+ "libraryDirectory": "esm", // 注意如果是 SSR 环境,这里需使用 `cjs`
119
119
  "style": (path) => `${path}/style`
120
120
  }, "@arco-design/mobile-react"],
121
121
  ["import", {
122
- "libraryName": "@arco-design/mobile-react/esm/icon",
122
+ "libraryName": "@arco-design/mobile-react/esm/icon", // 注意如果是 SSR 环境,这里需将 `esm` 替换为 `cjs`
123
123
  "libraryDirectory": "",
124
124
  "camel2DashComponentName": false
125
125
  }, "@arco-design/mobile-react/esm/icon"]
@@ -57,7 +57,7 @@ var Group = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
57
57
  return /*#__PURE__*/_react.default.createElement("div", {
58
58
  ref: domRef,
59
59
  style: style,
60
- className: (0, _mobileUtils.cls)(className, prefixCls + "-avatar-group", "group-" + size)
60
+ className: (0, _mobileUtils.cls)(className, prefixCls + "-avatar-group", prefixCls + "-avatar-group-size-" + size, "group-" + size)
61
61
  }, /*#__PURE__*/_react.default.createElement(AvatarGroupContext.Provider, {
62
62
  value: {
63
63
  isGroup: true,
@@ -38,7 +38,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
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 @@ function componentGenerator(Comp) {
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 @@ function componentGenerator(Comp) {
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 @@ function componentGenerator(Comp) {
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);