@arco-design/mobile-react 2.19.1-941e02b.7 → 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 (130) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.en-US.md +6 -6
  3. package/README.md +6 -6
  4. package/cjs/_helpers/type.d.ts +1 -1
  5. package/cjs/avatar/group.js +1 -1
  6. package/cjs/avatar/index.js +10 -13
  7. package/cjs/avatar/style/css/index.css +96 -126
  8. package/cjs/avatar/style/index.less +54 -72
  9. package/cjs/badge/index.js +6 -8
  10. package/cjs/badge/style/css/index.css +5 -5
  11. package/cjs/badge/style/index.less +5 -5
  12. package/cjs/button/hooks.d.ts +1 -2
  13. package/cjs/button/hooks.js +5 -3
  14. package/cjs/button/index.d.ts +12 -0
  15. package/cjs/button/index.js +40 -33
  16. package/cjs/button/style/css/index.css +75 -310
  17. package/cjs/button/style/index.less +32 -38
  18. package/cjs/count-down/demo/style/mobile.less +1 -1
  19. package/cjs/dropdown/dropdown.d.ts +3 -0
  20. package/cjs/dropdown/dropdown.js +306 -0
  21. package/cjs/dropdown/index.d.ts +3 -4
  22. package/cjs/dropdown/index.js +3 -303
  23. package/cjs/dropdown/options.js +2 -1
  24. package/cjs/dropdown/type.d.ts +20 -9
  25. package/cjs/dropdown-menu/dropdown-menu.d.ts +4 -0
  26. package/cjs/dropdown-menu/dropdown-menu.js +273 -0
  27. package/cjs/dropdown-menu/helper.d.ts +1 -1
  28. package/cjs/dropdown-menu/index.d.ts +2 -3
  29. package/cjs/dropdown-menu/index.js +2 -245
  30. package/cjs/dropdown-menu/type.d.ts +21 -20
  31. package/cjs/image/index.js +4 -1
  32. package/cjs/image/style/css/index.css +2 -1
  33. package/cjs/image/style/index.less +2 -1
  34. package/cjs/image-picker/index.d.ts +11 -8
  35. package/cjs/image-picker/index.js +19 -12
  36. package/cjs/image-picker/style/index.less +1 -1
  37. package/cjs/nav-bar/index.js +7 -2
  38. package/cjs/notify/index.d.ts +1 -0
  39. package/cjs/notify/index.js +12 -0
  40. package/cjs/notify/type.d.ts +1 -0
  41. package/cjs/show-monitor/index.js +31 -3
  42. package/cjs/transition/index.js +4 -2
  43. package/dist/index.js +677 -617
  44. package/dist/index.min.js +4 -4
  45. package/dist/style.css +174 -438
  46. package/dist/style.min.css +1 -1
  47. package/esm/_helpers/type.d.ts +1 -1
  48. package/esm/avatar/group.js +1 -1
  49. package/esm/avatar/index.js +10 -13
  50. package/esm/avatar/style/css/index.css +96 -126
  51. package/esm/avatar/style/index.less +54 -72
  52. package/esm/badge/index.js +6 -8
  53. package/esm/badge/style/css/index.css +5 -5
  54. package/esm/badge/style/index.less +5 -5
  55. package/esm/button/hooks.d.ts +1 -2
  56. package/esm/button/hooks.js +5 -3
  57. package/esm/button/index.d.ts +12 -0
  58. package/esm/button/index.js +42 -35
  59. package/esm/button/style/css/index.css +75 -310
  60. package/esm/button/style/index.less +32 -38
  61. package/esm/count-down/demo/style/mobile.less +1 -1
  62. package/esm/dropdown/dropdown.d.ts +3 -0
  63. package/esm/dropdown/dropdown.js +288 -0
  64. package/esm/dropdown/index.d.ts +3 -4
  65. package/esm/dropdown/index.js +3 -293
  66. package/esm/dropdown/options.js +2 -1
  67. package/esm/dropdown/type.d.ts +20 -9
  68. package/esm/dropdown-menu/dropdown-menu.d.ts +4 -0
  69. package/esm/dropdown-menu/dropdown-menu.js +256 -0
  70. package/esm/dropdown-menu/helper.d.ts +1 -1
  71. package/esm/dropdown-menu/index.d.ts +2 -3
  72. package/esm/dropdown-menu/index.js +2 -237
  73. package/esm/dropdown-menu/type.d.ts +21 -20
  74. package/esm/image/index.js +4 -1
  75. package/esm/image/style/css/index.css +2 -1
  76. package/esm/image/style/index.less +2 -1
  77. package/esm/image-picker/index.d.ts +11 -8
  78. package/esm/image-picker/index.js +19 -12
  79. package/esm/image-picker/style/index.less +1 -1
  80. package/esm/nav-bar/index.js +6 -2
  81. package/esm/notify/index.d.ts +1 -0
  82. package/esm/notify/index.js +1 -0
  83. package/esm/notify/type.d.ts +1 -0
  84. package/esm/show-monitor/index.js +31 -3
  85. package/esm/transition/index.js +4 -2
  86. package/package.json +3 -3
  87. package/tokens/app/arcodesign/default/css-variables.less +2 -1
  88. package/tokens/app/arcodesign/default/index.d.ts +2 -1
  89. package/tokens/app/arcodesign/default/index.js +2 -1
  90. package/tokens/app/arcodesign/default/index.json +123 -47
  91. package/tokens/app/arcodesign/default/index.less +2 -1
  92. package/umd/_helpers/type.d.ts +1 -1
  93. package/umd/avatar/group.js +1 -1
  94. package/umd/avatar/index.js +10 -13
  95. package/umd/avatar/style/css/index.css +96 -126
  96. package/umd/avatar/style/index.less +54 -72
  97. package/umd/badge/index.js +6 -8
  98. package/umd/badge/style/css/index.css +5 -5
  99. package/umd/badge/style/index.less +5 -5
  100. package/umd/button/hooks.d.ts +1 -2
  101. package/umd/button/hooks.js +5 -3
  102. package/umd/button/index.d.ts +12 -0
  103. package/umd/button/index.js +40 -33
  104. package/umd/button/style/css/index.css +75 -310
  105. package/umd/button/style/index.less +32 -38
  106. package/umd/count-down/demo/style/mobile.less +1 -1
  107. package/umd/dropdown/dropdown.d.ts +3 -0
  108. package/umd/dropdown/dropdown.js +309 -0
  109. package/umd/dropdown/index.d.ts +3 -4
  110. package/umd/dropdown/index.js +5 -298
  111. package/umd/dropdown/options.js +2 -1
  112. package/umd/dropdown/type.d.ts +20 -9
  113. package/umd/dropdown-menu/dropdown-menu.d.ts +4 -0
  114. package/umd/dropdown-menu/dropdown-menu.js +278 -0
  115. package/umd/dropdown-menu/helper.d.ts +1 -1
  116. package/umd/dropdown-menu/index.d.ts +2 -3
  117. package/umd/dropdown-menu/index.js +5 -241
  118. package/umd/dropdown-menu/type.d.ts +21 -20
  119. package/umd/image/index.js +4 -1
  120. package/umd/image/style/css/index.css +2 -1
  121. package/umd/image/style/index.less +2 -1
  122. package/umd/image-picker/index.d.ts +11 -8
  123. package/umd/image-picker/index.js +19 -12
  124. package/umd/image-picker/style/index.less +1 -1
  125. package/umd/nav-bar/index.js +9 -6
  126. package/umd/notify/index.d.ts +1 -0
  127. package/umd/notify/index.js +13 -4
  128. package/umd/notify/type.d.ts +1 -0
  129. package/umd/show-monitor/index.js +31 -3
  130. package/umd/transition/index.js +4 -2
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import React, { useState, forwardRef, useRef, useImperativeHandle } from 'react';
2
+ import React, { useState, forwardRef, useRef, useImperativeHandle, useContext } from 'react';
3
3
  import { cls } from '@arco-design/mobile-utils';
4
- import { ContextLayout } from '../context-provider';
4
+ import { GlobalContext } from '../context-provider';
5
5
  import Loading from '../loading';
6
6
  import { useSystem } from '../_helpers';
7
7
  import { useCustomColor } from './hooks';
@@ -15,6 +15,8 @@ import { useCustomColor } from './hooks';
15
15
  * @name_en Button
16
16
  */
17
17
  var Button = /*#__PURE__*/forwardRef(function (props, ref) {
18
+ var _ref, _cls;
19
+
18
20
  var _useState = useState(false),
19
21
  isActive = _useState[0],
20
22
  setActive = _useState[1];
@@ -30,6 +32,8 @@ var Button = /*#__PURE__*/forwardRef(function (props, ref) {
30
32
  loading = _props$loading === void 0 ? false : _props$loading,
31
33
  _props$disabled = props.disabled,
32
34
  disabled = _props$disabled === void 0 ? false : _props$disabled,
35
+ _props$disableWhenLoa = props.disableWhenLoading,
36
+ disableWhenLoading = _props$disableWhenLoa === void 0 ? true : _props$disableWhenLoa,
33
37
  _props$shape = props.shape,
34
38
  shape = _props$shape === void 0 ? 'semi' : _props$shape,
35
39
  _props$halfBorder = props.halfBorder,
@@ -50,8 +54,15 @@ var Button = /*#__PURE__*/forwardRef(function (props, ref) {
50
54
  children = _props$children === void 0 ? null : _props$children,
51
55
  loadingIcon = props.loadingIcon,
52
56
  onClick = props.onClick,
53
- onClickDisabled = props.onClickDisabled;
57
+ onClickDisabled = props.onClickDisabled,
58
+ _props$coverIconWhenL = props.coverIconWhenLoading,
59
+ coverIconWhenLoading = _props$coverIconWhenL === void 0 ? true : _props$coverIconWhenL;
54
60
  var domRef = useRef(null);
61
+
62
+ var _useContext = useContext(GlobalContext),
63
+ prefixCls = _useContext.prefixCls;
64
+
65
+ var prefix = prefixCls + "-button";
55
66
  useImperativeHandle(ref, function () {
56
67
  return {
57
68
  dom: domRef.current
@@ -63,7 +74,8 @@ var Button = /*#__PURE__*/forwardRef(function (props, ref) {
63
74
  bgColor: bgColor,
64
75
  borderColor: borderColor,
65
76
  isActive: isActive,
66
- disabled: disabled
77
+ disabled: disabled,
78
+ halfBorder: halfBorder
67
79
  }),
68
80
  customColorClass = _useCustomColor.customColorClass,
69
81
  customColorStyle = _useCustomColor.customColorStyle;
@@ -78,36 +90,31 @@ var Button = /*#__PURE__*/forwardRef(function (props, ref) {
78
90
  setActive(false);
79
91
  };
80
92
 
81
- return /*#__PURE__*/React.createElement(ContextLayout, null, function (_ref) {
82
- var prefixCls = _ref.prefixCls;
83
- return /*#__PURE__*/React.createElement("button", {
84
- type: "button",
85
- ref: domRef,
86
- style: _extends({}, customColorStyle, style),
87
- className: cls.apply(void 0, [prefixCls + "-button", className, "type-" + type, "size-" + size, "is-" + shape, system, {
88
- inline: inline,
89
- disabled: disabled,
90
- loading: loading,
91
- active: isActive,
92
- 'half-border': halfBorder
93
- }].concat(customColorClass)),
94
- onTouchStart: handleTouchStart,
95
- onTouchEnd: handleTouchEnd,
96
- onTouchCancel: handleTouchEnd,
97
- onMouseDown: handleTouchStart,
98
- onMouseUp: handleTouchEnd,
99
- onClick: disabled ? onClickDisabled : onClick
100
- }, /*#__PURE__*/React.createElement("div", {
101
- className: "btn-icon"
102
- }, icon, loading && (loadingIcon === void 0 ? /*#__PURE__*/React.createElement(Loading, {
103
- className: "loading-icon",
104
- radius: 6,
105
- type: "circle"
106
- }) : loadingIcon)), (!loading || loading && showTextWhenLoading) && children ? /*#__PURE__*/React.createElement("div", {
107
- className: cls('btn-text', {
108
- 'has-icon': loading || icon
109
- })
110
- }, children) : null);
111
- });
93
+ var renderIcon = function renderIcon() {
94
+ if (coverIconWhenLoading) {
95
+ return loading ? null : icon;
96
+ }
97
+
98
+ return icon;
99
+ };
100
+
101
+ return /*#__PURE__*/React.createElement("button", {
102
+ type: "button",
103
+ ref: domRef,
104
+ style: _extends({}, customColorStyle, style),
105
+ className: cls.apply(void 0, [prefix, prefix + "-type-" + type + " type-" + type, prefix + "-size-" + size + " " + prefix + "-size-" + size + "-is-" + shape + " size-" + size, className, "is-" + shape, system, (_ref = {}, _ref[prefix + "-inline inline"] = inline, _ref[prefix + "-type-" + type + "-disabled disabled"] = disabled, _ref.loading = loading, _ref[prefix + "-type-" + type + "-active active"] = isActive, _ref)].concat(customColorClass)),
106
+ onTouchStart: handleTouchStart,
107
+ onTouchEnd: handleTouchEnd,
108
+ onTouchCancel: handleTouchEnd,
109
+ onClick: disabled || loading && disableWhenLoading ? onClickDisabled : onClick
110
+ }, icon || loading ? /*#__PURE__*/React.createElement("div", {
111
+ className: prefix + "-icon btn-icon"
112
+ }, renderIcon(), loading && (loadingIcon === void 0 ? /*#__PURE__*/React.createElement(Loading, {
113
+ className: prefix + "-loading-icon loading-icon",
114
+ radius: 6,
115
+ type: "circle"
116
+ }) : loadingIcon)) : null, (!loading || loading && showTextWhenLoading) && children ? /*#__PURE__*/React.createElement("div", {
117
+ className: cls(prefix + "-text", prefix + "-text-" + system, 'btn-text', (_cls = {}, _cls[prefix + "-text-has-icon has-icon"] = loading || icon, _cls))
118
+ }, children) : null);
112
119
  });
113
120
  export default Button;
@@ -6,8 +6,8 @@
6
6
  display: block;
7
7
  width: 100%;
8
8
  box-sizing: border-box;
9
+ line-height: 1.2 ;
9
10
  border-radius: 2PX ;
10
- border: 1PX solid #165dff ;
11
11
  -webkit-touch-callout: none;
12
12
  /* iOS Safari */
13
13
  -webkit-user-select: none;
@@ -18,414 +18,180 @@
18
18
  user-select: none;
19
19
  /* Non-prefixed version, currently*/
20
20
  }
21
- .arco-button.half-border:not(.has-custom-border) {
22
- border-width: 0;
23
- box-shadow: 0 0 0 1PX #165dff inset;
24
- }
25
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
26
- .arco-button.half-border:not(.has-custom-border) {
27
- box-shadow: 0 0 0 0.5PX #165dff inset;
28
- }
29
- }
30
- .ios .arco-button.half-border:not(.has-custom-border),
31
- .arco-button.half-border:not(.has-custom-border).ios {
32
- box-shadow: none;
33
- border: 0.5PX solid #165dff;
34
- }
35
- .arco-button.inline {
21
+ .arco-button-inline {
36
22
  width: auto;
37
23
  display: inline-block;
38
24
  }
39
- .arco-button.type-ghost {
40
- border: 1PX solid transparent ;
25
+ .arco-button-type-ghost {
41
26
  background: transparent ;
42
27
  color: #165dff ;
43
28
  }
44
- .arco-button.type-ghost.half-border:not(.has-custom-border) {
45
- border-width: 0;
46
- box-shadow: 0 0 0 1PX transparent inset;
47
- }
48
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
49
- .arco-button.type-ghost.half-border:not(.has-custom-border) {
50
- box-shadow: 0 0 0 0.5PX transparent inset;
51
- }
52
- }
53
- .ios .arco-button.type-ghost.half-border:not(.has-custom-border),
54
- .arco-button.type-ghost.half-border:not(.has-custom-border).ios {
55
- box-shadow: none;
56
- border: 0.5PX solid transparent;
57
- }
58
- .arco-button.type-ghost .bg-color-with-config {
29
+ .arco-button-type-ghost .bg-color-with-config {
59
30
  background: #165dff;
60
31
  }
61
- .arco-button.type-ghost .stop-color-with-config {
32
+ .arco-button-type-ghost .stop-color-with-config {
62
33
  stop-color: #165dff;
63
34
  }
64
- .arco-button.type-ghost .fill-color-with-config {
35
+ .arco-button-type-ghost .fill-color-with-config {
65
36
  fill: #165dff;
66
37
  }
67
- .arco-button.type-ghost .stroke-color-with-config {
38
+ .arco-button-type-ghost .stroke-color-with-config {
68
39
  stroke: #165dff;
69
40
  }
70
- .arco-button.type-ghost.disabled {
41
+ .arco-button-type-ghost-disabled {
71
42
  background: transparent ;
72
43
  color: #94bfff ;
73
44
  }
74
- .arco-button.type-ghost.disabled.ios,
75
- .arco-button.type-ghost.disabled.android {
76
- border-width: 0;
77
- box-shadow: none;
78
- }
79
- .arco-button.type-ghost.active {
45
+ .arco-button-type-ghost-active {
80
46
  background: #e8f3ff ;
81
- border: 1PX solid #e8f3ff ;
82
- }
83
- .arco-button.type-ghost.active.half-border:not(.has-custom-border) {
84
- border-width: 0;
85
- box-shadow: 0 0 0 1PX #e8f3ff inset;
86
- }
87
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
88
- .arco-button.type-ghost.active.half-border:not(.has-custom-border) {
89
- box-shadow: 0 0 0 0.5PX #e8f3ff inset;
90
- }
91
- }
92
- .ios .arco-button.type-ghost.active.half-border:not(.has-custom-border),
93
- .arco-button.type-ghost.active.half-border:not(.has-custom-border).ios {
94
- box-shadow: none;
95
- border: 0.5PX solid #e8f3ff;
96
- }
97
- .arco-button.type-ghost,
98
- .arco-button.type-ghost.active {
99
- border: 1PX solid #165dff ;
100
47
  }
101
- .arco-button.type-ghost.half-border:not(.has-custom-border),
102
- .arco-button.type-ghost.active.half-border:not(.has-custom-border) {
103
- border-width: 0;
104
- box-shadow: 0 0 0 1PX #165dff inset;
105
- }
106
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
107
- .arco-button.type-ghost.half-border:not(.has-custom-border),
108
- .arco-button.type-ghost.active.half-border:not(.has-custom-border) {
109
- box-shadow: 0 0 0 0.5PX #165dff inset;
110
- }
111
- }
112
- .ios .arco-button.type-ghost.half-border:not(.has-custom-border),
113
- .ios .arco-button.type-ghost.active.half-border:not(.has-custom-border),
114
- .arco-button.type-ghost.half-border:not(.has-custom-border).ios,
115
- .arco-button.type-ghost.active.half-border:not(.has-custom-border).ios {
116
- box-shadow: none;
117
- border: 0.5PX solid #165dff;
118
- }
119
- .arco-button.type-ghost.disabled.ios,
120
- .arco-button.type-ghost.disabled.android {
121
- border: 1PX solid #94bfff ;
122
- }
123
- .arco-button.type-ghost.disabled.ios.half-border:not(.has-custom-border),
124
- .arco-button.type-ghost.disabled.android.half-border:not(.has-custom-border) {
125
- border-width: 0;
126
- box-shadow: 0 0 0 1PX #94bfff inset;
127
- }
128
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
129
- .arco-button.type-ghost.disabled.ios.half-border:not(.has-custom-border),
130
- .arco-button.type-ghost.disabled.android.half-border:not(.has-custom-border) {
131
- box-shadow: 0 0 0 0.5PX #94bfff inset;
132
- }
133
- }
134
- .ios .arco-button.type-ghost.disabled.ios.half-border:not(.has-custom-border),
135
- .ios .arco-button.type-ghost.disabled.android.half-border:not(.has-custom-border),
136
- .arco-button.type-ghost.disabled.ios.half-border:not(.has-custom-border).ios,
137
- .arco-button.type-ghost.disabled.android.half-border:not(.has-custom-border).ios {
138
- box-shadow: none;
139
- border: 0.5PX solid #94bfff;
140
- }
141
- .arco-button.type-default {
142
- border: 1PX solid #E8F3FF ;
48
+ .arco-button-type-default {
143
49
  background: #E8F3FF ;
144
50
  color: #165dff ;
145
51
  }
146
- .arco-button.type-default.half-border:not(.has-custom-border) {
147
- border-width: 0;
148
- box-shadow: 0 0 0 1PX #E8F3FF inset;
149
- }
150
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
151
- .arco-button.type-default.half-border:not(.has-custom-border) {
152
- box-shadow: 0 0 0 0.5PX #E8F3FF inset;
153
- }
154
- }
155
- .ios .arco-button.type-default.half-border:not(.has-custom-border),
156
- .arco-button.type-default.half-border:not(.has-custom-border).ios {
157
- box-shadow: none;
158
- border: 0.5PX solid #E8F3FF;
159
- }
160
- .arco-button.type-default .bg-color-with-config {
52
+ .arco-button-type-default .bg-color-with-config {
161
53
  background: #165dff;
162
54
  }
163
- .arco-button.type-default .stop-color-with-config {
55
+ .arco-button-type-default .stop-color-with-config {
164
56
  stop-color: #165dff;
165
57
  }
166
- .arco-button.type-default .fill-color-with-config {
58
+ .arco-button-type-default .fill-color-with-config {
167
59
  fill: #165dff;
168
60
  }
169
- .arco-button.type-default .stroke-color-with-config {
61
+ .arco-button-type-default .stroke-color-with-config {
170
62
  stroke: #165dff;
171
63
  }
172
- .arco-button.type-default.disabled {
64
+ .arco-button-type-default-disabled {
173
65
  background: #E8F3FF ;
174
66
  color: #94bfff ;
175
67
  }
176
- .arco-button.type-default.disabled.ios,
177
- .arco-button.type-default.disabled.android {
178
- border-width: 0;
179
- box-shadow: none;
180
- }
181
- .arco-button.type-default.active {
68
+ .arco-button-type-default-active {
182
69
  background: #94bfff ;
183
- border: 1PX solid #94bfff ;
184
- }
185
- .arco-button.type-default.active.half-border:not(.has-custom-border) {
186
- border-width: 0;
187
- box-shadow: 0 0 0 1PX #94bfff inset;
188
70
  }
189
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
190
- .arco-button.type-default.active.half-border:not(.has-custom-border) {
191
- box-shadow: 0 0 0 0.5PX #94bfff inset;
192
- }
193
- }
194
- .ios .arco-button.type-default.active.half-border:not(.has-custom-border),
195
- .arco-button.type-default.active.half-border:not(.has-custom-border).ios {
196
- box-shadow: none;
197
- border: 0.5PX solid #94bfff;
198
- }
199
- .arco-button.type-ghost,
200
- .arco-button.type-ghost.active {
201
- border: 1PX solid #165dff ;
202
- }
203
- .arco-button.type-ghost.half-border:not(.has-custom-border),
204
- .arco-button.type-ghost.active.half-border:not(.has-custom-border) {
205
- border-width: 0;
206
- box-shadow: 0 0 0 1PX #165dff inset;
207
- }
208
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
209
- .arco-button.type-ghost.half-border:not(.has-custom-border),
210
- .arco-button.type-ghost.active.half-border:not(.has-custom-border) {
211
- box-shadow: 0 0 0 0.5PX #165dff inset;
212
- }
213
- }
214
- .ios .arco-button.type-ghost.half-border:not(.has-custom-border),
215
- .ios .arco-button.type-ghost.active.half-border:not(.has-custom-border),
216
- .arco-button.type-ghost.half-border:not(.has-custom-border).ios,
217
- .arco-button.type-ghost.active.half-border:not(.has-custom-border).ios {
218
- box-shadow: none;
219
- border: 0.5PX solid #165dff;
220
- }
221
- .arco-button.type-ghost.disabled.ios,
222
- .arco-button.type-ghost.disabled.android {
223
- border: 1PX solid #94bfff ;
224
- }
225
- .arco-button.type-ghost.disabled.ios.half-border:not(.has-custom-border),
226
- .arco-button.type-ghost.disabled.android.half-border:not(.has-custom-border) {
227
- border-width: 0;
228
- box-shadow: 0 0 0 1PX #94bfff inset;
229
- }
230
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
231
- .arco-button.type-ghost.disabled.ios.half-border:not(.has-custom-border),
232
- .arco-button.type-ghost.disabled.android.half-border:not(.has-custom-border) {
233
- box-shadow: 0 0 0 0.5PX #94bfff inset;
234
- }
235
- }
236
- .ios .arco-button.type-ghost.disabled.ios.half-border:not(.has-custom-border),
237
- .ios .arco-button.type-ghost.disabled.android.half-border:not(.has-custom-border),
238
- .arco-button.type-ghost.disabled.ios.half-border:not(.has-custom-border).ios,
239
- .arco-button.type-ghost.disabled.android.half-border:not(.has-custom-border).ios {
240
- box-shadow: none;
241
- border: 0.5PX solid #94bfff;
242
- }
243
- .arco-button.type-primary {
244
- border: 1PX solid #165dff ;
71
+ .arco-button-type-primary {
245
72
  background: #165dff ;
246
73
  color: #fff ;
247
74
  }
248
- .arco-button.type-primary.half-border:not(.has-custom-border) {
249
- border-width: 0;
250
- box-shadow: 0 0 0 1PX #165dff inset;
251
- }
252
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
253
- .arco-button.type-primary.half-border:not(.has-custom-border) {
254
- box-shadow: 0 0 0 0.5PX #165dff inset;
255
- }
256
- }
257
- .ios .arco-button.type-primary.half-border:not(.has-custom-border),
258
- .arco-button.type-primary.half-border:not(.has-custom-border).ios {
259
- box-shadow: none;
260
- border: 0.5PX solid #165dff;
261
- }
262
- .arco-button.type-primary .bg-color-with-config {
75
+ .arco-button-type-primary .bg-color-with-config {
263
76
  background: #fff;
264
77
  }
265
- .arco-button.type-primary .stop-color-with-config {
78
+ .arco-button-type-primary .stop-color-with-config {
266
79
  stop-color: #fff;
267
80
  }
268
- .arco-button.type-primary .fill-color-with-config {
81
+ .arco-button-type-primary .fill-color-with-config {
269
82
  fill: #fff;
270
83
  }
271
- .arco-button.type-primary .stroke-color-with-config {
84
+ .arco-button-type-primary .stroke-color-with-config {
272
85
  stroke: #fff;
273
86
  }
274
- .arco-button.type-primary.disabled {
87
+ .arco-button-type-primary-disabled {
275
88
  background: #94bfff ;
276
89
  color: #E8F3FF ;
277
90
  }
278
- .arco-button.type-primary.disabled.ios,
279
- .arco-button.type-primary.disabled.android {
280
- border-width: 0;
281
- box-shadow: none;
282
- }
283
- .arco-button.type-primary.active {
91
+ .arco-button-type-primary-active {
284
92
  background: #0E42D2 ;
285
- border: 1PX solid #0E42D2 ;
286
- }
287
- .arco-button.type-primary.active.half-border:not(.has-custom-border) {
288
- border-width: 0;
289
- box-shadow: 0 0 0 1PX #0E42D2 inset;
290
- }
291
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
292
- .arco-button.type-primary.active.half-border:not(.has-custom-border) {
293
- box-shadow: 0 0 0 0.5PX #0E42D2 inset;
294
- }
295
- }
296
- .ios .arco-button.type-primary.active.half-border:not(.has-custom-border),
297
- .arco-button.type-primary.active.half-border:not(.has-custom-border).ios {
298
- box-shadow: none;
299
- border: 0.5PX solid #0E42D2;
300
- }
301
- .arco-button.type-ghost,
302
- .arco-button.type-ghost.active {
303
- border: 1PX solid #165dff ;
304
- }
305
- .arco-button.type-ghost.half-border:not(.has-custom-border),
306
- .arco-button.type-ghost.active.half-border:not(.has-custom-border) {
307
- border-width: 0;
308
- box-shadow: 0 0 0 1PX #165dff inset;
309
- }
310
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
311
- .arco-button.type-ghost.half-border:not(.has-custom-border),
312
- .arco-button.type-ghost.active.half-border:not(.has-custom-border) {
313
- box-shadow: 0 0 0 0.5PX #165dff inset;
314
- }
315
- }
316
- .ios .arco-button.type-ghost.half-border:not(.has-custom-border),
317
- .ios .arco-button.type-ghost.active.half-border:not(.has-custom-border),
318
- .arco-button.type-ghost.half-border:not(.has-custom-border).ios,
319
- .arco-button.type-ghost.active.half-border:not(.has-custom-border).ios {
320
- box-shadow: none;
321
- border: 0.5PX solid #165dff;
322
93
  }
323
- .arco-button.type-ghost.disabled.ios,
324
- .arco-button.type-ghost.disabled.android {
325
- border: 1PX solid #94bfff ;
94
+ .arco-button-type-ghost {
95
+ border: 1PX solid currentColor;
326
96
  }
327
- .arco-button.type-ghost.disabled.ios.half-border:not(.has-custom-border),
328
- .arco-button.type-ghost.disabled.android.half-border:not(.has-custom-border) {
97
+ .arco-button-type-ghost.half-border {
329
98
  border-width: 0;
330
- box-shadow: 0 0 0 1PX #94bfff inset;
99
+ box-shadow: 0 0 0 1PX currentColor inset;
331
100
  }
332
101
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
333
- .arco-button.type-ghost.disabled.ios.half-border:not(.has-custom-border),
334
- .arco-button.type-ghost.disabled.android.half-border:not(.has-custom-border) {
335
- box-shadow: 0 0 0 0.5PX #94bfff inset;
102
+ .arco-button-type-ghost.half-border {
103
+ box-shadow: 0 0 0 0.5PX currentColor inset;
336
104
  }
337
105
  }
338
- .ios .arco-button.type-ghost.disabled.ios.half-border:not(.has-custom-border),
339
- .ios .arco-button.type-ghost.disabled.android.half-border:not(.has-custom-border),
340
- .arco-button.type-ghost.disabled.ios.half-border:not(.has-custom-border).ios,
341
- .arco-button.type-ghost.disabled.android.half-border:not(.has-custom-border).ios {
106
+ .ios .arco-button-type-ghost.half-border,
107
+ .arco-button-type-ghost.half-border.ios {
342
108
  box-shadow: none;
343
- border: 0.5PX solid #94bfff;
109
+ border: 0.5PX solid currentColor;
344
110
  }
345
- .arco-button.size-mini {
111
+ .arco-button-size-mini {
346
112
  padding: 0 0.16rem ;
347
113
  height: 0.48rem ;
348
114
  }
349
- .arco-button.size-mini.is-round {
115
+ .arco-button-size-mini-is-round {
350
116
  border-radius: 0.48rem ;
351
117
  }
352
- .arco-button.size-mini.is-square {
118
+ .arco-button-size-mini-is-square {
353
119
  border-radius: 0;
354
120
  }
355
- .arco-button.size-mini .btn-icon,
356
- .arco-button.size-mini i,
357
- .arco-button.size-mini .btn-text,
358
- .arco-button.size-mini svg {
121
+ .arco-button-size-mini .arco-button-icon,
122
+ .arco-button-size-mini i,
123
+ .arco-button-size-mini .arco-button-text,
124
+ .arco-button-size-mini svg {
359
125
  font-size: 0.24rem ;
360
126
  }
361
- .arco-button.size-small {
127
+ .arco-button-size-small {
362
128
  padding: 0 0.16rem ;
363
129
  height: 0.56rem ;
364
130
  }
365
- .arco-button.size-small.is-round {
131
+ .arco-button-size-small-is-round {
366
132
  border-radius: 0.56rem ;
367
133
  }
368
- .arco-button.size-small.is-square {
134
+ .arco-button-size-small-is-square {
369
135
  border-radius: 0;
370
136
  }
371
- .arco-button.size-small .btn-icon,
372
- .arco-button.size-small i,
373
- .arco-button.size-small .btn-text,
374
- .arco-button.size-small svg {
137
+ .arco-button-size-small .arco-button-icon,
138
+ .arco-button-size-small i,
139
+ .arco-button-size-small .arco-button-text,
140
+ .arco-button-size-small svg {
375
141
  font-size: 0.28rem ;
376
142
  }
377
- .arco-button.size-medium {
143
+ .arco-button-size-medium {
378
144
  padding: 0 0.32rem ;
379
145
  height: 0.64rem ;
380
146
  }
381
- .arco-button.size-medium.is-round {
147
+ .arco-button-size-medium-is-round {
382
148
  border-radius: 0.64rem ;
383
149
  }
384
- .arco-button.size-medium.is-square {
150
+ .arco-button-size-medium-is-square {
385
151
  border-radius: 0;
386
152
  }
387
- .arco-button.size-medium .btn-icon,
388
- .arco-button.size-medium i,
389
- .arco-button.size-medium .btn-text,
390
- .arco-button.size-medium svg {
153
+ .arco-button-size-medium .arco-button-icon,
154
+ .arco-button-size-medium i,
155
+ .arco-button-size-medium .arco-button-text,
156
+ .arco-button-size-medium svg {
391
157
  font-size: 0.28rem ;
392
158
  }
393
- .arco-button.size-large {
159
+ .arco-button-size-large {
394
160
  padding: 0 0.32rem ;
395
161
  height: 0.72rem ;
396
162
  }
397
- .arco-button.size-large.is-round {
163
+ .arco-button-size-large-is-round {
398
164
  border-radius: 0.72rem ;
399
165
  }
400
- .arco-button.size-large.is-square {
166
+ .arco-button-size-large-is-square {
401
167
  border-radius: 0;
402
168
  }
403
- .arco-button.size-large .btn-icon,
404
- .arco-button.size-large i,
405
- .arco-button.size-large .btn-text,
406
- .arco-button.size-large svg {
169
+ .arco-button-size-large .arco-button-icon,
170
+ .arco-button-size-large i,
171
+ .arco-button-size-large .arco-button-text,
172
+ .arco-button-size-large svg {
407
173
  font-size: 0.3rem ;
408
174
  }
409
- .arco-button.size-huge {
175
+ .arco-button-size-huge {
410
176
  padding: 0 0.32rem ;
411
177
  height: 0.88rem ;
412
178
  }
413
- .arco-button.size-huge.is-round {
179
+ .arco-button-size-huge-is-round {
414
180
  border-radius: 0.88rem ;
415
181
  }
416
- .arco-button.size-huge.is-square {
182
+ .arco-button-size-huge-is-square {
417
183
  border-radius: 0;
418
184
  }
419
- .arco-button.size-huge .btn-icon,
420
- .arco-button.size-huge i,
421
- .arco-button.size-huge .btn-text,
422
- .arco-button.size-huge svg {
185
+ .arco-button-size-huge .arco-button-icon,
186
+ .arco-button-size-huge i,
187
+ .arco-button-size-huge .arco-button-text,
188
+ .arco-button-size-huge svg {
423
189
  font-size: 0.32rem ;
424
190
  }
425
- .arco-button.android .btn-text {
191
+ .arco-button-text-android {
426
192
  padding-top: 0.04rem;
427
193
  }
428
- .arco-button .btn-icon {
194
+ .arco-button-icon {
429
195
  vertical-align: middle;
430
196
  display: -webkit-inline-box;
431
197
  display: -webkit-inline-flex;
@@ -437,18 +203,17 @@
437
203
  -webkit-justify-content: center;
438
204
  justify-content: center;
439
205
  }
440
- .arco-button .btn-text {
441
- font-size: 0.3rem;
206
+ .arco-button-text {
442
207
  display: inline-block;
443
208
  vertical-align: middle;
444
209
  }
445
- .arco-button .btn-text.has-icon {
446
- margin-left: 0.08rem;
210
+ .arco-button-text-has-icon {
211
+ margin-left: 0.08rem ;
447
212
  }
448
- .arco-button .loading-icon {
213
+ .arco-button-loading-icon {
449
214
  display: inline-block;
450
215
  vertical-align: middle;
451
216
  }
452
- .arco-button .loading-icon + .btn-text {
453
- margin-left: 0.16rem;
217
+ .arco-button.has-custom-border {
218
+ border: 1PX solid;
454
219
  }