@varlet/cli 1.27.20 → 2.0.0-alpha.1663499244572

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/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 +18 -67
  6. package/lib/commands/changelog.d.ts +6 -6
  7. package/lib/commands/changelog.js +26 -27
  8. package/lib/commands/commitLint.d.ts +1 -1
  9. package/lib/commands/commitLint.js +50 -21
  10. package/lib/commands/compile.d.ts +7 -5
  11. package/lib/commands/compile.js +43 -119
  12. package/lib/commands/create.d.ts +8 -3
  13. package/lib/commands/create.js +90 -132
  14. package/lib/commands/dev.d.ts +5 -3
  15. package/lib/commands/dev.js +44 -123
  16. package/lib/commands/gen.d.ts +8 -1
  17. package/lib/commands/gen.js +85 -112
  18. package/lib/commands/lint.d.ts +1 -1
  19. package/lib/commands/lint.js +48 -123
  20. package/lib/commands/preview.d.ts +1 -1
  21. package/lib/commands/preview.js +23 -74
  22. package/lib/commands/release.d.ts +5 -3
  23. package/lib/commands/release.js +132 -270
  24. package/lib/commands/test.d.ts +7 -0
  25. package/lib/commands/test.js +26 -0
  26. package/lib/commands/vite.d.ts +3 -0
  27. package/lib/commands/vite.js +20 -0
  28. package/lib/compiler/compileModule.d.ts +5 -5
  29. package/lib/compiler/compileModule.js +79 -186
  30. package/lib/compiler/compileSFC.d.ts +2 -2
  31. package/lib/compiler/compileSFC.js +86 -132
  32. package/lib/compiler/compileScript.d.ts +17 -17
  33. package/lib/compiler/compileScript.js +152 -202
  34. package/lib/compiler/compileSiteEntry.d.ts +13 -13
  35. package/lib/compiler/compileSiteEntry.js +140 -237
  36. package/lib/compiler/compileStyle.d.ts +11 -11
  37. package/lib/compiler/compileStyle.js +43 -101
  38. package/lib/compiler/compileTemplateHighlight.d.ts +10 -10
  39. package/lib/compiler/compileTemplateHighlight.js +145 -193
  40. package/lib/compiler/compileTypes.d.ts +2 -2
  41. package/lib/compiler/compileTypes.js +49 -88
  42. package/lib/config/babel.config.d.ts +2 -2
  43. package/lib/config/babel.config.js +30 -31
  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/varlet.config.d.ts +1 -1
  47. package/lib/config/varlet.config.js +23 -24
  48. package/lib/config/vite.config.d.ts +5 -5
  49. package/lib/config/vite.config.js +157 -162
  50. package/lib/config/vitest.config.d.ts +2 -0
  51. package/lib/config/vitest.config.js +28 -0
  52. package/lib/index.d.ts +2 -2
  53. package/lib/index.js +84 -83
  54. package/lib/shared/constant.d.ts +44 -43
  55. package/lib/shared/constant.js +51 -50
  56. package/lib/shared/fsUtils.d.ts +12 -12
  57. package/lib/shared/fsUtils.js +61 -108
  58. package/lib/shared/logger.d.ts +8 -7
  59. package/lib/shared/logger.js +23 -20
  60. package/package.json +20 -17
  61. package/preset.js +3 -3
  62. package/site/components/button/Button.vue +106 -84
  63. package/site/components/button/button.less +183 -183
  64. package/site/components/button/index.ts +10 -10
  65. package/site/components/button/props.ts +78 -70
  66. package/site/components/cell/Cell.vue +54 -42
  67. package/site/components/cell/cell.less +78 -74
  68. package/site/components/cell/index.ts +10 -10
  69. package/site/components/cell/props.ts +27 -27
  70. package/site/components/code-example/CodeExample.vue +137 -143
  71. package/site/components/code-example/codeExample.less +41 -41
  72. package/site/components/code-example/index.ts +10 -10
  73. package/site/components/context/index.ts +21 -17
  74. package/site/components/context/lock.ts +92 -103
  75. package/site/components/context/zIndex.ts +20 -20
  76. package/site/components/icon/Icon.vue +75 -68
  77. package/site/components/icon/icon.less +26 -26
  78. package/site/components/icon/index.ts +10 -10
  79. package/site/components/icon/props.ts +24 -24
  80. package/site/components/loading/Loading.vue +84 -55
  81. package/site/components/loading/index.ts +10 -10
  82. package/site/components/loading/loading.less +505 -420
  83. package/site/components/loading/props.ts +42 -37
  84. package/site/components/popup/Popup.tsx +102 -0
  85. package/site/components/popup/index.ts +10 -0
  86. package/site/components/popup/popup.less +125 -0
  87. package/site/components/popup/props.ts +63 -0
  88. package/site/components/progress/Progress.vue +112 -108
  89. package/site/components/progress/index.ts +10 -10
  90. package/site/components/progress/progress.less +101 -98
  91. package/site/components/progress/props.ts +55 -55
  92. package/site/components/ripple/index.ts +188 -167
  93. package/site/components/ripple/ripple.less +20 -17
  94. package/site/components/snackbar/Snackbar.vue +41 -38
  95. package/site/components/snackbar/core.vue +132 -117
  96. package/site/components/snackbar/index.tsx +270 -270
  97. package/site/components/snackbar/props.ts +97 -94
  98. package/site/components/snackbar/snackbar.less +135 -135
  99. package/site/components/styles/common.less +64 -64
  100. package/site/components/styles/elevation.less +126 -126
  101. package/site/components/styles/var.less +27 -27
  102. package/site/components/utils/components.ts +117 -69
  103. package/site/components/utils/elements.ts +102 -85
  104. package/site/index.html +49 -49
  105. package/site/mobile/App.vue +291 -291
  106. package/site/mobile/components/AppHome.vue +134 -134
  107. package/site/mobile/components/AppType.vue +22 -22
  108. package/site/mobile/components/app-bar/AppBar.vue +65 -69
  109. package/site/mobile/components/app-bar/appBar.less +57 -56
  110. package/site/mobile/components/app-bar/index.ts +10 -10
  111. package/site/mobile/components/app-bar/props.ts +25 -25
  112. package/site/mobile/main.ts +78 -74
  113. package/site/mobile.html +41 -41
  114. package/site/module.d.ts +5 -5
  115. package/site/pc/App.vue +43 -43
  116. package/site/pc/Layout.vue +423 -397
  117. package/site/pc/components/AnimationBox.vue +33 -45
  118. package/site/pc/components/AppHeader.vue +368 -355
  119. package/site/pc/components/AppMobile.vue +60 -54
  120. package/site/pc/components/AppSidebar.vue +143 -134
  121. package/site/pc/components/LogoAnimation.vue +117 -119
  122. package/site/pc/floating.ts +9 -9
  123. package/site/pc/main.ts +100 -94
  124. package/site/pc/pages/index/index.less +176 -231
  125. package/site/pc/pages/index/index.vue +130 -145
  126. package/site/pc/pages/index/locale/en-US.ts +1 -5
  127. package/site/pc/pages/index/locale/zh-CN.ts +1 -5
  128. package/site/tsconfig.json +11 -11
  129. package/site/useProgress.ts +72 -75
  130. package/site/utils.ts +167 -153
  131. package/template/create/__tests__/index.spec.ejs +8 -0
  132. package/{lib/config/jest.media.mock.d.ts → template/create/docs/en-US.md} +0 -0
  133. package/{lib/config/jest.style.mock.d.ts → template/create/docs/zh-CN.md} +0 -0
  134. package/template/create/example/index.ejs +15 -0
  135. package/template/create/example/locale/en-US.ts +3 -0
  136. package/{generators/config/i18n/tsx/src/button → template/create}/example/locale/index.ts +23 -23
  137. package/template/create/example/locale/zh-CN.ts +3 -0
  138. package/template/create/index.ejs +12 -0
  139. package/template/create/less.ejs +3 -0
  140. package/template/create/props.ts +1 -0
  141. package/template/create/tsx.ejs +13 -0
  142. package/template/create/vue.ejs +17 -0
  143. package/{generators → template/generators}/base/.prettierignore +9 -9
  144. package/{generators → template/generators}/base/.prettierrc +5 -5
  145. package/{generators → template/generators}/base/README.md +82 -82
  146. package/{generators → template/generators}/base/babel.config.js +10 -10
  147. package/{generators → template/generators}/base/public/highlight.css +1 -1
  148. package/{generators → template/generators}/base/public/logo.svg +1 -1
  149. package/{generators → template/generators}/base/shims/shims-md.d.ts +4 -4
  150. package/{generators → template/generators}/base/shims/shims-vue.d.ts +6 -6
  151. package/{generators → template/generators}/base/tsconfig.json +13 -13
  152. package/{generators → template/generators}/config/default/base/docs/home.zh-CN.md +10 -10
  153. package/{generators → template/generators}/config/default/base/package.json +105 -105
  154. package/{generators/config/i18n → template/generators/config/default}/base/types/basicComponent.d.ts +7 -7
  155. package/{generators/config/i18n → template/generators/config/default}/base/types/button.d.ts +12 -12
  156. package/{generators → template/generators}/config/default/base/types/index.d.ts +6 -6
  157. package/{generators → template/generators}/config/default/base/varlet.config.js +110 -110
  158. package/{generators → template/generators}/config/default/sfc/src/button/Button.vue +30 -30
  159. package/{generators/config/default/tsx → template/generators/config/default/sfc}/src/button/__tests__/index.spec.js +7 -7
  160. package/{generators/config/default/tsx → template/generators/config/default/sfc}/src/button/button.less +14 -14
  161. package/{generators/config/default/tsx → template/generators/config/default/sfc}/src/button/docs/zh-CN.md +47 -47
  162. package/{generators → template/generators}/config/default/sfc/src/button/example/BasicUse.vue +7 -7
  163. package/{generators → template/generators}/config/default/sfc/src/button/example/ModifyColor.vue +7 -7
  164. package/{generators/config/default/tsx → template/generators/config/default/sfc}/src/button/example/index.vue +13 -13
  165. package/{generators → template/generators}/config/default/sfc/src/button/index.ts +10 -10
  166. package/{generators → template/generators}/config/default/tsx/src/button/Button.tsx +29 -31
  167. package/{generators/config/default/sfc → template/generators/config/default/tsx}/src/button/__tests__/index.spec.js +7 -7
  168. package/{generators/config/i18n → template/generators/config/default}/tsx/src/button/button.less +14 -14
  169. package/{generators/config/default/sfc → template/generators/config/default/tsx}/src/button/docs/zh-CN.md +47 -47
  170. package/{generators → template/generators}/config/default/tsx/src/button/example/BasicUse.vue +7 -7
  171. package/{generators → template/generators}/config/default/tsx/src/button/example/ModifyColor.vue +7 -7
  172. package/{generators/config/default/sfc → template/generators/config/default/tsx}/src/button/example/index.vue +13 -13
  173. package/{generators → template/generators}/config/default/tsx/src/button/index.ts +10 -10
  174. package/{generators → template/generators}/config/i18n/base/docs/home.en-US.md +11 -11
  175. package/{generators → template/generators}/config/i18n/base/docs/home.zh-CN.md +10 -10
  176. package/{generators → template/generators}/config/i18n/base/package.json +105 -105
  177. package/{generators/config/default → template/generators/config/i18n}/base/types/basicComponent.d.ts +7 -7
  178. package/{generators/config/default → template/generators/config/i18n}/base/types/button.d.ts +12 -12
  179. package/{generators → template/generators}/config/i18n/base/types/index.d.ts +7 -7
  180. package/{generators → template/generators}/config/i18n/base/types/locale.d.ts +24 -24
  181. package/{generators → template/generators}/config/i18n/base/varlet.config.js +122 -122
  182. package/{generators → template/generators}/config/i18n/sfc/src/button/Button.vue +36 -36
  183. package/{generators → template/generators}/config/i18n/sfc/src/button/__tests__/index.spec.js +7 -7
  184. package/{generators → template/generators}/config/i18n/sfc/src/button/button.less +14 -14
  185. package/{generators → template/generators}/config/i18n/sfc/src/button/docs/en-US.md +34 -34
  186. package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/button/docs/zh-CN.md +34 -34
  187. package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/button/example/BasicUse.vue +11 -11
  188. package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/button/example/ModifyColor.vue +11 -11
  189. package/{generators → template/generators}/config/i18n/sfc/src/button/example/index.vue +13 -13
  190. package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/button/example/locale/en-US.ts +5 -5
  191. package/{generators → template/generators}/config/i18n/sfc/src/button/example/locale/index.ts +23 -23
  192. package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/button/example/locale/zh-CN.ts +5 -5
  193. package/{generators → template/generators}/config/i18n/sfc/src/button/index.ts +10 -10
  194. package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/locale/__tests__/index.spec.js +51 -51
  195. package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/locale/docs/en-US.md +26 -26
  196. package/{generators → template/generators}/config/i18n/sfc/src/locale/docs/zh-CN.md +25 -25
  197. package/{generators → template/generators}/config/i18n/sfc/src/locale/en-US.d.ts +5 -5
  198. package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/locale/en-US.ts +7 -7
  199. package/{generators → template/generators}/config/i18n/sfc/src/locale/index.ts +67 -67
  200. package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/locale/zh-CN.d.ts +5 -5
  201. package/{generators/config/i18n/tsx → template/generators/config/i18n/sfc}/src/locale/zh-CN.ts +7 -7
  202. package/{generators → template/generators}/config/i18n/tsx/src/button/Button.tsx +33 -35
  203. package/{generators → template/generators}/config/i18n/tsx/src/button/__tests__/index.spec.js +7 -7
  204. package/{generators/config/default/sfc → template/generators/config/i18n/tsx}/src/button/button.less +14 -14
  205. package/{generators → template/generators}/config/i18n/tsx/src/button/docs/en-US.md +34 -34
  206. package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/button/docs/zh-CN.md +34 -34
  207. package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/button/example/BasicUse.vue +11 -11
  208. package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/button/example/ModifyColor.vue +11 -11
  209. package/{generators → template/generators}/config/i18n/tsx/src/button/example/index.vue +13 -13
  210. package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/button/example/locale/en-US.ts +5 -5
  211. package/template/generators/config/i18n/tsx/src/button/example/locale/index.ts +23 -0
  212. package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/button/example/locale/zh-CN.ts +5 -5
  213. package/{generators → template/generators}/config/i18n/tsx/src/button/index.ts +10 -10
  214. package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/locale/__tests__/index.spec.js +51 -51
  215. package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/locale/docs/en-US.md +26 -26
  216. package/{generators → template/generators}/config/i18n/tsx/src/locale/docs/zh-CN.md +25 -25
  217. package/{generators → template/generators}/config/i18n/tsx/src/locale/en-US.d.ts +5 -5
  218. package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/locale/en-US.ts +7 -7
  219. package/{generators → template/generators}/config/i18n/tsx/src/locale/index.ts +67 -67
  220. package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/locale/zh-CN.d.ts +5 -5
  221. package/{generators/config/i18n/sfc → template/generators/config/i18n/tsx}/src/locale/zh-CN.ts +7 -7
  222. package/tsconfig.json +15 -14
  223. package/varlet.default.config.js +137 -15
  224. package/lib/commands/jest.d.ts +0 -8
  225. package/lib/commands/jest.js +0 -81
  226. package/lib/config/jest.config.d.ts +0 -1
  227. package/lib/config/jest.config.js +0 -36
  228. package/lib/config/jest.media.mock.js +0 -2
  229. package/lib/config/jest.style.mock.js +0 -2
  230. package/site/mobile/components/styles/common.less +0 -64
  231. package/site/mobile/components/styles/elevation.less +0 -126
  232. package/site/mobile/components/styles/var.less +0 -27
@@ -1,420 +1,505 @@
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-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
+ }