diff --git a/package.json b/package.json index 6ce5c683..f9add7f1 100644 --- a/package.json +++ b/package.json @@ -66,6 +66,7 @@ "plop": "^4.0.1", "postcss": "^8.4.40", "postcss-html": "^1.7.0", + "postcss-nested": "^6.2.0", "sass": "^1.77.8", "simple-git-hooks": "^2.11.1", "stylelint": "^16.8.1", diff --git a/plop-templates/component/index.hbs b/plop-templates/component/index.hbs index 69f75951..1d62a025 100644 --- a/plop-templates/component/index.hbs +++ b/plop-templates/component/index.hbs @@ -12,6 +12,6 @@ defineOptions({ - diff --git a/plop-templates/page/index.hbs b/plop-templates/page/index.hbs index e9223826..c5fb0215 100644 --- a/plop-templates/page/index.hbs +++ b/plop-templates/page/index.hbs @@ -10,6 +10,6 @@ defineOptions({ - diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eb4c9346..eb8c36b8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -147,6 +147,9 @@ importers: postcss-html: specifier: ^1.7.0 version: 1.7.0 + postcss-nested: + specifier: ^6.2.0 + version: 6.2.0(postcss@8.4.40) sass: specifier: ^1.77.8 version: 1.77.8 @@ -4357,6 +4360,12 @@ packages: postcss-media-query-parser@0.2.3: resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==} + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + postcss-prefix-selector@1.16.0: resolution: {integrity: sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==} peerDependencies: @@ -10180,6 +10189,11 @@ snapshots: postcss-media-query-parser@0.2.3: {} + postcss-nested@6.2.0(postcss@8.4.40): + dependencies: + postcss: 8.4.40 + postcss-selector-parser: 6.1.1 + postcss-prefix-selector@1.16.0(postcss@5.2.18): dependencies: postcss: 5.2.18 diff --git a/postcss.config.js b/postcss.config.js index b6dc0349..f20659c1 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -1,5 +1,6 @@ export default { plugins: { - autoprefixer: {}, + 'autoprefixer': {}, + 'postcss-nested': {}, }, } diff --git a/src/assets/styles/globals.scss b/src/assets/styles/globals.css similarity index 78% rename from src/assets/styles/globals.scss rename to src/assets/styles/globals.css index faa1feba..56680c57 100644 --- a/src/assets/styles/globals.scss +++ b/src/assets/styles/globals.css @@ -1,22 +1,27 @@ -// 页面布局 CSS 变量 +/* 页面布局 CSS 变量 */ :root { - // 头部高度 + /* 头部高度 */ --g-header-height: 60px; - // 侧边栏宽度 + + /* 侧边栏宽度 */ --g-main-sidebar-width: 80px; --g-sub-sidebar-width: 220px; --g-sub-sidebar-collapse-width: 64px; - // 侧边栏Logo高度 + + /* 侧边栏Logo高度 */ --g-sidebar-logo-height: 50px; - // 顶栏高度 + + /* 顶栏高度 */ --g-topbar-height: 50px; - // 窗口高度(仅在窗口预览时使用) + + /* 窗口高度(仅在窗口预览时使用) */ --g-window-height: 800px; - // 窗口预览缩放系数 + + /* 窗口预览缩放系数 */ --g-window-perview-scale: 0.5; } -// 明暗模式 CSS 变量 +/* 明暗模式 CSS 变量 */ /* stylelint-disable-next-line no-duplicate-selectors */ :root { --g-box-shadow-color: rgb(0 0 0 / 12%); @@ -89,7 +94,7 @@ body { box-sizing: inherit; } -// 右侧内容区针对fixed元素,有横向铺满的需求,可在fixed元素上设置 [data-fixed-calc-width] +/* 右侧内容区针对fixed元素,有横向铺满的需求,可在fixed元素上设置 [data-fixed-calc-width] */ [data-fixed-calc-width] { position: fixed; right: 0; @@ -98,7 +103,7 @@ body { transform: translateX(-50%) translateX(calc(var(--g-main-sidebar-actual-width) / 2)) translateX(calc(var(--g-sub-sidebar-actual-width) / 2)); } -// textarea 字体跟随系统 +/* textarea 字体跟随系统 */ textarea { font-family: inherit; } @@ -106,12 +111,12 @@ textarea { /* Overrides Floating Vue */ .v-popper--theme-dropdown, .v-popper--theme-tooltip { - --at-apply: inline-flex; + --uno: inline-flex; } .v-popper--theme-dropdown .v-popper__inner, .v-popper--theme-tooltip .v-popper__inner { - --at-apply: bg-white dark-bg-stone-8 text-dark dark-text-white rounded shadow ring-1 ring-gray-200 dark-ring-gray-800 border border-solid border-stone/20 text-xs font-normal; + --uno: bg-white dark-bg-stone-8 text-dark dark-text-white rounded shadow ring-1 ring-gray-200 dark-ring-gray-800 border border-solid border-stone/20 text-xs font-normal; box-shadow: 0 6px 30px rgb(0 0 0 / 10%); } @@ -120,12 +125,12 @@ textarea { .v-popper--theme-dropdown .v-popper__arrow-inner { visibility: visible; - --at-apply: border-white dark-border-stone-8; + --uno: border-white dark-border-stone-8; } .v-popper--theme-tooltip .v-popper__arrow-outer, .v-popper--theme-dropdown .v-popper__arrow-outer { - --at-apply: border-stone/20; + --uno: border-stone/20; } .v-popper--theme-tooltip.v-popper--shown, diff --git a/src/components/ComponentBasicExampleAlert/index.vue b/src/components/ComponentBasicExampleAlert/index.vue index dfcfb97a..35f8bc39 100644 --- a/src/components/ComponentBasicExampleAlert/index.vue +++ b/src/components/ComponentBasicExampleAlert/index.vue @@ -10,7 +10,7 @@ - diff --git a/src/views/components/Dashboard/Empty/index.vue b/src/views/components/Dashboard/Empty/index.vue index bfb1e414..cad201b5 100644 --- a/src/views/components/Dashboard/Empty/index.vue +++ b/src/views/components/Dashboard/Empty/index.vue @@ -194,7 +194,7 @@ function open(url: string) { - - diff --git a/src/views/windows/ComponentExtendExamplePcas/index.vue b/src/views/windows/ComponentExtendExamplePcas/index.vue index 1356b89b..5f8c9c3a 100644 --- a/src/views/windows/ComponentExtendExamplePcas/index.vue +++ b/src/views/windows/ComponentExtendExamplePcas/index.vue @@ -64,7 +64,3 @@ function submitForm() { - - diff --git a/src/views/windows/ComponentExtendExampleSearchbar/index.vue b/src/views/windows/ComponentExtendExampleSearchbar/index.vue index ba21b9fa..c37071ab 100644 --- a/src/views/windows/ComponentExtendExampleSearchbar/index.vue +++ b/src/views/windows/ComponentExtendExampleSearchbar/index.vue @@ -411,7 +411,7 @@ function onToggle(fold: boolean) { -