1- @use ' ./tokens.scss' as tokens ;
1+ @use ' sass:map' ;
2+ @use ' ./tokens.scss' ;
3+ @use ' ./private-tokens.scss' as private ;
24
3- /* Get group sizes from tokens */
4- $group-sizes : tokens . $tail-group-sizes ;
5+ /* Get group sizes from $groups map keys */
6+ $group-sizes : map . keys ( private . $groups ) ;
57
68/*
79 * Horizontal Layout
@@ -11,26 +13,26 @@ $group-sizes: tokens.$tail-group-sizes;
1113 :host ([layout = " horizontal" ][size = " #{$size } " ]) {
1214 /* Account for container widths, border on each tail, and overlap */
1315 width : calc (
14- 2 * var (--ds-auro-tail- container-width - #{$size } ) +
15- 2 * var (--ds-auro-tail- group-horizontal -border-width - #{$size } ) +
16- var (--ds-auro-tail- group-horizontal -overlap - #{$size } )
16+ 2 * var (--container-w - #{$size } ) +
17+ 2 * var (--group-horiz -border-w - #{$size } ) +
18+ var (--group-horiz -overlap - #{$size } )
1719 );
18- height : calc (var (--ds-auro-tail- container-width - #{$size } ) + 2 * var (--ds-auro-tail- group-horizontal -border-width - #{$size } ));
19- min-height : calc (var (--ds-auro-tail- container-width - #{$size } ) + 2 * var (--ds-auro-tail- group-horizontal -border-width - #{$size } ));
20+ height : calc (var (--container-w - #{$size } ) + 2 * var (--group-horiz -border-w - #{$size } ));
21+ min-height : calc (var (--container-w - #{$size } ) + 2 * var (--group-horiz -border-w - #{$size } ));
2022 }
2123}
2224
2325:host {
2426 /* Allow border-color to be set on the group and inherited by child tails */
25- --ds-auro-tail- group-border-color : var (--ds-auro-tail-border-color );
27+ --group-border-color : var (--ds-auro-tail-border-color );
2628}
2729
2830.group {
2931 display : inline-flex ;
3032 position : relative ;
3133}
3234
33- .group.horizontal {
35+ .group.horizontal {
3436 /* Remove gap to control visual overlap */
3537 gap : 0 ;
3638}
@@ -43,33 +45,33 @@ $group-sizes: tokens.$tail-group-sizes;
4345:host ([layout=" horizontal" ]) .group.horizontal ::slotted (auro-tail ),
4446:host ([layout=" horizontal" ]) .group.horizontal ::slotted ([auro-tail] ) {
4547 position : relative ;
46- /* Inherit border-color from group if set, otherwise use white default */
47- --ds-auro-tail-border-color : var (--ds-auro-tail- group-border-color , var (--ds-auro-tail -border-color-white ));
48+ /* Inherit border-color from group if set, otherwise use default */
49+ --ds-auro-tail-border-color : var (--group-border-color , var (--border-color-white ));
4850}
4951
5052/* Apply size-specific border widths and overlaps */
5153@each $size in $group-sizes {
5254 :host ([layout = " horizontal" ][size = " #{$size } " ]) .group.horizontal ::slotted (auro-tail ),
5355 :host ([layout= " horizontal" ][size= " #{$size } " ] ) .group.horizontal ::slotted ([auro-tail] ) {
54- --ds-auro-tail-border-width : var (--ds-auro-tail- group-horizontal -border-width - #{$size } );
56+ --ds-auro-tail-border-width : var (--group-horiz -border-w - #{$size } );
5557 /* Expand host width to include borders on both sides */
56- width : calc (var (--ds-auro-tail- container-width - #{$size } ) + 2 * var (--ds-auro-tail- group-horizontal -border-width - #{$size } ));
57- min-width : calc (var (--ds-auro-tail- container-width - #{$size } ) + 2 * var (--ds-auro-tail- group-horizontal -border-width - #{$size } ));
58+ width : calc (var (--container-w - #{$size } ) + 2 * var (--group-horiz -border-w - #{$size } ));
59+ min-width : calc (var (--container-w - #{$size } ) + 2 * var (--group-horiz -border-w - #{$size } ));
5860 }
5961
6062 :host ([layout=" horizontal" ][size =" #{$size } " ]) .group.horizontal ::slotted (auro-tail:first-child ),
6163 :host ([layout=" horizontal" ][size =" #{$size } " ]) .group.horizontal ::slotted ([auro-tail]:first-child ) {
6264 /* Compensate overlap for expanded tail widths (borders on both sides of both tails) */
63- margin-right : calc (var (--ds-auro-tail- group-horizontal -overlap - #{$size } ) - 2 * var (--ds-auro-tail- group-horizontal -border-width - #{$size } ));
65+ margin-right : calc (var (--group-horiz -overlap - #{$size } ) - 2 * var (--group-horiz -border-w - #{$size } ));
6466 /* First tail above second */
65- z-index : var (--ds-auro-tail- z-index-group-front );
67+ z-index : var (--z-index-group-front );
6668 }
6769}
6870
6971/* Second tail below first */
7072:host ([layout = " horizontal" ]) .group.horizontal ::slotted(auro-tail :last-child ),
7173:host ([layout = " horizontal" ]) .group.horizontal ::slotted([auro-tail ]:last-child ) {
72- z-index : var (--ds-auro-tail- z-index-group-back );
74+ z-index : var (--z-index-group-back );
7375}
7476
7577/*
@@ -80,13 +82,13 @@ $group-sizes: tokens.$tail-group-sizes;
8082/* Apply size-specific host dimensions for diagonal groups */
8183@each $size in $group-sizes {
8284 :host ([layout = " diagonal" ][size = " #{$size } " ]) {
83- width : var (--ds-auro-tail- group-diagonal-width - #{$size } );
84- height : var (--ds-auro-tail- group-diagonal-width - #{$size } );
85+ width : var (--group-diag-w - #{$size } );
86+ height : var (--group-diag-w - #{$size } );
8587 }
8688
8789 :host ([layout = " diagonal" ][size = " #{$size } " ]) .group.diagonal {
88- width : var (--ds-auro-tail- group-diagonal-width - #{$size } );
89- height : var (--ds-auro-tail- group-diagonal-width - #{$size } );
90+ width : var (--group-diag-w - #{$size } );
91+ height : var (--group-diag-w - #{$size } );
9092 }
9193}
9294
@@ -96,21 +98,21 @@ $group-sizes: tokens.$tail-group-sizes;
9698 position : absolute ;
9799 --ds-auro-tail-border-color : transparent ;
98100 --ds-auro-tail-border-width : 0 ;
99- --ds-auro-tail- border-padding : 0 ;
101+ --border-padding : 0 ;
100102}
101103
102104/* Position first tail */
103105.group.diagonal ::slotted (auro-tail:first-child ),
104106.group.diagonal ::slotted ([auro-tail]:first-child ) {
105107 top : 0 ;
106108 left : 0 ;
107- z-index : var (--ds-auro-tail- z-index-group-front );
109+ z-index : var (--z-index-group-front );
108110}
109111
110112/* Position second tail */
111113.group.diagonal ::slotted (auro-tail:nth-child(2 )),
112114.group.diagonal ::slotted ([auro-tail]:nth-child(2 )) {
113115 bottom : 0 ;
114116 right : 0 ;
115- z-index : var (--ds-auro-tail- z-index-group-back );
117+ z-index : var (--z-index-group-back );
116118}
0 commit comments