<div class="sds-popover popover show fade bs-popover-right" role="tooltip" x-placement="right">
<button type="button" class="sds-btn -iconBtn -btnSecondary -btnSmall sds-popover__close">
<span class="sds-icon sds-icon-close"></span>
<div class="sr-only">Close popover</div>
</button>
<span class="arrow" aria-hidden="true" style="top: 34px;"></span>
<h3 class="popover-header">Popover title</h3>
<div class="popover-body">And here's some amazing content. It's very engaging. Right?</div>
</div>
<div class="{{ namespace }}popover popover show fade{% for mod in modifiers %} {{ mod }}{% endfor %}{% for mod in classes %} {{ mod }}{% endfor %}" role="tooltip" x-placement="right">
{% render "@icon-btn-secondary--small",{
icon: "icon-close",
classes: [namespace + "popover__close"],
action: "Close popover"
},true %}
<span class="arrow" aria-hidden="true" style="top: 34px;"></span>
<h3 class="popover-header">Popover title</h3>
<div class="popover-body">And here's some amazing content. It's very engaging. Right?</div>
</div>
/* variables specific to current element */
$element-specific-variables: "";
.#{$namespace}popover {
/* Save root element context for easy access if nesting is needed */
$self: &;
/* properties of current element + media queries */
/* Pseudo Elements */
&::before {
}
&::after {
}
/*
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 */
// popover__close
&__close {
// follows same logic as parent
position: absolute;
top: map-deep-get($design-tokens, "comp-popover-dismiss-button-inset-v-t");
right: map-deep-get($design-tokens, "comp-popover-dismiss-button-inset-h-r");
width: map-deep-get($design-tokens, "comp-popover-dismiss-button-width") !important;
height: map-deep-get($design-tokens, "comp-popover-dismiss-button-height") !important;
[class*="icon"] {
&::before {
font-size: var(--sys-space-inset-vertical-1000);
}
}
}
/* modifiers */
// popover -popoverCard
&.-popoverCard {
// follows same logic as base element
@include custom-prop-fallback("background-color","comp-popover-neutral-background-color");
@include custom-prop-fallback("box-shadow","comp-popover-box-shadow");
@include custom-prop-fallback-override("comp-popover-highlight-tick-background-color","comp-popover-neutral-tick-background-color");
.popover-header {
@include custom-prop-fallback("background-color","comp-popover-neutral-background-color","true","true");
@include custom-prop-fallback("color","comp-popover-neutral-heading-text-color");
}
.popover-body.popover-body.popover-body {
@include custom-prop-fallback("color","comp-popover-neutral-body-text-color", true true);
}
}
&:not(.-popoverCard) #{$self}__close {
@include custom-prop-fallback("background-color","comp-popover-highlight-enabled-dismiss-button-background-color","true","true");
@include custom-prop-fallback("color","comp-popover-highlight-dismiss-button-icon-text-color","true","true");
@media (hover: hover) {
&:hover,
&:focus-visible {
@include custom-prop-fallback("background-color","comp-popover-highlight-hovered-dismiss-button-background-color","true","true");
}
}
}
/* random parent element */
/*
*
* Syntax : .randomParentElt & {}
*
*/
/* Pseudo Classes */
&:hover {
@media (hover: hover) {
}
}
&:focus {
}
&:active {
}
&:focus,
&:active {
}
}