Commit 4d7001bbcf3ff6e62deb967cb1c15b443b8aaff4
1 parent
27c6f690
refactor(design): add windicss
Showing
32 changed files
with
140 additions
and
359 deletions
.env.production
@@ -10,7 +10,7 @@ VITE_DROP_CONSOLE = true | @@ -10,7 +10,7 @@ VITE_DROP_CONSOLE = true | ||
10 | # Whether to enable gizp or brotli compression | 10 | # Whether to enable gizp or brotli compression |
11 | # Optional: gzip | brotli | none | 11 | # Optional: gzip | brotli | none |
12 | # If you need multiple forms, you can use `,` to separate | 12 | # If you need multiple forms, you can use `,` to separate |
13 | -VITE_BUILD_COMPRESS = 'gzip' | 13 | +VITE_BUILD_COMPRESS = 'none' |
14 | 14 | ||
15 | # Basic interface address SPA | 15 | # Basic interface address SPA |
16 | VITE_GLOB_API_URL=/api | 16 | VITE_GLOB_API_URL=/api |
.vscode/extensions.json
.vscode/settings.json
1 | { | 1 | { |
2 | "typescript.tsdk": "./node_modules/typescript/lib", | 2 | "typescript.tsdk": "./node_modules/typescript/lib", |
3 | + "volar.tsPlugin": true, | ||
4 | + "volar.tsPluginStatus": false, | ||
3 | //=========================================== | 5 | //=========================================== |
4 | //============= Editor ====================== | 6 | //============= Editor ====================== |
5 | //=========================================== | 7 | //=========================================== |
CHANGELOG.zh_CN.md
1 | ## Wip | 1 | ## Wip |
2 | 2 | ||
3 | +### ✨ Refactor | ||
4 | + | ||
5 | +- 移除`global.less`,`mixin.less`,`design/helper`,由`windicss`代替,有用到的需要修改对应的样式 | ||
6 | + | ||
3 | ### ✨ Features | 7 | ### ✨ Features |
4 | 8 | ||
5 | - useModal 新增返回值函数 `redoModalHeight`,用于在 modal 内为动态内容时刷新 modal 高度 | 9 | - useModal 新增返回值函数 `redoModalHeight`,用于在 modal 内为动态内容时刷新 modal 高度 |
6 | - 升级 husky 到 5.0 | 10 | - 升级 husky 到 5.0 |
7 | - 新增 `brotli`|`gzip`压缩及相关测试命令 | 11 | - 新增 `brotli`|`gzip`压缩及相关测试命令 |
12 | +- 重新引入 `windicss` (与`tailwind`一样).在速度上更快 | ||
8 | 13 | ||
9 | ### ⚡ Performance Improvements | 14 | ### ⚡ Performance Improvements |
10 | 15 | ||
@@ -23,7 +28,8 @@ | @@ -23,7 +28,8 @@ | ||
23 | ### 🎫 Chores | 28 | ### 🎫 Chores |
24 | 29 | ||
25 | - 文档更新 | 30 | - 文档更新 |
26 | -- 升级 ant-design-vue 到 2.0.0 | 31 | +- 升级 ant-design-vue 到 `2.0.0` |
32 | +- 升级 vite 到 `2.0.0` | ||
27 | 33 | ||
28 | ## 2.0.0-rc.18 (2021-02-05) | 34 | ## 2.0.0-rc.18 (2021-02-05) |
29 | 35 |
build/vite/plugin/index.ts
1 | import type { Plugin } from 'vite'; | 1 | import type { Plugin } from 'vite'; |
2 | 2 | ||
3 | -import PurgeIcons from 'vite-plugin-purge-icons'; | ||
4 | import vue from '@vitejs/plugin-vue'; | 3 | import vue from '@vitejs/plugin-vue'; |
5 | import vueJsx from '@vitejs/plugin-vue-jsx'; | 4 | import vueJsx from '@vitejs/plugin-vue-jsx'; |
6 | import legacy from '@vitejs/plugin-legacy'; | 5 | import legacy from '@vitejs/plugin-legacy'; |
7 | 6 | ||
7 | +import windiCSS from 'vite-plugin-windicss'; | ||
8 | +import PurgeIcons from 'vite-plugin-purge-icons'; | ||
9 | + | ||
8 | import { ViteEnv } from '../../utils'; | 10 | import { ViteEnv } from '../../utils'; |
9 | import { configHtmlPlugin } from './html'; | 11 | import { configHtmlPlugin } from './html'; |
10 | import { configPwaConfig } from './pwa'; | 12 | import { configPwaConfig } from './pwa'; |
@@ -23,6 +25,7 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) { | @@ -23,6 +25,7 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) { | ||
23 | vue(), | 25 | vue(), |
24 | // have to | 26 | // have to |
25 | vueJsx(), | 27 | vueJsx(), |
28 | + ...windiCSS(), | ||
26 | ]; | 29 | ]; |
27 | 30 | ||
28 | // @vitejs/plugin-legacy | 31 | // @vitejs/plugin-legacy |
package.json
@@ -51,9 +51,9 @@ | @@ -51,9 +51,9 @@ | ||
51 | "devDependencies": { | 51 | "devDependencies": { |
52 | "@commitlint/cli": "^11.0.0", | 52 | "@commitlint/cli": "^11.0.0", |
53 | "@commitlint/config-conventional": "^11.0.0", | 53 | "@commitlint/config-conventional": "^11.0.0", |
54 | - "@iconify/json": "^1.1.299", | 54 | + "@iconify/json": "^1.1.303", |
55 | "@ls-lint/ls-lint": "^1.9.2", | 55 | "@ls-lint/ls-lint": "^1.9.2", |
56 | - "@purge-icons/generated": "^0.6.0", | 56 | + "@purge-icons/generated": "^0.7.0", |
57 | "@types/echarts": "^4.9.3", | 57 | "@types/echarts": "^4.9.3", |
58 | "@types/fs-extra": "^9.0.7", | 58 | "@types/fs-extra": "^9.0.7", |
59 | "@types/http-proxy": "^1.17.5", | 59 | "@types/http-proxy": "^1.17.5", |
@@ -99,15 +99,16 @@ | @@ -99,15 +99,16 @@ | ||
99 | "stylelint-order": "^4.1.0", | 99 | "stylelint-order": "^4.1.0", |
100 | "ts-node": "^9.1.1", | 100 | "ts-node": "^9.1.1", |
101 | "typescript": "^4.1.5", | 101 | "typescript": "^4.1.5", |
102 | - "vite": "2.0.0-beta.70", | 102 | + "vite": "2.0.0", |
103 | "vite-plugin-compression": "^0.2.1", | 103 | "vite-plugin-compression": "^0.2.1", |
104 | "vite-plugin-html": "^2.0.0", | 104 | "vite-plugin-html": "^2.0.0", |
105 | "vite-plugin-imagemin": "^0.2.6", | 105 | "vite-plugin-imagemin": "^0.2.6", |
106 | "vite-plugin-mock": "^2.1.4", | 106 | "vite-plugin-mock": "^2.1.4", |
107 | - "vite-plugin-purge-icons": "^0.6.0", | ||
108 | - "vite-plugin-pwa": "^0.4.6", | 107 | + "vite-plugin-purge-icons": "^0.7.0", |
108 | + "vite-plugin-pwa": "^0.4.7", | ||
109 | "vite-plugin-style-import": "^0.7.2", | 109 | "vite-plugin-style-import": "^0.7.2", |
110 | "vite-plugin-theme": "^0.4.3", | 110 | "vite-plugin-theme": "^0.4.3", |
111 | + "vite-plugin-windicss": "^0.2.2", | ||
111 | "vue-eslint-parser": "^7.5.0", | 112 | "vue-eslint-parser": "^7.5.0", |
112 | "yargs": "^16.2.0" | 113 | "yargs": "^16.2.0" |
113 | }, | 114 | }, |
src/App.vue
1 | <template> | 1 | <template> |
2 | <ConfigProvider v-bind="lockEvent" :locale="antConfigLocale"> | 2 | <ConfigProvider v-bind="lockEvent" :locale="antConfigLocale"> |
3 | <AppProvider> | 3 | <AppProvider> |
4 | - <router-view /> | 4 | + <RouterView /> |
5 | </AppProvider> | 5 | </AppProvider> |
6 | </ConfigProvider> | 6 | </ConfigProvider> |
7 | </template> | 7 | </template> |
src/components/Application/src/AppLogo.vue
@@ -9,7 +9,11 @@ | @@ -9,7 +9,11 @@ | ||
9 | @click="handleGoHome" | 9 | @click="handleGoHome" |
10 | > | 10 | > |
11 | <img src="../../../assets/images/logo.png" /> | 11 | <img src="../../../assets/images/logo.png" /> |
12 | - <div class="ml-2 ellipsis" :class="[`${prefixCls}__title`]" v-show="showTitle"> | 12 | + <div |
13 | + class="ml-2 truncate xs:opacity-0 md:opacity-100" | ||
14 | + :class="`${prefixCls}__title`" | ||
15 | + v-show="showTitle" | ||
16 | + > | ||
13 | {{ title }} | 17 | {{ title }} |
14 | </div> | 18 | </div> |
15 | </div> | 19 | </div> |
@@ -85,12 +89,7 @@ | @@ -85,12 +89,7 @@ | ||
85 | &__title { | 89 | &__title { |
86 | font-size: 16px; | 90 | font-size: 16px; |
87 | font-weight: 700; | 91 | font-weight: 700; |
88 | - opacity: 0; | ||
89 | transition: all 0.5s; | 92 | transition: all 0.5s; |
90 | - | ||
91 | - .respond-to(medium,{ | ||
92 | - opacity: 1; | ||
93 | - }); | ||
94 | } | 93 | } |
95 | } | 94 | } |
96 | </style> | 95 | </style> |
src/components/Basic/src/BasicTitle.vue
@@ -41,8 +41,8 @@ | @@ -41,8 +41,8 @@ | ||
41 | font-weight: 700; | 41 | font-weight: 700; |
42 | line-height: 24px; | 42 | line-height: 24px; |
43 | color: @text-color-base; | 43 | color: @text-color-base; |
44 | - | ||
45 | - .unselect(); | 44 | + cursor: pointer; |
45 | + user-select: none; | ||
46 | 46 | ||
47 | &.show-span::before { | 47 | &.show-span::before { |
48 | position: absolute; | 48 | position: absolute; |
src/components/SimpleMenu/src/components/menu.less
@@ -41,10 +41,6 @@ | @@ -41,10 +41,6 @@ | ||
41 | cursor: pointer; | 41 | cursor: pointer; |
42 | transition: all @transition-time @ease-in-out; | 42 | transition: all @transition-time @ease-in-out; |
43 | 43 | ||
44 | - // &:hover { | ||
45 | - // color: @primary-color; | ||
46 | - // } | ||
47 | - | ||
48 | &-icon { | 44 | &-icon { |
49 | position: absolute; | 45 | position: absolute; |
50 | top: 50%; | 46 | top: 50%; |
@@ -164,9 +160,10 @@ | @@ -164,9 +160,10 @@ | ||
164 | position: relative; | 160 | position: relative; |
165 | z-index: 1; | 161 | z-index: 1; |
166 | padding: 12px 24px; | 162 | padding: 12px 24px; |
163 | + overflow: hidden; | ||
164 | + text-overflow: ellipsis; | ||
165 | + white-space: nowrap; | ||
167 | cursor: pointer; | 166 | cursor: pointer; |
168 | - .text-truncate(); | ||
169 | - // transition: all @transition-time @ease-in-out; | ||
170 | 167 | ||
171 | &:hover { | 168 | &:hover { |
172 | color: @primary-color; | 169 | color: @primary-color; |
src/components/SimpleMenu/src/index.less
@@ -18,15 +18,19 @@ | @@ -18,15 +18,19 @@ | ||
18 | } | 18 | } |
19 | 19 | ||
20 | .collapse-title { | 20 | .collapse-title { |
21 | + overflow: hidden; | ||
21 | font-size: 12px; | 22 | font-size: 12px; |
22 | - .text-truncate(); | 23 | + text-overflow: ellipsis; |
24 | + white-space: nowrap; | ||
23 | } | 25 | } |
24 | } | 26 | } |
25 | 27 | ||
26 | .@{simple-prefix-cls} { | 28 | .@{simple-prefix-cls} { |
27 | &-sub-title { | 29 | &-sub-title { |
30 | + overflow: hidden; | ||
31 | + text-overflow: ellipsis; | ||
32 | + white-space: nowrap; | ||
28 | transition: all 0.3s; | 33 | transition: all 0.3s; |
29 | - .text-truncate(); | ||
30 | } | 34 | } |
31 | 35 | ||
32 | &-tag { | 36 | &-tag { |
src/components/Upload/src/data.tsx
@@ -40,7 +40,7 @@ export function createTableColumns(): BasicColumn[] { | @@ -40,7 +40,7 @@ export function createTableColumns(): BasicColumn[] { | ||
40 | } | 40 | } |
41 | return ( | 41 | return ( |
42 | <span> | 42 | <span> |
43 | - <p class="ellipsis mb-1" title={text}> | 43 | + <p class="truncate mb-1" title={text}> |
44 | {text} | 44 | {text} |
45 | </p> | 45 | </p> |
46 | <Progress percent={percent} size="small" status={status} /> | 46 | <Progress percent={percent} size="small" status={status} /> |
src/design/ant/input.less
src/design/config.less
src/design/global.less deleted
100644 → 0
1 | -@import './helper/distance.less'; | ||
2 | -.distance(); | ||
3 | - | ||
4 | -.flex { | ||
5 | - display: flex; | ||
6 | -} | ||
7 | - | ||
8 | -.align-middle { | ||
9 | - vertical-align: middle; | ||
10 | -} | ||
11 | - | ||
12 | -.flex-wrap { | ||
13 | - flex-wrap: wrap; | ||
14 | -} | ||
15 | - | ||
16 | -.justify-center { | ||
17 | - justify-content: center; | ||
18 | -} | ||
19 | - | ||
20 | -.items-center { | ||
21 | - align-items: center; | ||
22 | -} | ||
23 | - | ||
24 | -.justify-start { | ||
25 | - justify-content: flex-start; | ||
26 | -} | ||
27 | - | ||
28 | -.justify-end { | ||
29 | - justify-content: flex-end; | ||
30 | -} | ||
31 | - | ||
32 | -.justify-around { | ||
33 | - justify-content: space-around; | ||
34 | -} | ||
35 | - | ||
36 | -.relative { | ||
37 | - position: relative; | ||
38 | -} | ||
39 | - | ||
40 | -.absolute { | ||
41 | - position: absolute; | ||
42 | -} | ||
43 | - | ||
44 | -.ellipsis { | ||
45 | - overflow: hidden; | ||
46 | - text-overflow: ellipsis; | ||
47 | - word-wrap: normal; | ||
48 | - white-space: nowrap; | ||
49 | -} | ||
50 | - | ||
51 | -.shadow-xs { | ||
52 | - box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05); | ||
53 | -} | ||
54 | - | ||
55 | -.shadow-sm { | ||
56 | - box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); | ||
57 | -} | ||
58 | - | ||
59 | -.shadow { | ||
60 | - box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); | ||
61 | -} | ||
62 | - | ||
63 | -.shadow-md { | ||
64 | - box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); | ||
65 | -} | ||
66 | - | ||
67 | -.shadow-lg { | ||
68 | - box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); | ||
69 | -} | ||
70 | - | ||
71 | -.shadow-xl { | ||
72 | - box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); | ||
73 | -} |
src/design/helper/distance.less deleted
100644 → 0
1 | -@import 'loop.less'; | ||
2 | -// margin 步长 | ||
3 | -@margin-size-base: 4; | ||
4 | - | ||
5 | -// 最大生成 | ||
6 | -@margin-size-max: 10; | ||
7 | - | ||
8 | -// padding步长 | ||
9 | -@padding-size-base: 4; | ||
10 | - | ||
11 | -// 最大生成 | ||
12 | -@padding-size-max: 10; | ||
13 | - | ||
14 | -.distance() { | ||
15 | - // 生成margin | ||
16 | - .loop (m, margin, 1, @margin-size-base, @margin-size-max); | ||
17 | - .loop (mt, margin-top, 1, @margin-size-base, @margin-size-max); | ||
18 | - .loop (mr, margin-right, 1, @margin-size-base, @margin-size-max); | ||
19 | - .loop (mb, margin-bottom, 1, @margin-size-base, @margin-size-max); | ||
20 | - .loop (ml, margin-left, 1, @margin-size-base, @margin-size-max); | ||
21 | - .loop (my, margin, 1, @margin-size-base, @margin-size-max, y); | ||
22 | - .loop (mx, margin, 1, @margin-size-base, @margin-size-max, x); | ||
23 | - .loop (mx-auto, margin, 1, @padding-size-base, @padding-size-max, autoX); | ||
24 | - .loop (my-auto, margin, 1, @padding-size-base, @padding-size-max, autoY); | ||
25 | - .loop (m-auto, margin, 1, @padding-size-base, @padding-size-max, auto); | ||
26 | - | ||
27 | - // 生成padding | ||
28 | - .loop (p, padding, 1, @padding-size-base, @padding-size-max); | ||
29 | - .loop (pt, padding-top, 1, @padding-size-base, @padding-size-max); | ||
30 | - .loop (pr, padding-right, 1, @padding-size-base, @padding-size-max); | ||
31 | - .loop (pb, padding-bottom, 1, @padding-size-base, @padding-size-max); | ||
32 | - .loop (pl, padding-left, 1, @padding-size-base, @padding-size-max); | ||
33 | - .loop (py, padding, 1, @padding-size-base, @padding-size-max, y); | ||
34 | - .loop (px, padding, 1, @padding-size-base, @padding-size-max, x); | ||
35 | - .loop (px-auto, padding, 1, @padding-size-base, @padding-size-max, autoX); | ||
36 | - .loop (py-auto, padding, 1, @padding-size-base, @padding-size-max, autoY); | ||
37 | - .loop (p-auto, padding, 1, @padding-size-base, @padding-size-max, auto); | ||
38 | -} |
src/design/helper/loop.less deleted
100644 → 0
1 | -.loop (@style-name, @tag-name, @i,@base-size, @max:10,@xy:none) when (@i <= @max) { | ||
2 | - @next: @i+1; | ||
3 | - .fn() when (@xy =none) { | ||
4 | - @size: @base-size * @i; | ||
5 | - | ||
6 | - .@{style-name}-@{i} { | ||
7 | - @{tag-name}: ~'@{size}px '; | ||
8 | - } | ||
9 | - .loop(@style-name, @tag-name, @next, @base-size, @max, @xy); | ||
10 | - } | ||
11 | - | ||
12 | - .fn() when (@xy =x) { | ||
13 | - @size: @base-size * @i; | ||
14 | - | ||
15 | - @tnl: ~'@{tag-name}-left'; | ||
16 | - @tnr: ~'@{tag-name}-right'; | ||
17 | - | ||
18 | - .@{style-name}-@{i} { | ||
19 | - @{tnl}: ~'@{size}px'; | ||
20 | - @{tnr}: ~'@{size}px'; | ||
21 | - } | ||
22 | - .loop(@style-name, @tag-name, @next, @base-size, @max, @xy); | ||
23 | - } | ||
24 | - .fn() when (@xy =y) { | ||
25 | - @size: @base-size * @i; | ||
26 | - | ||
27 | - @tnt: ~'@{tag-name}-top'; | ||
28 | - @tnb: ~'@{tag-name}-bottom'; | ||
29 | - | ||
30 | - .@{style-name}-@{i} { | ||
31 | - @{tnt}: ~'@{size}px'; | ||
32 | - @{tnb}: ~'@{size}px'; | ||
33 | - } | ||
34 | - .loop(@style-name, @tag-name, @next, @base-size, @max, @xy); | ||
35 | - } | ||
36 | - .fn() when (@xy =auto) { | ||
37 | - @tnt: ~'@{tag-name}-top'; | ||
38 | - @tnb: ~'@{tag-name}-bottom'; | ||
39 | - @tnl: ~'@{tag-name}-left'; | ||
40 | - @tnr: ~'@{tag-name}-right'; | ||
41 | - .@{style-name} { | ||
42 | - @{tnl}: ~'auto'; | ||
43 | - @{tnr}: ~'auto'; | ||
44 | - @{tnt}: ~'auto'; | ||
45 | - @{tnb}: ~'auto'; | ||
46 | - } | ||
47 | - } | ||
48 | - | ||
49 | - .fn() when (@xy =autoX) { | ||
50 | - @tnl: ~'@{tag-name}-left'; | ||
51 | - @tnr: ~'@{tag-name}-right'; | ||
52 | - .@{style-name} { | ||
53 | - @{tnl}: ~'auto'; | ||
54 | - @{tnr}: ~'auto'; | ||
55 | - } | ||
56 | - } | ||
57 | - | ||
58 | - .fn() when (@xy =autoY) { | ||
59 | - @tnt: ~'@{tag-name}-top'; | ||
60 | - @tnb: ~'@{tag-name}-bottom'; | ||
61 | - .@{style-name} { | ||
62 | - @{tnt}: ~'auto'; | ||
63 | - @{tnb}: ~'auto'; | ||
64 | - } | ||
65 | - } | ||
66 | - .fn(); | ||
67 | -} |
src/design/index.less
1 | @import 'transition/index.less'; | 1 | @import 'transition/index.less'; |
2 | @import 'var/index.less'; | 2 | @import 'var/index.less'; |
3 | @import 'public.less'; | 3 | @import 'public.less'; |
4 | -@import 'mixins.less'; | ||
5 | @import 'ant/index.less'; | 4 | @import 'ant/index.less'; |
6 | -@import 'global.less'; | ||
7 | 5 | ||
8 | *, | 6 | *, |
9 | *::before, | 7 | *::before, |
src/design/mixins.less deleted
100644 → 0
1 | -// Text truncation | ||
2 | -.text-truncate() { | ||
3 | - overflow: hidden; | ||
4 | - text-overflow: ellipsis; | ||
5 | - white-space: nowrap; | ||
6 | -} | ||
7 | - | ||
8 | -/* Force no line break */ | ||
9 | -.word-nowrap() { | ||
10 | - word-wrap: normal; | ||
11 | - white-space: nowrap; | ||
12 | -} | ||
13 | - | ||
14 | -/* Force line break */ | ||
15 | -.break-all() { | ||
16 | - word-break: break-all; | ||
17 | - word-wrap: break-word; | ||
18 | - white-space: normal; | ||
19 | -} | ||
20 | - | ||
21 | -// Prohibit selection | ||
22 | -.unselect() { | ||
23 | - cursor: pointer; | ||
24 | - user-select: none; | ||
25 | -} | ||
26 | - | ||
27 | -/* Suitable for webkit core and mobile */ | ||
28 | -.ellipsis-multiple(@num: 1) { | ||
29 | - display: -webkit-box; | ||
30 | - overflow: hidden; | ||
31 | - -webkit-box-orient: vertical; | ||
32 | - -webkit-line-clamp: @num; | ||
33 | -} | ||
34 | - | ||
35 | -.respond-to (small, @content) { | ||
36 | - @media only screen and (min-width: @screen-sm-min) { | ||
37 | - @content(); | ||
38 | - } | ||
39 | -} | ||
40 | -.respond-to (medium, @content) { | ||
41 | - @media only screen and (min-width: @screen-md-min) { | ||
42 | - @content(); | ||
43 | - } | ||
44 | -} | ||
45 | -.respond-to (large, @content) { | ||
46 | - @media only screen and (min-width: @screen-lg-min) { | ||
47 | - @content(); | ||
48 | - } | ||
49 | -} | ||
50 | -.respond-to (xlarge, @content) { | ||
51 | - @media only screen and (min-width: @screen-xl-min) { | ||
52 | - @content(); | ||
53 | - } | ||
54 | -} | ||
55 | -.respond-to (xsmall-only, @content) { | ||
56 | - @media only screen and (max-width: @screen-xs-max) { | ||
57 | - @content(); | ||
58 | - } | ||
59 | -} | ||
60 | -.respond-to (small-only, @content) { | ||
61 | - @media only screen and (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { | ||
62 | - @content(); | ||
63 | - } | ||
64 | -} | ||
65 | -.respond-to (medium-only, @content) { | ||
66 | - @media only screen and (min-width: @screen-md-min) and (max-width: @screen-md-max) { | ||
67 | - @content(); | ||
68 | - } | ||
69 | -} | ||
70 | -.respond-to (large-only, @content) { | ||
71 | - @media only screen and (min-width: @screen-lg-min) and (max-width: @screen-lg-max) { | ||
72 | - @content(); | ||
73 | - } | ||
74 | -} | ||
75 | - | ||
76 | -.respond-to (xsmall-and-small, @content) { | ||
77 | - @media only screen and (max-width: @screen-sm-max) { | ||
78 | - @content(); | ||
79 | - } | ||
80 | -} | ||
81 | -.respond-to (small-and-medium, @content) { | ||
82 | - @media only screen and (min-width: @screen-sm-min) and (max-width: @screen-md-max) { | ||
83 | - @content(); | ||
84 | - } | ||
85 | -} |
src/design/var/index.less
src/layouts/page/ParentView.vue
@@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
3 | --> | 3 | --> |
4 | <template> | 4 | <template> |
5 | <div> | 5 | <div> |
6 | - <router-view> | 6 | + <RouterView> |
7 | <template #default="{ Component, route }"> | 7 | <template #default="{ Component, route }"> |
8 | <transition | 8 | <transition |
9 | :name=" | 9 | :name=" |
@@ -24,7 +24,7 @@ | @@ -24,7 +24,7 @@ | ||
24 | <component v-else :is="Component" v-bind="getKey(Component, route)" /> | 24 | <component v-else :is="Component" v-bind="getKey(Component, route)" /> |
25 | </transition> | 25 | </transition> |
26 | </template> | 26 | </template> |
27 | - </router-view> | 27 | + </RouterView> |
28 | </div> | 28 | </div> |
29 | </template> | 29 | </template> |
30 | <script lang="ts"> | 30 | <script lang="ts"> |
src/layouts/page/index.vue
1 | <template> | 1 | <template> |
2 | <div> | 2 | <div> |
3 | - <router-view> | 3 | + <RouterView> |
4 | <template #default="{ Component, route }"> | 4 | <template #default="{ Component, route }"> |
5 | <transition | 5 | <transition |
6 | :name=" | 6 | :name=" |
@@ -21,7 +21,7 @@ | @@ -21,7 +21,7 @@ | ||
21 | <component v-else :is="Component" v-bind="getKey(Component, route)" /> | 21 | <component v-else :is="Component" v-bind="getKey(Component, route)" /> |
22 | </transition> | 22 | </transition> |
23 | </template> | 23 | </template> |
24 | - </router-view> | 24 | + </RouterView> |
25 | <FrameLayout v-if="getCanEmbedIFramePage" /> | 25 | <FrameLayout v-if="getCanEmbedIFramePage" /> |
26 | </div> | 26 | </div> |
27 | </template> | 27 | </template> |
src/main.ts
1 | +import '/@/design/index.less'; | ||
2 | +import 'windi.css'; | ||
3 | + | ||
1 | import { createApp } from 'vue'; | 4 | import { createApp } from 'vue'; |
2 | import App from './App.vue'; | 5 | import App from './App.vue'; |
3 | 6 | ||
@@ -11,8 +14,6 @@ import { registerGlobComp } from '/@/components/registerGlobComp'; | @@ -11,8 +14,6 @@ import { registerGlobComp } from '/@/components/registerGlobComp'; | ||
11 | 14 | ||
12 | import { isDevMode } from '/@/utils/env'; | 15 | import { isDevMode } from '/@/utils/env'; |
13 | 16 | ||
14 | -import '/@/design/index.less'; | ||
15 | - | ||
16 | const app = createApp(App); | 17 | const app = createApp(App); |
17 | 18 | ||
18 | registerGlobComp(app); | 19 | registerGlobComp(app); |
src/types/shims-volar.d.ts
0 → 100644
1 | +import { RouterLink, RouterView } from 'vue-router'; | ||
2 | + | ||
3 | +import { Button } from '/@/components/Button'; | ||
4 | +import { Col, Row } from 'ant-design-vue'; | ||
5 | + | ||
6 | +declare global { | ||
7 | + interface __VLS_GlobalComponents { | ||
8 | + RouterLink: typeof RouterLink; | ||
9 | + RouterView: typeof RouterView; | ||
10 | + 'a-button': typeof Button; | ||
11 | + 'a-col': typeof Col; | ||
12 | + 'a-row': typeof Row; | ||
13 | + } | ||
14 | +} |
src/views/dashboard/analysis/index.vue
@@ -70,9 +70,5 @@ | @@ -70,9 +70,5 @@ | ||
70 | <style lang="less" scoped> | 70 | <style lang="less" scoped> |
71 | .analysis { | 71 | .analysis { |
72 | width: 100%; | 72 | width: 100%; |
73 | - | ||
74 | - .product-total { | ||
75 | - .respond-to(small-and-medium, {padding-right: 0;margin-bottom: 24px;}); | ||
76 | - } | ||
77 | } | 73 | } |
78 | </style> | 74 | </style> |
src/views/demo/feat/copy/index.vue
1 | <template> | 1 | <template> |
2 | <PageWrapper title="文本复制示例"> | 2 | <PageWrapper title="文本复制示例"> |
3 | - <CollapseContainer class="px-20 bg-white w-full h-32 rounded-md" title="Copy Example"> | 3 | + <CollapseContainer class="w-full h-32 bg-white rounded-md" title="Copy Example"> |
4 | <div class="flex justify-center"> | 4 | <div class="flex justify-center"> |
5 | <a-input placeholder="请输入" v-model:value="value" /> | 5 | <a-input placeholder="请输入" v-model:value="value" /> |
6 | <a-button type="primary" @click="handleCopy"> Copy </a-button> | 6 | <a-button type="primary" @click="handleCopy"> Copy </a-button> |
src/views/demo/feat/full-screen/index.vue
1 | <template> | 1 | <template> |
2 | <PageWrapper title="全屏示例"> | 2 | <PageWrapper title="全屏示例"> |
3 | - <CollapseContainer class="px-20 bg-white w-full h-32 rounded-md" title="Window Full Screen"> | 3 | + <CollapseContainer class="w-full h-32 bg-white rounded-md" title="Window Full Screen"> |
4 | <a-button type="primary" @click="enterFullscreen" class="mr-2"> | 4 | <a-button type="primary" @click="enterFullscreen" class="mr-2"> |
5 | Enter Window Full Screen | 5 | Enter Window Full Screen |
6 | </a-button> | 6 | </a-button> |
@@ -15,13 +15,13 @@ | @@ -15,13 +15,13 @@ | ||
15 | Current State: {{ isFullscreenRef }} | 15 | Current State: {{ isFullscreenRef }} |
16 | </CollapseContainer> | 16 | </CollapseContainer> |
17 | 17 | ||
18 | - <CollapseContainer class="px-20 bg-white w-full h-32 rounded-md mt-5" title="Dom Full Screen"> | 18 | + <CollapseContainer class="w-full mt-5 bg-white rounded-md" title="Dom Full Screen"> |
19 | <a-button type="primary" @click="toggleDom" class="mr-2"> Enter Dom Full Screen </a-button> | 19 | <a-button type="primary" @click="toggleDom" class="mr-2"> Enter Dom Full Screen </a-button> |
20 | </CollapseContainer> | 20 | </CollapseContainer> |
21 | 21 | ||
22 | <div | 22 | <div |
23 | ref="domRef" | 23 | ref="domRef" |
24 | - class="w-1/2 h-64 flex justify-center rounded-md items-center bg-white mx-auto mt-10" | 24 | + class="flex items-center justify-center w-1/2 h-64 mx-auto mt-10 bg-white rounded-md" |
25 | > | 25 | > |
26 | <a-button type="primary" @click="toggleDom" class="mr-2"> Exit Dom Full Screen </a-button> | 26 | <a-button type="primary" @click="toggleDom" class="mr-2"> Exit Dom Full Screen </a-button> |
27 | </div> | 27 | </div> |
src/views/demo/feat/msg/index.vue
1 | <template> | 1 | <template> |
2 | <PageWrapper title="消息示例"> | 2 | <PageWrapper title="消息示例"> |
3 | - <CollapseContainer class="px-20 bg-white w-full h-32 rounded-md" title="Message"> | 3 | + <CollapseContainer class="w-full h-32 bg-white rounded-md" title="Message"> |
4 | <a-button @click="infoMsg('Info message')" class="mr-2"> Info </a-button> | 4 | <a-button @click="infoMsg('Info message')" class="mr-2"> Info </a-button> |
5 | <a-button @click="successMsg('Success message')" class="mr-2" color="success"> | 5 | <a-button @click="successMsg('Success message')" class="mr-2" color="success"> |
6 | Success | 6 | Success |
@@ -12,14 +12,14 @@ | @@ -12,14 +12,14 @@ | ||
12 | <a-button @click="handleLoading" class="mr-2" type="primary"> Loading </a-button> | 12 | <a-button @click="handleLoading" class="mr-2" type="primary"> Loading </a-button> |
13 | </CollapseContainer> | 13 | </CollapseContainer> |
14 | 14 | ||
15 | - <CollapseContainer class="px-20 bg-white w-full h-32 rounded-md mt-5" title="Comfirm"> | 15 | + <CollapseContainer class="w-full h-32 mt-5 bg-white rounded-md" title="Comfirm"> |
16 | <a-button @click="handleConfirm('info')" class="mr-2"> Info </a-button> | 16 | <a-button @click="handleConfirm('info')" class="mr-2"> Info </a-button> |
17 | <a-button @click="handleConfirm('warning')" color="warning" class="mr-2"> Warning </a-button> | 17 | <a-button @click="handleConfirm('warning')" color="warning" class="mr-2"> Warning </a-button> |
18 | <a-button @click="handleConfirm('success')" color="success" class="mr-2"> Success </a-button> | 18 | <a-button @click="handleConfirm('success')" color="success" class="mr-2"> Success </a-button> |
19 | <a-button @click="handleConfirm('error')" color="error" class="mr-2"> Error </a-button> | 19 | <a-button @click="handleConfirm('error')" color="error" class="mr-2"> Error </a-button> |
20 | </CollapseContainer> | 20 | </CollapseContainer> |
21 | 21 | ||
22 | - <CollapseContainer class="px-20 bg-white w-full h-32 rounded-md mt-5" title="Modal"> | 22 | + <CollapseContainer class="w-full h-32 mt-5 bg-white rounded-md" title="Modal"> |
23 | <a-button @click="handleInfoModal" class="mr-2"> Info </a-button> | 23 | <a-button @click="handleInfoModal" class="mr-2"> Info </a-button> |
24 | <a-button @click="handleSuccessModal" color="success" class="mr-2"> Success </a-button> | 24 | <a-button @click="handleSuccessModal" color="success" class="mr-2"> Success </a-button> |
25 | <a-button @click="handleErrorModal" color="error" class="mr-2"> Error </a-button> | 25 | <a-button @click="handleErrorModal" color="error" class="mr-2"> Error </a-button> |
@@ -27,7 +27,7 @@ | @@ -27,7 +27,7 @@ | ||
27 | </CollapseContainer> | 27 | </CollapseContainer> |
28 | 28 | ||
29 | <CollapseContainer | 29 | <CollapseContainer |
30 | - class="px-20 bg-white w-full h-32 rounded-md mt-5" | 30 | + class="w-full h-32 mt-5 bg-white rounded-md" |
31 | title="Notification 用法与上面一致" | 31 | title="Notification 用法与上面一致" |
32 | > | 32 | > |
33 | <a-button @click="handleNotify" color="success" class="mr-2"> Success </a-button> | 33 | <a-button @click="handleNotify" color="success" class="mr-2"> Success </a-button> |
src/views/demo/feat/watermark/index.vue
1 | <template> | 1 | <template> |
2 | <PageWrapper title="水印示例"> | 2 | <PageWrapper title="水印示例"> |
3 | - <CollapseContainer class="px-20 bg-white w-full h-32 rounded-md" title="Global WaterMark"> | 3 | + <CollapseContainer class="w-full h-32 bg-white rounded-md" title="Global WaterMark"> |
4 | <a-button type="primary" class="mr-2" @click="setWatermark('WaterMark Info')"> | 4 | <a-button type="primary" class="mr-2" @click="setWatermark('WaterMark Info')"> |
5 | Create | 5 | Create |
6 | </a-button> | 6 | </a-button> |
src/views/sys/login/Login.vue
1 | <template> | 1 | <template> |
2 | <div class="login"> | 2 | <div class="login"> |
3 | - <div class="login-mask"></div> | ||
4 | - <div class="login-form-wrap"> | 3 | + <div class="opacity-0 login-mask lg:opacity-100"></div> |
4 | + <div class="justify-center login-form-wrap lg:justify-end"> | ||
5 | <div class="mx-6 login-form"> | 5 | <div class="mx-6 login-form"> |
6 | <AppLocalePicker v-if="showLocale" class="login-form__locale" /> | 6 | <AppLocalePicker v-if="showLocale" class="login-form__locale" /> |
7 | <div class="px-2 py-10 login-form__content"> | 7 | <div class="px-2 py-10 login-form__content"> |
@@ -164,13 +164,10 @@ | @@ -164,13 +164,10 @@ | ||
164 | background-size: 100% 100%; | 164 | background-size: 100% 100%; |
165 | 165 | ||
166 | &-mask { | 166 | &-mask { |
167 | - display: none; | ||
168 | height: 100%; | 167 | height: 100%; |
169 | background: url(../../../assets/images/login/login-in.png) no-repeat; | 168 | background: url(../../../assets/images/login/login-in.png) no-repeat; |
170 | background-position: 30% 30%; | 169 | background-position: 30% 30%; |
171 | background-size: 80% 80%; | 170 | background-size: 80% 80%; |
172 | - | ||
173 | - .respond-to(xlarge, { display: block;}); | ||
174 | } | 171 | } |
175 | 172 | ||
176 | &-form { | 173 | &-form { |
@@ -182,7 +179,6 @@ | @@ -182,7 +179,6 @@ | ||
182 | border-width: 8px; | 179 | border-width: 8px; |
183 | border-radius: 4px; | 180 | border-radius: 4px; |
184 | background-clip: padding-box; | 181 | background-clip: padding-box; |
185 | - .respond-to(xlarge, { margin: 0 120px 0 50px}); | ||
186 | 182 | ||
187 | &__main { | 183 | &__main { |
188 | margin: 30px auto 0 auto !important; | 184 | margin: 30px auto 0 auto !important; |
@@ -195,12 +191,7 @@ | @@ -195,12 +191,7 @@ | ||
195 | display: flex; | 191 | display: flex; |
196 | width: 100%; | 192 | width: 100%; |
197 | height: 100%; | 193 | height: 100%; |
198 | - // height: 90%; | ||
199 | - justify-content: center; | ||
200 | align-items: center; | 194 | align-items: center; |
201 | - .respond-to(xlarge, { | ||
202 | - justify-content: flex-end; | ||
203 | - }); | ||
204 | } | 195 | } |
205 | 196 | ||
206 | &__content { | 197 | &__content { |
tailwind.config.js
0 → 100644
1 | +/* eslint-disable @typescript-eslint/no-var-requires */ | ||
2 | +const colors = require('windicss/colors'); | ||
3 | +const defaultTheme = require('windicss/defaultTheme'); | ||
4 | +module.exports = { | ||
5 | + darkMode: 'class', | ||
6 | + plugins: [ | ||
7 | + require('windicss/plugin/forms'), | ||
8 | + require('windicss/plugin/typography'), | ||
9 | + require('windicss/plugin/line-clamp'), | ||
10 | + require('windicss/plugin/aspect-ratio'), | ||
11 | + ], | ||
12 | + theme: { | ||
13 | + extend: { | ||
14 | + colors, | ||
15 | + fontFamily: { | ||
16 | + sans: ['Righteous', ...defaultTheme.fontFamily.sans], | ||
17 | + }, | ||
18 | + }, | ||
19 | + }, | ||
20 | +}; |
yarn.lock
@@ -1112,10 +1112,10 @@ | @@ -1112,10 +1112,10 @@ | ||
1112 | dependencies: | 1112 | dependencies: |
1113 | cross-fetch "^3.0.6" | 1113 | cross-fetch "^3.0.6" |
1114 | 1114 | ||
1115 | -"@iconify/json@^1.1.299": | ||
1116 | - version "1.1.299" | ||
1117 | - resolved "https://registry.npmjs.org/@iconify/json/-/json-1.1.299.tgz#e1aca556b83461316ba5ec04b232906b499a67a5" | ||
1118 | - integrity sha512-oYHUgp5RZNE2CT3wKE/MWbmGK7lmubi30PD5l33HUU7yh4CznmzPL0Ewgg51Wn86NkFveZDcT+odMBTaayh9Ew== | 1115 | +"@iconify/json@^1.1.303": |
1116 | + version "1.1.303" | ||
1117 | + resolved "https://registry.npmjs.org/@iconify/json/-/json-1.1.303.tgz#364daf69a97c02647227cc0d851a2e79a893e8e3" | ||
1118 | + integrity sha512-O8KDBcIVQolvUeVL9JiEIc2ifYKWyKu/5cX6PNC4EAPvtfvieOHs1YVPV4tphVhafjTTftR5XbZBmZHKG6uNIA== | ||
1119 | 1119 | ||
1120 | "@intlify/core-base@9.0.0-beta.16": | 1120 | "@intlify/core-base@9.0.0-beta.16": |
1121 | version "9.0.0-beta.16" | 1121 | version "9.0.0-beta.16" |
@@ -1226,21 +1226,21 @@ | @@ -1226,21 +1226,21 @@ | ||
1226 | "@nodelib/fs.scandir" "2.1.4" | 1226 | "@nodelib/fs.scandir" "2.1.4" |
1227 | fastq "^1.6.0" | 1227 | fastq "^1.6.0" |
1228 | 1228 | ||
1229 | -"@purge-icons/core@^0.6.0": | ||
1230 | - version "0.6.0" | ||
1231 | - resolved "https://registry.npmjs.org/@purge-icons/core/-/core-0.6.0.tgz#b966d042c504a256299b2d63b4d16ae26c9e0317" | ||
1232 | - integrity sha512-Gp7Fvx1mtPykejxldJ8+1o2C/Gzw54Mpv22JKNoKnaUlKGe1m4f0rAl2MgHDGJd/ghm4kDcfxFzjnna6Z4L5cA== | 1229 | +"@purge-icons/core@^0.7.0": |
1230 | + version "0.7.0" | ||
1231 | + resolved "https://registry.npmjs.org/@purge-icons/core/-/core-0.7.0.tgz#097ba8d4d8b7e8d662df687bd2391eb8b83caba0" | ||
1232 | + integrity sha512-PaCeTFjkQUX+MzBsNg3L8x5aCZqXwaUSNw1FY3Jn7wlLqNqxRNoShw5P//a1DQAy7hLlUHvEL6IGeDoN/xf98A== | ||
1233 | dependencies: | 1233 | dependencies: |
1234 | "@iconify/iconify" "2.0.0-rc.6" | 1234 | "@iconify/iconify" "2.0.0-rc.6" |
1235 | axios "^0.21.1" | 1235 | axios "^0.21.1" |
1236 | debug "^4.3.2" | 1236 | debug "^4.3.2" |
1237 | - fast-glob "^3.2.4" | ||
1238 | - fs-extra "^9.0.1" | 1237 | + fast-glob "^3.2.5" |
1238 | + fs-extra "^9.1.0" | ||
1239 | 1239 | ||
1240 | -"@purge-icons/generated@^0.6.0": | ||
1241 | - version "0.6.0" | ||
1242 | - resolved "https://registry.npmjs.org/@purge-icons/generated/-/generated-0.6.0.tgz#2aa9a78fef6a4dc79d265c84548e110375b554df" | ||
1243 | - integrity sha512-Xg2ckJu/wRSSNEloebCaKSIAamKMZffws4+2oOjA1J3JEyD5FlP3Ewt+kkcuun/i7Mo2czjTKJG9wwSwZgf0cg== | 1240 | +"@purge-icons/generated@^0.7.0": |
1241 | + version "0.7.0" | ||
1242 | + resolved "https://registry.npmjs.org/@purge-icons/generated/-/generated-0.7.0.tgz#d87dbb3145e8b9a64e2e12ff660aa3cb13cbeb56" | ||
1243 | + integrity sha512-4SHVpZnKaW5ekRTjhPY9b1pALVlF0pDuGIDRAlxAm0V+gQVOL0+Ghav6U9XqXFj2kiG1+eQ8swpvB+kd0a+tqg== | ||
1244 | dependencies: | 1244 | dependencies: |
1245 | "@iconify/iconify" ">=2.0.0-rc.6" | 1245 | "@iconify/iconify" ">=2.0.0-rc.6" |
1246 | 1246 | ||
@@ -7859,13 +7859,13 @@ rollup-plugin-esbuild@^2.6.1: | @@ -7859,13 +7859,13 @@ rollup-plugin-esbuild@^2.6.1: | ||
7859 | joycon "^2.2.5" | 7859 | joycon "^2.2.5" |
7860 | strip-json-comments "^3.1.1" | 7860 | strip-json-comments "^3.1.1" |
7861 | 7861 | ||
7862 | -rollup-plugin-purge-icons@^0.6.0: | ||
7863 | - version "0.6.0" | ||
7864 | - resolved "https://registry.npmjs.org/rollup-plugin-purge-icons/-/rollup-plugin-purge-icons-0.6.0.tgz#cfddf4935107180bdb14385228449c0d8b0557a2" | ||
7865 | - integrity sha512-8huBXnq7D1Lj2gPZP/rOjuj2hkZ3AXoGQc2r5+MK3lcD3xEgfuONd+G4WIk7P8wJTEVGux5xJ2Ho7nSISLqP1A== | 7862 | +rollup-plugin-purge-icons@^0.7.0: |
7863 | + version "0.7.0" | ||
7864 | + resolved "https://registry.npmjs.org/rollup-plugin-purge-icons/-/rollup-plugin-purge-icons-0.7.0.tgz#4419b810d5d75f1bba3af72a238e70b4a675f03c" | ||
7865 | + integrity sha512-zAff7SrjC2nA7TCm6gaOclh1cZ2IBupX1tnebn+sfvcvrezu+avS7k0BhhAC2pAtfhdOvD6G/2a+kkkm6hvpiw== | ||
7866 | dependencies: | 7866 | dependencies: |
7867 | - "@purge-icons/core" "^0.6.0" | ||
7868 | - "@purge-icons/generated" "^0.6.0" | 7867 | + "@purge-icons/core" "^0.7.0" |
7868 | + "@purge-icons/generated" "^0.7.0" | ||
7869 | 7869 | ||
7870 | rollup-plugin-terser@^7.0.0: | 7870 | rollup-plugin-terser@^7.0.0: |
7871 | version "7.0.2" | 7871 | version "7.0.2" |
@@ -9334,19 +9334,19 @@ vite-plugin-mock@^2.1.4: | @@ -9334,19 +9334,19 @@ vite-plugin-mock@^2.1.4: | ||
9334 | rollup "^2.38.4" | 9334 | rollup "^2.38.4" |
9335 | rollup-plugin-esbuild "^2.6.1" | 9335 | rollup-plugin-esbuild "^2.6.1" |
9336 | 9336 | ||
9337 | -vite-plugin-purge-icons@^0.6.0: | ||
9338 | - version "0.6.0" | ||
9339 | - resolved "https://registry.npmjs.org/vite-plugin-purge-icons/-/vite-plugin-purge-icons-0.6.0.tgz#f165266f157d88368edcc7ae3baf933d6d92e779" | ||
9340 | - integrity sha512-YGW3wh+Pj4Tob23x29+NgVkslru5tAInIMTY0J2eltDNy32RKxSRh8ohb+W0O/X9h2xKkMeiUpNI7mY6k8Uzsw== | 9337 | +vite-plugin-purge-icons@^0.7.0: |
9338 | + version "0.7.0" | ||
9339 | + resolved "https://registry.npmjs.org/vite-plugin-purge-icons/-/vite-plugin-purge-icons-0.7.0.tgz#c460037438fd71372153360ccb9e7d97b030fb58" | ||
9340 | + integrity sha512-oGZUKFAL4waIZIeiCPT5KZvGbBA500AO/03oxW+ODTKUMq+0jbh9s+T8NPzfJQFC1jtE7eUb2ium82IP/gxZjA== | ||
9341 | dependencies: | 9341 | dependencies: |
9342 | - "@purge-icons/core" "^0.6.0" | ||
9343 | - "@purge-icons/generated" "^0.6.0" | ||
9344 | - rollup-plugin-purge-icons "^0.6.0" | 9342 | + "@purge-icons/core" "^0.7.0" |
9343 | + "@purge-icons/generated" "^0.7.0" | ||
9344 | + rollup-plugin-purge-icons "^0.7.0" | ||
9345 | 9345 | ||
9346 | -vite-plugin-pwa@^0.4.6: | ||
9347 | - version "0.4.6" | ||
9348 | - resolved "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.4.6.tgz#e759b7840211f83cae367d306654da505cecbceb" | ||
9349 | - integrity sha512-3LonumSG4EcH9FT61d7wWouHkCmEciy3RPfvt25b835HMx9gb2Dt71t140+85Z5d+uANMSguC3miBnnGzagAMA== | 9346 | +vite-plugin-pwa@^0.4.7: |
9347 | + version "0.4.7" | ||
9348 | + resolved "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.4.7.tgz#32d934171fc7ec5cada741c559b5fbf2fe5a39af" | ||
9349 | + integrity sha512-KsC9tenzn1r6AG/Hda4wg9Es6AokVRz2RqQp+R+uM3qvfNDbdDjJWAEhB/2zUx7D0YDu5Y0h+cDC0zD0vxBoog== | ||
9350 | dependencies: | 9350 | dependencies: |
9351 | debug "^4.3.2" | 9351 | debug "^4.3.2" |
9352 | fast-glob "^3.2.5" | 9352 | fast-glob "^3.2.5" |
@@ -9376,10 +9376,18 @@ vite-plugin-theme@^0.4.3: | @@ -9376,10 +9376,18 @@ vite-plugin-theme@^0.4.3: | ||
9376 | es-module-lexer "^0.3.26" | 9376 | es-module-lexer "^0.3.26" |
9377 | tinycolor2 "^1.4.2" | 9377 | tinycolor2 "^1.4.2" |
9378 | 9378 | ||
9379 | -vite@2.0.0-beta.70: | ||
9380 | - version "2.0.0-beta.70" | ||
9381 | - resolved "https://registry.npmjs.org/vite/-/vite-2.0.0-beta.70.tgz#ec0d4f2bfd02f31d2c59aa9760f27c26647f41ce" | ||
9382 | - integrity sha512-rbuAYZE8T0jNOUykkyfjiiKmz4MpW2KqzHO8++WCCDXyxzIg56ICQ/B6NLZzVpWyk0iSKiUKr2k8NMkmDlZAQQ== | 9379 | +vite-plugin-windicss@^0.2.2: |
9380 | + version "0.2.2" | ||
9381 | + resolved "https://registry.npmjs.org/vite-plugin-windicss/-/vite-plugin-windicss-0.2.2.tgz#2abf1533153f5dc214a9e1a06fb58274e5892c19" | ||
9382 | + integrity sha512-P+iyrcuLjLfjiYP+bBisfKbg9bmeQMUBpjsTFJ9kWWX2fyqo968CHmS3euz+MzRcK5ZECccpOxx60ZXzc12VAw== | ||
9383 | + dependencies: | ||
9384 | + fast-glob "^3.2.5" | ||
9385 | + windicss "^2.1.11" | ||
9386 | + | ||
9387 | +vite@2.0.0: | ||
9388 | + version "2.0.0" | ||
9389 | + resolved "https://registry.npmjs.org/vite/-/vite-2.0.0.tgz#156f35eadaa7947629aa8a24eb23129b07116ee3" | ||
9390 | + integrity sha512-rNli5g0DaQ6+btlRqkmaR06neWaJGApmt40gocqrYDNi2XoEXYQgKiHSWzMeUgc1Cdva2HduqazaE+RaKjBpdQ== | ||
9383 | dependencies: | 9391 | dependencies: |
9384 | esbuild "^0.8.34" | 9392 | esbuild "^0.8.34" |
9385 | postcss "^8.2.1" | 9393 | postcss "^8.2.1" |
@@ -9507,6 +9515,11 @@ which@^2.0.1: | @@ -9507,6 +9515,11 @@ which@^2.0.1: | ||
9507 | dependencies: | 9515 | dependencies: |
9508 | isexe "^2.0.0" | 9516 | isexe "^2.0.0" |
9509 | 9517 | ||
9518 | +windicss@^2.1.11: | ||
9519 | + version "2.1.11" | ||
9520 | + resolved "https://registry.npmjs.org/windicss/-/windicss-2.1.11.tgz#35dc9d683488dcfacf94331967b59765a505f18b" | ||
9521 | + integrity sha512-79mPoUmvamwdJb+MJ/ug+XILxFzrTNCXo/HmacUn3V9sRQ6w5lA9KkpTrG70N7Oab0hbIFaq+X3Yva+QLSV0Pw== | ||
9522 | + | ||
9510 | wmf@~1.0.1: | 9523 | wmf@~1.0.1: |
9511 | version "1.0.2" | 9524 | version "1.0.2" |
9512 | resolved "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz#7d19d621071a08c2bdc6b7e688a9c435298cc2da" | 9525 | resolved "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz#7d19d621071a08c2bdc6b7e688a9c435298cc2da" |