Commit 03b6025d07e4df99474f80d3fa57e8b5238ba40c
1 parent
66b56169
refactor(style): remove tailwind css
Showing
52 changed files
with
513 additions
and
505 deletions
.env
README.md
... | ... | @@ -47,6 +47,8 @@ |
47 | 47 | |
48 | 48 | [2.0 在线预览](https://vvbin.cn/next/) |
49 | 49 | |
50 | +测试账号: vben/123456 | |
51 | + | |
50 | 52 | <p align="center"> |
51 | 53 | <img alt="VbenAdmin Logo" width="100%" src="./.github/res/imgs/preview1.png"> |
52 | 54 | <img alt="VbenAdmin Logo" width="100%" src="./.github/res/imgs/preview2.png"> | ... | ... |
package.json
postcss.config.js
src/components/Basic/src/BasicArrow.vue
... | ... | @@ -37,7 +37,7 @@ |
37 | 37 | </script> |
38 | 38 | <style lang="less" scoped> |
39 | 39 | .base-arrow { |
40 | - transform: rotate(-90deg) !important; | |
40 | + transform: rotate(-90deg); | |
41 | 41 | transition: all 0.3s ease 0.1s; |
42 | 42 | transform-origin: center center; |
43 | 43 | |
... | ... | @@ -50,9 +50,10 @@ |
50 | 50 | } |
51 | 51 | |
52 | 52 | &__active { |
53 | - > span { | |
54 | - transform: rotate(90deg) !important; | |
55 | - } | |
53 | + transform: rotate(90deg); | |
54 | + // > span { | |
55 | + // transform: rotate(90deg); | |
56 | + // } | |
56 | 57 | } |
57 | 58 | } |
58 | 59 | </style> | ... | ... |
src/components/Container/src/collapse/CollapseContainer.vue
1 | 1 | <template> |
2 | - <div class="collapse-container p-2 bg:white rounded-sm"> | |
2 | + <div class="collapse-container p-2"> | |
3 | 3 | <CollapseHeader v-bind="$props" :show="show" @expand="handleExpand" /> |
4 | 4 | <CollapseTransition :enable="canExpan"> |
5 | 5 | <Skeleton v-if="loading" /> |
... | ... | @@ -92,7 +92,6 @@ |
92 | 92 | </script> |
93 | 93 | <style lang="less"> |
94 | 94 | .collapse-container { |
95 | - padding: 10px; | |
96 | 95 | background: #fff; |
97 | 96 | border-radius: 8px; |
98 | 97 | transition: all 0.3s ease-in-out; | ... | ... |
src/components/ContextMenu/src/index.tsx
... | ... | @@ -73,7 +73,9 @@ export default defineComponent({ |
73 | 73 | |
74 | 74 | return ( |
75 | 75 | <li class={`${prefixCls}__item ${disabled ? 'disabled' : ''}`} key={label}> |
76 | - <a onClick={handleAction.bind(null, item)}>{renderContent(item)}</a> | |
76 | + <a onClick={handleAction.bind(null, item)} style="color:#333;"> | |
77 | + {renderContent(item)} | |
78 | + </a> | |
77 | 79 | </li> |
78 | 80 | ); |
79 | 81 | }); | ... | ... |
src/components/Icon/index.tsx
src/components/Loading/BasicLoading.vue
1 | 1 | <template> |
2 | - <section class="flex justify-center items-center flex-col"> | |
2 | + <section class="basic-loading"> | |
3 | 3 | <img |
4 | 4 | src="/@/assets/images/loading.svg" |
5 | 5 | alt="" |
... | ... | @@ -47,3 +47,11 @@ |
47 | 47 | }, |
48 | 48 | }); |
49 | 49 | </script> |
50 | +<style lang="less" scoped> | |
51 | + .basic-loading { | |
52 | + display: flex; | |
53 | + justify-content: center; | |
54 | + align-items: center; | |
55 | + flex-direction: column; | |
56 | + } | |
57 | +</style> | ... | ... |
src/components/Loading/FullLoading.vue
1 | 1 | <template> |
2 | - <section | |
3 | - class="full-loading flex justify-center bg-mask-light items-center h-full w-full" | |
4 | - :style="getStyle" | |
5 | - > | |
2 | + <section class="full-loading" :style="getStyle"> | |
6 | 3 | <BasicLoading :tip="tip" :size="SizeEnum.DEFAULT" /> |
7 | 4 | </section> |
8 | 5 | </template> |
... | ... | @@ -39,3 +36,13 @@ |
39 | 36 | }, |
40 | 37 | }); |
41 | 38 | </script> |
39 | +<style lang="less" scoped> | |
40 | + .full-loading { | |
41 | + display: flex; | |
42 | + width: 100%; | |
43 | + height: 100%; | |
44 | + background: rgba(255, 255, 255, 0.3); | |
45 | + justify-content: center; | |
46 | + align-items: center; | |
47 | + } | |
48 | +</style> | ... | ... |
src/design/global.less
0 → 100644
1 | +@import './helper/distance.less'; | |
2 | +// 生成样式 | |
3 | +.distance(); | |
4 | + | |
5 | +.hidden { | |
6 | + display: none !important; | |
7 | +} | |
8 | + | |
9 | +.flex { | |
10 | + display: flex; | |
11 | +} | |
12 | + | |
13 | +.flex-wrap { | |
14 | + flex-wrap: wrap; | |
15 | +} | |
16 | + | |
17 | +.justify-center { | |
18 | + justify-content: center; | |
19 | +} | |
20 | + | |
21 | +.items-center { | |
22 | + align-items: center; | |
23 | +} | |
24 | + | |
25 | +.justify-start { | |
26 | + justify-content: start; | |
27 | +} | |
28 | + | |
29 | +.justify-end { | |
30 | + justify-content: end; | |
31 | +} | |
32 | + | |
33 | +.justify-around { | |
34 | + justify-content: space-around; | |
35 | +} | |
36 | + | |
37 | +.relative { | |
38 | + position: relative; | |
39 | +} | |
40 | + | |
41 | +.absolute { | |
42 | + position: absolute; | |
43 | +} | |
44 | + | |
45 | +.ellipsis { | |
46 | + overflow: hidden; | |
47 | + text-overflow: ellipsis; | |
48 | + word-wrap: normal; | |
49 | + white-space: nowrap; | |
50 | +} | ... | ... |
src/design/helper/distance.less
0 → 100644
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
0 → 100644
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
src/design/main.postcss deleted
100644 → 0
src/design/mixins.less
... | ... | @@ -42,13 +42,6 @@ |
42 | 42 | user-select: none; |
43 | 43 | } |
44 | 44 | |
45 | -.ellipsis { | |
46 | - overflow: hidden; | |
47 | - text-overflow: ellipsis; | |
48 | - word-wrap: normal; | |
49 | - white-space: nowrap; | |
50 | -} | |
51 | - | |
52 | 45 | /* 适用于webkit内核和移动端 */ |
53 | 46 | .ellipsis-multiple(@num: 1) { |
54 | 47 | display: -webkit-box; |
... | ... | @@ -56,3 +49,54 @@ |
56 | 49 | -webkit-box-orient: vertical; |
57 | 50 | -webkit-line-clamp: @num; |
58 | 51 | } |
52 | + | |
53 | +.respond-to (small, @content) { | |
54 | + @media only screen and (min-width: @screen-sm-min) { | |
55 | + @content(); | |
56 | + } | |
57 | +} | |
58 | +.respond-to (medium, @content) { | |
59 | + @media only screen and (min-width: @screen-md-min) { | |
60 | + @content(); | |
61 | + } | |
62 | +} | |
63 | +.respond-to (large, @content) { | |
64 | + @media only screen and (min-width: @screen-lg-min) { | |
65 | + @content(); | |
66 | + } | |
67 | +} | |
68 | +.respond-to (xlarge, @content) { | |
69 | + @media only screen and (min-width: @screen-xl-min) { | |
70 | + @content(); | |
71 | + } | |
72 | +} | |
73 | +.respond-to (xsmall-only, @content) { | |
74 | + @media only screen and (max-width: @screen-xs-max) { | |
75 | + @content(); | |
76 | + } | |
77 | +} | |
78 | +.respond-to (small-only, @content) { | |
79 | + @media only screen and (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { | |
80 | + @content(); | |
81 | + } | |
82 | +} | |
83 | +.respond-to (medium-only, @content) { | |
84 | + @media only screen and (min-width: @screen-md-min) and (max-width: @screen-md-max) { | |
85 | + @content(); | |
86 | + } | |
87 | +} | |
88 | +.respond-to (large-only, @content) { | |
89 | + @media only screen and (min-width: @screen-lg-min) and (max-width: @screen-lg-max) { | |
90 | + @content(); | |
91 | + } | |
92 | +} | |
93 | +.respond-to (xsmall-and-small, @content) { | |
94 | + @media only screen and (max-width: @screen-sm-max) { | |
95 | + @content(); | |
96 | + } | |
97 | +} | |
98 | +.respond-to (small-and-medium, @content) { | |
99 | + @media only screen and (min-width: @screen-sm-min) and (max-width: @screen-md-max) { | |
100 | + @content(); | |
101 | + } | |
102 | +} | ... | ... |
src/layouts/Logo.vue
1 | 1 | <template> |
2 | - <div class="flex justify-items-center items-center cursor-pointer" @click="handleGoHome"> | |
2 | + <div class="app-logo" @click="handleGoHome"> | |
3 | 3 | <img :src="logo" /> |
4 | - <div v-if="show" class="logo-title ml-2 text-xl hidden md:block font-logo ellipsis">{{ | |
5 | - globSetting.title | |
6 | - }}</div> | |
4 | + <div v-if="show" class="logo-title ml-2 ellipsis">{{ globSetting.title }}</div> | |
7 | 5 | </div> |
8 | 6 | </template> |
9 | 7 | <script lang="ts"> |
... | ... | @@ -52,3 +50,22 @@ |
52 | 50 | }, |
53 | 51 | }); |
54 | 52 | </script> |
53 | +<style lang="less" scoped> | |
54 | + @import (reference) '../design/index.less'; | |
55 | + | |
56 | + .app-logo { | |
57 | + display: flex; | |
58 | + justify-content: center; | |
59 | + align-items: center; | |
60 | + cursor: pointer; | |
61 | + | |
62 | + .logo-title { | |
63 | + display: none; | |
64 | + font-family: Georgia, serif; | |
65 | + font-size: 18px; | |
66 | + .respond-to(medium,{ | |
67 | + display: block; | |
68 | + }); | |
69 | + } | |
70 | + } | |
71 | +</style> | ... | ... |
src/layouts/default/LayoutBreadcrumb.tsx
src/layouts/default/LayoutHeader.tsx
... | ... | @@ -55,23 +55,17 @@ export default defineComponent({ |
55 | 55 | |
56 | 56 | const isSidebarType = menuType === MenuTypeEnum.SIDEBAR; |
57 | 57 | return ( |
58 | - <Layout.Header | |
59 | - class={[ | |
60 | - 'layout-header', | |
61 | - 'bg-white flex p-0 px-4 justify-items-center', | |
62 | - unref(headerClass), | |
63 | - ]} | |
64 | - > | |
58 | + <Layout.Header class={['layout-header', 'flex p-0 px-4 ', unref(headerClass)]}> | |
65 | 59 | {() => ( |
66 | 60 | <> |
67 | - <div class="flex-grow flex justify-center items-center"> | |
61 | + <div class="layout-header__content "> | |
68 | 62 | {showLogo && !isSidebarType && <Logo class={`layout-header__logo`} />} |
69 | 63 | |
70 | 64 | {mode !== MenuModeEnum.HORIZONTAL && showBreadCrumb && !splitMenu && ( |
71 | 65 | <LayoutBreadcrumb /> |
72 | 66 | )} |
73 | 67 | {(mode === MenuModeEnum.HORIZONTAL || splitMenu) && ( |
74 | - <div class={[`layout-header__menu flex-grow `, `justify-${topMenuAlign}`]}> | |
68 | + <div class={[`layout-header__menu `, `justify-${topMenuAlign}`]}> | |
75 | 69 | <LayoutMenu |
76 | 70 | theme={headerTheme} |
77 | 71 | splitType={splitMenu ? MenuSplitTyeEnum.TOP : MenuSplitTyeEnum.NONE} | ... | ... |
src/layouts/default/index.less
... | ... | @@ -191,9 +191,17 @@ |
191 | 191 | height: @header-height; |
192 | 192 | padding: 0 20px 0 0; |
193 | 193 | color: @white; |
194 | + background: @white; | |
194 | 195 | align-items: center; |
195 | 196 | justify-content: space-between; |
196 | 197 | |
198 | + &__content { | |
199 | + flex-grow: 1; | |
200 | + display: flex; | |
201 | + justify-content: center; | |
202 | + align-items: center; | |
203 | + } | |
204 | + | |
197 | 205 | &__header--light { |
198 | 206 | background: @white; |
199 | 207 | border-bottom: 1px solid @header-light-bottom-border-color; |
... | ... | @@ -334,6 +342,7 @@ |
334 | 342 | margin-left: 20px; |
335 | 343 | overflow: hidden; |
336 | 344 | align-items: center; |
345 | + flex-grow: 1; | |
337 | 346 | } |
338 | 347 | |
339 | 348 | &__user-dropdown { |
... | ... | @@ -398,4 +407,5 @@ |
398 | 407 | |
399 | 408 | .layout-breadcrumb { |
400 | 409 | padding: 0 16px; |
410 | + flex-grow: 1; | |
401 | 411 | } | ... | ... |
src/layouts/default/setting/index.vue
1 | 1 | <template> |
2 | - <div | |
3 | - @click="openDrawer" | |
4 | - class="setting-button bg-primary flex justify-center items-center text-white p-4 absolute z-10 cursor-pointer" | |
5 | - > | |
2 | + <div @click="openDrawer" class="setting-button"> | |
6 | 3 | <SettingOutlined :spin="true" /> |
7 | 4 | <SettingDrawer @register="register" /> |
8 | 5 | </div> |
... | ... | @@ -26,3 +23,18 @@ |
26 | 23 | }, |
27 | 24 | }); |
28 | 25 | </script> |
26 | +<style lang="less" scoped> | |
27 | + @import (reference) '../../../design/index.less'; | |
28 | + | |
29 | + .setting-button { | |
30 | + position: absolute; | |
31 | + z-index: 10; | |
32 | + display: flex; | |
33 | + padding: 10px; | |
34 | + color: @white; | |
35 | + cursor: pointer; | |
36 | + background: @primary-color; | |
37 | + justify-content: center; | |
38 | + align-items: center; | |
39 | + } | |
40 | +</style> | ... | ... |
src/layouts/iframe/useFrameKeepAlive.ts
... | ... | @@ -6,12 +6,13 @@ import { appStore } from '/@/store/modules/app'; |
6 | 6 | import { AppRouteRecordRaw } from '/@/router/types'; |
7 | 7 | import { useRouter } from 'vue-router'; |
8 | 8 | import router from '/@/router'; |
9 | +import { unique } from '/@/utils'; | |
9 | 10 | |
10 | 11 | export function useFrameKeepAlive() { |
11 | 12 | const { currentRoute } = useRouter(); |
12 | 13 | |
13 | 14 | function getAllFramePages(routes: AppRouteRecordRaw[]): AppRouteRecordRaw[] { |
14 | - const res: AppRouteRecordRaw[] = []; | |
15 | + let res: AppRouteRecordRaw[] = []; | |
15 | 16 | for (const route of routes) { |
16 | 17 | const { meta: { frameSrc } = {}, children } = route; |
17 | 18 | if (frameSrc) { |
... | ... | @@ -21,6 +22,7 @@ export function useFrameKeepAlive() { |
21 | 22 | res.push(...getAllFramePages(children)); |
22 | 23 | } |
23 | 24 | } |
25 | + res = unique(res, 'name'); | |
24 | 26 | return res; |
25 | 27 | } |
26 | 28 | |
... | ... | @@ -30,6 +32,9 @@ export function useFrameKeepAlive() { |
30 | 32 | const getFramePages = computed(() => { |
31 | 33 | const ret = |
32 | 34 | getAllFramePages((toRaw(router.getRoutes()) as unknown) as AppRouteRecordRaw[]) || []; |
35 | + console.log('======================'); | |
36 | + console.log(ret); | |
37 | + console.log('======================'); | |
33 | 38 | return ret; |
34 | 39 | }); |
35 | 40 | ... | ... |
src/main.ts
... | ... | @@ -10,7 +10,6 @@ import { isDevMode, isProdMode, isUseMock } from '/@/utils/env'; |
10 | 10 | |
11 | 11 | import { setupProdMockServer } from '../mock/_createProductionServer'; |
12 | 12 | import '/@/design/index.less'; |
13 | -import '/@/design/main.postcss'; | |
14 | 13 | |
15 | 14 | const app = createApp(App); |
16 | 15 | ... | ... |
src/router/menus/modules/demo/comp.ts
src/router/routes/modules/demo/comp.ts
src/router/routes/modules/demo/permission.ts
src/settings/asyncComponentSetting.ts deleted
100644 → 0
1 | -// import { FullLoading } from '/@/components/Loading/index'; | |
2 | -// import { LoadTimeOut } from '/@/views/sys/exception/'; | |
3 | - | |
4 | -// /** | |
5 | -// * @description: Load page displayed by page switching | |
6 | -// */ | |
7 | -// export const LOADING_PAGE = FullLoading; | |
8 | - | |
9 | -// /** | |
10 | -// * @description: Switch to switch timeout page | |
11 | -// */ | |
12 | -// export const TIMEOUT_PAGE = LoadTimeOut; | |
13 | - | |
14 | -// /** | |
15 | -// * @description: If there is no response for the specified time, the loading page will be displayed | |
16 | -// * 400 m | |
17 | -// */ | |
18 | -// export const DELAY = 400; | |
19 | - | |
20 | -// /** | |
21 | -// * @description: Switch page if there is no response for more than the specified time, the timeout page will be displayed | |
22 | -// * 10秒 | |
23 | -// */ | |
24 | -// export const TIMEOUT = 60 * 1000; |
src/views/dashboard/welcome/index.vue
1 | 1 | <template> |
2 | - <div class="h-full w-full flex justify-center items-center"> | |
2 | + <div class="welcome"> | |
3 | 3 | <House /> |
4 | 4 | </div> |
5 | 5 | </template> |
... | ... | @@ -14,3 +14,12 @@ |
14 | 14 | }, |
15 | 15 | }); |
16 | 16 | </script> |
17 | +<style lang="less" scoped> | |
18 | + .welcome { | |
19 | + display: flex; | |
20 | + width: 100%; | |
21 | + height: 100%; | |
22 | + justify-content: center; | |
23 | + align-items: center; | |
24 | + } | |
25 | +</style> | ... | ... |
src/views/demo/comp/click-out-side/index.vue
1 | 1 | <template> |
2 | - <div class="px-64"> | |
2 | + <div class="px-10"> | |
3 | 3 | <Alert message="点内外部触发事件" show-icon class="mt-4"></Alert> |
4 | 4 | <ClickOutSide @clickOutside="handleClickOutside" class="flex justify-center mt-10"> |
5 | - <div | |
6 | - @click="innerClick" | |
7 | - class="bg-primary w-full h-64 flex justify-center items-center text-2xl text-white rounded-lg shadow-lg" | |
8 | - > | |
5 | + <div @click="innerClick" class="demo-box"> | |
9 | 6 | {{ text }} |
10 | 7 | </div> |
11 | 8 | </ClickOutSide> |
... | ... | @@ -30,3 +27,17 @@ |
30 | 27 | }, |
31 | 28 | }); |
32 | 29 | </script> |
30 | + | |
31 | +<style lang="less" scoped> | |
32 | + .demo-box { | |
33 | + display: flex; | |
34 | + width: 100%; | |
35 | + height: 300px; | |
36 | + font-size: 24px; | |
37 | + color: #fff; | |
38 | + background: #408ede; | |
39 | + border-radius: 10px; | |
40 | + justify-content: center; | |
41 | + align-items: center; | |
42 | + } | |
43 | +</style> | ... | ... |
src/views/demo/comp/scroll/Action.vue
... | ... | @@ -8,11 +8,11 @@ |
8 | 8 | <a-button @click="scrollTo(0)" class="mr-2">滚动到顶部</a-button> |
9 | 9 | <a-button @click="scrollBottom()" class="mr-2">滚动到底部</a-button> |
10 | 10 | </div> |
11 | - <div class="w-1/2 h-64 bg-white"> | |
11 | + <div class="scroll-wrap"> | |
12 | 12 | <ScrollContainer class="mt-4" ref="scrollRef"> |
13 | 13 | <ul class="p-3"> |
14 | 14 | <template v-for="index in 100" :key="index"> |
15 | - <li class="leading-8 px-2" :style="{ border: '1px solid #eee' }">{{ index }}</li> | |
15 | + <li class="p-2" :style="{ border: '1px solid #eee' }">{{ index }}</li> | |
16 | 16 | </template> |
17 | 17 | </ul> |
18 | 18 | </ScrollContainer> |
... | ... | @@ -50,3 +50,10 @@ |
50 | 50 | }, |
51 | 51 | }); |
52 | 52 | </script> |
53 | +<style lang="less" scoped> | |
54 | + .scroll-wrap { | |
55 | + width: 50%; | |
56 | + height: 300px; | |
57 | + background: #fff; | |
58 | + } | |
59 | +</style> | ... | ... |
src/views/demo/comp/scroll/VirtualScroll.vue
... | ... | @@ -9,9 +9,9 @@ |
9 | 9 | </VirtualScroll> |
10 | 10 | </div> |
11 | 11 | |
12 | - <Divider>即使不可见,也预先加载30条数据,防止空白</Divider> | |
12 | + <Divider>即使不可见,也预先加载50条数据,防止空白</Divider> | |
13 | 13 | <div class="virtual-scroll-demo-wrap"> |
14 | - <VirtualScroll :itemHeight="41" :items="data" :height="300" :width="300" :bench="30"> | |
14 | + <VirtualScroll :itemHeight="41" :items="data" :height="300" :width="300" :bench="50"> | |
15 | 15 | <template v-slot="{ item }"> |
16 | 16 | <div class="virtual-scroll-demo__item">{{ item.title }}</div> |
17 | 17 | </template> | ... | ... |
src/views/demo/comp/scroll/index.vue
1 | 1 | <template> |
2 | 2 | <div class="p-4"> |
3 | 3 | <Alert message="抽取el-scrollbar,并对其进行扩展,滚动条美化,适用于各个浏览器" type="info" /> |
4 | - <div class="w-1/2 h-64 bg-white"> | |
4 | + <div class="scroll-wrap"> | |
5 | 5 | <ScrollContainer class="mt-4"> |
6 | 6 | <ul class="p-3"> |
7 | 7 | <template v-for="index in 100" :key="index"> |
8 | - <li class="leading-8 px-2" :style="{ border: '1px solid #eee' }">{{ index }}</li> | |
8 | + <li class="p-2" :style="{ border: '1px solid #eee' }">{{ index }}</li> | |
9 | 9 | </template> |
10 | 10 | </ul> |
11 | 11 | </ScrollContainer> |
... | ... | @@ -24,3 +24,10 @@ |
24 | 24 | }, |
25 | 25 | }); |
26 | 26 | </script> |
27 | +<style lang="less" scoped> | |
28 | + .scroll-wrap { | |
29 | + width: 50%; | |
30 | + height: 300px; | |
31 | + background: #fff; | |
32 | + } | |
33 | +</style> | ... | ... |
src/views/demo/comp/strength-meter/index.vue
1 | 1 | <template> |
2 | 2 | <div class="p-4 flex justify-center"> |
3 | - <div class="w-1/2 bg-white p-10 rounded-md"> | |
3 | + <div class="demo-wrap p-10"> | |
4 | 4 | <StrengthMeter placeholder="默认" /> |
5 | 5 | <StrengthMeter placeholder="禁用" disabled /> |
6 | 6 | <br /> |
... | ... | @@ -21,3 +21,10 @@ |
21 | 21 | }, |
22 | 22 | }); |
23 | 23 | </script> |
24 | +<style lang="less" scoped> | |
25 | + .demo-wrap { | |
26 | + width: 50%; | |
27 | + background: #fff; | |
28 | + border-radius: 10px; | |
29 | + } | |
30 | +</style> | ... | ... |
src/views/demo/comp/verify/Rotate.vue
src/views/demo/comp/verify/index.vue
src/views/demo/feat/tabs/index.vue
1 | 1 | <template> |
2 | 2 | <div class="p-4"> |
3 | - <CollapseContainer | |
4 | - class="px-20 bg-white w-full h-32 rounded-md" | |
5 | - title="在下面输入框输入文本,切换后回来内容会保存" | |
6 | - > | |
3 | + <CollapseContainer title="在下面输入框输入文本,切换后回来内容会保存"> | |
7 | 4 | <a-input placeholder="请输入" /> |
8 | 5 | </CollapseContainer> |
9 | 6 | |
10 | - <CollapseContainer class="px-20 mt-10 bg-white w-full h-32 rounded-md" title="标签页操作"> | |
7 | + <CollapseContainer class="mt-4 px-4" title="标签页操作"> | |
11 | 8 | <a-button class="mr-2" @click="closeAll">关闭所有</a-button> |
12 | 9 | <a-button class="mr-2" @click="closeLeft">关闭左侧</a-button> |
13 | 10 | <a-button class="mr-2" @click="closeRight">关闭右侧</a-button> | ... | ... |
src/views/demo/permission/back/Btn.vue
1 | 1 | <template> |
2 | - <div class="p-10 m-4 rounded-md bg-white"> | |
2 | + <div class="p-4 m-4 demo"> | |
3 | 3 | <Alert message="刷新后会还原" show-icon /> |
4 | 4 | |
5 | 5 | <CurrentPermissionMode /> |
... | ... | @@ -83,3 +83,8 @@ |
83 | 83 | }, |
84 | 84 | }); |
85 | 85 | </script> |
86 | +<style lang="less" scoped> | |
87 | + .demo { | |
88 | + background: #fff; | |
89 | + } | |
90 | +</style> | ... | ... |
src/views/demo/permission/back/index.vue
1 | 1 | <template> |
2 | - <div class="p-10 m-4 rounded-md bg-white"> | |
2 | + <div class="p-4 m-4 demo"> | |
3 | 3 | <Alert |
4 | 4 | message="目前mock了两组数据, id为1 和 2 具体返回的菜单可以在mock/sys/menu.ts内查看" |
5 | 5 | show-icon |
... | ... | @@ -35,3 +35,8 @@ |
35 | 35 | }, |
36 | 36 | }); |
37 | 37 | </script> |
38 | +<style lang="less" scoped> | |
39 | + .demo { | |
40 | + background: #fff; | |
41 | + } | |
42 | +</style> | ... | ... |
src/views/demo/permission/front/AuthPageA.vue
1 | 1 | <template> |
2 | - <div class="m-10 bg-primary text-2xl h-64 rounded-lg flex justify-center items-center text-white"> | |
3 | - Super 角色可见 | |
4 | - </div> | |
2 | + <div class="m-10 auth-page"> Super 角色可见 </div> | |
5 | 3 | </template> |
6 | 4 | <script lang="ts"> |
7 | 5 | import { defineComponent } from 'vue'; |
8 | 6 | export default defineComponent({}); |
9 | 7 | </script> |
8 | +<style lang="less" scoped> | |
9 | + .auth-page { | |
10 | + display: flex; | |
11 | + height: 300px; | |
12 | + font-size: 24px; | |
13 | + color: #fff; | |
14 | + background: #409efe; | |
15 | + border-radius: 12px; | |
16 | + justify-content: center; | |
17 | + align-items: center; | |
18 | + } | |
19 | +</style> | ... | ... |
src/views/demo/permission/front/AuthPageB.vue
1 | 1 | <template> |
2 | - <div class="m-10 bg-primary text-2xl h-64 rounded-lg flex justify-center items-center text-white"> | |
3 | - Test 角色可见 | |
4 | - </div> | |
2 | + <div class="m-10 auth-page"> Test 角色可见 </div> | |
5 | 3 | </template> |
6 | 4 | <script lang="ts"> |
7 | 5 | import { defineComponent } from 'vue'; |
8 | 6 | export default defineComponent({}); |
9 | 7 | </script> |
8 | +<style lang="less" scoped> | |
9 | + .auth-page { | |
10 | + display: flex; | |
11 | + height: 300px; | |
12 | + font-size: 24px; | |
13 | + color: #fff; | |
14 | + background: #409efe; | |
15 | + border-radius: 12px; | |
16 | + justify-content: center; | |
17 | + align-items: center; | |
18 | + } | |
19 | +</style> | ... | ... |
src/views/demo/permission/front/Btn.vue
1 | 1 | <template> |
2 | - <div class="p-10 m-4 rounded-md bg-white"> | |
2 | + <div class="demo p-4 m-4"> | |
3 | 3 | <Alert |
4 | 4 | message="由于刷新的时候会请求用户信息接口,会根据接口重置角色信息,所以刷新后界面会恢复原样,如果不需要,可以注释 src/layout/default/index内的获取用户信息接口" |
5 | 5 | show-icon |
... | ... | @@ -82,3 +82,8 @@ |
82 | 82 | }, |
83 | 83 | }); |
84 | 84 | </script> |
85 | +<style lang="less" scoped> | |
86 | + .demo { | |
87 | + background: #fff; | |
88 | + } | |
89 | +</style> | ... | ... |
src/views/demo/permission/front/index.vue
1 | 1 | <template> |
2 | - <div class="p-10 m-4 rounded-md bg-white"> | |
2 | + <div class="p-4 m-4 demo"> | |
3 | 3 | <Alert |
4 | 4 | message="由于刷新的时候会请求用户信息接口,会根据接口重置角色信息,所以刷新后界面会恢复原样,如果不需要,可以注释 src/layout/default/index内的获取用户信息接口" |
5 | 5 | show-icon |
... | ... | @@ -46,3 +46,8 @@ |
46 | 46 | }, |
47 | 47 | }); |
48 | 48 | </script> |
49 | +<style lang="less" scoped> | |
50 | + .demo { | |
51 | + background: #fff; | |
52 | + } | |
53 | +</style> | ... | ... |
src/views/demo/tree/ActionTree.vue
... | ... | @@ -17,7 +17,7 @@ |
17 | 17 | <a-button @click="deleteNodeByKey('2-2')" class="mr-2">删除parent3节点</a-button> |
18 | 18 | <a-button @click="updateNodeByKey('1-1')" class="mr-2">更新parent2节点</a-button> |
19 | 19 | </div> |
20 | - <CollapseContainer title="函数操作" class="w-1/3 mr-4" :canExpan="false"> | |
20 | + <CollapseContainer title="函数操作" class="mr-4" :canExpan="false" :style="{ width: '33%' }"> | |
21 | 21 | <BasicTree :treeData="treeData" ref="treeRef" :checkable="true" /> |
22 | 22 | </CollapseContainer> |
23 | 23 | </div> | ... | ... |
src/views/demo/tree/EditTree.vue
1 | 1 | <template> |
2 | 2 | <div class="flex p-4"> |
3 | - <CollapseContainer title="右侧操作按钮" class="w-1/3 mr-4"> | |
3 | + <CollapseContainer title="右侧操作按钮" class="mr-4" :style="{ width: '33%' }"> | |
4 | 4 | <BasicTree :treeData="treeData" :actionList="actionList" /> |
5 | 5 | </CollapseContainer> |
6 | 6 | |
7 | - <CollapseContainer title="右键菜单" class="w-1/3 mr-4"> | |
7 | + <CollapseContainer title="右键菜单" class="mr-4" :style="{ width: '33%' }"> | |
8 | 8 | <BasicTree :treeData="treeData" :beforeRightClick="getRightMenuList" /> |
9 | 9 | </CollapseContainer> |
10 | 10 | </div> | ... | ... |
src/views/demo/tree/index.vue
1 | 1 | <template> |
2 | 2 | <div class="flex p-4"> |
3 | - <CollapseContainer title="基础示例" class="w-1/3 mr-4"> | |
3 | + <CollapseContainer title="基础示例" :style="{ width: '33%' }" class="mr-4"> | |
4 | 4 | <BasicTree :treeData="treeData" /> |
5 | 5 | </CollapseContainer> |
6 | 6 | |
7 | - <CollapseContainer title="可勾选" class="w-1/3 mr-4"> | |
7 | + <CollapseContainer title="可勾选" class="mr-4" :style="{ width: '33%' }"> | |
8 | 8 | <BasicTree :treeData="treeData" :checkable="true" /> |
9 | 9 | </CollapseContainer> |
10 | 10 | |
11 | - <CollapseContainer title="默认展开/勾选示例" class="w-1/3"> | |
11 | + <CollapseContainer title="默认展开/勾选示例" :style="{ width: '33%' }"> | |
12 | 12 | <BasicTree |
13 | 13 | :treeData="treeData" |
14 | 14 | :checkable="true" | ... | ... |
src/views/index.vue deleted
100644 → 0
1 | -<template> | |
2 | - <h1>{{ msg }}</h1> | |
3 | - <a-button @click="test">change </a-button> | |
4 | - <div class="sw"> | |
5 | - <Scrollbar ref="a"> | |
6 | - <div class="ss">13123</div> | |
7 | - </Scrollbar> | |
8 | - </div> | |
9 | - | |
10 | - <a-button @click="test1" type="primary">change</a-button> | |
11 | - <ScrollYTransition> | |
12 | - <div class="box" v-show="show"> 1 </div> | |
13 | - </ScrollYTransition> | |
14 | - | |
15 | - <!-- <BasicModal /> --> | |
16 | -</template> | |
17 | -<script lang="ts"> | |
18 | - import { defineComponent, ref } from 'vue'; | |
19 | - import { Scrollbar } from '/@/components/Scrollbar/index'; | |
20 | - import { ScrollContainer } from '/@/components/Container/index'; | |
21 | - import { defHttp } from '/@/utils/http/axios'; | |
22 | - import { useThemeMode } from '/@/useApp'; | |
23 | - import { useMessage } from '/@/hooks/web/useMessage'; | |
24 | - import { | |
25 | - CollapseTransition, | |
26 | - ExpandXTransition, | |
27 | - ScaleTransition, | |
28 | - ScaleRotateTransition, | |
29 | - ScrollYTransition, | |
30 | - } from '/@/components/Transition'; | |
31 | - import { ThemeModeEnum } from '../enums/appEnum'; | |
32 | - // import { BasicModal } from '/@/components/modal'; | |
33 | - export default defineComponent({ | |
34 | - name: 'Home', | |
35 | - components: { | |
36 | - Scrollbar, | |
37 | - CollapseTransition, | |
38 | - ExpandXTransition, | |
39 | - ScaleTransition, | |
40 | - ScaleRotateTransition, | |
41 | - ScrollYTransition, | |
42 | - ScrollContainer, | |
43 | - // BasicModal | |
44 | - }, | |
45 | - setup() { | |
46 | - const { createMessage } = useMessage(); | |
47 | - createMessage.success({ | |
48 | - content: '123', | |
49 | - duration: 999999, | |
50 | - }); | |
51 | - // createMessage.error('123'); | |
52 | - // createMessage.info('123'); | |
53 | - // createMessage.warning('123'); | |
54 | - // createConfirm({ | |
55 | - // iconType: 'success', | |
56 | - // title: '123', | |
57 | - // content: '123', | |
58 | - // }); | |
59 | - const { runChangeThemeMode } = useThemeMode(ThemeModeEnum.DARK); | |
60 | - let msg = ref('hello Home'); | |
61 | - const show = ref(true); | |
62 | - function test() { | |
63 | - msg.value = 'hello Home1'; | |
64 | - } | |
65 | - defHttp.request({ | |
66 | - method: 'post', | |
67 | - url: '/login', | |
68 | - params: { | |
69 | - username: 'vben', | |
70 | - password: '123456', | |
71 | - }, | |
72 | - }); | |
73 | - | |
74 | - const a = ref(null); | |
75 | - function test1() { | |
76 | - runChangeThemeMode(); | |
77 | - // show.value = !show.value; | |
78 | - // a.value.scrollTo(200); | |
79 | - } | |
80 | - return { | |
81 | - a, | |
82 | - msg, | |
83 | - test, | |
84 | - show, | |
85 | - test1, | |
86 | - }; | |
87 | - }, | |
88 | - }); | |
89 | -</script> | |
90 | -<style lang="less" scoped> | |
91 | - .sw { | |
92 | - width: 300px; | |
93 | - height: 300px; | |
94 | - border: 1px solid red; | |
95 | - | |
96 | - .scrollbar { | |
97 | - height: 100%; | |
98 | - } | |
99 | - | |
100 | - .ss { | |
101 | - height: 500px; | |
102 | - } | |
103 | - } | |
104 | - | |
105 | - .box { | |
106 | - width: 200px; | |
107 | - height: 200px; | |
108 | - background: #000; | |
109 | - } | |
110 | -</style> |
src/views/sys/exception/Exception.tsx
... | ... | @@ -15,6 +15,7 @@ import { useRoute } from 'vue-router'; |
15 | 15 | import { useGo, useRedo } from '/@/hooks/web/usePage'; |
16 | 16 | import { PageEnum } from '/@/enums/pageEnum'; |
17 | 17 | |
18 | +import './exception.less'; | |
18 | 19 | interface MapValue { |
19 | 20 | title: string; |
20 | 21 | subTitle: string; |
... | ... | @@ -105,7 +106,7 @@ export default defineComponent({ |
105 | 106 | const { title, subTitle, btnText, icon, handler } = unref(getMapValue) || {}; |
106 | 107 | return ( |
107 | 108 | <Result |
108 | - class="flex items-center flex-col" | |
109 | + class="exception " | |
109 | 110 | title={props.title || title} |
110 | 111 | sub-title={props.subTitle || subTitle} |
111 | 112 | > | ... | ... |
src/views/sys/exception/exception.less
0 → 100644
src/views/sys/login/Login.vue
1 | 1 | <template> |
2 | - <div class="login h-screen relative"> | |
3 | - <div class="login-mask h-full hidden lg:block" /> | |
4 | - <div | |
5 | - class="h-full absolute right-0 top-0 w-full lg:w-2/5 xl:w-1/3 flex justify-center items-center" | |
6 | - > | |
7 | - <div class="login-form bg-white w-full rounded-sm border-solid bg-clip-padding mx-6 xl:mx-14"> | |
8 | - <div class="w-full h-full border border-gray-600 px-2 py-10 rounded-sm"> | |
9 | - <header class="flex justify-center items-center"> | |
10 | - <img src="/@/assets/images/logo.png" class="w-12 mr-4 inline-block" /> | |
11 | - <h1 class="text-2xl text-center text-primary tracking-wide">Vben Admin 2.0</h1> | |
2 | + <div class="login"> | |
3 | + <div class="login-mask" /> | |
4 | + <div class="login-form-wrap"> | |
5 | + <div class="login-form mx-6"> | |
6 | + <div class="login-form__content px-2 py-10"> | |
7 | + <header> | |
8 | + <img src="/@/assets/images/logo.png" class="mr-4" /> | |
9 | + <h1>{{ title }}</h1> | |
12 | 10 | </header> |
13 | 11 | |
14 | - <a-form class="w-4/5 mx-auto mt-10" :model="formData" :rules="formRules" ref="formRef"> | |
12 | + <a-form class="mx-auto mt-10" :model="formData" :rules="formRules" ref="formRef"> | |
15 | 13 | <a-form-item name="account"> |
16 | 14 | <a-input size="large" v-model:value="formData.account" placeholder="vben" /> |
17 | 15 | </a-form-item> |
... | ... | @@ -50,9 +48,11 @@ |
50 | 48 | import { userStore } from '/@/store/modules/user'; |
51 | 49 | import { appStore } from '/@/store/modules/app'; |
52 | 50 | import { useMessage } from '/@/hooks/web/useMessage'; |
51 | + import { useSetting } from '/@/hooks/core/useSetting'; | |
53 | 52 | export default defineComponent({ |
54 | 53 | components: { BasicDragVerify }, |
55 | 54 | setup() { |
55 | + const { globSetting } = useSetting(); | |
56 | 56 | const { notification } = useMessage(); |
57 | 57 | const formRef = ref<any>(null); |
58 | 58 | const verifyRef = ref<RefInstanceType<DragVerifyActionType>>(null); |
... | ... | @@ -115,23 +115,79 @@ |
115 | 115 | formRules, |
116 | 116 | login: handleLogin, |
117 | 117 | openLoginVerify: openLoginVerifyRef, |
118 | + title: globSetting && globSetting.title, | |
118 | 119 | }; |
119 | 120 | }, |
120 | 121 | }); |
121 | 122 | </script> |
122 | 123 | <style lang="less" scoped> |
124 | + @import (reference) '../../../design/index.less'; | |
125 | + | |
123 | 126 | .login { |
127 | + position: relative; | |
128 | + height: 100vh; | |
124 | 129 | background: url(../../../assets/images/login/login-bg.png) no-repeat; |
125 | 130 | background-size: 100% 100%; |
126 | 131 | |
127 | 132 | &-mask { |
133 | + display: none; | |
134 | + height: 100%; | |
128 | 135 | background: url(../../../assets/images/login/login-in.png) no-repeat; |
129 | 136 | background-size: 100% 100%; |
137 | + | |
138 | + .respond-to(large, { display: block;}); | |
130 | 139 | } |
131 | 140 | |
132 | 141 | &-form { |
133 | - border-color: rgba(255, 255, 255, 0.5); | |
142 | + width: 100%; | |
143 | + background: @white; | |
144 | + border: 10px solid rgba(255, 255, 255, 0.5); | |
134 | 145 | border-width: 10px; |
146 | + border-radius: 4px; | |
147 | + background-clip: padding-box; | |
148 | + .respond-to(xlarge, { margin: 0 56px}); | |
149 | + | |
150 | + &-wrap { | |
151 | + position: absolute; | |
152 | + top: 0; | |
153 | + right: 0; | |
154 | + display: flex; | |
155 | + width: 100%; | |
156 | + height: 100%; | |
157 | + justify-content: center; | |
158 | + align-items: center; | |
159 | + .respond-to(large, { width: 40%;}); | |
160 | + .respond-to(xlarge, { width: 33.3%;}); | |
161 | + } | |
162 | + | |
163 | + &__content { | |
164 | + width: 100%; | |
165 | + height: 100%; | |
166 | + border: 1px solid #999; | |
167 | + border-radius: 2px; | |
168 | + | |
169 | + header { | |
170 | + display: flex; | |
171 | + justify-content: center; | |
172 | + align-items: center; | |
173 | + | |
174 | + img { | |
175 | + display: inline-block; | |
176 | + width: 48px; | |
177 | + } | |
178 | + | |
179 | + h1 { | |
180 | + margin-bottom: 0; | |
181 | + font-size: 24px; | |
182 | + color: @primary-color; | |
183 | + text-align: center; | |
184 | + } | |
185 | + } | |
186 | + | |
187 | + form { | |
188 | + width: 80%; | |
189 | + } | |
190 | + } | |
135 | 191 | } |
136 | 192 | } |
137 | 193 | </style> | ... | ... |
tailwind.config.js deleted
100644 → 0
1 | -// #4c5eb8 | |
2 | -const { colors, inset } = require('tailwindcss/defaultTheme'); | |
3 | - | |
4 | -const themeColors = { | |
5 | - mask: { | |
6 | - light: 'rgba(255,255,255,0.3)', | |
7 | - }, | |
8 | - primary: '#018ffb', | |
9 | - success: '#55d187', | |
10 | - warning: '#ffd164', | |
11 | - danger: '#ed6f6f', | |
12 | -}; | |
13 | - | |
14 | -module.exports = { | |
15 | - purge: { | |
16 | - enabled: process.env.NODE_ENV === 'production', | |
17 | - content: [ | |
18 | - './index.html', | |
19 | - './src/**/*.vue', | |
20 | - './src/**/*.js', | |
21 | - './src/**/*.jsx', | |
22 | - './src/**/*.ts', | |
23 | - './src/**/*.tsx', | |
24 | - ], | |
25 | - }, | |
26 | - theme: { | |
27 | - colors: { | |
28 | - ...colors, | |
29 | - ...themeColors, | |
30 | - }, | |
31 | - inset: { | |
32 | - ...inset, | |
33 | - '1/2': '50%', | |
34 | - }, | |
35 | - screens: { | |
36 | - xs: '480px', | |
37 | - sm: '576px', | |
38 | - md: '768px', | |
39 | - lg: '992px', | |
40 | - xl: '1200px', | |
41 | - xxl: '1600px', | |
42 | - }, | |
43 | - fontSize: { | |
44 | - xs: '.75rem', // 12px | |
45 | - sm: '.875rem', // 14px | |
46 | - base: '1rem', // 16px | |
47 | - lg: '1.125rem', // 18px | |
48 | - xl: '1.25rem', // 20px | |
49 | - '2xl': '1.5rem', // 24px | |
50 | - '3xl': '1.875rem', // 30px | |
51 | - '4xl': '2.25rem', // 36px | |
52 | - '5xl': '3rem', // 48px | |
53 | - '6xl': '4rem', // 64px | |
54 | - logo: '9rem', // 134px | |
55 | - }, | |
56 | - fontWeight: { | |
57 | - light: 300, | |
58 | - normal: 400, | |
59 | - medium: 500, | |
60 | - semibold: 600, | |
61 | - bold: 700, | |
62 | - extrabold: 800, | |
63 | - black: 900, | |
64 | - }, | |
65 | - fontFamily: { | |
66 | - logo: [' Georgia', 'serif'], | |
67 | - }, | |
68 | - }, | |
69 | - future: { | |
70 | - // 2.0 remove col-gap-{n} | |
71 | - removeDeprecatedGapUtilities: true, | |
72 | - purgeLayersByDefault: true, | |
73 | - }, | |
74 | -}; |
tsconfig.json
yarn.lock
... | ... | @@ -367,14 +367,6 @@ |
367 | 367 | minimatch "^3.0.4" |
368 | 368 | strip-json-comments "^3.1.1" |
369 | 369 | |
370 | -"@fullhuman/postcss-purgecss@^2.1.2": | |
371 | - version "2.3.0" | |
372 | - resolved "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-2.3.0.tgz#50a954757ec78696615d3e118e3fee2d9291882e" | |
373 | - integrity sha512-qnKm5dIOyPGJ70kPZ5jiz0I9foVOic0j+cOzNDoo8KoCf6HjicIZ99UfO2OmE7vCYSKAAepEwJtNzpiiZAh9xw== | |
374 | - dependencies: | |
375 | - postcss "7.0.32" | |
376 | - purgecss "^2.3.0" | |
377 | - | |
378 | 370 | "@iconify/iconify@2.0.0-rc.1", "@iconify/iconify@>=2.0.0-rc.1", "@iconify/iconify@^2.0.0-rc.1": |
379 | 371 | version "2.0.0-rc.1" |
380 | 372 | resolved "https://registry.npmjs.org/@iconify/iconify/-/iconify-2.0.0-rc.1.tgz#a8bae29d71016d5af98c69f56a73c4a040217b3a" |
... | ... | @@ -976,21 +968,7 @@ acorn-jsx@^5.2.0: |
976 | 968 | resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" |
977 | 969 | integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== |
978 | 970 | |
979 | -acorn-node@^1.6.1: | |
980 | - version "1.8.2" | |
981 | - resolved "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" | |
982 | - integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== | |
983 | - dependencies: | |
984 | - acorn "^7.0.0" | |
985 | - acorn-walk "^7.0.0" | |
986 | - xtend "^4.0.2" | |
987 | - | |
988 | -acorn-walk@^7.0.0: | |
989 | - version "7.2.0" | |
990 | - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" | |
991 | - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== | |
992 | - | |
993 | -acorn@^7.0.0, acorn@^7.1.1, acorn@^7.4.0: | |
971 | +acorn@^7.1.1, acorn@^7.4.0: | |
994 | 972 | version "7.4.1" |
995 | 973 | resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" |
996 | 974 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== |
... | ... | @@ -1211,7 +1189,7 @@ atob@^2.1.2: |
1211 | 1189 | resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" |
1212 | 1190 | integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== |
1213 | 1191 | |
1214 | -autoprefixer@^9.4.5, autoprefixer@^9.8.6: | |
1192 | +autoprefixer@^9.8.6: | |
1215 | 1193 | version "9.8.6" |
1216 | 1194 | resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" |
1217 | 1195 | integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== |
... | ... | @@ -1376,7 +1354,7 @@ builtin-modules@^3.1.0: |
1376 | 1354 | resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" |
1377 | 1355 | integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== |
1378 | 1356 | |
1379 | -bytes@3.1.0, bytes@^3.0.0: | |
1357 | +bytes@3.1.0: | |
1380 | 1358 | version "3.1.0" |
1381 | 1359 | resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" |
1382 | 1360 | integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== |
... | ... | @@ -1433,11 +1411,6 @@ callsites@^3.0.0: |
1433 | 1411 | resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" |
1434 | 1412 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== |
1435 | 1413 | |
1436 | -camelcase-css@^2.0.1: | |
1437 | - version "2.0.1" | |
1438 | - resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" | |
1439 | - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== | |
1440 | - | |
1441 | 1414 | camelcase-keys@^2.0.0: |
1442 | 1415 | version "2.1.0" |
1443 | 1416 | resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" |
... | ... | @@ -1507,7 +1480,7 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: |
1507 | 1480 | escape-string-regexp "^1.0.5" |
1508 | 1481 | supports-color "^5.3.0" |
1509 | 1482 | |
1510 | -chalk@4.1.0, "chalk@^3.0.0 || ^4.0.0", chalk@^4.0.0, chalk@^4.1.0: | |
1483 | +chalk@4.1.0, chalk@^4.0.0, chalk@^4.1.0: | |
1511 | 1484 | version "4.1.0" |
1512 | 1485 | resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" |
1513 | 1486 | integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== |
... | ... | @@ -1685,7 +1658,7 @@ collection-visit@^1.0.0: |
1685 | 1658 | map-visit "^1.0.0" |
1686 | 1659 | object-visit "^1.0.0" |
1687 | 1660 | |
1688 | -color-convert@^1.9.0, color-convert@^1.9.1: | |
1661 | +color-convert@^1.9.0: | |
1689 | 1662 | version "1.9.3" |
1690 | 1663 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" |
1691 | 1664 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== |
... | ... | @@ -1704,27 +1677,11 @@ color-name@1.1.3: |
1704 | 1677 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" |
1705 | 1678 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= |
1706 | 1679 | |
1707 | -color-name@^1.0.0, color-name@~1.1.4: | |
1680 | +color-name@~1.1.4: | |
1708 | 1681 | version "1.1.4" |
1709 | 1682 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" |
1710 | 1683 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== |
1711 | 1684 | |
1712 | -color-string@^1.5.4: | |
1713 | - version "1.5.4" | |
1714 | - resolved "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6" | |
1715 | - integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw== | |
1716 | - dependencies: | |
1717 | - color-name "^1.0.0" | |
1718 | - simple-swizzle "^0.2.2" | |
1719 | - | |
1720 | -color@^3.1.2: | |
1721 | - version "3.1.3" | |
1722 | - resolved "https://registry.npmjs.org/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" | |
1723 | - integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== | |
1724 | - dependencies: | |
1725 | - color-convert "^1.9.1" | |
1726 | - color-string "^1.5.4" | |
1727 | - | |
1728 | 1685 | colorette@^1.2.1: |
1729 | 1686 | version "1.2.1" |
1730 | 1687 | resolved "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" |
... | ... | @@ -1740,11 +1697,6 @@ commander@^2.20.0: |
1740 | 1697 | resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" |
1741 | 1698 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== |
1742 | 1699 | |
1743 | -commander@^5.0.0: | |
1744 | - version "5.1.0" | |
1745 | - resolved "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" | |
1746 | - integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== | |
1747 | - | |
1748 | 1700 | commitizen@^4.0.3, commitizen@^4.2.1: |
1749 | 1701 | version "4.2.1" |
1750 | 1702 | resolved "https://registry.npmjs.org/commitizen/-/commitizen-4.2.1.tgz#3b098b16c6b1a37f0d129018dff6751b20cd3103" |
... | ... | @@ -2069,11 +2021,6 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2: |
2069 | 2021 | shebang-command "^2.0.0" |
2070 | 2022 | which "^2.0.1" |
2071 | 2023 | |
2072 | -css-unit-converter@^1.1.1: | |
2073 | - version "1.1.2" | |
2074 | - resolved "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz#4c77f5a1954e6dbff60695ecb214e3270436ab21" | |
2075 | - integrity sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA== | |
2076 | - | |
2077 | 2024 | cssesc@^3.0.0: |
2078 | 2025 | version "3.0.0" |
2079 | 2026 | resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" |
... | ... | @@ -2222,11 +2169,6 @@ define-property@^2.0.2: |
2222 | 2169 | is-descriptor "^1.0.2" |
2223 | 2170 | isobject "^3.0.1" |
2224 | 2171 | |
2225 | -defined@^1.0.0: | |
2226 | - version "1.0.0" | |
2227 | - resolved "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" | |
2228 | - integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= | |
2229 | - | |
2230 | 2172 | delegates@^1.0.0: |
2231 | 2173 | version "1.0.0" |
2232 | 2174 | resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" |
... | ... | @@ -2257,15 +2199,6 @@ detect-indent@6.0.0: |
2257 | 2199 | resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" |
2258 | 2200 | integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== |
2259 | 2201 | |
2260 | -detective@^5.2.0: | |
2261 | - version "5.2.0" | |
2262 | - resolved "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" | |
2263 | - integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== | |
2264 | - dependencies: | |
2265 | - acorn-node "^1.6.1" | |
2266 | - defined "^1.0.0" | |
2267 | - minimist "^1.1.1" | |
2268 | - | |
2269 | 2202 | diff@^4.0.1: |
2270 | 2203 | version "4.0.2" |
2271 | 2204 | resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" |
... | ... | @@ -2910,7 +2843,7 @@ fresh@~0.5.2: |
2910 | 2843 | resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" |
2911 | 2844 | integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= |
2912 | 2845 | |
2913 | -fs-extra@8.1.0, fs-extra@^8.0.0: | |
2846 | +fs-extra@8.1.0: | |
2914 | 2847 | version "8.1.0" |
2915 | 2848 | resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" |
2916 | 2849 | integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== |
... | ... | @@ -3558,11 +3491,6 @@ is-arrayish@^0.2.1: |
3558 | 3491 | resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" |
3559 | 3492 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= |
3560 | 3493 | |
3561 | -is-arrayish@^0.3.1: | |
3562 | - version "0.3.2" | |
3563 | - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" | |
3564 | - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== | |
3565 | - | |
3566 | 3494 | is-binary-path@~2.1.0: |
3567 | 3495 | version "2.1.0" |
3568 | 3496 | resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" |
... | ... | @@ -4532,7 +4460,7 @@ minimist-options@^3.0.1: |
4532 | 4460 | arrify "^1.0.1" |
4533 | 4461 | is-plain-obj "^1.1.0" |
4534 | 4462 | |
4535 | -minimist@1.2.5, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: | |
4463 | +minimist@1.2.5, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: | |
4536 | 4464 | version "1.2.5" |
4537 | 4465 | resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" |
4538 | 4466 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== |
... | ... | @@ -4645,7 +4573,7 @@ neo-async@^2.6.0: |
4645 | 4573 | resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" |
4646 | 4574 | integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== |
4647 | 4575 | |
4648 | -node-emoji@^1.10.0, node-emoji@^1.8.1: | |
4576 | +node-emoji@^1.10.0: | |
4649 | 4577 | version "1.10.0" |
4650 | 4578 | resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da" |
4651 | 4579 | integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== |
... | ... | @@ -4687,11 +4615,6 @@ normalize-selector@^0.2.0: |
4687 | 4615 | resolved "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz#d0b145eb691189c63a78d201dc4fdb1293ef0c03" |
4688 | 4616 | integrity sha1-0LFF62kRicY6eNIB3E/bEpPvDAM= |
4689 | 4617 | |
4690 | -normalize.css@^8.0.1: | |
4691 | - version "8.0.1" | |
4692 | - resolved "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz#9b98a208738b9cc2634caacbc42d131c97487bf3" | |
4693 | - integrity sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg== | |
4694 | - | |
4695 | 4618 | npm-run-path@^4.0.0: |
4696 | 4619 | version "4.0.1" |
4697 | 4620 | resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" |
... | ... | @@ -4714,7 +4637,7 @@ number-is-nan@^1.0.0: |
4714 | 4637 | resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" |
4715 | 4638 | integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= |
4716 | 4639 | |
4717 | -object-assign@4.x, object-assign@^4.0.1, object-assign@^4.1.1: | |
4640 | +object-assign@4.x, object-assign@^4.0.1: | |
4718 | 4641 | version "4.1.1" |
4719 | 4642 | resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" |
4720 | 4643 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= |
... | ... | @@ -4728,11 +4651,6 @@ object-copy@^0.1.0: |
4728 | 4651 | define-property "^0.2.5" |
4729 | 4652 | kind-of "^3.0.3" |
4730 | 4653 | |
4731 | -object-hash@^2.0.3: | |
4732 | - version "2.0.3" | |
4733 | - resolved "https://registry.npmjs.org/object-hash/-/object-hash-2.0.3.tgz#d12db044e03cd2ca3d77c0570d87225b02e1e6ea" | |
4734 | - integrity sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg== | |
4735 | - | |
4736 | 4654 | object-visit@^1.0.0: |
4737 | 4655 | version "1.0.1" |
4738 | 4656 | resolved "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" |
... | ... | @@ -5109,16 +5027,6 @@ postcss-discard-comments@^4.0.2: |
5109 | 5027 | dependencies: |
5110 | 5028 | postcss "^7.0.0" |
5111 | 5029 | |
5112 | -postcss-functions@^3.0.0: | |
5113 | - version "3.0.0" | |
5114 | - resolved "https://registry.npmjs.org/postcss-functions/-/postcss-functions-3.0.0.tgz#0e94d01444700a481de20de4d55fb2640564250e" | |
5115 | - integrity sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4= | |
5116 | - dependencies: | |
5117 | - glob "^7.1.2" | |
5118 | - object-assign "^4.1.1" | |
5119 | - postcss "^6.0.9" | |
5120 | - postcss-value-parser "^3.3.0" | |
5121 | - | |
5122 | 5030 | postcss-html@^0.36.0: |
5123 | 5031 | version "0.36.0" |
5124 | 5032 | resolved "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz#b40913f94eaacc2453fd30a1327ad6ee1f88b204" |
... | ... | @@ -5136,14 +5044,6 @@ postcss-import@^12.0.1: |
5136 | 5044 | read-cache "^1.0.0" |
5137 | 5045 | resolve "^1.1.7" |
5138 | 5046 | |
5139 | -postcss-js@^2.0.0: | |
5140 | - version "2.0.3" | |
5141 | - resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-2.0.3.tgz#a96f0f23ff3d08cec7dc5b11bf11c5f8077cdab9" | |
5142 | - integrity sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w== | |
5143 | - dependencies: | |
5144 | - camelcase-css "^2.0.1" | |
5145 | - postcss "^7.0.18" | |
5146 | - | |
5147 | 5047 | postcss-less@^3.1.4: |
5148 | 5048 | version "3.1.4" |
5149 | 5049 | resolved "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz#369f58642b5928ef898ffbc1a6e93c958304c5ad" |
... | ... | @@ -5212,14 +5112,6 @@ postcss-modules@^3.2.2: |
5212 | 5112 | postcss-modules-values "^3.0.0" |
5213 | 5113 | string-hash "^1.1.1" |
5214 | 5114 | |
5215 | -postcss-nested@^4.1.1: | |
5216 | - version "4.2.3" | |
5217 | - resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-4.2.3.tgz#c6f255b0a720549776d220d00c4b70cd244136f6" | |
5218 | - integrity sha512-rOv0W1HquRCamWy2kFl3QazJMMe1ku6rCFoAAH+9AcxdbpDeBr6k968MLWuLjvjMcGEip01ak09hKOEgpK9hvw== | |
5219 | - dependencies: | |
5220 | - postcss "^7.0.32" | |
5221 | - postcss-selector-parser "^6.0.2" | |
5222 | - | |
5223 | 5115 | postcss-resolve-nested-selector@^0.1.1: |
5224 | 5116 | version "0.1.1" |
5225 | 5117 | resolved "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" |
... | ... | @@ -5270,7 +5162,7 @@ postcss-syntax@^0.36.2: |
5270 | 5162 | resolved "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz#f08578c7d95834574e5593a82dfbfa8afae3b51c" |
5271 | 5163 | integrity sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w== |
5272 | 5164 | |
5273 | -postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: | |
5165 | +postcss-value-parser@^3.2.3: | |
5274 | 5166 | version "3.3.1" |
5275 | 5167 | resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" |
5276 | 5168 | integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== |
... | ... | @@ -5280,25 +5172,7 @@ postcss-value-parser@^4.1.0: |
5280 | 5172 | resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" |
5281 | 5173 | integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== |
5282 | 5174 | |
5283 | -postcss@7.0.32: | |
5284 | - version "7.0.32" | |
5285 | - resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" | |
5286 | - integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== | |
5287 | - dependencies: | |
5288 | - chalk "^2.4.2" | |
5289 | - source-map "^0.6.1" | |
5290 | - supports-color "^6.1.0" | |
5291 | - | |
5292 | -postcss@^6.0.9: | |
5293 | - version "6.0.23" | |
5294 | - resolved "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" | |
5295 | - integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== | |
5296 | - dependencies: | |
5297 | - chalk "^2.4.1" | |
5298 | - source-map "^0.6.1" | |
5299 | - supports-color "^5.4.0" | |
5300 | - | |
5301 | -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.11, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.18, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.28, postcss@^7.0.31, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: | |
5175 | +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.28, postcss@^7.0.31, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: | |
5302 | 5176 | version "7.0.35" |
5303 | 5177 | resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" |
5304 | 5178 | integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== |
... | ... | @@ -5324,11 +5198,6 @@ prettier@^2.1.2: |
5324 | 5198 | resolved "https://registry.npmjs.org/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5" |
5325 | 5199 | integrity sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg== |
5326 | 5200 | |
5327 | -pretty-hrtime@^1.0.3: | |
5328 | - version "1.0.3" | |
5329 | - resolved "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" | |
5330 | - integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= | |
5331 | - | |
5332 | 5201 | process-nextick-args@~2.0.0: |
5333 | 5202 | version "2.0.1" |
5334 | 5203 | resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" |
... | ... | @@ -5364,16 +5233,6 @@ pupa@^2.0.0: |
5364 | 5233 | dependencies: |
5365 | 5234 | escape-goat "^2.0.0" |
5366 | 5235 | |
5367 | -purgecss@^2.3.0: | |
5368 | - version "2.3.0" | |
5369 | - resolved "https://registry.npmjs.org/purgecss/-/purgecss-2.3.0.tgz#5327587abf5795e6541517af8b190a6fb5488bb3" | |
5370 | - integrity sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ== | |
5371 | - dependencies: | |
5372 | - commander "^5.0.0" | |
5373 | - glob "^7.0.0" | |
5374 | - postcss "7.0.32" | |
5375 | - postcss-selector-parser "^6.0.2" | |
5376 | - | |
5377 | 5236 | q@^1.5.1: |
5378 | 5237 | version "1.5.1" |
5379 | 5238 | resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" |
... | ... | @@ -5551,14 +5410,6 @@ redent@^3.0.0: |
5551 | 5410 | indent-string "^4.0.0" |
5552 | 5411 | strip-indent "^3.0.0" |
5553 | 5412 | |
5554 | -reduce-css-calc@^2.1.6: | |
5555 | - version "2.1.7" | |
5556 | - resolved "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.7.tgz#1ace2e02c286d78abcd01fd92bfe8097ab0602c2" | |
5557 | - integrity sha512-fDnlZ+AybAS3C7Q9xDq5y8A2z+lT63zLbynew/lur/IR24OQF5x98tfNwf79mzEdfywZ0a2wpM860FhFfMxZlA== | |
5558 | - dependencies: | |
5559 | - css-unit-converter "^1.1.1" | |
5560 | - postcss-value-parser "^3.3.0" | |
5561 | - | |
5562 | 5413 | regenerator-runtime@^0.13.4: |
5563 | 5414 | version "0.13.7" |
5564 | 5415 | resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" |
... | ... | @@ -5713,7 +5564,7 @@ resolve-url@^0.2.1: |
5713 | 5564 | resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" |
5714 | 5565 | integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= |
5715 | 5566 | |
5716 | -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.3.2: | |
5567 | +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.17.0, resolve@^1.3.2: | |
5717 | 5568 | version "1.17.0" |
5718 | 5569 | resolved "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" |
5719 | 5570 | integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== |
... | ... | @@ -6001,13 +5852,6 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: |
6001 | 5852 | resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" |
6002 | 5853 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== |
6003 | 5854 | |
6004 | -simple-swizzle@^0.2.2: | |
6005 | - version "0.2.2" | |
6006 | - resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" | |
6007 | - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= | |
6008 | - dependencies: | |
6009 | - is-arrayish "^0.3.1" | |
6010 | - | |
6011 | 5855 | slash@^3.0.0: |
6012 | 5856 | version "3.0.0" |
6013 | 5857 | resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" |
... | ... | @@ -6435,7 +6279,7 @@ supports-color@^4.0.0: |
6435 | 6279 | dependencies: |
6436 | 6280 | has-flag "^2.0.0" |
6437 | 6281 | |
6438 | -supports-color@^5.3.0, supports-color@^5.4.0: | |
6282 | +supports-color@^5.3.0: | |
6439 | 6283 | version "5.5.0" |
6440 | 6284 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" |
6441 | 6285 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== |
... | ... | @@ -6481,34 +6325,6 @@ table@^6.0.1: |
6481 | 6325 | slice-ansi "^4.0.0" |
6482 | 6326 | string-width "^4.2.0" |
6483 | 6327 | |
6484 | -tailwindcss@^1.8.13: | |
6485 | - version "1.8.13" | |
6486 | - resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-1.8.13.tgz#ee57050a516d342bafc92cb74b4de6f92e44c189" | |
6487 | - integrity sha512-z3R/6qPqfjauSR4qHhlA8I0OnfSyuotvigXISq666k+V52VSs5HV//KZ0Xe3qrZ4h5Um4OG5g+lcgjXSfURjDw== | |
6488 | - dependencies: | |
6489 | - "@fullhuman/postcss-purgecss" "^2.1.2" | |
6490 | - autoprefixer "^9.4.5" | |
6491 | - browserslist "^4.12.0" | |
6492 | - bytes "^3.0.0" | |
6493 | - chalk "^3.0.0 || ^4.0.0" | |
6494 | - color "^3.1.2" | |
6495 | - detective "^5.2.0" | |
6496 | - fs-extra "^8.0.0" | |
6497 | - html-tags "^3.1.0" | |
6498 | - lodash "^4.17.20" | |
6499 | - node-emoji "^1.8.1" | |
6500 | - normalize.css "^8.0.1" | |
6501 | - object-hash "^2.0.3" | |
6502 | - postcss "^7.0.11" | |
6503 | - postcss-functions "^3.0.0" | |
6504 | - postcss-js "^2.0.0" | |
6505 | - postcss-nested "^4.1.1" | |
6506 | - postcss-selector-parser "^6.0.0" | |
6507 | - postcss-value-parser "^4.1.0" | |
6508 | - pretty-hrtime "^1.0.3" | |
6509 | - reduce-css-calc "^2.1.6" | |
6510 | - resolve "^1.14.2" | |
6511 | - | |
6512 | 6328 | tasksfile@^5.1.1: |
6513 | 6329 | version "5.1.1" |
6514 | 6330 | resolved "https://registry.npmjs.org/tasksfile/-/tasksfile-5.1.1.tgz#7d5bc643bc0dc078b491a8fd9d19341c52599a95" |
... | ... | @@ -7137,7 +6953,7 @@ ws@^7.2.3: |
7137 | 6953 | resolved "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" |
7138 | 6954 | integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== |
7139 | 6955 | |
7140 | -xtend@^4.0.0, xtend@^4.0.1, xtend@^4.0.2, xtend@~4.0.1: | |
6956 | +xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: | |
7141 | 6957 | version "4.0.2" |
7142 | 6958 | resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" |
7143 | 6959 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== | ... | ... |