/* variables specific to current element */ $item-connector-dimensions: $item-connector-dimensions-global; .#{$namespace}itemConnector { /* Save root element context for easy access if nesting is needed */ $self: &; /* properties of current element + media queries */ position: relative; width: $item-connector-dimensions; height: $item-connector-dimensions; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; /* Pseudo Elements */ &::before, &::after { content: ""; position: absolute; top: 50%; z-index: z("zero"); @include custom-prop-fallback("background-color", "sys-color-border-primary-moderate"); } &::before { left: 50%; transform: translate(-50%,-50%); width: map-deep-get($token-sizes-unit-map, "8"); height: map-deep-get($token-sizes-unit-map, "8"); border-radius: 50%; } &::after { left: 50%; right: 0; height: $border-width*2; transform: translateY(-50%); } /* Include elements that are linked to the current element but have to reside at the root level of the stylesheet (e.g: keyframes) */ @at-root { } /* children - write selector in full in comments in order to facilitate search */ > * { position: relative; z-index: z("low"); } /* modifiers */ // itemConnector -noBranching &.-noBranching { // follows same logic as base element &::after { content: none; } } /* random parent element */ /* * * Syntax : .randomParentElt & {} * */ /* Pseudo Classes */ &:hover { @media (hover: hover) { } } &:focus { } &:active { } &:focus, &:active { } }