@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,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
+ }