11// lib import
2+ @use " sass:color" ;
23@use " ~@carbon/styles/scss/components/accordion/accordion" ;
34@include accordion .accordion ;
45
56// own vars
67$eccgui-color-accordion-background-elevated : rgba ($eccgui-color-accent , 0.1 ) !default ;
78$eccgui-color-accordion-toggler-hover : $menu-item-color-hover !default ;
8- $eccgui-color-accordion-toggler-elevated-hover : mix (
9+ $eccgui-color-accordion-toggler-elevated-hover : color . mix (
910 $eccgui-color-accordion-background-elevated ,
1011 $eccgui-color-accordion-toggler-hover ,
1112 50%
1213) !default ;
14+ $eccgui-size-accordion-header-baseheight : mini-units (5 ) !default ;
15+ $eccgui-size-accordion-content-basespace : $eccgui-size-block-whitespace * 0.5 !default ;
16+ $eccgui-size-accordion-separation : $eccgui-size-block-whitespace * 0.5 !default ;
1317
1418// changes
1519
20+ .#{$prefix } --accordion {
21+ -- #{$eccgui } -accordion-header-height : #{$eccgui-size-accordion-header-baseheight } ;
22+ -- #{$eccgui } -accordion-content-whitespace : #{$eccgui-size-accordion-content-basespace } ;
23+ -- #{$eccgui } -accordion-separation : 0 ;
24+ }
25+ .#{$eccgui } -accordion__item--condensed ,
26+ .#{$eccgui } -accordion__container--global-headerspace-none ,
27+ .#{$eccgui } -accordion__item--headerspace-none {
28+ -- #{$eccgui } -accordion-header-height : 0 ;
29+ }
30+ .#{$eccgui } -accordion__item--condensed ,
31+ .#{$eccgui } -accordion__container--global-contentspace-none ,
32+ .#{$eccgui } -accordion__item--contentspace-none {
33+ -- #{$eccgui } -accordion-content-whitespace : #{$eccgui-size-block-whitespace * 0.25 } ;
34+ }
35+ .#{$eccgui } -accordion__container--global-headerspace-small ,
36+ .#{$eccgui } -accordion__item--headerspace-small {
37+ -- #{$eccgui } -accordion-header-height : calc (
38+ #{$eccgui-size-accordion-header-baseheight } - #{$eccgui-size-block-whitespace * 0.5 }
39+ );
40+ }
41+ .#{$eccgui } -accordion__container--global-contentspace-small ,
42+ .#{$eccgui } -accordion__item--contentspace-small {
43+ -- #{$eccgui } -accordion-content-whitespace : #{$eccgui-size-accordion-content-basespace * 0.5 } ;
44+ }
45+ .#{$eccgui } -accordion__container--global-headerspace-large ,
46+ .#{$eccgui } -accordion__item--headerspace-large {
47+ -- #{$eccgui } -accordion-header-height : calc (
48+ #{$eccgui-size-accordion-header-baseheight } + #{$eccgui-size-block-whitespace * 0.5 }
49+ );
50+ }
51+ .#{$eccgui } -accordion__container--global-contentspace-large ,
52+ .#{$eccgui } -accordion__item--contentspace-large {
53+ -- #{$eccgui } -accordion-content-whitespace : #{$eccgui-size-accordion-content-basespace * 1.5 } ;
54+ }
55+
56+ .#{$eccgui } -accordion__container--global-separationspace-small ,
57+ .#{$eccgui } -accordion__item--separationspace-small {
58+ -- #{$eccgui } -accordion-separation : #{$eccgui-size-accordion-separation * 0.5 } ;
59+ }
60+ .#{$eccgui } -accordion__container--global-separationspace-medium ,
61+ .#{$eccgui } -accordion__item--separationspace-medium {
62+ -- #{$eccgui } -accordion-separation : #{$eccgui-size-accordion-separation } ;
63+ }
64+ .#{$eccgui } -accordion__container--global-separationspace-large ,
65+ .#{$eccgui } -accordion__item--separationspace-large {
66+ -- #{$eccgui } -accordion-separation : #{$eccgui-size-accordion-separation * 1.5 } ;
67+ }
68+
69+ .#{$eccgui } -accordion__item {
70+ & :not (:last-child ) {
71+ margin-bottom : var (--#{$eccgui}-accordion-separation );
72+ }
73+
74+ [class *= " #{$eccgui } -accordion__container--global-separationspace-" ] & :not (.#{$eccgui}-accordion__item--noborder),
75+ & [class *= " #{$eccgui } -accordion__item--separationspace-" ]:not (.#{$eccgui}-accordion__item--noborder) {
76+ border-bottom : 1px solid var (--#{$prefix}-border-subtle );
77+ }
78+ }
79+
1680.#{$prefix } --accordion__heading {
1781 align-items : center ;
18- min-height : mini-units (5 );
82+ min-height : var ( --#{$eccgui}-accordion-header-height , mini-units (5 ) );
1983 color : inherit ;
2084
2185 .#{$prefix } --accordion__arrow {
@@ -25,6 +89,23 @@ $eccgui-color-accordion-toggler-elevated-hover: mix(
2589 margin : 0 0 0 $eccgui-size-block-whitespace * 0.5 ;
2690 }
2791 }
92+
93+ .#{$eccgui } -accordion__item--condensed & ,
94+ .#{$eccgui } -accordion__container--global-contentspace-none & ,
95+ .#{$eccgui } -accordion__item--contentspace-none & {
96+ .#{$prefix } --accordion__arrow {
97+ margin : 0 ;
98+ }
99+
100+ .#{$prefix } --accordion__title {
101+ margin : 0 0 0 $eccgui-size-block-whitespace * 0.25 ;
102+ }
103+ }
104+
105+ & :hover ::before ,
106+ & :focus ::before {
107+ background-color : $eccgui-color-accordion-toggler-hover ;
108+ }
28109}
29110
30111.#{$prefix } --accordion__title {
@@ -43,15 +124,15 @@ $eccgui-color-accordion-toggler-elevated-hover: mix(
43124 position : fixed ;
44125 left : -5000em ;
45126 display : block ;
46- padding : $eccgui-size-block-whitespace * 0.5 ;
127+ padding : 0 $eccgui-size-block-whitespace * 0.5 ;
47128 margin : 0 calc (1rem + #{$eccgui-size-block-whitespace * 0.5 } ) 0 $eccgui-size-block-whitespace * 0.5 ;
48129 opacity : 0 ;
49130
50131 .#{$prefix } --accordion__item--active & {
51132 position : static ;
52133 left : auto ;
53- padding : $eccgui-size-block -whitespace * 0.5 $eccgui-size-block-whitespace * 0.5 $eccgui-size-block-whitespace
54- $eccgui-size-block-whitespace * 0.5 ;
134+ padding : calc ( 0.75 * var ( --#{ $eccgui}-accordion-content -whitespace)) $eccgui-size-block-whitespace * 0.5
135+ calc ( 1.25 * var ( --#{$eccgui}-accordion-content-whitespace )) $eccgui-size-block-whitespace * 0.5 ;
55136 opacity : 1 ;
56137 }
57138
@@ -63,20 +144,28 @@ $eccgui-color-accordion-toggler-elevated-hover: mix(
63144 margin : 0 ;
64145 }
65146
147+ .#{$eccgui } -accordion__item--condensed & ,
148+ .#{$eccgui } -accordion__container--global-contentspace-none & ,
149+ .#{$eccgui } -accordion__item--contentspace-none & {
150+ padding-right : 0 ;
151+ padding-left : 0 ;
152+ }
153+
154+ .#{$eccgui } -accordion__item--condensed :not (.#{$eccgui}-accordion__item--fullwidth) & ,
155+ .#{$prefix } --accordion--start.#{$eccgui } -accordion__container--global-contentspace-none & ,
156+ .#{$prefix } --accordion--start
157+ .#{$eccgui } -accordion__item--contentspace-none :not (.#{$eccgui}-accordion__item--fullwidth)
158+ & {
159+ margin-left : calc (1rem + #{$eccgui-size-block-whitespace * 0.25 } );
160+ }
161+
66162 * ,
67163 * ::before ,
68164 * ::after {
69165 box-sizing : inherit ;
70166 }
71167}
72168
73- .#{$prefix } --accordion__heading {
74- & :hover ::before ,
75- & :focus ::before {
76- background-color : $eccgui-color-accordion-toggler-hover ;
77- }
78- }
79-
80169.#{$eccgui } -accordion__item--elevated {
81170 background-color : $eccgui-color-accordion-background-elevated ;
82171
@@ -95,35 +184,3 @@ $eccgui-color-accordion-toggler-elevated-hover: mix(
95184 border-bottom : none ;
96185 }
97186}
98-
99- .#{$eccgui } -accordion__item--condensed {
100- .#{$prefix } --accordion__heading {
101- min-height : 0 ;
102- padding : 0 ;
103- line-height : 1em ;
104-
105- .#{$prefix } --accordion__arrow {
106- margin : 0 ;
107-
108- .#{$prefix } --accordion--start & {
109- margin : 0 ;
110- }
111- }
112-
113- .#{$prefix } --accordion__title {
114- margin : 0 0 0 $eccgui-size-block-whitespace * 0.25 ;
115-
116- .#{$prefix } --accordion--start & {
117- margin : 0 0 0 $eccgui-size-block-whitespace * 0.25 ;
118- }
119- }
120- }
121-
122- .#{$prefix } --accordion__content {
123- padding : $eccgui-size-block-whitespace * 0.25 0 ;
124-
125- .#{$prefix } --accordion__item--active & {
126- padding : $eccgui-size-block-whitespace * 0.25 0 ;
127- }
128- }
129- }
0 commit comments