11:host  {
2-   --_background : var (--sl-color-accordion-default-header );
3-   --_background-hover : var (--sl-color-accordion-hover-header );
4-   --_background-active : var (--sl-color-accordion-active-header );
5-   --_border-color : var (--sl-color-accordion-default-border );
6-   --_border-width : var (--sl-border-width-divider );
7-   --_focus-outline : var (--sl-color-focusring-default ) solid  var (--sl-border-width-focusring-default );
8-   --_focus-outline-offset : var (--sl-border-width-focusring-offset );
9-   --_focus-radius : var (--sl-border-radius-focusring-default );
10-   --_icon-size : var (--sl-size-accordion-icon-height );
11-   --_padding-block : var (--sl-space-accordion-content-block );
12-   --_panel-color : var (--sl-color-accordion-default-foreground );
13-   --_panel-font : var (--sl-text-accordion-body );
14-   --_panel-padding-block : var (--sl-space-accordion-content-block );
15-   --_panel-padding-inline : var (--sl-space-accordion-content-inline );
16-   --_title-color : var (--sl-color-accordion-default-foreground );
17-   --_title-color-active : var (--sl-color-accordion-active-foreground );
18-   --_title-color-disabled : var (--sl-color-accordion-disabled-foreground );
19-   --_title-color-hover : var (--sl-color-accordion-hover-foreground );
20-   --_title-font : var (--sl-text-accordion-title );
21-   --_title-gap : var (--sl-space-accordion-title-gap );
22-   --_title-padding : var (--sl-space-accordion-title-inline );
23-   --_transition-duration : 300ms  ;
2+   --_transition-duration : 0.3s  ; //  This is used in JavaScript as well
243
254  display flex ;
265  outline 0 ;
309  pointer-events none ;
3110
3211  summary  {
33-     --_title-color : var (--_title-color-disabled );
12+     color var (--sl-color-foreground-disabled );
13+   }
14+ }
15+ 
16+ :host ([icon-type = ' chevron' 
17+   details [open ],
18+   details .opening  {
19+     sl-icon  {
20+       transform rotate (-180deg  );
21+     }
22+   }
23+ 
24+   details [open ].closing  sl-icon  {
25+     transform rotate (0deg  );
3426  }
3527}
3628
3729details  {
38-   border-block-end var (--_border-width  ) solid  var (--_border -color );
30+   border-block-end var (--sl-size-borderWidth-subtle  ) solid  var (--sl -color-border-plain  );
3931  flex 1 ;
4032
4133  & [open ] summary ::after  {
42-     background var (--_border -color );
43-     block-size var (--_border-width  );
34+     background var (--sl -color-border-plain  );
35+     block-size var (--sl-size-borderWidth-subtle  );
4436    content : ' ' 
45-     inline-size calc (100%   -  2  *  var (--_panel-padding-inline  ));
37+     inline-size calc (100%   -  2  *  var (--sl-size-500  ));
4638    inset-block-end 0 ;
4739    inset-inline-start 0 ;
48-     margin-inline var (--_panel-padding-inline  );
40+     margin-inline var (--sl-size-500  );
4941    position absolute ;
5042  }
5143
@@ -81,14 +73,23 @@ details {
8173}
8274
8375summary  {
84-   background var (--_background );
85-   color var (--_title-color );
76+   --_bg-opacity : var (--sl-opacity-interactive-bold-idle );
77+ 
78+   //  align-items: center;
79+   background color-mix (
80+     in  srgb ,
81+     var (--sl-elevation-surface-base-default ),
82+     var (--sl-color-background-secondary-interactive-plain ) calc (100%   *  var (--_bg-opacity ))
83+   );
84+   color var (--sl-color-foreground-plain );
8685  cursor : pointer ;
8786  display flex ;
88-   font : var (--_title-font );
89-   gap var (--_title-gap );
90-   padding-block var (--_padding-block );
91-   padding-inline var (--_title-padding );
87+   font-size calc ((16  /  14 ) *  1em  );
88+   gap var (--sl-size-100 );
89+   line-height calc ((24  /  16 ) *  1em  );
90+   outline transparent  solid  var (--sl-size-borderWidth-focusRing );
91+   outline-offset var (--sl-size-outlineOffset-default );
92+   padding var (--sl-size-200 );
9293  position relative ;
9394  z-index 1 ; /*  To work properly with sticky */ 
9495
@@ -97,31 +98,50 @@ summary {
9798  }
9899
99100  & :hover  {
100-     background var (--_background-hover );
101-     color var (--_title-color-hover );
101+     --_bg-opacity : var (--sl-opacity-interactive-bold-hover );
102102  }
103103
104104  & :active  {
105-     background var (--_background-active );
106-     color var (--_title-color-active );
105+     --_bg-opacity : var (--sl-opacity-interactive-bold-active );
107106  }
108107
109108  & :focus-visible  {
110-     border-radius var (--_focus-radius );
111-     outline var (--_focus-outline );
112-     outline-offset var (--_focus-outline-offset );
109+     border-radius var (--sl-size-borderRadius-default );
110+     outline-color var (--sl-color-border-focused );
113111    position relative ;
114112    z-index 2 ; //  Make sure the outline is not clipped by the next accordion item
115113  }
116114
117115  @media  (prefers-reduced-motion : no- preference) {
118-     transition background  var (--_transition-duration );
116+     transition-duration var (--_transition-duration );
117+     transition-property background , outline-color ;
119118  }
120119}
121120
122- svg  {
123-   block-size var (--_icon-size );
121+ slot [name = ' summary' 
122+   display block ;
123+   inline-size 100%  ;
124+   text-box : trim- both cap alphabetic ;
125+ }
126+ 
127+ svg ,
128+ sl-icon  {
129+   align-self start ;
124130  flex-shrink 0 ;
131+   margin-block-start round (up , 1ex   -  1 cap , 1px  );
132+ }
133+ 
134+ sl-icon  {
135+   block-size var (--sl-size-200 );
136+ 
137+   @media  (prefers-reduced-motion : no- preference) {
138+     transition transform  var (--_transition-duration ) ease-in-out ;
139+   }
140+ }
141+ 
142+ svg  {
143+   aspect-ratio : 1 ;
144+   block-size var (--sl-size-200 );
125145}
126146
127147g  {
131151    transform rotate (90deg  );
132152  }
133153
134-   /*  stylelint-disable-next-line max-nesting-depth */ 
135154  @media  (prefers-reduced-motion : no- preference) {
136155    transition transform  var (--_transition-duration ) cubic-bezier (0.6 , 2 , 0.6 , 1 );
137156  }
142161  animation-fill-mode both ;
143162  animation-iteration-count 1 ;
144163  animation-timing-function linear ;
145-   background var (--_background  );
164+   background var (--sl-elevation-surface-base-default  );
146165  display grid ;
147166  overflow hidden ;
148167
157176}
158177
159178[part = ' panel' 
160-   color var (--_panel-color );
161-   font : var (--_panel-font );
162-   padding var (--_panel-padding-block ) var (--_panel-padding-inline );
179+   color var (--sl-color-foreground-plain );
180+   padding var (--sl-size-200 ) var (--sl-size-500 );
163181  position relative ;
164182}
165183
0 commit comments