@varlet/cli 1.27.14 → 1.27.17-alpha.1656907860130

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/LICENCE +21 -21
  2. package/README.en-US.md +401 -401
  3. package/README.md +396 -396
  4. package/generators/base/.prettierignore +9 -9
  5. package/generators/base/.prettierrc +5 -5
  6. package/generators/base/README.md +82 -82
  7. package/generators/base/babel.config.js +10 -10
  8. package/generators/base/public/highlight.css +1 -1
  9. package/generators/base/public/logo.svg +1 -1
  10. package/generators/base/shims/shims-md.d.ts +4 -4
  11. package/generators/base/shims/shims-vue.d.ts +6 -6
  12. package/generators/base/tsconfig.json +13 -13
  13. package/generators/config/default/base/docs/home.zh-CN.md +10 -10
  14. package/generators/config/default/base/package.json +1 -0
  15. package/generators/config/default/base/types/basicComponent.d.ts +7 -7
  16. package/generators/config/default/base/types/button.d.ts +12 -12
  17. package/generators/config/default/base/types/index.d.ts +6 -6
  18. package/generators/config/default/base/varlet.config.js +110 -110
  19. package/generators/config/default/sfc/src/button/Button.vue +30 -30
  20. package/generators/config/default/sfc/src/button/__tests__/index.spec.js +7 -7
  21. package/generators/config/default/sfc/src/button/button.less +14 -14
  22. package/generators/config/default/sfc/src/button/docs/zh-CN.md +47 -47
  23. package/generators/config/default/sfc/src/button/example/BasicUse.vue +7 -7
  24. package/generators/config/default/sfc/src/button/example/ModifyColor.vue +7 -7
  25. package/generators/config/default/sfc/src/button/example/index.vue +13 -13
  26. package/generators/config/default/sfc/src/button/index.ts +10 -10
  27. package/generators/config/default/tsx/src/button/Button.tsx +31 -31
  28. package/generators/config/default/tsx/src/button/__tests__/index.spec.js +7 -7
  29. package/generators/config/default/tsx/src/button/button.less +14 -14
  30. package/generators/config/default/tsx/src/button/docs/zh-CN.md +47 -47
  31. package/generators/config/default/tsx/src/button/example/BasicUse.vue +7 -7
  32. package/generators/config/default/tsx/src/button/example/ModifyColor.vue +7 -7
  33. package/generators/config/default/tsx/src/button/example/index.vue +13 -13
  34. package/generators/config/default/tsx/src/button/index.ts +10 -10
  35. package/generators/config/i18n/base/docs/home.en-US.md +11 -11
  36. package/generators/config/i18n/base/docs/home.zh-CN.md +10 -10
  37. package/generators/config/i18n/base/package.json +1 -0
  38. package/generators/config/i18n/base/types/basicComponent.d.ts +7 -7
  39. package/generators/config/i18n/base/types/button.d.ts +12 -12
  40. package/generators/config/i18n/base/types/index.d.ts +7 -7
  41. package/generators/config/i18n/base/types/locale.d.ts +24 -24
  42. package/generators/config/i18n/base/varlet.config.js +122 -122
  43. package/generators/config/i18n/sfc/src/button/Button.vue +36 -36
  44. package/generators/config/i18n/sfc/src/button/__tests__/index.spec.js +7 -7
  45. package/generators/config/i18n/sfc/src/button/button.less +14 -14
  46. package/generators/config/i18n/sfc/src/button/docs/en-US.md +34 -34
  47. package/generators/config/i18n/sfc/src/button/docs/zh-CN.md +34 -34
  48. package/generators/config/i18n/sfc/src/button/example/BasicUse.vue +11 -11
  49. package/generators/config/i18n/sfc/src/button/example/ModifyColor.vue +11 -11
  50. package/generators/config/i18n/sfc/src/button/example/index.vue +13 -13
  51. package/generators/config/i18n/sfc/src/button/example/locale/en-US.ts +5 -5
  52. package/generators/config/i18n/sfc/src/button/example/locale/index.ts +23 -23
  53. package/generators/config/i18n/sfc/src/button/example/locale/zh-CN.ts +5 -5
  54. package/generators/config/i18n/sfc/src/button/index.ts +10 -10
  55. package/generators/config/i18n/sfc/src/locale/__tests__/index.spec.js +51 -51
  56. package/generators/config/i18n/sfc/src/locale/docs/en-US.md +26 -26
  57. package/generators/config/i18n/sfc/src/locale/docs/zh-CN.md +25 -25
  58. package/generators/config/i18n/sfc/src/locale/en-US.d.ts +5 -5
  59. package/generators/config/i18n/sfc/src/locale/en-US.ts +7 -7
  60. package/generators/config/i18n/sfc/src/locale/index.ts +67 -67
  61. package/generators/config/i18n/sfc/src/locale/zh-CN.d.ts +5 -5
  62. package/generators/config/i18n/sfc/src/locale/zh-CN.ts +7 -7
  63. package/generators/config/i18n/tsx/src/button/Button.tsx +35 -35
  64. package/generators/config/i18n/tsx/src/button/__tests__/index.spec.js +7 -7
  65. package/generators/config/i18n/tsx/src/button/button.less +14 -14
  66. package/generators/config/i18n/tsx/src/button/docs/en-US.md +34 -34
  67. package/generators/config/i18n/tsx/src/button/docs/zh-CN.md +34 -34
  68. package/generators/config/i18n/tsx/src/button/example/BasicUse.vue +11 -11
  69. package/generators/config/i18n/tsx/src/button/example/ModifyColor.vue +11 -11
  70. package/generators/config/i18n/tsx/src/button/example/index.vue +13 -13
  71. package/generators/config/i18n/tsx/src/button/example/locale/en-US.ts +5 -5
  72. package/generators/config/i18n/tsx/src/button/example/locale/index.ts +23 -23
  73. package/generators/config/i18n/tsx/src/button/example/locale/zh-CN.ts +5 -5
  74. package/generators/config/i18n/tsx/src/button/index.ts +10 -10
  75. package/generators/config/i18n/tsx/src/locale/__tests__/index.spec.js +51 -51
  76. package/generators/config/i18n/tsx/src/locale/docs/en-US.md +26 -26
  77. package/generators/config/i18n/tsx/src/locale/docs/zh-CN.md +25 -25
  78. package/generators/config/i18n/tsx/src/locale/en-US.d.ts +5 -5
  79. package/generators/config/i18n/tsx/src/locale/en-US.ts +7 -7
  80. package/generators/config/i18n/tsx/src/locale/index.ts +67 -67
  81. package/generators/config/i18n/tsx/src/locale/zh-CN.d.ts +5 -5
  82. package/generators/config/i18n/tsx/src/locale/zh-CN.ts +7 -7
  83. package/lib/commands/build.d.ts +1 -1
  84. package/lib/commands/build.js +67 -67
  85. package/lib/commands/changelog.d.ts +6 -6
  86. package/lib/commands/changelog.js +27 -27
  87. package/lib/commands/commitLint.d.ts +1 -1
  88. package/lib/commands/commitLint.js +21 -21
  89. package/lib/commands/compile.d.ts +5 -5
  90. package/lib/commands/compile.js +119 -119
  91. package/lib/commands/create.d.ts +3 -3
  92. package/lib/commands/create.js +132 -132
  93. package/lib/commands/dev.d.ts +3 -3
  94. package/lib/commands/dev.js +123 -123
  95. package/lib/commands/gen.d.ts +1 -1
  96. package/lib/commands/gen.js +112 -112
  97. package/lib/commands/jest.d.ts +8 -8
  98. package/lib/commands/jest.js +81 -81
  99. package/lib/commands/lint.d.ts +1 -1
  100. package/lib/commands/lint.js +123 -123
  101. package/lib/commands/preview.d.ts +1 -1
  102. package/lib/commands/preview.js +74 -74
  103. package/lib/commands/release.d.ts +3 -3
  104. package/lib/commands/release.js +267 -269
  105. package/lib/compiler/compileModule.d.ts +5 -5
  106. package/lib/compiler/compileModule.js +186 -186
  107. package/lib/compiler/compileSFC.d.ts +2 -2
  108. package/lib/compiler/compileSFC.js +132 -132
  109. package/lib/compiler/compileScript.d.ts +17 -17
  110. package/lib/compiler/compileScript.js +202 -201
  111. package/lib/compiler/compileSiteEntry.d.ts +13 -13
  112. package/lib/compiler/compileSiteEntry.js +237 -237
  113. package/lib/compiler/compileStyle.d.ts +11 -11
  114. package/lib/compiler/compileStyle.js +101 -101
  115. package/lib/compiler/compileTemplateHighlight.d.ts +10 -10
  116. package/lib/compiler/compileTemplateHighlight.js +193 -193
  117. package/lib/compiler/compileTypes.d.ts +2 -2
  118. package/lib/compiler/compileTypes.js +88 -88
  119. package/lib/config/babel.config.d.ts +2 -2
  120. package/lib/config/babel.config.js +31 -31
  121. package/lib/config/babel.sfc.transform.d.ts +1 -1
  122. package/lib/config/babel.sfc.transform.js +18 -18
  123. package/lib/config/jest.config.d.ts +1 -1
  124. package/lib/config/jest.config.js +36 -36
  125. package/lib/config/jest.media.mock.js +2 -2
  126. package/lib/config/jest.style.mock.js +2 -2
  127. package/lib/config/varlet.config.d.ts +1 -1
  128. package/lib/config/varlet.config.js +24 -24
  129. package/lib/config/vite.config.d.ts +5 -5
  130. package/lib/config/vite.config.js +162 -162
  131. package/lib/index.d.ts +2 -2
  132. package/lib/index.js +83 -83
  133. package/lib/shared/constant.d.ts +43 -43
  134. package/lib/shared/constant.js +50 -50
  135. package/lib/shared/fsUtils.d.ts +12 -16
  136. package/lib/shared/fsUtils.js +108 -116
  137. package/lib/shared/logger.d.ts +7 -7
  138. package/lib/shared/logger.js +20 -20
  139. package/package.json +7 -8
  140. package/preset.js +3 -3
  141. package/site/components/button/Button.vue +84 -84
  142. package/site/components/button/button.less +183 -183
  143. package/site/components/button/index.ts +10 -10
  144. package/site/components/button/props.ts +70 -70
  145. package/site/components/cell/Cell.vue +42 -42
  146. package/site/components/cell/cell.less +74 -74
  147. package/site/components/cell/index.ts +10 -10
  148. package/site/components/cell/props.ts +27 -27
  149. package/site/components/code-example/CodeExample.vue +143 -143
  150. package/site/components/code-example/codeExample.less +41 -41
  151. package/site/components/code-example/index.ts +10 -10
  152. package/site/components/context/index.ts +17 -17
  153. package/site/components/context/lock.ts +103 -103
  154. package/site/components/context/zIndex.ts +20 -20
  155. package/site/components/icon/Icon.vue +68 -68
  156. package/site/components/icon/icon.less +26 -26
  157. package/site/components/icon/index.ts +10 -10
  158. package/site/components/icon/props.ts +24 -24
  159. package/site/components/loading/Loading.vue +55 -55
  160. package/site/components/loading/index.ts +10 -10
  161. package/site/components/loading/loading.less +420 -420
  162. package/site/components/loading/props.ts +37 -37
  163. package/site/components/progress/Progress.vue +108 -108
  164. package/site/components/progress/index.ts +10 -10
  165. package/site/components/progress/progress.less +98 -98
  166. package/site/components/progress/props.ts +55 -55
  167. package/site/components/ripple/index.ts +167 -167
  168. package/site/components/ripple/ripple.less +17 -17
  169. package/site/components/snackbar/Snackbar.vue +38 -38
  170. package/site/components/snackbar/core.vue +117 -117
  171. package/site/components/snackbar/index.tsx +270 -270
  172. package/site/components/snackbar/props.ts +94 -94
  173. package/site/components/snackbar/snackbar.less +135 -135
  174. package/site/components/styles/common.less +64 -64
  175. package/site/components/styles/elevation.less +126 -126
  176. package/site/components/styles/var.less +27 -27
  177. package/site/components/utils/components.ts +69 -69
  178. package/site/components/utils/elements.ts +85 -85
  179. package/site/index.html +49 -49
  180. package/site/mobile/App.vue +291 -291
  181. package/site/mobile/components/AppHome.vue +134 -134
  182. package/site/mobile/components/AppType.vue +22 -22
  183. package/site/mobile/components/app-bar/AppBar.vue +69 -69
  184. package/site/mobile/components/app-bar/appBar.less +56 -56
  185. package/site/mobile/components/app-bar/index.ts +10 -10
  186. package/site/mobile/components/app-bar/props.ts +25 -25
  187. package/site/mobile/components/styles/common.less +64 -64
  188. package/site/mobile/components/styles/elevation.less +126 -126
  189. package/site/mobile/components/styles/var.less +27 -27
  190. package/site/mobile/main.ts +74 -74
  191. package/site/mobile.html +41 -41
  192. package/site/module.d.ts +5 -5
  193. package/site/pc/App.vue +43 -43
  194. package/site/pc/Layout.vue +397 -397
  195. package/site/pc/components/AnimationBox.vue +45 -45
  196. package/site/pc/components/AppHeader.vue +355 -355
  197. package/site/pc/components/AppMobile.vue +54 -54
  198. package/site/pc/components/AppSidebar.vue +134 -134
  199. package/site/pc/components/LogoAnimation.vue +119 -119
  200. package/site/pc/floating.ts +9 -9
  201. package/site/pc/main.ts +94 -94
  202. package/site/pc/pages/index/index.less +194 -194
  203. package/site/pc/pages/index/index.vue +128 -125
  204. package/site/pc/pages/index/locale/en-US.ts +3 -5
  205. package/site/pc/pages/index/locale/zh-CN.ts +3 -5
  206. package/site/tsconfig.json +11 -11
  207. package/site/useProgress.ts +75 -75
  208. package/site/utils.ts +153 -162
  209. package/tsconfig.json +14 -14
  210. package/varlet.default.config.js +151 -145
  211. package/site/components/utils/shared.ts +0 -29
package/site/utils.ts CHANGED
@@ -1,162 +1,153 @@
1
- import { onMounted, onUnmounted } from 'vue'
2
- import { get } from 'lodash-es'
3
- import { formatStyleVars } from './components/utils/elements'
4
-
5
- export * from './components/utils/components'
6
- export * from './components/utils/elements'
7
- export * from './components/utils/shared'
8
-
9
- export type StyleVars = Record<string, string>
10
-
11
- const mountedVarKeys: string[] = []
12
-
13
- function StyleProvider(styleVars: StyleVars | null = {}) {
14
- mountedVarKeys.forEach((key) => document.documentElement.style.removeProperty(key))
15
- mountedVarKeys.length = 0
16
-
17
- const styles: StyleVars = formatStyleVars(styleVars)
18
- Object.entries(styles).forEach(([key, value]) => {
19
- document.documentElement.style.setProperty(key, value)
20
- mountedVarKeys.push(key)
21
- })
22
- }
23
-
24
- export function camelize(str: string): string {
25
- return str.replace(/-(\w)/g, (_: any, p: string) => p.toUpperCase())
26
- }
27
-
28
- export function bigCamelize(str: string): string {
29
- return camelize(str).replace(str.charAt(0), str.charAt(0).toUpperCase())
30
- }
31
-
32
- export interface PCLocationInfo {
33
- language: string
34
- menuName: string
35
- }
36
-
37
- export function getPCLocationInfo(): PCLocationInfo {
38
- const [, language, menuName] = window.location.hash.split('/')
39
-
40
- return {
41
- language,
42
- menuName,
43
- }
44
- }
45
-
46
- export function isPhone() {
47
- return /Android|webOS|iPhone|iPod|BlackBerry|Pad/i.test(navigator.userAgent)
48
- }
49
-
50
- export enum MenuTypes {
51
- TITLE = 1,
52
- COMPONENT = 2,
53
- DOCUMENTATION = 3,
54
- }
55
-
56
- export function inIframe() {
57
- return window.self !== window.top
58
- }
59
-
60
- export function removeEmpty(object: Record<string, string> = {}) {
61
- return Object.keys(object).reduce((record: Record<string, string>, key) => {
62
- const value = object[key]
63
- value && (record[key] = value)
64
- return record
65
- }, {})
66
- }
67
-
68
- export function getHashSearch() {
69
- const { href } = window.location
70
- const hashSearch = href.slice(href.indexOf('?'))
71
-
72
- return new URLSearchParams(hashSearch)
73
- }
74
-
75
- export function watchLang(cb: (lang: string) => void, platform: 'pc' | 'mobile' = 'mobile') {
76
- const handleHashchange = () => {
77
- const language = platform === 'mobile' ? getHashSearch().get('language') ?? 'zh-CN' : getPCLocationInfo().language
78
-
79
- cb(language)
80
- }
81
-
82
- addRouteListener(handleHashchange)
83
-
84
- handleHashchange()
85
- }
86
-
87
- export function watchPlatform(cb: (platform: string) => void) {
88
- const handleHashchange = () => {
89
- const platform = getHashSearch().get('platform') ?? 'mobile'
90
- cb(platform)
91
- }
92
-
93
- addRouteListener(handleHashchange)
94
-
95
- handleHashchange()
96
- }
97
-
98
- export function watchThemes(
99
- cb: (themes: 'themes' | 'darkThemes', from: 'pc' | 'mobile' | 'default') => void,
100
- shouldUnmount = true
101
- ) {
102
- const handleThemesChange = (event: MessageEvent) => {
103
- const { data } = event
104
- if (data.action === 'themesChange') {
105
- cb(data.data, data.from)
106
- }
107
- }
108
-
109
- window.addEventListener('message', handleThemesChange)
110
-
111
- if (shouldUnmount) {
112
- onUnmounted(() => {
113
- window.removeEventListener('message', handleThemesChange)
114
- })
115
- }
116
-
117
- cb(getBrowserThemes(), 'default')
118
- }
119
-
120
- export function addRouteListener(cb: () => void) {
121
- onMounted(() => {
122
- window.addEventListener('hashchange', cb)
123
- window.addEventListener('popstate', cb)
124
- })
125
- onUnmounted(() => {
126
- window.removeEventListener('hashchange', cb)
127
- window.removeEventListener('popstate', cb)
128
- })
129
- }
130
-
131
- export function setThemes(config: Record<string, any>, name: 'themes' | 'darkThemes') {
132
- const themes = get(config, name, {})
133
- const styleVars = Object.entries(themes).reduce((styleVars, [key, value]) => {
134
- styleVars[`--site-config-${key}`] = value as string
135
- return styleVars
136
- }, {} as StyleVars)
137
-
138
- StyleProvider(styleVars)
139
- }
140
-
141
- export function getBrowserThemes(themes = 'VARLET_THEMES'): 'darkThemes' | 'themes' {
142
- let currentThemes = window.localStorage.getItem(themes) as 'darkThemes' | 'themes'
143
-
144
- if (!currentThemes) {
145
- currentThemes = window.matchMedia?.('(prefers-color-scheme: dark)').matches ? 'darkThemes' : 'themes'
146
- window.localStorage.setItem(themes, currentThemes)
147
- }
148
-
149
- return currentThemes
150
- }
151
-
152
- export function watchDarkMode(dark: StyleVars, cb?: (themes: 'darkThemes' | 'themes') => void) {
153
- watchThemes((themes) => {
154
- StyleProvider(themes === 'darkThemes' ? dark : null)
155
-
156
- cb?.(themes)
157
- })
158
- }
159
-
160
- export function utoa(data: string): string {
161
- return btoa(unescape(encodeURIComponent(data)))
162
- }
1
+ import { onMounted, onUnmounted } from 'vue'
2
+ import { get } from 'lodash-es'
3
+ import { formatStyleVars } from './components/utils/elements'
4
+
5
+ export * from './components/utils/components'
6
+ export * from './components/utils/elements'
7
+
8
+ export type StyleVars = Record<string, string>
9
+
10
+ const mountedVarKeys: string[] = []
11
+
12
+ function StyleProvider(styleVars: StyleVars | null = {}) {
13
+ mountedVarKeys.forEach((key) => document.documentElement.style.removeProperty(key))
14
+ mountedVarKeys.length = 0
15
+
16
+ const styles: StyleVars = formatStyleVars(styleVars)
17
+ Object.entries(styles).forEach(([key, value]) => {
18
+ document.documentElement.style.setProperty(key, value)
19
+ mountedVarKeys.push(key)
20
+ })
21
+ }
22
+
23
+ export interface PCLocationInfo {
24
+ language: string
25
+ menuName: string
26
+ }
27
+
28
+ export function getPCLocationInfo(): PCLocationInfo {
29
+ const [, language, menuName] = window.location.hash.split('/')
30
+
31
+ return {
32
+ language,
33
+ menuName,
34
+ }
35
+ }
36
+
37
+ export function isPhone() {
38
+ return /Android|webOS|iPhone|iPod|BlackBerry|Pad/i.test(navigator.userAgent)
39
+ }
40
+
41
+ export enum MenuTypes {
42
+ TITLE = 1,
43
+ COMPONENT = 2,
44
+ DOCUMENTATION = 3,
45
+ }
46
+
47
+ export function inIframe() {
48
+ return window.self !== window.top
49
+ }
50
+
51
+ export function removeEmpty(object: Record<string, string> = {}) {
52
+ return Object.keys(object).reduce((record: Record<string, string>, key) => {
53
+ const value = object[key]
54
+ value && (record[key] = value)
55
+ return record
56
+ }, {})
57
+ }
58
+
59
+ export function getHashSearch() {
60
+ const { href } = window.location
61
+ const hashSearch = href.slice(href.indexOf('?'))
62
+
63
+ return new URLSearchParams(hashSearch)
64
+ }
65
+
66
+ export function watchLang(cb: (lang: string) => void, platform: 'pc' | 'mobile' = 'mobile') {
67
+ const handleHashchange = () => {
68
+ const language = platform === 'mobile' ? getHashSearch().get('language') ?? 'zh-CN' : getPCLocationInfo().language
69
+
70
+ cb(language)
71
+ }
72
+
73
+ addRouteListener(handleHashchange)
74
+
75
+ handleHashchange()
76
+ }
77
+
78
+ export function watchPlatform(cb: (platform: string) => void) {
79
+ const handleHashchange = () => {
80
+ const platform = getHashSearch().get('platform') ?? 'mobile'
81
+ cb(platform)
82
+ }
83
+
84
+ addRouteListener(handleHashchange)
85
+
86
+ handleHashchange()
87
+ }
88
+
89
+ export function watchThemes(
90
+ cb: (themes: 'themes' | 'darkThemes', from: 'pc' | 'mobile' | 'default') => void,
91
+ shouldUnmount = true
92
+ ) {
93
+ const handleThemesChange = (event: MessageEvent) => {
94
+ const { data } = event
95
+ if (data.action === 'themesChange') {
96
+ cb(data.data, data.from)
97
+ }
98
+ }
99
+
100
+ window.addEventListener('message', handleThemesChange)
101
+
102
+ if (shouldUnmount) {
103
+ onUnmounted(() => {
104
+ window.removeEventListener('message', handleThemesChange)
105
+ })
106
+ }
107
+
108
+ cb(getBrowserThemes(), 'default')
109
+ }
110
+
111
+ export function addRouteListener(cb: () => void) {
112
+ onMounted(() => {
113
+ window.addEventListener('hashchange', cb)
114
+ window.addEventListener('popstate', cb)
115
+ })
116
+ onUnmounted(() => {
117
+ window.removeEventListener('hashchange', cb)
118
+ window.removeEventListener('popstate', cb)
119
+ })
120
+ }
121
+
122
+ export function setThemes(config: Record<string, any>, name: 'themes' | 'darkThemes') {
123
+ const themes = get(config, name, {})
124
+ const styleVars = Object.entries(themes).reduce((styleVars, [key, value]) => {
125
+ styleVars[`--site-config-${key}`] = value as string
126
+ return styleVars
127
+ }, {} as StyleVars)
128
+
129
+ StyleProvider(styleVars)
130
+ }
131
+
132
+ export function getBrowserThemes(themes = 'VARLET_THEMES'): 'darkThemes' | 'themes' {
133
+ let currentThemes = window.localStorage.getItem(themes) as 'darkThemes' | 'themes'
134
+
135
+ if (!currentThemes) {
136
+ currentThemes = window.matchMedia?.('(prefers-color-scheme: dark)').matches ? 'darkThemes' : 'themes'
137
+ window.localStorage.setItem(themes, currentThemes)
138
+ }
139
+
140
+ return currentThemes
141
+ }
142
+
143
+ export function watchDarkMode(dark: StyleVars, cb?: (themes: 'darkThemes' | 'themes') => void) {
144
+ watchThemes((themes) => {
145
+ StyleProvider(themes === 'darkThemes' ? dark : null)
146
+
147
+ cb?.(themes)
148
+ })
149
+ }
150
+
151
+ export function utoa(data: string): string {
152
+ return btoa(unescape(encodeURIComponent(data)))
153
+ }
package/tsconfig.json CHANGED
@@ -1,14 +1,14 @@
1
- {
2
- "compilerOptions": {
3
- "outDir": "./lib",
4
- "target": "es5",
5
- "strict": true,
6
- "downlevelIteration": true,
7
- "declaration": true,
8
- "skipLibCheck": true,
9
- "esModuleInterop": true,
10
- "jsx": "preserve",
11
- "lib": ["esnext", "dom"]
12
- },
13
- "include": ["src/**/*"]
14
- }
1
+ {
2
+ "compilerOptions": {
3
+ "outDir": "./lib",
4
+ "target": "es5",
5
+ "strict": true,
6
+ "downlevelIteration": true,
7
+ "declaration": true,
8
+ "skipLibCheck": true,
9
+ "esModuleInterop": true,
10
+ "jsx": "preserve",
11
+ "lib": ["esnext", "dom"]
12
+ },
13
+ "include": ["src/**/*"]
14
+ }
@@ -1,145 +1,151 @@
1
- module.exports = {
2
- name: 'Varlet',
3
- namespace: 'var',
4
- host: 'localhost',
5
- port: 8080,
6
- title: 'VARLET',
7
- themesKey: 'VARLET_THEMES',
8
- logo: 'https://varlet-varletjs.vercel.app/varlet_icon.png',
9
- defaultLanguage: 'zh-CN',
10
- highlight: {
11
- /**
12
- * @see https://highlightjs.org/
13
- */
14
- style: '//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.3.2/styles/nord.min.css',
15
- },
16
- analysis: {
17
- baidu: '',
18
- },
19
- useMobile: false,
20
- pc: {
21
- menu: [],
22
- redirect: '/index',
23
- title: {
24
- 'zh-CN': '面向 Vue3 的 Material 风格移动端组件库',
25
- 'en-US': 'Material design mobile components built for Vue3',
26
- },
27
- header: {
28
- i18n: {
29
- 'zh-CN': '中文',
30
- 'en-US': 'English',
31
- },
32
- versions: null,
33
- github: 'https://github.com/varletjs/varlet',
34
- playground: 'https://varlet-ui-playground.vercel.app',
35
- darkMode: true,
36
- },
37
- clipboard: {
38
- 'zh-CN': '代码已复制到剪切板',
39
- 'en-US': 'The code has been copied to the clipboard',
40
- },
41
- fold: {
42
- defaultFold: false,
43
- foldHeight: 50,
44
- },
45
- },
46
- mobile: {
47
- redirect: '/home',
48
- title: {
49
- 'zh-CN': '面向 Vue3 的 Material 风格移动端组件库',
50
- 'en-US': 'Material design mobile components built for Vue3',
51
- },
52
- header: {
53
- i18n: {
54
- 'zh-CN': '中文',
55
- 'en-US': 'English',
56
- },
57
- github: 'https://github.com/varletjs/varlet',
58
- darkMode: true,
59
- },
60
- },
61
- themes: {
62
- 'color-body': '#fff',
63
- 'color-home-page-background': '#fff',
64
- 'color-home-page-slash': '#ccc',
65
- 'color-home-page-primary-button-background': '#3a7afe',
66
- 'color-home-page-extra-button-background': '#f5f5f5',
67
- 'color-home-page-github-button-background': '#212121',
68
- 'color-bar': '#fff',
69
- 'color-sub-bar': '#f5f5f5',
70
- 'color-text': '#555',
71
- 'color-sub-text': '#888',
72
- 'color-border': 'rgba(0, 0, 0, 0.12)',
73
- 'color-shadow': '#eee',
74
- 'color-introduce-border': '#2196f3',
75
- 'color-primary': '#2196f3',
76
- 'color-link': '#00c48f',
77
- 'color-type': '#00c48f',
78
- 'color-progress': '#1d92e9',
79
- 'color-progress-track': 'transparent',
80
- 'color-side-bar': '#3a7afe',
81
- 'color-side-bar-active-background': '#3a7afe1a',
82
- 'color-app-bar': '#3a7afe',
83
- 'color-nav-button-hover-background': 'rgba(0, 0, 0, 0.08)',
84
- 'color-mobile-cell-hover': '#3a7afe',
85
- 'color-pc-language-active': '#3a7afe',
86
- 'color-pc-language-active-background': '#edf5ff',
87
- 'color-pc-github-active-background': '#212121',
88
- 'color-mobile-language-active': '#3a7afe',
89
- 'color-mobile-language-active-background': '#edf5ff',
90
- 'color-hl-background': '#fafafa',
91
- 'color-hl-code': '#58727e',
92
- 'color-hl-border': '#f3f3f3',
93
- 'color-hl-group-a': '#7c7c7c',
94
- 'color-hl-group-b': '#2196f3',
95
- 'color-hl-group-c': '#ff9422',
96
- 'color-hl-group-d': '#58c193',
97
- 'color-hl-group-e': '#ff9422',
98
- 'color-hl-group-f': '#ff9422',
99
- 'color-hl-group-g': '#ff9422',
100
- 'color-hl-group-h': '#06a6e9',
101
- 'color-hl-group-i': '#f23733',
102
- },
103
- darkThemes: {
104
- 'color-body': '#121212',
105
- 'color-home-page-background': 'linear-gradient(to right, #1e1e1e, #272727)',
106
- 'color-home-page-slash': '#111',
107
- 'color-home-page-primary-button-background': '#4a7afe',
108
- 'color-home-page-extra-button-background': '#303030',
109
- 'color-home-page-github-button-background': '#303030',
110
- 'color-bar': '#1e1e1e',
111
- 'color-sub-bar': '#272727',
112
- 'color-text': '#fff',
113
- 'color-sub-text': '#aaa',
114
- 'color-border': '#333',
115
- 'color-shadow': '#121212',
116
- 'color-introduce-border': '#555',
117
- 'color-primary': '#96cbfe',
118
- 'color-link': '#A8FFC4',
119
- 'color-type': '#A8FFC4',
120
- 'color-progress': '#5580f8',
121
- 'color-progress-track': 'transparent',
122
- 'color-side-bar': '#4a7afe',
123
- 'color-side-bar-active-background': '#4a7afe1a',
124
- 'color-app-bar': '#272727',
125
- 'color-nav-button-hover-background': 'rgba(255, 255, 255, 0.08)',
126
- 'color-mobile-cell-hover': '#4a7afe',
127
- 'color-pc-language-active': '#4a7afe',
128
- 'color-pc-language-active-background': '#4a7afe20',
129
- 'color-pc-github-active-background': '#303030',
130
- 'color-mobile-language-active': '#4a7afe',
131
- 'color-mobile-language-active-background': '#4a7afe20',
132
- 'color-hl-background': '#272727',
133
- 'color-hl-code': '#fff',
134
- 'color-hl-border': '#272727',
135
- 'color-hl-group-a': '#7c7c7c',
136
- 'color-hl-group-b': '#96cbfe',
137
- 'color-hl-group-c': '#ff7b1e',
138
- 'color-hl-group-d': '#A8FFC4',
139
- 'color-hl-group-e': '#ff7b1e',
140
- 'color-hl-group-f': '#ff7b1e',
141
- 'color-hl-group-g': '#ff7b1e',
142
- 'color-hl-group-h': '#14a6e9',
143
- 'color-hl-group-i': '#ed4648',
144
- },
145
- }
1
+ module.exports = {
2
+ name: 'Varlet',
3
+ namespace: 'var',
4
+ host: 'localhost',
5
+ port: 8080,
6
+ title: 'VARLET',
7
+ themesKey: 'VARLET_THEMES',
8
+ logo: 'https://varlet-varletjs.vercel.app/varlet_icon.png',
9
+ defaultLanguage: 'zh-CN',
10
+ highlight: {
11
+ /**
12
+ * @see https://highlightjs.org/
13
+ */
14
+ style: '//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.3.2/styles/nord.min.css',
15
+ },
16
+ analysis: {
17
+ baidu: '',
18
+ },
19
+ useMobile: false,
20
+ pc: {
21
+ menu: [],
22
+ redirect: '/index',
23
+ title: {
24
+ 'zh-CN': '面向 Vue3 的 Material 风格移动端组件库',
25
+ 'en-US': 'Material design mobile components built for Vue3',
26
+ },
27
+ header: {
28
+ i18n: {
29
+ 'zh-CN': '中文',
30
+ 'en-US': 'English',
31
+ },
32
+ versions: null,
33
+ github: 'https://github.com/varletjs/varlet',
34
+ playground: 'https://varlet-ui-playground.vercel.app',
35
+ darkMode: true,
36
+ },
37
+ description: {
38
+ 'zh-CN':
39
+ 'Varlet 是一个基于 Vue3 开发的 Material 风格移动端组件库,全面拥抱 Vue3 生态,由社区团队维护。支持 Typescript、按需引入、暗黑模式、主题定制、国际化,并提供 VSCode 插件保障良好的开发体验',
40
+ 'en-US':
41
+ 'Varlet is a Material design mobile component library developed based on Vue3, developed and maintained by partners in the community. Support Typescript, import on demand, dark mode, theme customization, internationalization, and provide VSCode plugin to ensure a good development experience',
42
+ },
43
+ clipboard: {
44
+ 'zh-CN': '代码已复制到剪切板',
45
+ 'en-US': 'The code has been copied to the clipboard',
46
+ },
47
+ fold: {
48
+ defaultFold: false,
49
+ foldHeight: 50,
50
+ },
51
+ },
52
+ mobile: {
53
+ redirect: '/home',
54
+ title: {
55
+ 'zh-CN': '面向 Vue3 的 Material 风格移动端组件库',
56
+ 'en-US': 'Material design mobile components built for Vue3',
57
+ },
58
+ header: {
59
+ i18n: {
60
+ 'zh-CN': '中文',
61
+ 'en-US': 'English',
62
+ },
63
+ github: 'https://github.com/varletjs/varlet',
64
+ darkMode: true,
65
+ },
66
+ },
67
+ themes: {
68
+ 'color-body': '#fff',
69
+ 'color-home-page-background': '#fff',
70
+ 'color-home-page-slash': '#ccc',
71
+ 'color-home-page-primary-button-background': '#3a7afe',
72
+ 'color-home-page-extra-button-background': '#f5f5f5',
73
+ 'color-home-page-github-button-background': '#212121',
74
+ 'color-bar': '#fff',
75
+ 'color-sub-bar': '#f5f5f5',
76
+ 'color-text': '#555',
77
+ 'color-sub-text': '#888',
78
+ 'color-border': 'rgba(0, 0, 0, 0.12)',
79
+ 'color-shadow': '#eee',
80
+ 'color-introduce-border': '#2196f3',
81
+ 'color-primary': '#2196f3',
82
+ 'color-link': '#00c48f',
83
+ 'color-type': '#00c48f',
84
+ 'color-progress': '#1d92e9',
85
+ 'color-progress-track': 'transparent',
86
+ 'color-side-bar': '#3a7afe',
87
+ 'color-side-bar-active-background': '#3a7afe1a',
88
+ 'color-app-bar': '#3a7afe',
89
+ 'color-nav-button-hover-background': 'rgba(0, 0, 0, 0.08)',
90
+ 'color-mobile-cell-hover': '#3a7afe',
91
+ 'color-pc-language-active': '#3a7afe',
92
+ 'color-pc-language-active-background': '#edf5ff',
93
+ 'color-pc-github-active-background': '#212121',
94
+ 'color-mobile-language-active': '#3a7afe',
95
+ 'color-mobile-language-active-background': '#edf5ff',
96
+ 'color-hl-background': '#fafafa',
97
+ 'color-hl-code': '#58727e',
98
+ 'color-hl-border': '#f3f3f3',
99
+ 'color-hl-group-a': '#7c7c7c',
100
+ 'color-hl-group-b': '#2196f3',
101
+ 'color-hl-group-c': '#ff9422',
102
+ 'color-hl-group-d': '#58c193',
103
+ 'color-hl-group-e': '#ff9422',
104
+ 'color-hl-group-f': '#ff9422',
105
+ 'color-hl-group-g': '#ff9422',
106
+ 'color-hl-group-h': '#06a6e9',
107
+ 'color-hl-group-i': '#f23733',
108
+ },
109
+ darkThemes: {
110
+ 'color-body': '#121212',
111
+ 'color-home-page-background': 'linear-gradient(to right, #1e1e1e, #272727)',
112
+ 'color-home-page-slash': '#111',
113
+ 'color-home-page-primary-button-background': '#4a7afe',
114
+ 'color-home-page-extra-button-background': '#303030',
115
+ 'color-home-page-github-button-background': '#303030',
116
+ 'color-bar': '#1e1e1e',
117
+ 'color-sub-bar': '#272727',
118
+ 'color-text': '#fff',
119
+ 'color-sub-text': '#aaa',
120
+ 'color-border': '#333',
121
+ 'color-shadow': '#121212',
122
+ 'color-introduce-border': '#555',
123
+ 'color-primary': '#96cbfe',
124
+ 'color-link': '#A8FFC4',
125
+ 'color-type': '#A8FFC4',
126
+ 'color-progress': '#5580f8',
127
+ 'color-progress-track': 'transparent',
128
+ 'color-side-bar': '#4a7afe',
129
+ 'color-side-bar-active-background': '#4a7afe1a',
130
+ 'color-app-bar': '#272727',
131
+ 'color-nav-button-hover-background': 'rgba(255, 255, 255, 0.08)',
132
+ 'color-mobile-cell-hover': '#4a7afe',
133
+ 'color-pc-language-active': '#4a7afe',
134
+ 'color-pc-language-active-background': '#4a7afe20',
135
+ 'color-pc-github-active-background': '#303030',
136
+ 'color-mobile-language-active': '#4a7afe',
137
+ 'color-mobile-language-active-background': '#4a7afe20',
138
+ 'color-hl-background': '#272727',
139
+ 'color-hl-code': '#fff',
140
+ 'color-hl-border': '#272727',
141
+ 'color-hl-group-a': '#7c7c7c',
142
+ 'color-hl-group-b': '#96cbfe',
143
+ 'color-hl-group-c': '#ff7b1e',
144
+ 'color-hl-group-d': '#A8FFC4',
145
+ 'color-hl-group-e': '#ff7b1e',
146
+ 'color-hl-group-f': '#ff7b1e',
147
+ 'color-hl-group-g': '#ff7b1e',
148
+ 'color-hl-group-h': '#14a6e9',
149
+ 'color-hl-group-i': '#ed4648',
150
+ },
151
+ }