zartui 0.1.39 → 0.1.40

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 (232) hide show
  1. package/README.md +20 -20
  2. package/es/avatar/index.less +39 -39
  3. package/es/avatar/local.less +1 -1
  4. package/es/button/index.less +206 -206
  5. package/es/calendar/index.less +250 -250
  6. package/es/cell/index.less +103 -103
  7. package/es/cell-group/index.less +22 -22
  8. package/es/checkbox/index.css +1 -1
  9. package/es/checkbox/index.less +4 -0
  10. package/es/checkbox-group/index.less +8 -8
  11. package/es/col/index.less +20 -20
  12. package/es/dialog/index.less +125 -125
  13. package/es/divider/index.css +1 -0
  14. package/es/divider/index.js +45 -0
  15. package/es/divider/index.less +64 -0
  16. package/es/divider/style/index.js +2 -0
  17. package/es/divider/style/less.js +2 -0
  18. package/es/empty/index.css +1 -1
  19. package/es/empty/index.less +7 -0
  20. package/es/field/ClearIcon.js +18 -0
  21. package/es/field/SearchIcon.js +18 -0
  22. package/es/field/index.css +1 -1
  23. package/es/field/index.js +32 -8
  24. package/es/field/index.less +15 -0
  25. package/es/icon/index.less +10 -10
  26. package/es/icon/local.less +1 -1
  27. package/es/image/index.less +47 -47
  28. package/es/image-preview/ImagePreview.js +10 -6
  29. package/es/image-preview/index.css +1 -1
  30. package/es/image-preview/index.less +23 -5
  31. package/es/index.js +6 -3
  32. package/es/info/index.less +29 -29
  33. package/es/lib/pinch.js +64 -0
  34. package/es/lib/vconsole.min.js +5982 -0
  35. package/es/locale/lang/zh-CN.js +3 -0
  36. package/es/mixins/bind-event.js +2 -2
  37. package/es/mixins/checkbox.js +25 -1
  38. package/es/mixins/click-outside.js +2 -2
  39. package/es/mixins/slots.js +3 -3
  40. package/es/nav-bar/index.less +74 -74
  41. package/es/notice-bar/CloseIcon.js +34 -0
  42. package/es/notice-bar/MenuIcon.js +35 -0
  43. package/es/notice-bar/NoticeIcon.js +35 -0
  44. package/es/notice-bar/OpenIcon.js +37 -0
  45. package/es/notice-bar/TipIcon.js +35 -0
  46. package/es/notice-bar/WarningIcon.js +35 -0
  47. package/es/notice-bar/index.css +1 -1
  48. package/es/notice-bar/index.js +58 -2
  49. package/es/notice-bar/index.less +6 -0
  50. package/es/number-keyboard/index.less +143 -143
  51. package/es/overlay/index.less +11 -11
  52. package/es/password-input/index.less +83 -83
  53. package/es/pdf-viewer/index.js +139 -91
  54. package/es/picker/index.less +151 -151
  55. package/es/popup/index.less +137 -137
  56. package/es/radio/index.css +1 -1
  57. package/es/radio/index.js +1 -1
  58. package/es/radio/index.less +21 -3
  59. package/es/radio-group/index.js +1 -1
  60. package/es/radio-group/index.less +8 -8
  61. package/es/rate/index.less +47 -47
  62. package/es/row/index.less +42 -42
  63. package/es/search/index.css +1 -0
  64. package/es/search/index.js +117 -0
  65. package/es/search/index.less +84 -0
  66. package/es/search/style/index.js +6 -0
  67. package/es/search/style/less.js +6 -0
  68. package/es/signature/index.less +50 -50
  69. package/es/skeleton/index.css +1 -0
  70. package/es/skeleton/index.js +107 -0
  71. package/es/skeleton/index.less +65 -0
  72. package/es/skeleton/style/index.js +2 -0
  73. package/es/skeleton/style/less.js +2 -0
  74. package/es/slider/index.less +94 -94
  75. package/es/step/index.less +139 -139
  76. package/es/stepper/index.css +1 -1
  77. package/es/stepper/index.js +6 -2
  78. package/es/stepper/index.less +38 -42
  79. package/es/steps/index.less +21 -21
  80. package/es/sticky/index.less +11 -11
  81. package/es/style/animation.less +139 -139
  82. package/es/style/base.less +11 -11
  83. package/es/style/clearfix.less +5 -5
  84. package/es/style/ellipsis.less +13 -13
  85. package/es/style/hairline.less +47 -47
  86. package/es/style/mixins/clearfix.less +7 -7
  87. package/es/style/mixins/ellipsis.less +15 -15
  88. package/es/style/mixins/hairline.less +39 -39
  89. package/es/style/normalize.less +38 -38
  90. package/es/style/reset.less +171 -171
  91. package/es/style/var.less +52 -18
  92. package/es/swipe/index.css +1 -1
  93. package/es/swipe/index.less +12 -13
  94. package/es/swipe-cell/index.less +29 -29
  95. package/es/swipe-item/index.less +8 -8
  96. package/es/switch/index.less +56 -56
  97. package/es/switch/shared.js +2 -2
  98. package/es/switch-cell/index.less +15 -15
  99. package/es/tab/index.less +17 -17
  100. package/es/tabs/index.less +153 -153
  101. package/es/tag/index.less +99 -99
  102. package/es/toast/Toast.js +15 -2
  103. package/es/toast/index.css +1 -1
  104. package/es/toast/index.less +8 -1
  105. package/es/toast/svg/SuccessIcon.js +35 -0
  106. package/es/toast/svg/WarnIcon.js +34 -0
  107. package/es/uploader/index.less +163 -163
  108. package/es/utils/create/bem.js +7 -7
  109. package/es/utils/dom/raf.js +2 -2
  110. package/es/utils/dom/reset-scroll.js +3 -3
  111. package/es/utils/media/image-util.js +25 -25
  112. package/es/utils/router.js +2 -2
  113. package/lib/7893e51cf0a4877dac80.worker.js +10 -0
  114. package/lib/avatar/index.less +39 -39
  115. package/lib/avatar/local.less +1 -1
  116. package/lib/be09b519a460e229fd8d.worker.js +2527 -0
  117. package/lib/button/index.less +206 -206
  118. package/lib/calendar/index.less +250 -250
  119. package/lib/cell/index.less +103 -103
  120. package/lib/cell-group/index.less +22 -22
  121. package/lib/checkbox/index.css +1 -1
  122. package/lib/checkbox/index.less +4 -0
  123. package/lib/checkbox-group/index.less +8 -8
  124. package/lib/col/index.less +20 -20
  125. package/lib/dialog/index.less +125 -125
  126. package/lib/divider/index.css +1 -0
  127. package/lib/divider/index.js +57 -0
  128. package/lib/divider/index.less +64 -0
  129. package/lib/divider/style/index.js +2 -0
  130. package/lib/divider/style/less.js +2 -0
  131. package/lib/empty/index.css +1 -1
  132. package/lib/empty/index.less +7 -0
  133. package/lib/field/ClearIcon.js +23 -0
  134. package/lib/field/SearchIcon.js +23 -0
  135. package/lib/field/index.css +1 -1
  136. package/lib/field/index.js +34 -8
  137. package/lib/field/index.less +15 -0
  138. package/lib/icon/index.less +10 -10
  139. package/lib/icon/local.less +1 -1
  140. package/lib/image/index.less +47 -47
  141. package/lib/image-preview/ImagePreview.js +10 -6
  142. package/lib/image-preview/index.css +1 -1
  143. package/lib/image-preview/index.less +23 -5
  144. package/lib/index.css +1 -1
  145. package/lib/index.js +14 -2
  146. package/lib/index.less +3 -0
  147. package/lib/info/index.less +29 -29
  148. package/lib/lib/pinch.js +70 -0
  149. package/lib/lib/vconsole.min.js +5989 -0
  150. package/lib/locale/lang/zh-CN.js +3 -0
  151. package/lib/mixins/bind-event.js +2 -2
  152. package/lib/mixins/checkbox.js +25 -1
  153. package/lib/mixins/click-outside.js +2 -2
  154. package/lib/mixins/slots.js +3 -3
  155. package/lib/nav-bar/index.less +74 -74
  156. package/lib/notice-bar/CloseIcon.js +39 -0
  157. package/lib/notice-bar/MenuIcon.js +40 -0
  158. package/lib/notice-bar/NoticeIcon.js +40 -0
  159. package/lib/notice-bar/OpenIcon.js +42 -0
  160. package/lib/notice-bar/TipIcon.js +40 -0
  161. package/lib/notice-bar/WarningIcon.js +40 -0
  162. package/lib/notice-bar/index.css +1 -1
  163. package/lib/notice-bar/index.js +64 -2
  164. package/lib/notice-bar/index.less +6 -0
  165. package/lib/number-keyboard/index.less +143 -143
  166. package/lib/overlay/index.less +11 -11
  167. package/lib/password-input/index.less +83 -83
  168. package/lib/pdf-viewer/index.js +140 -91
  169. package/lib/picker/index.less +151 -151
  170. package/lib/popup/index.less +137 -137
  171. package/lib/radio/index.css +1 -1
  172. package/lib/radio/index.js +1 -1
  173. package/lib/radio/index.less +21 -3
  174. package/lib/radio-group/index.js +1 -1
  175. package/lib/radio-group/index.less +8 -8
  176. package/lib/rate/index.less +47 -47
  177. package/lib/row/index.less +42 -42
  178. package/lib/search/index.css +1 -0
  179. package/lib/search/index.js +131 -0
  180. package/lib/search/index.less +84 -0
  181. package/lib/search/style/index.js +6 -0
  182. package/lib/search/style/less.js +6 -0
  183. package/lib/signature/index.less +50 -50
  184. package/lib/skeleton/index.css +1 -0
  185. package/lib/skeleton/index.js +119 -0
  186. package/lib/skeleton/index.less +65 -0
  187. package/lib/skeleton/style/index.js +2 -0
  188. package/lib/skeleton/style/less.js +2 -0
  189. package/lib/slider/index.less +94 -94
  190. package/lib/step/index.less +139 -139
  191. package/lib/stepper/index.css +1 -1
  192. package/lib/stepper/index.js +6 -2
  193. package/lib/stepper/index.less +38 -42
  194. package/lib/steps/index.less +21 -21
  195. package/lib/sticky/index.less +11 -11
  196. package/lib/style/animation.less +139 -139
  197. package/lib/style/base.less +11 -11
  198. package/lib/style/clearfix.less +5 -5
  199. package/lib/style/ellipsis.less +13 -13
  200. package/lib/style/hairline.less +47 -47
  201. package/lib/style/mixins/clearfix.less +7 -7
  202. package/lib/style/mixins/ellipsis.less +15 -15
  203. package/lib/style/mixins/hairline.less +39 -39
  204. package/lib/style/normalize.less +38 -38
  205. package/lib/style/reset.less +171 -171
  206. package/lib/style/var.less +52 -18
  207. package/lib/swipe/index.css +1 -1
  208. package/lib/swipe/index.less +12 -13
  209. package/lib/swipe-cell/index.less +29 -29
  210. package/lib/swipe-item/index.less +8 -8
  211. package/lib/switch/index.less +56 -56
  212. package/lib/switch/shared.js +2 -2
  213. package/lib/switch-cell/index.less +15 -15
  214. package/lib/tab/index.less +17 -17
  215. package/lib/tabs/index.less +153 -153
  216. package/lib/tag/index.less +99 -99
  217. package/lib/toast/Toast.js +17 -2
  218. package/lib/toast/index.css +1 -1
  219. package/lib/toast/index.less +8 -1
  220. package/lib/toast/svg/SuccessIcon.js +40 -0
  221. package/lib/toast/svg/WarnIcon.js +39 -0
  222. package/lib/uploader/index.less +163 -163
  223. package/lib/utils/create/bem.js +7 -7
  224. package/lib/utils/dom/raf.js +2 -2
  225. package/lib/utils/dom/reset-scroll.js +3 -3
  226. package/lib/utils/media/image-util.js +25 -25
  227. package/lib/utils/router.js +2 -2
  228. package/lib/zart.js +11235 -42789
  229. package/lib/zart.min.js +5 -5
  230. package/package.json +1 -1
  231. package/lib/a037f57fc4d92a8a1f1e.worker.js +0 -60600
  232. package/lib/b7cf90b4775181215df7.worker.js +0 -10
package/README.md CHANGED
@@ -1,21 +1,21 @@
1
- # Zart
2
-
3
- [Zart](https://zart.egovazx.top) 是数字政通基于 Vue 研发的一款面向政务场景的移动端组件库。
4
-
5
- Zart(读音 /zɑːt/)的命名,灵感源自数字政通秉承的理念:让城市治理变得更智慧。Zart = zt + smart, zt是政通的首字母缩写,smart代表公司理念中的“智慧”,将smart中间的“ar”字母包裹于zt之间,体现了Zart项目的核心目标:追求极致的用户体验,致力于做灵活智能的组件库。
6
-
7
- ## 特性
8
-
9
- 1)【组件重构】【组件审核】提供60多个高质量组件,覆盖移动端各类场景;
10
-
11
- 2)【UI重构】基于全新的视觉规范;
12
-
13
- 3)【在线网站】完善的文档、示例、演示效果;
14
-
15
- 4)支持主题定制、按需引入;
16
-
17
- 5)支持vue2.0、TypeScript;
18
-
19
- 6)性能佳,组件平均体积小(min+gzip);
20
-
1
+ # Zart
2
+
3
+ [Zart](https://zart.egovazx.top) 是数字政通基于 Vue 研发的一款面向政务场景的移动端组件库。
4
+
5
+ Zart(读音 /zɑːt/)的命名,灵感源自数字政通秉承的理念:让城市治理变得更智慧。Zart = zt + smart, zt是政通的首字母缩写,smart代表公司理念中的“智慧”,将smart中间的“ar”字母包裹于zt之间,体现了Zart项目的核心目标:追求极致的用户体验,致力于做灵活智能的组件库。
6
+
7
+ ## 特性
8
+
9
+ 1)【组件重构】【组件审核】提供60多个高质量组件,覆盖移动端各类场景;
10
+
11
+ 2)【UI重构】基于全新的视觉规范;
12
+
13
+ 3)【在线网站】完善的文档、示例、演示效果;
14
+
15
+ 4)支持主题定制、按需引入;
16
+
17
+ 5)支持vue2.0、TypeScript;
18
+
19
+ 6)性能佳,组件平均体积小(min+gzip);
20
+
21
21
  7)单元测试覆盖率 90%+,提供稳定性保障。
@@ -1,40 +1,40 @@
1
- @import '../style/var';
2
- @import '~zart-icons/src/encode-woff2.less';
3
-
4
- .zt-avatar {
5
- font-family: PingFangSC, PingFangSC-Semibold;
6
- font-weight: bold;
7
- color: #ffffff;
8
- display: flex;
9
- justify-content: center;
10
- align-items: center;
11
- &__img {
12
- background-color: @avatar-default-bg;
13
- color: @avatar-default-color;
14
- text-align: center;
15
- &--small {
16
- width: @avatar-size-small;
17
- height: @avatar-size-small;
18
- font-size: @avatar-font-size-small;
19
- line-height: @avatar-size-small;
20
- }
21
- &--medium {
22
- width: @avatar-size-medium;
23
- height: @avatar-size-medium;
24
- font-size: @avatar-font-size-medium;
25
- line-height: @avatar-size-medium;
26
- }
27
- &--large {
28
- width: @avatar-size-large;
29
- height: @avatar-size-large;
30
- font-size: @avatar-font-size-large;
31
- line-height: @avatar-size-large;
32
- }
33
- &--square {
34
- border-radius: 4px;
35
- }
36
- &--circle {
37
- border-radius: @avatar-circle-radius;
38
- }
39
- }
1
+ @import '../style/var';
2
+ @import '~zart-icons/src/encode-woff2.less';
3
+
4
+ .zt-avatar {
5
+ font-family: PingFangSC, PingFangSC-Semibold;
6
+ font-weight: bold;
7
+ color: #ffffff;
8
+ display: flex;
9
+ justify-content: center;
10
+ align-items: center;
11
+ &__img {
12
+ background-color: @avatar-default-bg;
13
+ color: @avatar-default-color;
14
+ text-align: center;
15
+ &--small {
16
+ width: @avatar-size-small;
17
+ height: @avatar-size-small;
18
+ font-size: @avatar-font-size-small;
19
+ line-height: @avatar-size-small;
20
+ }
21
+ &--medium {
22
+ width: @avatar-size-medium;
23
+ height: @avatar-size-medium;
24
+ font-size: @avatar-font-size-medium;
25
+ line-height: @avatar-size-medium;
26
+ }
27
+ &--large {
28
+ width: @avatar-size-large;
29
+ height: @avatar-size-large;
30
+ font-size: @avatar-font-size-large;
31
+ line-height: @avatar-size-large;
32
+ }
33
+ &--square {
34
+ border-radius: 4px;
35
+ }
36
+ &--circle {
37
+ border-radius: @avatar-circle-radius;
38
+ }
39
+ }
40
40
  }
@@ -1 +1 @@
1
- @import '~zart-icons/src/encode.less';
1
+ @import '~zart-icons/src/encode.less';
@@ -1,206 +1,206 @@
1
- @import '../style/var';
2
-
3
- .zt-button {
4
- position: relative;
5
- display: inline-block;
6
- box-sizing: border-box;
7
- height: @button-default-height;
8
- margin: 0;
9
- padding: 0;
10
- font-size: @button-default-font-size;
11
- line-height: @button-default-line-height;
12
- font-family: @base-font-family;
13
- font-weight: @base-font-weight;
14
- text-align: center;
15
- border-radius: @button-border-radius;
16
- border-color: @button-default-border-color;
17
- cursor: pointer;
18
- transition: opacity @animation-duration-fast;
19
- -webkit-appearance: none;
20
-
21
- &::before {
22
- position: absolute;
23
- top: 50%;
24
- left: 50%;
25
- width: 100%;
26
- height: 100%;
27
- background-color: @black;
28
- border: inherit;
29
- border-color: @black;
30
- border-radius: inherit; /* inherit parent's border radius */
31
- transform: translate(-50%, -50%);
32
- opacity: 0;
33
- content: ' ';
34
- }
35
-
36
- &:active::before {
37
- opacity: 0.1;
38
- }
39
-
40
- &--loading,
41
- &--disabled {
42
- &::before {
43
- display: none;
44
- }
45
- }
46
-
47
- &--default {
48
- color: @button-default-color;
49
- background-color: @button-default-background-color;
50
- border: @button-border-width solid @button-default-border-color;
51
- }
52
-
53
- &--primary {
54
- color: @button-primary-color;
55
- background-color: @button-primary-background-color;
56
- border: @button-border-width solid @button-primary-border-color;
57
- }
58
-
59
- &--info {
60
- color: @button-info-color;
61
- background-color: @button-info-background-color;
62
- border: @button-border-width solid @button-info-border-color;
63
- }
64
-
65
- &--danger {
66
- color: @button-danger-color;
67
- background-color: @button-danger-background-color;
68
- border: @button-border-width solid @button-danger-border-color;
69
- }
70
-
71
- &--warning {
72
- color: @button-warning-color;
73
- background-color: @button-warning-background-color;
74
- border: @button-border-width solid @button-warning-border-color;
75
- }
76
-
77
- &--success {
78
- color: @button-success-color;
79
- background-color: @button-success-background-color;
80
- border: @button-border-width solid @button-success-border-color;
81
- }
82
-
83
- &--plain {
84
- background-color: @button-plain-background-color;
85
- font-weight: @plain-font-weight;
86
-
87
- &.zt-button--primary {
88
- color: @button-primary-background-color;
89
- }
90
-
91
- &.zt-button--info {
92
- color: @button-info-background-color;
93
- }
94
-
95
- &.zt-button--danger {
96
- color: @button-danger-background-color;
97
- }
98
-
99
- &.zt-button--warning {
100
- color: @button-warning-background-color;
101
- }
102
-
103
- &.zt-button--success {
104
- color: @button-success-background-color;
105
- }
106
- }
107
-
108
- &--large {
109
- width: 100%;
110
- height: @button-large-height;
111
- }
112
-
113
- &--normal {
114
- padding: 0 16px;
115
- font-size: @button-normal-font-size;
116
- }
117
-
118
- &--small {
119
- height: @button-small-height;
120
- padding: 0 @padding-xs;
121
- font-size: @button-small-font-size;
122
- }
123
-
124
- &__loading {
125
- color: inherit;
126
- font-size: inherit;
127
- }
128
-
129
- &--mini {
130
- height: @button-mini-height;
131
- padding: 0 @padding-xs;
132
- font-size: @button-mini-font-size;
133
- font-weight: @plain-font-weight;
134
- border-radius: @border-radius-sm;
135
-
136
- & + .zt-button--mini {
137
- margin-left: @padding-base;
138
- }
139
- }
140
-
141
- &--block {
142
- display: block;
143
- width: 100%;
144
- }
145
-
146
- &--disabled {
147
- cursor: not-allowed;
148
- opacity: @button-disabled-opacity;
149
- }
150
-
151
- &--loading {
152
- cursor: default;
153
- }
154
-
155
- &--round {
156
- border-radius: @button-round-border-radius;
157
- }
158
-
159
- &--square {
160
- border-radius: 0;
161
- }
162
-
163
- // align-items are ignored when flex container is a button in legacy safari
164
- // see: https://bugs.webkit.org/show_bug.cgi?id=169700
165
- &__content {
166
- display: flex;
167
- align-items: center;
168
- justify-content: center;
169
- height: 100%;
170
-
171
- // fix icon vertical align
172
- // see: https://github.com/youzan/vant/issues/7617
173
- &::before {
174
- content: ' ';
175
- }
176
- }
177
-
178
- &__icon {
179
- font-size: 1.2em;
180
- line-height: inherit;
181
- }
182
-
183
- &__icon + &__text,
184
- &__loading + &__text,
185
- &__text + &__icon,
186
- &__text + &__loading {
187
- margin-left: @padding-base;
188
- }
189
-
190
- &--hairline {
191
- border-width: 0;
192
-
193
- &::after {
194
- border-color: inherit;
195
- border-radius: @button-border-radius * 2;
196
- }
197
-
198
- &.zt-button--round::after {
199
- border-radius: @button-round-border-radius;
200
- }
201
-
202
- &.zt-button--square::after {
203
- border-radius: 0;
204
- }
205
- }
206
- }
1
+ @import '../style/var';
2
+
3
+ .zt-button {
4
+ position: relative;
5
+ display: inline-block;
6
+ box-sizing: border-box;
7
+ height: @button-default-height;
8
+ margin: 0;
9
+ padding: 0;
10
+ font-size: @button-default-font-size;
11
+ line-height: @button-default-line-height;
12
+ font-family: @base-font-family;
13
+ font-weight: @base-font-weight;
14
+ text-align: center;
15
+ border-radius: @button-border-radius;
16
+ border-color: @button-default-border-color;
17
+ cursor: pointer;
18
+ transition: opacity @animation-duration-fast;
19
+ -webkit-appearance: none;
20
+
21
+ &::before {
22
+ position: absolute;
23
+ top: 50%;
24
+ left: 50%;
25
+ width: 100%;
26
+ height: 100%;
27
+ background-color: @black;
28
+ border: inherit;
29
+ border-color: @black;
30
+ border-radius: inherit; /* inherit parent's border radius */
31
+ transform: translate(-50%, -50%);
32
+ opacity: 0;
33
+ content: ' ';
34
+ }
35
+
36
+ &:active::before {
37
+ opacity: 0.1;
38
+ }
39
+
40
+ &--loading,
41
+ &--disabled {
42
+ &::before {
43
+ display: none;
44
+ }
45
+ }
46
+
47
+ &--default {
48
+ color: @button-default-color;
49
+ background-color: @button-default-background-color;
50
+ border: @button-border-width solid @button-default-border-color;
51
+ }
52
+
53
+ &--primary {
54
+ color: @button-primary-color;
55
+ background-color: @button-primary-background-color;
56
+ border: @button-border-width solid @button-primary-border-color;
57
+ }
58
+
59
+ &--info {
60
+ color: @button-info-color;
61
+ background-color: @button-info-background-color;
62
+ border: @button-border-width solid @button-info-border-color;
63
+ }
64
+
65
+ &--danger {
66
+ color: @button-danger-color;
67
+ background-color: @button-danger-background-color;
68
+ border: @button-border-width solid @button-danger-border-color;
69
+ }
70
+
71
+ &--warning {
72
+ color: @button-warning-color;
73
+ background-color: @button-warning-background-color;
74
+ border: @button-border-width solid @button-warning-border-color;
75
+ }
76
+
77
+ &--success {
78
+ color: @button-success-color;
79
+ background-color: @button-success-background-color;
80
+ border: @button-border-width solid @button-success-border-color;
81
+ }
82
+
83
+ &--plain {
84
+ background-color: @button-plain-background-color;
85
+ font-weight: @plain-font-weight;
86
+
87
+ &.zt-button--primary {
88
+ color: @button-primary-background-color;
89
+ }
90
+
91
+ &.zt-button--info {
92
+ color: @button-info-background-color;
93
+ }
94
+
95
+ &.zt-button--danger {
96
+ color: @button-danger-background-color;
97
+ }
98
+
99
+ &.zt-button--warning {
100
+ color: @button-warning-background-color;
101
+ }
102
+
103
+ &.zt-button--success {
104
+ color: @button-success-background-color;
105
+ }
106
+ }
107
+
108
+ &--large {
109
+ width: 100%;
110
+ height: @button-large-height;
111
+ }
112
+
113
+ &--normal {
114
+ padding: 0 16px;
115
+ font-size: @button-normal-font-size;
116
+ }
117
+
118
+ &--small {
119
+ height: @button-small-height;
120
+ padding: 0 @padding-xs;
121
+ font-size: @button-small-font-size;
122
+ }
123
+
124
+ &__loading {
125
+ color: inherit;
126
+ font-size: inherit;
127
+ }
128
+
129
+ &--mini {
130
+ height: @button-mini-height;
131
+ padding: 0 @padding-xs;
132
+ font-size: @button-mini-font-size;
133
+ font-weight: @plain-font-weight;
134
+ border-radius: @border-radius-sm;
135
+
136
+ & + .zt-button--mini {
137
+ margin-left: @padding-base;
138
+ }
139
+ }
140
+
141
+ &--block {
142
+ display: block;
143
+ width: 100%;
144
+ }
145
+
146
+ &--disabled {
147
+ cursor: not-allowed;
148
+ opacity: @button-disabled-opacity;
149
+ }
150
+
151
+ &--loading {
152
+ cursor: default;
153
+ }
154
+
155
+ &--round {
156
+ border-radius: @button-round-border-radius;
157
+ }
158
+
159
+ &--square {
160
+ border-radius: 0;
161
+ }
162
+
163
+ // align-items are ignored when flex container is a button in legacy safari
164
+ // see: https://bugs.webkit.org/show_bug.cgi?id=169700
165
+ &__content {
166
+ display: flex;
167
+ align-items: center;
168
+ justify-content: center;
169
+ height: 100%;
170
+
171
+ // fix icon vertical align
172
+ // see: https://github.com/youzan/vant/issues/7617
173
+ &::before {
174
+ content: ' ';
175
+ }
176
+ }
177
+
178
+ &__icon {
179
+ font-size: 1.2em;
180
+ line-height: inherit;
181
+ }
182
+
183
+ &__icon + &__text,
184
+ &__loading + &__text,
185
+ &__text + &__icon,
186
+ &__text + &__loading {
187
+ margin-left: @padding-base;
188
+ }
189
+
190
+ &--hairline {
191
+ border-width: 0;
192
+
193
+ &::after {
194
+ border-color: inherit;
195
+ border-radius: @button-border-radius * 2;
196
+ }
197
+
198
+ &.zt-button--round::after {
199
+ border-radius: @button-round-border-radius;
200
+ }
201
+
202
+ &.zt-button--square::after {
203
+ border-radius: 0;
204
+ }
205
+ }
206
+ }