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

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 (231) 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 +181 -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 +140 -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/test.d.ts +7 -7
  27. package/lib/commands/test.js +26 -26
  28. package/lib/commands/useVite.d.ts +1 -0
  29. package/lib/commands/useVite.js +70 -0
  30. package/lib/commands/vite.d.ts +3 -3
  31. package/lib/commands/vite.js +69 -20
  32. package/lib/compiler/compileModule.d.ts +5 -5
  33. package/lib/compiler/compileModule.js +190 -79
  34. package/lib/compiler/compileSFC.d.ts +2 -2
  35. package/lib/compiler/compileSFC.js +135 -86
  36. package/lib/compiler/compileScript.d.ts +17 -17
  37. package/lib/compiler/compileScript.js +194 -152
  38. package/lib/compiler/compileSiteEntry.d.ts +13 -13
  39. package/lib/compiler/compileSiteEntry.js +237 -140
  40. package/lib/compiler/compileStyle.d.ts +11 -11
  41. package/lib/compiler/compileStyle.js +91 -43
  42. package/lib/compiler/compileTemplateHighlight.d.ts +10 -10
  43. package/lib/compiler/compileTemplateHighlight.js +193 -145
  44. package/lib/compiler/compileTypes.d.ts +2 -2
  45. package/lib/compiler/compileTypes.js +85 -49
  46. package/lib/config/babel.config.d.ts +2 -2
  47. package/lib/config/babel.config.js +31 -30
  48. package/lib/config/babel.sfc.transform.d.ts +1 -1
  49. package/lib/config/babel.sfc.transform.js +18 -18
  50. package/lib/config/jest.config.d.ts +1 -0
  51. package/lib/config/jest.config.js +37 -0
  52. package/lib/config/jest.media.mock.d.ts +0 -0
  53. package/lib/config/jest.media.mock.js +2 -0
  54. package/lib/config/jest.style.mock.d.ts +0 -0
  55. package/lib/config/jest.style.mock.js +2 -0
  56. package/lib/config/varlet.config.d.ts +1 -1
  57. package/lib/config/varlet.config.js +24 -23
  58. package/lib/config/vite.config.d.ts +5 -5
  59. package/lib/config/vite.config.js +162 -157
  60. package/lib/config/vitest.config.d.ts +2 -2
  61. package/lib/config/vitest.config.js +28 -28
  62. package/lib/index.d.ts +2 -2
  63. package/lib/index.js +102 -84
  64. package/lib/shared/constant.d.ts +43 -44
  65. package/lib/shared/constant.js +50 -51
  66. package/lib/shared/fsUtils.d.ts +12 -12
  67. package/lib/shared/fsUtils.js +108 -61
  68. package/lib/shared/logger.d.ts +8 -8
  69. package/lib/shared/logger.js +23 -23
  70. package/package.json +11 -10
  71. package/preset.js +3 -3
  72. package/site/components/button/Button.vue +106 -106
  73. package/site/components/button/button.less +183 -183
  74. package/site/components/button/index.ts +10 -10
  75. package/site/components/button/props.ts +78 -78
  76. package/site/components/cell/Cell.vue +54 -54
  77. package/site/components/cell/cell.less +78 -78
  78. package/site/components/cell/index.ts +10 -10
  79. package/site/components/cell/props.ts +27 -27
  80. package/site/components/code-example/CodeExample.vue +137 -137
  81. package/site/components/code-example/codeExample.less +41 -41
  82. package/site/components/code-example/index.ts +10 -10
  83. package/site/components/context/index.ts +21 -21
  84. package/site/components/context/lock.ts +92 -92
  85. package/site/components/context/zIndex.ts +20 -20
  86. package/site/components/icon/Icon.vue +75 -75
  87. package/site/components/icon/icon.less +26 -26
  88. package/site/components/icon/index.ts +10 -10
  89. package/site/components/icon/props.ts +24 -24
  90. package/site/components/loading/Loading.vue +84 -84
  91. package/site/components/loading/index.ts +10 -10
  92. package/site/components/loading/loading.less +505 -505
  93. package/site/components/loading/props.ts +42 -42
  94. package/site/components/popup/Popup.tsx +102 -102
  95. package/site/components/popup/index.ts +10 -10
  96. package/site/components/popup/popup.less +125 -125
  97. package/site/components/popup/props.ts +63 -63
  98. package/site/components/progress/Progress.vue +112 -112
  99. package/site/components/progress/index.ts +10 -10
  100. package/site/components/progress/progress.less +101 -101
  101. package/site/components/progress/props.ts +55 -55
  102. package/site/components/ripple/index.ts +188 -188
  103. package/site/components/ripple/ripple.less +20 -20
  104. package/site/components/snackbar/Snackbar.vue +41 -41
  105. package/site/components/snackbar/core.vue +132 -132
  106. package/site/components/snackbar/index.tsx +270 -270
  107. package/site/components/snackbar/props.ts +97 -97
  108. package/site/components/snackbar/snackbar.less +135 -135
  109. package/site/components/styles/common.less +64 -64
  110. package/site/components/styles/elevation.less +126 -126
  111. package/site/components/styles/var.less +27 -27
  112. package/site/components/utils/components.ts +117 -117
  113. package/site/components/utils/elements.ts +102 -102
  114. package/site/index.html +49 -49
  115. package/site/mobile/App.vue +291 -291
  116. package/site/mobile/components/AppHome.vue +134 -134
  117. package/site/mobile/components/AppType.vue +22 -22
  118. package/site/mobile/components/app-bar/AppBar.vue +65 -65
  119. package/site/mobile/components/app-bar/appBar.less +57 -57
  120. package/site/mobile/components/app-bar/index.ts +10 -10
  121. package/site/mobile/components/app-bar/props.ts +25 -25
  122. package/site/mobile/main.ts +78 -78
  123. package/site/mobile.html +41 -41
  124. package/site/module.d.ts +5 -5
  125. package/site/pc/App.vue +43 -43
  126. package/site/pc/Layout.vue +423 -423
  127. package/site/pc/components/AnimationBox.vue +33 -33
  128. package/site/pc/components/AppHeader.vue +368 -368
  129. package/site/pc/components/AppMobile.vue +60 -60
  130. package/site/pc/components/AppSidebar.vue +143 -143
  131. package/site/pc/components/LogoAnimation.vue +117 -117
  132. package/site/pc/floating.ts +9 -9
  133. package/site/pc/main.ts +100 -100
  134. package/site/pc/pages/index/index.less +176 -176
  135. package/site/pc/pages/index/index.vue +130 -130
  136. package/site/pc/pages/index/locale/en-US.ts +1 -1
  137. package/site/pc/pages/index/locale/zh-CN.ts +1 -1
  138. package/site/tsconfig.json +11 -11
  139. package/site/useProgress.ts +72 -72
  140. package/site/utils.ts +165 -167
  141. package/template/create/__tests__/index.spec.ejs +8 -8
  142. package/template/create/example/index.ejs +15 -15
  143. package/template/create/example/locale/en-US.ts +3 -3
  144. package/template/create/example/locale/index.ts +23 -23
  145. package/template/create/example/locale/zh-CN.ts +3 -3
  146. package/template/create/index.ejs +12 -12
  147. package/template/create/less.ejs +3 -3
  148. package/template/create/props.ts +1 -1
  149. package/template/create/tsx.ejs +13 -13
  150. package/template/create/vue.ejs +17 -17
  151. package/template/generators/base/.prettierignore +9 -9
  152. package/template/generators/base/.prettierrc +5 -5
  153. package/template/generators/base/README.md +82 -82
  154. package/template/generators/base/babel.config.js +10 -10
  155. package/template/generators/base/public/highlight.css +1 -1
  156. package/template/generators/base/public/logo.svg +1 -1
  157. package/template/generators/base/shims/shims-md.d.ts +4 -4
  158. package/template/generators/base/shims/shims-vue.d.ts +6 -6
  159. package/template/generators/base/tsconfig.json +13 -13
  160. package/template/generators/config/default/base/docs/home.zh-CN.md +10 -10
  161. package/template/generators/config/default/base/package.json +105 -105
  162. package/template/generators/config/default/base/types/basicComponent.d.ts +7 -7
  163. package/template/generators/config/default/base/types/button.d.ts +12 -12
  164. package/template/generators/config/default/base/types/index.d.ts +6 -6
  165. package/template/generators/config/default/base/varlet.config.js +110 -110
  166. package/template/generators/config/default/sfc/src/button/Button.vue +30 -30
  167. package/template/generators/config/default/sfc/src/button/__tests__/index.spec.js +7 -7
  168. package/template/generators/config/default/sfc/src/button/button.less +14 -14
  169. package/template/generators/config/default/sfc/src/button/docs/zh-CN.md +47 -47
  170. package/template/generators/config/default/sfc/src/button/example/BasicUse.vue +7 -7
  171. package/template/generators/config/default/sfc/src/button/example/ModifyColor.vue +7 -7
  172. package/template/generators/config/default/sfc/src/button/example/index.vue +13 -13
  173. package/template/generators/config/default/sfc/src/button/index.ts +10 -10
  174. package/template/generators/config/default/tsx/src/button/Button.tsx +29 -29
  175. package/template/generators/config/default/tsx/src/button/__tests__/index.spec.js +7 -7
  176. package/template/generators/config/default/tsx/src/button/button.less +14 -14
  177. package/template/generators/config/default/tsx/src/button/docs/zh-CN.md +47 -47
  178. package/template/generators/config/default/tsx/src/button/example/BasicUse.vue +7 -7
  179. package/template/generators/config/default/tsx/src/button/example/ModifyColor.vue +7 -7
  180. package/template/generators/config/default/tsx/src/button/example/index.vue +13 -13
  181. package/template/generators/config/default/tsx/src/button/index.ts +10 -10
  182. package/template/generators/config/i18n/base/docs/home.en-US.md +11 -11
  183. package/template/generators/config/i18n/base/docs/home.zh-CN.md +10 -10
  184. package/template/generators/config/i18n/base/package.json +105 -105
  185. package/template/generators/config/i18n/base/types/basicComponent.d.ts +7 -7
  186. package/template/generators/config/i18n/base/types/button.d.ts +12 -12
  187. package/template/generators/config/i18n/base/types/index.d.ts +7 -7
  188. package/template/generators/config/i18n/base/types/locale.d.ts +24 -24
  189. package/template/generators/config/i18n/base/varlet.config.js +122 -122
  190. package/template/generators/config/i18n/sfc/src/button/Button.vue +36 -36
  191. package/template/generators/config/i18n/sfc/src/button/__tests__/index.spec.js +7 -7
  192. package/template/generators/config/i18n/sfc/src/button/button.less +14 -14
  193. package/template/generators/config/i18n/sfc/src/button/docs/en-US.md +34 -34
  194. package/template/generators/config/i18n/sfc/src/button/docs/zh-CN.md +34 -34
  195. package/template/generators/config/i18n/sfc/src/button/example/BasicUse.vue +11 -11
  196. package/template/generators/config/i18n/sfc/src/button/example/ModifyColor.vue +11 -11
  197. package/template/generators/config/i18n/sfc/src/button/example/index.vue +13 -13
  198. package/template/generators/config/i18n/sfc/src/button/example/locale/en-US.ts +5 -5
  199. package/template/generators/config/i18n/sfc/src/button/example/locale/index.ts +23 -23
  200. package/template/generators/config/i18n/sfc/src/button/example/locale/zh-CN.ts +5 -5
  201. package/template/generators/config/i18n/sfc/src/button/index.ts +10 -10
  202. package/template/generators/config/i18n/sfc/src/locale/__tests__/index.spec.js +51 -51
  203. package/template/generators/config/i18n/sfc/src/locale/docs/en-US.md +26 -26
  204. package/template/generators/config/i18n/sfc/src/locale/docs/zh-CN.md +25 -25
  205. package/template/generators/config/i18n/sfc/src/locale/en-US.d.ts +5 -5
  206. package/template/generators/config/i18n/sfc/src/locale/en-US.ts +7 -7
  207. package/template/generators/config/i18n/sfc/src/locale/index.ts +67 -67
  208. package/template/generators/config/i18n/sfc/src/locale/zh-CN.d.ts +5 -5
  209. package/template/generators/config/i18n/sfc/src/locale/zh-CN.ts +7 -7
  210. package/template/generators/config/i18n/tsx/src/button/Button.tsx +33 -33
  211. package/template/generators/config/i18n/tsx/src/button/__tests__/index.spec.js +7 -7
  212. package/template/generators/config/i18n/tsx/src/button/button.less +14 -14
  213. package/template/generators/config/i18n/tsx/src/button/docs/en-US.md +34 -34
  214. package/template/generators/config/i18n/tsx/src/button/docs/zh-CN.md +34 -34
  215. package/template/generators/config/i18n/tsx/src/button/example/BasicUse.vue +11 -11
  216. package/template/generators/config/i18n/tsx/src/button/example/ModifyColor.vue +11 -11
  217. package/template/generators/config/i18n/tsx/src/button/example/index.vue +13 -13
  218. package/template/generators/config/i18n/tsx/src/button/example/locale/en-US.ts +5 -5
  219. package/template/generators/config/i18n/tsx/src/button/example/locale/index.ts +23 -23
  220. package/template/generators/config/i18n/tsx/src/button/example/locale/zh-CN.ts +5 -5
  221. package/template/generators/config/i18n/tsx/src/button/index.ts +10 -10
  222. package/template/generators/config/i18n/tsx/src/locale/__tests__/index.spec.js +51 -51
  223. package/template/generators/config/i18n/tsx/src/locale/docs/en-US.md +26 -26
  224. package/template/generators/config/i18n/tsx/src/locale/docs/zh-CN.md +25 -25
  225. package/template/generators/config/i18n/tsx/src/locale/en-US.d.ts +5 -5
  226. package/template/generators/config/i18n/tsx/src/locale/en-US.ts +7 -7
  227. package/template/generators/config/i18n/tsx/src/locale/index.ts +67 -67
  228. package/template/generators/config/i18n/tsx/src/locale/zh-CN.d.ts +5 -5
  229. package/template/generators/config/i18n/tsx/src/locale/zh-CN.ts +7 -7
  230. package/tsconfig.json +14 -15
  231. package/varlet.default.config.js +3 -3
@@ -1,130 +1,130 @@
1
- <script setup lang="ts">
2
- import AnimationBox from '../../components/AnimationBox.vue'
3
- import config from '@config'
4
- import { get } from 'lodash-es'
5
- import { ref, watch } from 'vue'
6
- import { useRoute, useRouter } from 'vue-router'
7
- import { getBrowserTheme, setTheme, Theme } from "../../../utils";
8
- import { getPCLocationInfo, watchTheme } from '@varlet/cli/site/utils'
9
- import type { Ref } from 'vue'
10
-
11
- const route = useRoute()
12
- const router = useRouter()
13
-
14
- const github = get(config, 'pc.header.github')
15
- const currentTheme = ref(getBrowserTheme())
16
- const darkMode: Ref<boolean> = ref(get(config, 'pc.header.darkMode'))
17
- const title: Ref<string> = ref(get(config, 'title'))
18
- const language: Ref<string> = ref(get(config, 'defaultLanguage'))
19
- const languages: Ref<Record<string, string>> = ref(get(config, 'pc.header.i18n'))
20
- const indexPage: Ref<Record<string, any>> = get(config, 'pc.indexPage')
21
-
22
- const goGithub = () => {
23
- window.open(github)
24
- }
25
-
26
- const getStar = () => {
27
- router.push(`/${language.value}/home`)
28
- }
29
-
30
- const getThemeMessage = () => ({ action: 'theme-change', from: 'pc', data: currentTheme.value })
31
-
32
- const setCurrentTheme = (theme: Theme) => {
33
- currentTheme.value = theme
34
- setTheme(config, currentTheme.value)
35
- window.localStorage.setItem(get(config, 'themeKey'), currentTheme.value)
36
- }
37
-
38
- const toggleTheme = () => {
39
- setCurrentTheme(currentTheme.value === 'darkTheme' ? 'lightTheme' : 'darkTheme')
40
- window.postMessage(getThemeMessage(), '*')
41
- ;(document.getElementById('mobile') as HTMLIFrameElement)?.contentWindow!.postMessage(getThemeMessage(), '*')
42
- }
43
-
44
- const setLocale = () => {
45
- const { language: lang } = getPCLocationInfo()
46
- if (!lang) return
47
-
48
- language.value = lang
49
- document.title = get(config, 'pc.title')[lang] as string
50
- }
51
-
52
- const toggleLanguages = () => {
53
- const { language: lang } = getPCLocationInfo()
54
-
55
- const { menuName } = getPCLocationInfo()
56
- const replaceStr = `/${lang === 'zh-CN' ? 'en-US' : 'zh-CN'}/${menuName}`
57
-
58
- language.value = lang
59
- router.replace(replaceStr)
60
- }
61
-
62
- setTheme(config, currentTheme.value)
63
-
64
- window.postMessage(getThemeMessage(), '*')
65
-
66
- watchTheme((theme, from) => {
67
- from === 'mobile' && setCurrentTheme(theme)
68
- })
69
-
70
- watch(() => route.path, setLocale, { immediate: true })
71
- </script>
72
-
73
- <template>
74
- <div class="varlet-doc-index">
75
- <div class="varlet-doc-index__layout">
76
- <div class="varlet-doc-index__logo-container">
77
- <div class="varlet-doc-index__logo-background-mask"></div>
78
- <animation-box class="varlet-doc-index__logo" />
79
- </div>
80
-
81
- <div class="varlet-doc-index__title">{{ title }}</div>
82
- <div class="varlet-doc-index__description">{{ indexPage.description[language] }}</div>
83
- <div class="varlet-doc-index__link-button-group">
84
- <var-button class="varlet-doc-index__link-button" text outline @click="goGithub">
85
- <var-icon name="github" size="24px" />
86
- </var-button>
87
- <var-button class="varlet-doc-index__link-button" text outline v-if="darkMode" @click="toggleTheme">
88
- <var-icon size="24px" :name="currentTheme === 'lightTheme' ? 'white-balance-sunny' : 'weather-night'" />
89
- </var-button>
90
- <var-button
91
- class="varlet-doc-index__link-button"
92
- text
93
- outline
94
- v-if="languages"
95
- @click="toggleLanguages"
96
- >
97
- <var-icon name="translate" size="24px" />
98
- </var-button>
99
- <var-button class="varlet-doc-index__link-button" type="primary" style="line-height: 1.2" @click="getStar">
100
- <span class="varlet-doc-index__link-button-text">{{ indexPage.started[language] }}</span>
101
- <var-icon style="transform: rotate(-90deg)" name="arrow-down" size="24px" />
102
- </var-button>
103
- </div>
104
-
105
- <div class="varlet-doc-index__features" v-if="indexPage.features">
106
- <div class="varlet-doc-index__feature" v-for="feature in indexPage.features">
107
- <div class="varlet-doc-index__feature-name">{{ feature.name[language] }}</div>
108
- <div class="varlet-doc-index__feature-description">{{ feature.description[language] }}</div>
109
- </div>
110
- </div>
111
-
112
- <div class="varlet-doc-index__contributors" v-if="indexPage.contributors">
113
- <div class="varlet-doc-index__contributors-title">{{ indexPage.contributors.label[language] }}</div>
114
-
115
- <a class="varlet-doc-index__contributors-link" :href="indexPage.contributors.link">
116
- <img class="varlet-doc-index__contributors-image" :src="indexPage.contributors.image">
117
- </a>
118
- </div>
119
-
120
- <div class="varlet-doc-index__footer">
121
- <div class="varlet-doc-index__license">{{ indexPage.license[language] }}</div>
122
- <div class="varlet-doc-index__copyright">{{ indexPage.copyright[language] }}</div>
123
- </div>
124
- </div>
125
- </div>
126
- </template>
127
-
128
- <style lang="less" scoped>
129
- @import './index';
130
- </style>
1
+ <script setup lang="ts">
2
+ import AnimationBox from '../../components/AnimationBox.vue'
3
+ import config from '@config'
4
+ import { get } from 'lodash-es'
5
+ import { ref, watch } from 'vue'
6
+ import { useRoute, useRouter } from 'vue-router'
7
+ import { getBrowserTheme, setTheme, Theme } from "../../../utils";
8
+ import { getPCLocationInfo, watchTheme } from '@varlet/cli/site/utils'
9
+ import type { Ref } from 'vue'
10
+
11
+ const route = useRoute()
12
+ const router = useRouter()
13
+
14
+ const github = get(config, 'pc.header.github')
15
+ const currentTheme = ref(getBrowserTheme())
16
+ const darkMode: Ref<boolean> = ref(get(config, 'pc.header.darkMode'))
17
+ const title: Ref<string> = ref(get(config, 'title'))
18
+ const language: Ref<string> = ref(get(config, 'defaultLanguage'))
19
+ const languages: Ref<Record<string, string>> = ref(get(config, 'pc.header.i18n'))
20
+ const indexPage: Ref<Record<string, any>> = get(config, 'pc.indexPage')
21
+
22
+ const goGithub = () => {
23
+ window.open(github)
24
+ }
25
+
26
+ const getStar = () => {
27
+ router.push(`/${language.value}/home`)
28
+ }
29
+
30
+ const getThemeMessage = () => ({ action: 'theme-change', from: 'pc', data: currentTheme.value })
31
+
32
+ const setCurrentTheme = (theme: Theme) => {
33
+ currentTheme.value = theme
34
+ setTheme(config, currentTheme.value)
35
+ window.localStorage.setItem(get(config, 'themeKey'), currentTheme.value)
36
+ }
37
+
38
+ const toggleTheme = () => {
39
+ setCurrentTheme(currentTheme.value === 'darkTheme' ? 'lightTheme' : 'darkTheme')
40
+ window.postMessage(getThemeMessage(), '*')
41
+ ;(document.getElementById('mobile') as HTMLIFrameElement)?.contentWindow!.postMessage(getThemeMessage(), '*')
42
+ }
43
+
44
+ const setLocale = () => {
45
+ const { language: lang } = getPCLocationInfo()
46
+ if (!lang) return
47
+
48
+ language.value = lang
49
+ document.title = get(config, 'pc.title')[lang] as string
50
+ }
51
+
52
+ const toggleLanguages = () => {
53
+ const { language: lang } = getPCLocationInfo()
54
+
55
+ const { menuName } = getPCLocationInfo()
56
+ const replaceStr = `/${lang === 'zh-CN' ? 'en-US' : 'zh-CN'}/${menuName}`
57
+
58
+ language.value = lang
59
+ router.replace(replaceStr)
60
+ }
61
+
62
+ setTheme(config, currentTheme.value)
63
+
64
+ window.postMessage(getThemeMessage(), '*')
65
+
66
+ watchTheme((theme, from) => {
67
+ from === 'mobile' && setCurrentTheme(theme)
68
+ })
69
+
70
+ watch(() => route.path, setLocale, { immediate: true })
71
+ </script>
72
+
73
+ <template>
74
+ <div class="varlet-doc-index">
75
+ <div class="varlet-doc-index__layout">
76
+ <div class="varlet-doc-index__logo-container">
77
+ <div class="varlet-doc-index__logo-background-mask"></div>
78
+ <animation-box class="varlet-doc-index__logo" />
79
+ </div>
80
+
81
+ <div class="varlet-doc-index__title">{{ title }}</div>
82
+ <div class="varlet-doc-index__description">{{ indexPage.description[language] }}</div>
83
+ <div class="varlet-doc-index__link-button-group">
84
+ <var-button class="varlet-doc-index__link-button" text outline @click="goGithub">
85
+ <var-icon name="github" size="24px" />
86
+ </var-button>
87
+ <var-button class="varlet-doc-index__link-button" text outline v-if="darkMode" @click="toggleTheme">
88
+ <var-icon size="24px" :name="currentTheme === 'lightTheme' ? 'white-balance-sunny' : 'weather-night'" />
89
+ </var-button>
90
+ <var-button
91
+ class="varlet-doc-index__link-button"
92
+ text
93
+ outline
94
+ v-if="languages"
95
+ @click="toggleLanguages"
96
+ >
97
+ <var-icon name="translate" size="24px" />
98
+ </var-button>
99
+ <var-button class="varlet-doc-index__link-button" type="primary" style="line-height: 1.2" @click="getStar">
100
+ <span class="varlet-doc-index__link-button-text">{{ indexPage.started[language] }}</span>
101
+ <var-icon style="transform: rotate(-90deg)" name="arrow-down" size="24px" />
102
+ </var-button>
103
+ </div>
104
+
105
+ <div class="varlet-doc-index__features" v-if="indexPage.features">
106
+ <div class="varlet-doc-index__feature" v-for="feature in indexPage.features">
107
+ <div class="varlet-doc-index__feature-name">{{ feature.name[language] }}</div>
108
+ <div class="varlet-doc-index__feature-description">{{ feature.description[language] }}</div>
109
+ </div>
110
+ </div>
111
+
112
+ <div class="varlet-doc-index__contributors" v-if="indexPage.contributors">
113
+ <div class="varlet-doc-index__contributors-title">{{ indexPage.contributors.label[language] }}</div>
114
+
115
+ <a class="varlet-doc-index__contributors-link" :href="indexPage.contributors.link">
116
+ <img class="varlet-doc-index__contributors-image" :src="indexPage.contributors.image">
117
+ </a>
118
+ </div>
119
+
120
+ <div class="varlet-doc-index__footer">
121
+ <div class="varlet-doc-index__license">{{ indexPage.license[language] }}</div>
122
+ <div class="varlet-doc-index__copyright">{{ indexPage.copyright[language] }}</div>
123
+ </div>
124
+ </div>
125
+ </div>
126
+ </template>
127
+
128
+ <style lang="less" scoped>
129
+ @import './index';
130
+ </style>
@@ -1 +1 @@
1
- // this file used to generate route path ('/en-US/index')
1
+ // this file used to generate route path ('/en-US/index')
@@ -1 +1 @@
1
- // this file used to generate route path ('/zh-CN/index')
1
+ // this file used to generate route path ('/zh-CN/index')
@@ -1,11 +1,11 @@
1
- {
2
- "compilerOptions": {
3
- "target": "es5",
4
- "strict": true,
5
- "downlevelIteration": true,
6
- "skipLibCheck": true,
7
- "esModuleInterop": true,
8
- "jsx": "preserve",
9
- "lib": ["esnext", "dom"]
10
- }
11
- }
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es5",
4
+ "strict": true,
5
+ "downlevelIteration": true,
6
+ "skipLibCheck": true,
7
+ "esModuleInterop": true,
8
+ "jsx": "preserve",
9
+ "lib": ["esnext", "dom"]
10
+ }
11
+ }
@@ -1,72 +1,72 @@
1
- import Progress from './components/progress'
2
- import config from '@config'
3
- import { reactive } from 'vue'
4
- import { getBrowserTheme, mountInstance, Theme, watchTheme } from "./utils";
5
- import { get } from 'lodash-es'
6
-
7
- function getColor(theme?: Theme) {
8
- return get(config, `${theme ?? getBrowserTheme()}.color-progress`)
9
- }
10
-
11
- function getTrackColor(theme?: Theme) {
12
- return get(config, `${theme ?? getBrowserTheme()}.color-progress-track`)
13
- }
14
-
15
- export function useProgress() {
16
- let timer: number
17
- let currentTheme: Theme
18
-
19
- const trackColor = getTrackColor()
20
- const color = getColor()
21
-
22
- const props = reactive({
23
- style: {
24
- position: 'fixed',
25
- width: '100%',
26
- left: 0,
27
- top: 0,
28
- zIndex: 10086,
29
- },
30
- trackColor,
31
- color,
32
- lineWidth: 3,
33
- value: 0,
34
- })
35
-
36
- watchTheme((theme) => {
37
- currentTheme = theme
38
- props.trackColor = getTrackColor(theme)
39
- props.color = props.value === 100 ? getTrackColor(theme) : getColor(theme)
40
- }, false)
41
-
42
- const changeValue = () => {
43
- timer = window.setTimeout(() => {
44
- if (props.value >= 95) return
45
- let num = Math.random()
46
-
47
- if (props.value < 70) num = Math.round(5 * Math.random())
48
-
49
- props.value += num
50
- changeValue()
51
- }, 200)
52
- }
53
-
54
- const start = () => {
55
- props.value = 0
56
- setTimeout(() => (props.color = getColor(currentTheme)), 200)
57
- changeValue()
58
- }
59
-
60
- const end = () => {
61
- props.value = 100
62
- setTimeout(() => (props.color = getTrackColor(currentTheme)), 300)
63
- window.clearTimeout(timer)
64
- }
65
-
66
- mountInstance(Progress, props)
67
-
68
- return {
69
- start,
70
- end,
71
- }
72
- }
1
+ import Progress from './components/progress'
2
+ import config from '@config'
3
+ import { reactive } from 'vue'
4
+ import { getBrowserTheme, mountInstance, Theme, watchTheme } from "./utils";
5
+ import { get } from 'lodash-es'
6
+
7
+ function getColor(theme?: Theme) {
8
+ return get(config, `${theme ?? getBrowserTheme()}.color-progress`)
9
+ }
10
+
11
+ function getTrackColor(theme?: Theme) {
12
+ return get(config, `${theme ?? getBrowserTheme()}.color-progress-track`)
13
+ }
14
+
15
+ export function useProgress() {
16
+ let timer: number
17
+ let currentTheme: Theme
18
+
19
+ const trackColor = getTrackColor()
20
+ const color = getColor()
21
+
22
+ const props = reactive({
23
+ style: {
24
+ position: 'fixed',
25
+ width: '100%',
26
+ left: 0,
27
+ top: 0,
28
+ zIndex: 10086,
29
+ },
30
+ trackColor,
31
+ color,
32
+ lineWidth: 3,
33
+ value: 0,
34
+ })
35
+
36
+ watchTheme((theme) => {
37
+ currentTheme = theme
38
+ props.trackColor = getTrackColor(theme)
39
+ props.color = props.value === 100 ? getTrackColor(theme) : getColor(theme)
40
+ }, false)
41
+
42
+ const changeValue = () => {
43
+ timer = window.setTimeout(() => {
44
+ if (props.value >= 95) return
45
+ let num = Math.random()
46
+
47
+ if (props.value < 70) num = Math.round(5 * Math.random())
48
+
49
+ props.value += num
50
+ changeValue()
51
+ }, 200)
52
+ }
53
+
54
+ const start = () => {
55
+ props.value = 0
56
+ setTimeout(() => (props.color = getColor(currentTheme)), 200)
57
+ changeValue()
58
+ }
59
+
60
+ const end = () => {
61
+ props.value = 100
62
+ setTimeout(() => (props.color = getTrackColor(currentTheme)), 300)
63
+ window.clearTimeout(timer)
64
+ }
65
+
66
+ mountInstance(Progress, props)
67
+
68
+ return {
69
+ start,
70
+ end,
71
+ }
72
+ }