From 2a5fa5f4c532e305cb404f2b59c2d4b024886c81 Mon Sep 17 00:00:00 2001 From: rzzf Date: Mon, 22 Dec 2025 17:55:50 +0800 Subject: [PATCH] style(components): separate sub component styles (#23153) --- packages/theme-chalk/src/breadcrumb-item.scss | 58 ++++++++++++++++ packages/theme-chalk/src/breadcrumb.scss | 53 --------------- packages/theme-chalk/src/collapse-item.scss | 67 +++++++++++++++++++ .../theme-chalk/src/collapse-transition.scss | 1 + packages/theme-chalk/src/collapse.scss | 65 ------------------ 5 files changed, 126 insertions(+), 118 deletions(-) diff --git a/packages/theme-chalk/src/breadcrumb-item.scss b/packages/theme-chalk/src/breadcrumb-item.scss index e69de29bb2..54d92eab86 100644 --- a/packages/theme-chalk/src/breadcrumb-item.scss +++ b/packages/theme-chalk/src/breadcrumb-item.scss @@ -0,0 +1,58 @@ +@use 'mixins/mixins' as *; +@use 'mixins/utils' as *; +@use 'common/var' as *; + +@include b(breadcrumb) { + @include e(separator) { + margin: 0 9px; + font-weight: bold; + color: getCssVar('text-color', 'placeholder'); + + &.#{$namespace}-icon { + margin: 0 6px; + font-weight: normal; + svg { + vertical-align: middle; + } + } + } + + @include e(item) { + float: left; + display: inline-flex; + align-items: center; + + @include e(inner) { + color: getCssVar('text-color', 'regular'); + + &.is-link, + & a { + font-weight: bold; + text-decoration: none; + transition: getCssVar('transition', 'color'); + color: getCssVar('text-color', 'primary'); + + &:hover { + color: getCssVar('color-primary'); + cursor: pointer; + } + } + } + + &:last-child { + .#{$namespace}-breadcrumb__inner, + .#{$namespace}-breadcrumb__inner a { + &, + &:hover { + font-weight: normal; + color: getCssVar('text-color', 'regular'); + cursor: text; + } + } + + .#{$namespace}-breadcrumb__separator { + display: none; + } + } + } +} diff --git a/packages/theme-chalk/src/breadcrumb.scss b/packages/theme-chalk/src/breadcrumb.scss index c4fe4d7ff3..6fb1f71e6a 100644 --- a/packages/theme-chalk/src/breadcrumb.scss +++ b/packages/theme-chalk/src/breadcrumb.scss @@ -6,57 +6,4 @@ font-size: 14px; line-height: 1; @include utils-clearfix; - - @include e(separator) { - margin: 0 9px; - font-weight: bold; - color: getCssVar('text-color', 'placeholder'); - - &.#{$namespace}-icon { - margin: 0 6px; - font-weight: normal; - svg { - vertical-align: middle; - } - } - } - - @include e(item) { - float: left; - display: inline-flex; - align-items: center; - - @include e(inner) { - color: getCssVar('text-color', 'regular'); - - &.is-link, - & a { - font-weight: bold; - text-decoration: none; - transition: getCssVar('transition', 'color'); - color: getCssVar('text-color', 'primary'); - - &:hover { - color: getCssVar('color-primary'); - cursor: pointer; - } - } - } - - &:last-child { - .#{$namespace}-breadcrumb__inner, - .#{$namespace}-breadcrumb__inner a { - &, - &:hover { - font-weight: normal; - color: getCssVar('text-color', 'regular'); - cursor: text; - } - } - - .#{$namespace}-breadcrumb__separator { - display: none; - } - } - } } diff --git a/packages/theme-chalk/src/collapse-item.scss b/packages/theme-chalk/src/collapse-item.scss index e69de29bb2..f020911ce6 100644 --- a/packages/theme-chalk/src/collapse-item.scss +++ b/packages/theme-chalk/src/collapse-item.scss @@ -0,0 +1,67 @@ +@use 'mixins/mixins' as *; +@use 'mixins/var' as *; +@use 'common/var' as *; + +@include b(collapse-item) { + @include when(disabled) { + .#{$namespace}-collapse-item__header { + color: getCssVar('text-color-disabled'); + cursor: not-allowed; + } + } + @include e(header) { + width: 100%; + padding: 0; + border: none; + display: flex; + align-items: center; + min-height: getCssVar('collapse-header-height'); + line-height: getCssVar('collapse-header-height'); + background-color: getCssVar('collapse-header-bg-color'); + color: getCssVar('collapse-header-text-color'); + cursor: pointer; + border-bottom: 1px solid getCssVar('collapse-border-color'); + font-size: getCssVar('collapse-header-font-size'); + font-weight: 500; + transition: border-bottom-color getCssVar('transition-duration'); + outline: none; + @include e(arrow) { + transition: transform getCssVar('transition-duration'); + font-weight: 300; + @include when(active) { + transform: rotate(90deg); + } + } + + @include e(title) { + text-align: left; + flex: auto; + } + + &.focusing:focus:not(:hover) { + color: getCssVar('color-primary'); + } + @include when(active) { + border-bottom-color: transparent; + } + } + + @include e(wrap) { + will-change: height; + background-color: getCssVar('collapse-content-bg-color'); + overflow: hidden; + box-sizing: border-box; + border-bottom: 1px solid getCssVar('collapse-border-color'); + } + + @include e(content) { + padding-bottom: 25px; + font-size: getCssVar('collapse-content-font-size'); + color: getCssVar('collapse-content-text-color'); + line-height: 1.769230769230769; + } + + &:last-child { + margin-bottom: -1px; + } +} diff --git a/packages/theme-chalk/src/collapse-transition.scss b/packages/theme-chalk/src/collapse-transition.scss index e69de29bb2..62210817e9 100644 --- a/packages/theme-chalk/src/collapse-transition.scss +++ b/packages/theme-chalk/src/collapse-transition.scss @@ -0,0 +1 @@ +@use 'common/transition'; diff --git a/packages/theme-chalk/src/collapse.scss b/packages/theme-chalk/src/collapse.scss index 4cd71ba847..38c4de18ed 100644 --- a/packages/theme-chalk/src/collapse.scss +++ b/packages/theme-chalk/src/collapse.scss @@ -1,7 +1,6 @@ @use 'mixins/mixins' as *; @use 'mixins/var' as *; @use 'common/var' as *; -@use 'common/transition'; @include b(collapse) { @include set-component-css-var('collapse', $collapse); @@ -10,70 +9,6 @@ border-bottom: 1px solid getCssVar('collapse-border-color'); } -@include b(collapse-item) { - @include when(disabled) { - .#{$namespace}-collapse-item__header { - color: getCssVar('text-color-disabled'); - cursor: not-allowed; - } - } - @include e(header) { - width: 100%; - padding: 0; - border: none; - display: flex; - align-items: center; - min-height: getCssVar('collapse-header-height'); - line-height: getCssVar('collapse-header-height'); - background-color: getCssVar('collapse-header-bg-color'); - color: getCssVar('collapse-header-text-color'); - cursor: pointer; - border-bottom: 1px solid getCssVar('collapse-border-color'); - font-size: getCssVar('collapse-header-font-size'); - font-weight: 500; - transition: border-bottom-color getCssVar('transition-duration'); - outline: none; - @include e(arrow) { - transition: transform getCssVar('transition-duration'); - font-weight: 300; - @include when(active) { - transform: rotate(90deg); - } - } - - @include e(title) { - text-align: left; - flex: auto; - } - - &.focusing:focus:not(:hover) { - color: getCssVar('color-primary'); - } - @include when(active) { - border-bottom-color: transparent; - } - } - - @include e(wrap) { - will-change: height; - background-color: getCssVar('collapse-content-bg-color'); - overflow: hidden; - box-sizing: border-box; - border-bottom: 1px solid getCssVar('collapse-border-color'); - } - - @include e(content) { - padding-bottom: 25px; - font-size: getCssVar('collapse-content-font-size'); - color: getCssVar('collapse-content-text-color'); - line-height: 1.769230769230769; - } - - &:last-child { - margin-bottom: -1px; - } -} - .#{$namespace}-collapse-icon-position { &-left { .#{$namespace}-collapse-item__ {