$popper-margin-from-ref: 5px; @mixin popper-theme($backgroundColor, $arrowColor) { background: $backgroundColor; .popper__arrow { border-color: $arrowColor; } } .popper { position: absolute; z-index: $zindex-tooltip; color: $tooltipColor; max-width: 400px; text-align: center; } .popper__background { background: $tooltipBackground; border-radius: $border-radius; box-shadow: 0 0 2px rgba(0, 0, 0, 0.5); padding: 0px 8px; height: 24px; display: flex; align-items: center; //border: 1px #333333 solid; color: $tooltipColor; font-weight: 500; // Themes &.popper__background--error { @include popper-theme($tooltipBackgroundError, $tooltipBackgroundError); } &.popper__background--brand { @include popper-theme($tooltipBackgroundBrand, $tooltipBackgroundBrand); @include gradient-vertical($tooltipBackground, $tooltipBackground); } } .popper__arrow { width: 0; height: 0; border-style: solid; position: absolute; margin: 0px; display: none; } .popper__arrow { border-color: $tooltipBackground; } // Top .popper[data-placement^='top'] { padding-bottom: $popper-margin-from-ref; } .popper[data-placement^='top'] .popper__arrow { border-width: 5px 5px 0 5px; border-left-color: transparent; border-right-color: transparent; border-bottom-color: transparent; bottom: -5px; left: calc(50% - 5px); padding-top: 5px; } // Bottom .popper[data-placement^='bottom'] { padding-top: $popper-margin-from-ref; } .popper[data-placement^='bottom'] .popper__arrow { border-width: 0 5px 5px 5px; border-left-color: transparent; border-right-color: transparent; border-top-color: transparent; top: 0; left: calc(50% - 5px); } .popper[data-placement^='bottom-start'] { padding-top: $popper-margin-from-ref; } .popper[data-placement^='bottom-start'] .popper__arrow { border-width: 0 5px 5px 5px; border-left-color: transparent; border-right-color: transparent; border-top-color: transparent; top: 0; left: 5px; } .popper[data-placement^='bottom-end'] { padding-top: $popper-margin-from-ref; } .popper[data-placement^='bottom-end'] .popper__arrow { border-width: 0 5px 5px 5px; border-left-color: transparent; border-right-color: transparent; border-top-color: transparent; top: 0; left: calc(100% - 5px); } // Right .popper[data-placement^='right'] { padding-left: $popper-margin-from-ref; } .popper[data-placement^='right'] .popper__arrow { border-width: 5px 5px 5px 0; border-left-color: transparent; border-top-color: transparent; border-bottom-color: transparent; left: 0; top: calc(50% - 5px); } // Left .popper[data-placement^='left'] { padding-right: $popper-margin-from-ref; } .popper[data-placement^='left'] .popper__arrow { border-width: 5px 0 5px 5px; border-top-color: transparent; border-right-color: transparent; border-bottom-color: transparent; right: -5px; top: calc(50% - 5px); } .popper__target, .popper__manager { display: inline-block; } .popper__manager--block { display: block; }