@varlet/cli 1.27.14 → 1.27.17-alpha.1656907860130

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 (211) hide show
  1. package/LICENCE +21 -21
  2. package/README.en-US.md +401 -401
  3. package/README.md +396 -396
  4. package/generators/base/.prettierignore +9 -9
  5. package/generators/base/.prettierrc +5 -5
  6. package/generators/base/README.md +82 -82
  7. package/generators/base/babel.config.js +10 -10
  8. package/generators/base/public/highlight.css +1 -1
  9. package/generators/base/public/logo.svg +1 -1
  10. package/generators/base/shims/shims-md.d.ts +4 -4
  11. package/generators/base/shims/shims-vue.d.ts +6 -6
  12. package/generators/base/tsconfig.json +13 -13
  13. package/generators/config/default/base/docs/home.zh-CN.md +10 -10
  14. package/generators/config/default/base/package.json +1 -0
  15. package/generators/config/default/base/types/basicComponent.d.ts +7 -7
  16. package/generators/config/default/base/types/button.d.ts +12 -12
  17. package/generators/config/default/base/types/index.d.ts +6 -6
  18. package/generators/config/default/base/varlet.config.js +110 -110
  19. package/generators/config/default/sfc/src/button/Button.vue +30 -30
  20. package/generators/config/default/sfc/src/button/__tests__/index.spec.js +7 -7
  21. package/generators/config/default/sfc/src/button/button.less +14 -14
  22. package/generators/config/default/sfc/src/button/docs/zh-CN.md +47 -47
  23. package/generators/config/default/sfc/src/button/example/BasicUse.vue +7 -7
  24. package/generators/config/default/sfc/src/button/example/ModifyColor.vue +7 -7
  25. package/generators/config/default/sfc/src/button/example/index.vue +13 -13
  26. package/generators/config/default/sfc/src/button/index.ts +10 -10
  27. package/generators/config/default/tsx/src/button/Button.tsx +31 -31
  28. package/generators/config/default/tsx/src/button/__tests__/index.spec.js +7 -7
  29. package/generators/config/default/tsx/src/button/button.less +14 -14
  30. package/generators/config/default/tsx/src/button/docs/zh-CN.md +47 -47
  31. package/generators/config/default/tsx/src/button/example/BasicUse.vue +7 -7
  32. package/generators/config/default/tsx/src/button/example/ModifyColor.vue +7 -7
  33. package/generators/config/default/tsx/src/button/example/index.vue +13 -13
  34. package/generators/config/default/tsx/src/button/index.ts +10 -10
  35. package/generators/config/i18n/base/docs/home.en-US.md +11 -11
  36. package/generators/config/i18n/base/docs/home.zh-CN.md +10 -10
  37. package/generators/config/i18n/base/package.json +1 -0
  38. package/generators/config/i18n/base/types/basicComponent.d.ts +7 -7
  39. package/generators/config/i18n/base/types/button.d.ts +12 -12
  40. package/generators/config/i18n/base/types/index.d.ts +7 -7
  41. package/generators/config/i18n/base/types/locale.d.ts +24 -24
  42. package/generators/config/i18n/base/varlet.config.js +122 -122
  43. package/generators/config/i18n/sfc/src/button/Button.vue +36 -36
  44. package/generators/config/i18n/sfc/src/button/__tests__/index.spec.js +7 -7
  45. package/generators/config/i18n/sfc/src/button/button.less +14 -14
  46. package/generators/config/i18n/sfc/src/button/docs/en-US.md +34 -34
  47. package/generators/config/i18n/sfc/src/button/docs/zh-CN.md +34 -34
  48. package/generators/config/i18n/sfc/src/button/example/BasicUse.vue +11 -11
  49. package/generators/config/i18n/sfc/src/button/example/ModifyColor.vue +11 -11
  50. package/generators/config/i18n/sfc/src/button/example/index.vue +13 -13
  51. package/generators/config/i18n/sfc/src/button/example/locale/en-US.ts +5 -5
  52. package/generators/config/i18n/sfc/src/button/example/locale/index.ts +23 -23
  53. package/generators/config/i18n/sfc/src/button/example/locale/zh-CN.ts +5 -5
  54. package/generators/config/i18n/sfc/src/button/index.ts +10 -10
  55. package/generators/config/i18n/sfc/src/locale/__tests__/index.spec.js +51 -51
  56. package/generators/config/i18n/sfc/src/locale/docs/en-US.md +26 -26
  57. package/generators/config/i18n/sfc/src/locale/docs/zh-CN.md +25 -25
  58. package/generators/config/i18n/sfc/src/locale/en-US.d.ts +5 -5
  59. package/generators/config/i18n/sfc/src/locale/en-US.ts +7 -7
  60. package/generators/config/i18n/sfc/src/locale/index.ts +67 -67
  61. package/generators/config/i18n/sfc/src/locale/zh-CN.d.ts +5 -5
  62. package/generators/config/i18n/sfc/src/locale/zh-CN.ts +7 -7
  63. package/generators/config/i18n/tsx/src/button/Button.tsx +35 -35
  64. package/generators/config/i18n/tsx/src/button/__tests__/index.spec.js +7 -7
  65. package/generators/config/i18n/tsx/src/button/button.less +14 -14
  66. package/generators/config/i18n/tsx/src/button/docs/en-US.md +34 -34
  67. package/generators/config/i18n/tsx/src/button/docs/zh-CN.md +34 -34
  68. package/generators/config/i18n/tsx/src/button/example/BasicUse.vue +11 -11
  69. package/generators/config/i18n/tsx/src/button/example/ModifyColor.vue +11 -11
  70. package/generators/config/i18n/tsx/src/button/example/index.vue +13 -13
  71. package/generators/config/i18n/tsx/src/button/example/locale/en-US.ts +5 -5
  72. package/generators/config/i18n/tsx/src/button/example/locale/index.ts +23 -23
  73. package/generators/config/i18n/tsx/src/button/example/locale/zh-CN.ts +5 -5
  74. package/generators/config/i18n/tsx/src/button/index.ts +10 -10
  75. package/generators/config/i18n/tsx/src/locale/__tests__/index.spec.js +51 -51
  76. package/generators/config/i18n/tsx/src/locale/docs/en-US.md +26 -26
  77. package/generators/config/i18n/tsx/src/locale/docs/zh-CN.md +25 -25
  78. package/generators/config/i18n/tsx/src/locale/en-US.d.ts +5 -5
  79. package/generators/config/i18n/tsx/src/locale/en-US.ts +7 -7
  80. package/generators/config/i18n/tsx/src/locale/index.ts +67 -67
  81. package/generators/config/i18n/tsx/src/locale/zh-CN.d.ts +5 -5
  82. package/generators/config/i18n/tsx/src/locale/zh-CN.ts +7 -7
  83. package/lib/commands/build.d.ts +1 -1
  84. package/lib/commands/build.js +67 -67
  85. package/lib/commands/changelog.d.ts +6 -6
  86. package/lib/commands/changelog.js +27 -27
  87. package/lib/commands/commitLint.d.ts +1 -1
  88. package/lib/commands/commitLint.js +21 -21
  89. package/lib/commands/compile.d.ts +5 -5
  90. package/lib/commands/compile.js +119 -119
  91. package/lib/commands/create.d.ts +3 -3
  92. package/lib/commands/create.js +132 -132
  93. package/lib/commands/dev.d.ts +3 -3
  94. package/lib/commands/dev.js +123 -123
  95. package/lib/commands/gen.d.ts +1 -1
  96. package/lib/commands/gen.js +112 -112
  97. package/lib/commands/jest.d.ts +8 -8
  98. package/lib/commands/jest.js +81 -81
  99. package/lib/commands/lint.d.ts +1 -1
  100. package/lib/commands/lint.js +123 -123
  101. package/lib/commands/preview.d.ts +1 -1
  102. package/lib/commands/preview.js +74 -74
  103. package/lib/commands/release.d.ts +3 -3
  104. package/lib/commands/release.js +267 -269
  105. package/lib/compiler/compileModule.d.ts +5 -5
  106. package/lib/compiler/compileModule.js +186 -186
  107. package/lib/compiler/compileSFC.d.ts +2 -2
  108. package/lib/compiler/compileSFC.js +132 -132
  109. package/lib/compiler/compileScript.d.ts +17 -17
  110. package/lib/compiler/compileScript.js +202 -201
  111. package/lib/compiler/compileSiteEntry.d.ts +13 -13
  112. package/lib/compiler/compileSiteEntry.js +237 -237
  113. package/lib/compiler/compileStyle.d.ts +11 -11
  114. package/lib/compiler/compileStyle.js +101 -101
  115. package/lib/compiler/compileTemplateHighlight.d.ts +10 -10
  116. package/lib/compiler/compileTemplateHighlight.js +193 -193
  117. package/lib/compiler/compileTypes.d.ts +2 -2
  118. package/lib/compiler/compileTypes.js +88 -88
  119. package/lib/config/babel.config.d.ts +2 -2
  120. package/lib/config/babel.config.js +31 -31
  121. package/lib/config/babel.sfc.transform.d.ts +1 -1
  122. package/lib/config/babel.sfc.transform.js +18 -18
  123. package/lib/config/jest.config.d.ts +1 -1
  124. package/lib/config/jest.config.js +36 -36
  125. package/lib/config/jest.media.mock.js +2 -2
  126. package/lib/config/jest.style.mock.js +2 -2
  127. package/lib/config/varlet.config.d.ts +1 -1
  128. package/lib/config/varlet.config.js +24 -24
  129. package/lib/config/vite.config.d.ts +5 -5
  130. package/lib/config/vite.config.js +162 -162
  131. package/lib/index.d.ts +2 -2
  132. package/lib/index.js +83 -83
  133. package/lib/shared/constant.d.ts +43 -43
  134. package/lib/shared/constant.js +50 -50
  135. package/lib/shared/fsUtils.d.ts +12 -16
  136. package/lib/shared/fsUtils.js +108 -116
  137. package/lib/shared/logger.d.ts +7 -7
  138. package/lib/shared/logger.js +20 -20
  139. package/package.json +7 -8
  140. package/preset.js +3 -3
  141. package/site/components/button/Button.vue +84 -84
  142. package/site/components/button/button.less +183 -183
  143. package/site/components/button/index.ts +10 -10
  144. package/site/components/button/props.ts +70 -70
  145. package/site/components/cell/Cell.vue +42 -42
  146. package/site/components/cell/cell.less +74 -74
  147. package/site/components/cell/index.ts +10 -10
  148. package/site/components/cell/props.ts +27 -27
  149. package/site/components/code-example/CodeExample.vue +143 -143
  150. package/site/components/code-example/codeExample.less +41 -41
  151. package/site/components/code-example/index.ts +10 -10
  152. package/site/components/context/index.ts +17 -17
  153. package/site/components/context/lock.ts +103 -103
  154. package/site/components/context/zIndex.ts +20 -20
  155. package/site/components/icon/Icon.vue +68 -68
  156. package/site/components/icon/icon.less +26 -26
  157. package/site/components/icon/index.ts +10 -10
  158. package/site/components/icon/props.ts +24 -24
  159. package/site/components/loading/Loading.vue +55 -55
  160. package/site/components/loading/index.ts +10 -10
  161. package/site/components/loading/loading.less +420 -420
  162. package/site/components/loading/props.ts +37 -37
  163. package/site/components/progress/Progress.vue +108 -108
  164. package/site/components/progress/index.ts +10 -10
  165. package/site/components/progress/progress.less +98 -98
  166. package/site/components/progress/props.ts +55 -55
  167. package/site/components/ripple/index.ts +167 -167
  168. package/site/components/ripple/ripple.less +17 -17
  169. package/site/components/snackbar/Snackbar.vue +38 -38
  170. package/site/components/snackbar/core.vue +117 -117
  171. package/site/components/snackbar/index.tsx +270 -270
  172. package/site/components/snackbar/props.ts +94 -94
  173. package/site/components/snackbar/snackbar.less +135 -135
  174. package/site/components/styles/common.less +64 -64
  175. package/site/components/styles/elevation.less +126 -126
  176. package/site/components/styles/var.less +27 -27
  177. package/site/components/utils/components.ts +69 -69
  178. package/site/components/utils/elements.ts +85 -85
  179. package/site/index.html +49 -49
  180. package/site/mobile/App.vue +291 -291
  181. package/site/mobile/components/AppHome.vue +134 -134
  182. package/site/mobile/components/AppType.vue +22 -22
  183. package/site/mobile/components/app-bar/AppBar.vue +69 -69
  184. package/site/mobile/components/app-bar/appBar.less +56 -56
  185. package/site/mobile/components/app-bar/index.ts +10 -10
  186. package/site/mobile/components/app-bar/props.ts +25 -25
  187. package/site/mobile/components/styles/common.less +64 -64
  188. package/site/mobile/components/styles/elevation.less +126 -126
  189. package/site/mobile/components/styles/var.less +27 -27
  190. package/site/mobile/main.ts +74 -74
  191. package/site/mobile.html +41 -41
  192. package/site/module.d.ts +5 -5
  193. package/site/pc/App.vue +43 -43
  194. package/site/pc/Layout.vue +397 -397
  195. package/site/pc/components/AnimationBox.vue +45 -45
  196. package/site/pc/components/AppHeader.vue +355 -355
  197. package/site/pc/components/AppMobile.vue +54 -54
  198. package/site/pc/components/AppSidebar.vue +134 -134
  199. package/site/pc/components/LogoAnimation.vue +119 -119
  200. package/site/pc/floating.ts +9 -9
  201. package/site/pc/main.ts +94 -94
  202. package/site/pc/pages/index/index.less +194 -194
  203. package/site/pc/pages/index/index.vue +128 -125
  204. package/site/pc/pages/index/locale/en-US.ts +3 -5
  205. package/site/pc/pages/index/locale/zh-CN.ts +3 -5
  206. package/site/tsconfig.json +11 -11
  207. package/site/useProgress.ts +75 -75
  208. package/site/utils.ts +153 -162
  209. package/tsconfig.json +14 -14
  210. package/varlet.default.config.js +151 -145
  211. package/site/components/utils/shared.ts +0 -29
@@ -1,420 +1,420 @@
1
- @import '../styles/var';
2
-
3
- @site-loading-normal-width: 50px;
4
- @site-loading-normal-height: @site-font-size-md + 2;
5
-
6
- @site-loading-large-width: 64px;
7
- @site-loading-large-height: @site-font-size-lg + 2;
8
-
9
- @site-loading-small-width: 36px;
10
- @site-loading-small-height: @site-font-size-sm + 2;
11
-
12
- @site-loading-mini-width: 22px;
13
- @site-loading-mini-height: @site-font-size-xs + 2;
14
-
15
- .var-site-loading {
16
- display: flex;
17
- justify-content: center;
18
- align-items: center;
19
-
20
- &__circle {
21
- display: flex;
22
-
23
- &-block {
24
- display: inline-block;
25
- animation: circle 1.8s linear infinite;
26
-
27
- svg {
28
- display: block;
29
- width: 100%;
30
- height: 100%;
31
-
32
- circle {
33
- animation: circular 1.5s ease-in-out infinite;
34
- stroke: currentColor;
35
- stroke-width: 3;
36
- stroke-linecap: round;
37
- }
38
- }
39
- }
40
-
41
- @keyframes circle {
42
- from {
43
- transform: rotate(0deg);
44
- }
45
- to {
46
- transform: rotate(360deg);
47
- }
48
- }
49
- @keyframes circular {
50
- 0% {
51
- stroke-dasharray: 1, 200;
52
- stroke-dashoffset: 0;
53
- }
54
-
55
- 50% {
56
- stroke-dasharray: 90, 150;
57
- stroke-dashoffset: -40;
58
- }
59
-
60
- 100% {
61
- stroke-dasharray: 90, 150;
62
- stroke-dashoffset: -120;
63
- }
64
- }
65
- }
66
-
67
- &__wave {
68
- @site-loading-wave-size-item-width: 5px;
69
- @site-loading-wave-size-item-margin: 5px;
70
-
71
- display: flex;
72
- align-items: center;
73
- justify-content: center;
74
-
75
- &-large {
76
- width: @site-loading-large-width;
77
- height: @site-loading-large-height;
78
- }
79
-
80
- &-normal {
81
- width: @site-loading-normal-width;
82
- height: @site-loading-normal-height;
83
- }
84
-
85
- &-small {
86
- width: @site-loading-small-width;
87
- height: @site-loading-small-height;
88
- }
89
-
90
- &-mini {
91
- width: @site-loading-mini-width;
92
- height: @site-loading-mini-height;
93
- }
94
-
95
- &-item {
96
- height: 100%;
97
- display: inline-block;
98
- animation: 1.2s ease-in-out infinite wave;
99
-
100
- &:nth-child(1) {
101
- animation-delay: -1.2s;
102
- margin-left: 0;
103
- }
104
-
105
- &:nth-child(2) {
106
- animation-delay: -1.1s;
107
- }
108
-
109
- &:nth-child(3) {
110
- animation-delay: -1s;
111
- }
112
-
113
- &:nth-child(4) {
114
- animation-delay: -0.9s;
115
- }
116
-
117
- &:nth-child(5) {
118
- animation-delay: -0.8s;
119
- }
120
- }
121
-
122
- &-item-large {
123
- width: @site-loading-wave-size-item-width;
124
- margin-left: @site-loading-wave-size-item-margin;
125
- }
126
-
127
- &-item-normal {
128
- width: @site-loading-wave-size-item-width - 1;
129
- margin-left: @site-loading-wave-size-item-margin - 1;
130
- }
131
-
132
- &-item-small {
133
- width: @site-loading-wave-size-item-width - 2;
134
- margin-left: @site-loading-wave-size-item-margin - 2;
135
- }
136
-
137
- &-item-mini {
138
- width: @site-loading-wave-size-item-width - 3;
139
- margin-left: @site-loading-wave-size-item-margin - 3;
140
- }
141
-
142
- @keyframes wave {
143
- 0%,
144
- 40%,
145
- 100% {
146
- transform: scaleY(0.4);
147
- }
148
- 20% {
149
- transform: scaleY(1);
150
- }
151
- }
152
- }
153
-
154
- &__cube {
155
- @site-loading-cube-size-item-width: 10px;
156
- @site-loading-cube-size-item-height: 10px;
157
- @site-loading-cube-size-item-margin: 5px;
158
-
159
- display: flex;
160
- align-items: center;
161
-
162
- &-large {
163
- width: @site-loading-large-width;
164
- height: @site-loading-large-height;
165
- }
166
-
167
- &-normal {
168
- width: @site-loading-normal-width;
169
- height: @site-loading-normal-height;
170
- }
171
-
172
- &-small {
173
- width: @site-loading-small-width;
174
- height: @site-loading-small-height;
175
- }
176
-
177
- &-mini {
178
- width: @site-loading-mini-width;
179
- height: @site-loading-mini-height;
180
- }
181
-
182
- &-item {
183
- display: inline-block;
184
- transform-origin: right bottom;
185
- animation: 1.5s ease infinite cube;
186
-
187
- &:nth-child(1) {
188
- animation-delay: 0.2s;
189
- margin-left: 0;
190
- }
191
-
192
- &:nth-child(2) {
193
- animation-delay: 0.4s;
194
- }
195
-
196
- &:nth-child(3) {
197
- animation-delay: 0.6s;
198
- }
199
-
200
- &:nth-child(4) {
201
- animation-delay: 0.8s;
202
- }
203
- }
204
-
205
- &-item-large {
206
- height: @site-loading-cube-size-item-height;
207
- width: @site-loading-cube-size-item-width;
208
- margin-left: @site-loading-cube-size-item-margin;
209
- }
210
-
211
- &-item-normal {
212
- height: @site-loading-cube-size-item-height - 2;
213
- width: @site-loading-cube-size-item-width - 2;
214
- margin-left: @site-loading-cube-size-item-margin - 1;
215
- }
216
-
217
- &-item-small {
218
- height: @site-loading-cube-size-item-height - 4;
219
- width: @site-loading-cube-size-item-width - 4;
220
- margin-left: @site-loading-cube-size-item-margin - 2;
221
- }
222
-
223
- &-item-mini {
224
- height: @site-loading-cube-size-item-height - 6;
225
- width: @site-loading-cube-size-item-width - 6;
226
- margin-left: @site-loading-cube-size-item-margin - 3;
227
- }
228
-
229
- @keyframes cube {
230
- 0% {
231
- opacity: 1;
232
- transform: scale(1);
233
- }
234
- 100% {
235
- opacity: 0;
236
- transform: rotate(90deg) scale(0.3);
237
- }
238
- }
239
- }
240
-
241
- &__rect {
242
- @site-loading-rect-size-item-width: 8px;
243
- @site-loading-rect-size-item-height: 100%;
244
-
245
- display: flex;
246
- flex-wrap: nowrap;
247
- justify-content: center;
248
- align-items: center;
249
-
250
- &-large {
251
- width: @site-loading-large-width;
252
- height: @site-loading-large-height;
253
- }
254
-
255
- &-normal {
256
- width: @site-loading-normal-width;
257
- height: @site-loading-normal-height;
258
- }
259
-
260
- &-small {
261
- width: @site-loading-small-width;
262
- height: @site-loading-small-height;
263
- }
264
-
265
- &-mini {
266
- width: @site-loading-mini-width;
267
- height: @site-loading-mini-height;
268
- }
269
-
270
- &-item {
271
- animation: 2s ease-in-out infinite rect;
272
-
273
- &:nth-child(1) {
274
- animation-delay: 1.75s;
275
- }
276
-
277
- &:nth-child(2) {
278
- animation-delay: 1.5s;
279
- }
280
-
281
- &:nth-child(3) {
282
- animation-delay: 1.25s;
283
- }
284
-
285
- &:nth-child(4) {
286
- animation-delay: 1s;
287
- }
288
-
289
- &:nth-child(5) {
290
- animation-delay: 0.75s;
291
- }
292
-
293
- &:nth-child(6) {
294
- animation-delay: 0.5s;
295
- }
296
-
297
- &:nth-child(7) {
298
- animation-delay: 0.25s;
299
- }
300
-
301
- &:nth-child(8) {
302
- animation-delay: 0s;
303
- }
304
- }
305
-
306
- &-item-large {
307
- height: @site-loading-rect-size-item-height;
308
- width: @site-loading-rect-size-item-width;
309
- }
310
-
311
- &-item-normal {
312
- height: @site-loading-rect-size-item-height * 0.9;
313
- width: @site-loading-rect-size-item-width * 0.8;
314
- }
315
-
316
- &-item-small {
317
- height: @site-loading-rect-size-item-height * 0.8;
318
- width: @site-loading-rect-size-item-width * 0.6;
319
- }
320
-
321
- &-item-mini {
322
- height: @site-loading-rect-size-item-height * 0.7;
323
- width: @site-loading-rect-size-item-width * 0.4;
324
- }
325
-
326
- @keyframes rect {
327
- 0% {
328
- opacity: 0.3;
329
- }
330
- 25% {
331
- opacity: 1;
332
- }
333
- 50% {
334
- opacity: 0.3;
335
- }
336
- 65% {
337
- opacity: 1;
338
- }
339
- 100% {
340
- opacity: 0.3;
341
- }
342
- }
343
- }
344
-
345
- &__disappear {
346
- @site-loading-disappear-size-item-width: 15px;
347
- @site-loading-disappear-size-item-height: 15px;
348
-
349
- display: flex;
350
- justify-content: space-around;
351
- align-items: center;
352
- flex-flow: nowrap;
353
-
354
- &-large {
355
- width: @site-loading-large-width;
356
- height: @site-loading-large-height;
357
- }
358
-
359
- &-normal {
360
- width: @site-loading-normal-width;
361
- height: @site-loading-normal-height;
362
- }
363
-
364
- &-small {
365
- width: @site-loading-small-width;
366
- height: @site-loading-small-height;
367
- }
368
-
369
- &-mini {
370
- width: @site-loading-mini-width;
371
- height: @site-loading-mini-height;
372
- }
373
-
374
- &-item {
375
- border-radius: 50%;
376
- animation: 0.5s ease-in-out infinite alternate disappear;
377
-
378
- &:nth-child(1) {
379
- animation-delay: -0.4s;
380
- }
381
-
382
- &:nth-child(2) {
383
- animation-delay: -0.2s;
384
- }
385
-
386
- &:nth-child(3) {
387
- animation-delay: 0s;
388
- }
389
- }
390
-
391
- &-item-large {
392
- height: @site-loading-disappear-size-item-height;
393
- width: @site-loading-disappear-size-item-width;
394
- }
395
-
396
- &-item-normal {
397
- height: @site-loading-disappear-size-item-height * 0.8;
398
- width: @site-loading-disappear-size-item-width * 0.8;
399
- }
400
-
401
- &-item-small {
402
- height: @site-loading-disappear-size-item-height * 0.6;
403
- width: @site-loading-disappear-size-item-width * 0.6;
404
- }
405
-
406
- &-item-mini {
407
- height: @site-loading-disappear-size-item-height * 0.4;
408
- width: @site-loading-disappear-size-item-width * 0.4;
409
- }
410
-
411
- @keyframes disappear {
412
- 0% {
413
- opacity: 1;
414
- }
415
- 100% {
416
- opacity: 0;
417
- }
418
- }
419
- }
420
- }
1
+ @import '../styles/var';
2
+
3
+ @site-loading-normal-width: 50px;
4
+ @site-loading-normal-height: @site-font-size-md + 2;
5
+
6
+ @site-loading-large-width: 64px;
7
+ @site-loading-large-height: @site-font-size-lg + 2;
8
+
9
+ @site-loading-small-width: 36px;
10
+ @site-loading-small-height: @site-font-size-sm + 2;
11
+
12
+ @site-loading-mini-width: 22px;
13
+ @site-loading-mini-height: @site-font-size-xs + 2;
14
+
15
+ .var-site-loading {
16
+ display: flex;
17
+ justify-content: center;
18
+ align-items: center;
19
+
20
+ &__circle {
21
+ display: flex;
22
+
23
+ &-block {
24
+ display: inline-block;
25
+ animation: circle 1.8s linear infinite;
26
+
27
+ svg {
28
+ display: block;
29
+ width: 100%;
30
+ height: 100%;
31
+
32
+ circle {
33
+ animation: circular 1.5s ease-in-out infinite;
34
+ stroke: currentColor;
35
+ stroke-width: 3;
36
+ stroke-linecap: round;
37
+ }
38
+ }
39
+ }
40
+
41
+ @keyframes circle {
42
+ from {
43
+ transform: rotate(0deg);
44
+ }
45
+ to {
46
+ transform: rotate(360deg);
47
+ }
48
+ }
49
+ @keyframes circular {
50
+ 0% {
51
+ stroke-dasharray: 1, 200;
52
+ stroke-dashoffset: 0;
53
+ }
54
+
55
+ 50% {
56
+ stroke-dasharray: 90, 150;
57
+ stroke-dashoffset: -40;
58
+ }
59
+
60
+ 100% {
61
+ stroke-dasharray: 90, 150;
62
+ stroke-dashoffset: -120;
63
+ }
64
+ }
65
+ }
66
+
67
+ &__wave {
68
+ @site-loading-wave-size-item-width: 5px;
69
+ @site-loading-wave-size-item-margin: 5px;
70
+
71
+ display: flex;
72
+ align-items: center;
73
+ justify-content: center;
74
+
75
+ &-large {
76
+ width: @site-loading-large-width;
77
+ height: @site-loading-large-height;
78
+ }
79
+
80
+ &-normal {
81
+ width: @site-loading-normal-width;
82
+ height: @site-loading-normal-height;
83
+ }
84
+
85
+ &-small {
86
+ width: @site-loading-small-width;
87
+ height: @site-loading-small-height;
88
+ }
89
+
90
+ &-mini {
91
+ width: @site-loading-mini-width;
92
+ height: @site-loading-mini-height;
93
+ }
94
+
95
+ &-item {
96
+ height: 100%;
97
+ display: inline-block;
98
+ animation: 1.2s ease-in-out infinite wave;
99
+
100
+ &:nth-child(1) {
101
+ animation-delay: -1.2s;
102
+ margin-left: 0;
103
+ }
104
+
105
+ &:nth-child(2) {
106
+ animation-delay: -1.1s;
107
+ }
108
+
109
+ &:nth-child(3) {
110
+ animation-delay: -1s;
111
+ }
112
+
113
+ &:nth-child(4) {
114
+ animation-delay: -0.9s;
115
+ }
116
+
117
+ &:nth-child(5) {
118
+ animation-delay: -0.8s;
119
+ }
120
+ }
121
+
122
+ &-item-large {
123
+ width: @site-loading-wave-size-item-width;
124
+ margin-left: @site-loading-wave-size-item-margin;
125
+ }
126
+
127
+ &-item-normal {
128
+ width: @site-loading-wave-size-item-width - 1;
129
+ margin-left: @site-loading-wave-size-item-margin - 1;
130
+ }
131
+
132
+ &-item-small {
133
+ width: @site-loading-wave-size-item-width - 2;
134
+ margin-left: @site-loading-wave-size-item-margin - 2;
135
+ }
136
+
137
+ &-item-mini {
138
+ width: @site-loading-wave-size-item-width - 3;
139
+ margin-left: @site-loading-wave-size-item-margin - 3;
140
+ }
141
+
142
+ @keyframes wave {
143
+ 0%,
144
+ 40%,
145
+ 100% {
146
+ transform: scaleY(0.4);
147
+ }
148
+ 20% {
149
+ transform: scaleY(1);
150
+ }
151
+ }
152
+ }
153
+
154
+ &__cube {
155
+ @site-loading-cube-size-item-width: 10px;
156
+ @site-loading-cube-size-item-height: 10px;
157
+ @site-loading-cube-size-item-margin: 5px;
158
+
159
+ display: flex;
160
+ align-items: center;
161
+
162
+ &-large {
163
+ width: @site-loading-large-width;
164
+ height: @site-loading-large-height;
165
+ }
166
+
167
+ &-normal {
168
+ width: @site-loading-normal-width;
169
+ height: @site-loading-normal-height;
170
+ }
171
+
172
+ &-small {
173
+ width: @site-loading-small-width;
174
+ height: @site-loading-small-height;
175
+ }
176
+
177
+ &-mini {
178
+ width: @site-loading-mini-width;
179
+ height: @site-loading-mini-height;
180
+ }
181
+
182
+ &-item {
183
+ display: inline-block;
184
+ transform-origin: right bottom;
185
+ animation: 1.5s ease infinite cube;
186
+
187
+ &:nth-child(1) {
188
+ animation-delay: 0.2s;
189
+ margin-left: 0;
190
+ }
191
+
192
+ &:nth-child(2) {
193
+ animation-delay: 0.4s;
194
+ }
195
+
196
+ &:nth-child(3) {
197
+ animation-delay: 0.6s;
198
+ }
199
+
200
+ &:nth-child(4) {
201
+ animation-delay: 0.8s;
202
+ }
203
+ }
204
+
205
+ &-item-large {
206
+ height: @site-loading-cube-size-item-height;
207
+ width: @site-loading-cube-size-item-width;
208
+ margin-left: @site-loading-cube-size-item-margin;
209
+ }
210
+
211
+ &-item-normal {
212
+ height: @site-loading-cube-size-item-height - 2;
213
+ width: @site-loading-cube-size-item-width - 2;
214
+ margin-left: @site-loading-cube-size-item-margin - 1;
215
+ }
216
+
217
+ &-item-small {
218
+ height: @site-loading-cube-size-item-height - 4;
219
+ width: @site-loading-cube-size-item-width - 4;
220
+ margin-left: @site-loading-cube-size-item-margin - 2;
221
+ }
222
+
223
+ &-item-mini {
224
+ height: @site-loading-cube-size-item-height - 6;
225
+ width: @site-loading-cube-size-item-width - 6;
226
+ margin-left: @site-loading-cube-size-item-margin - 3;
227
+ }
228
+
229
+ @keyframes cube {
230
+ 0% {
231
+ opacity: 1;
232
+ transform: scale(1);
233
+ }
234
+ 100% {
235
+ opacity: 0;
236
+ transform: rotate(90deg) scale(0.3);
237
+ }
238
+ }
239
+ }
240
+
241
+ &__rect {
242
+ @site-loading-rect-size-item-width: 8px;
243
+ @site-loading-rect-size-item-height: 100%;
244
+
245
+ display: flex;
246
+ flex-wrap: nowrap;
247
+ justify-content: center;
248
+ align-items: center;
249
+
250
+ &-large {
251
+ width: @site-loading-large-width;
252
+ height: @site-loading-large-height;
253
+ }
254
+
255
+ &-normal {
256
+ width: @site-loading-normal-width;
257
+ height: @site-loading-normal-height;
258
+ }
259
+
260
+ &-small {
261
+ width: @site-loading-small-width;
262
+ height: @site-loading-small-height;
263
+ }
264
+
265
+ &-mini {
266
+ width: @site-loading-mini-width;
267
+ height: @site-loading-mini-height;
268
+ }
269
+
270
+ &-item {
271
+ animation: 2s ease-in-out infinite rect;
272
+
273
+ &:nth-child(1) {
274
+ animation-delay: 1.75s;
275
+ }
276
+
277
+ &:nth-child(2) {
278
+ animation-delay: 1.5s;
279
+ }
280
+
281
+ &:nth-child(3) {
282
+ animation-delay: 1.25s;
283
+ }
284
+
285
+ &:nth-child(4) {
286
+ animation-delay: 1s;
287
+ }
288
+
289
+ &:nth-child(5) {
290
+ animation-delay: 0.75s;
291
+ }
292
+
293
+ &:nth-child(6) {
294
+ animation-delay: 0.5s;
295
+ }
296
+
297
+ &:nth-child(7) {
298
+ animation-delay: 0.25s;
299
+ }
300
+
301
+ &:nth-child(8) {
302
+ animation-delay: 0s;
303
+ }
304
+ }
305
+
306
+ &-item-large {
307
+ height: @site-loading-rect-size-item-height;
308
+ width: @site-loading-rect-size-item-width;
309
+ }
310
+
311
+ &-item-normal {
312
+ height: @site-loading-rect-size-item-height * 0.9;
313
+ width: @site-loading-rect-size-item-width * 0.8;
314
+ }
315
+
316
+ &-item-small {
317
+ height: @site-loading-rect-size-item-height * 0.8;
318
+ width: @site-loading-rect-size-item-width * 0.6;
319
+ }
320
+
321
+ &-item-mini {
322
+ height: @site-loading-rect-size-item-height * 0.7;
323
+ width: @site-loading-rect-size-item-width * 0.4;
324
+ }
325
+
326
+ @keyframes rect {
327
+ 0% {
328
+ opacity: 0.3;
329
+ }
330
+ 25% {
331
+ opacity: 1;
332
+ }
333
+ 50% {
334
+ opacity: 0.3;
335
+ }
336
+ 65% {
337
+ opacity: 1;
338
+ }
339
+ 100% {
340
+ opacity: 0.3;
341
+ }
342
+ }
343
+ }
344
+
345
+ &__disappear {
346
+ @site-loading-disappear-size-item-width: 15px;
347
+ @site-loading-disappear-size-item-height: 15px;
348
+
349
+ display: flex;
350
+ justify-content: space-around;
351
+ align-items: center;
352
+ flex-flow: nowrap;
353
+
354
+ &-large {
355
+ width: @site-loading-large-width;
356
+ height: @site-loading-large-height;
357
+ }
358
+
359
+ &-normal {
360
+ width: @site-loading-normal-width;
361
+ height: @site-loading-normal-height;
362
+ }
363
+
364
+ &-small {
365
+ width: @site-loading-small-width;
366
+ height: @site-loading-small-height;
367
+ }
368
+
369
+ &-mini {
370
+ width: @site-loading-mini-width;
371
+ height: @site-loading-mini-height;
372
+ }
373
+
374
+ &-item {
375
+ border-radius: 50%;
376
+ animation: 0.5s ease-in-out infinite alternate disappear;
377
+
378
+ &:nth-child(1) {
379
+ animation-delay: -0.4s;
380
+ }
381
+
382
+ &:nth-child(2) {
383
+ animation-delay: -0.2s;
384
+ }
385
+
386
+ &:nth-child(3) {
387
+ animation-delay: 0s;
388
+ }
389
+ }
390
+
391
+ &-item-large {
392
+ height: @site-loading-disappear-size-item-height;
393
+ width: @site-loading-disappear-size-item-width;
394
+ }
395
+
396
+ &-item-normal {
397
+ height: @site-loading-disappear-size-item-height * 0.8;
398
+ width: @site-loading-disappear-size-item-width * 0.8;
399
+ }
400
+
401
+ &-item-small {
402
+ height: @site-loading-disappear-size-item-height * 0.6;
403
+ width: @site-loading-disappear-size-item-width * 0.6;
404
+ }
405
+
406
+ &-item-mini {
407
+ height: @site-loading-disappear-size-item-height * 0.4;
408
+ width: @site-loading-disappear-size-item-width * 0.4;
409
+ }
410
+
411
+ @keyframes disappear {
412
+ 0% {
413
+ opacity: 1;
414
+ }
415
+ 100% {
416
+ opacity: 0;
417
+ }
418
+ }
419
+ }
420
+ }