@varlet/cli 2.0.0-alpha.1663499244572 → 2.0.0-alpha.1664031123039

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