_Tooltip.scss 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. $popper-margin-from-ref: 5px;
  2. @mixin popper-theme($backgroundColor, $arrowColor) {
  3. background: $backgroundColor;
  4. .popper__arrow {
  5. border-color: $arrowColor;
  6. }
  7. }
  8. .popper {
  9. position: absolute;
  10. z-index: $zindex-tooltip;
  11. color: $tooltipColor;
  12. max-width: 400px;
  13. text-align: center;
  14. }
  15. .popper__background {
  16. background: $tooltipBackground;
  17. border-radius: $border-radius;
  18. box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
  19. padding: 0px 8px;
  20. height: 24px;
  21. display: flex;
  22. align-items: center;
  23. //border: 1px #333333 solid;
  24. color: $tooltipColor;
  25. font-weight: 500;
  26. // Themes
  27. &.popper__background--error {
  28. @include popper-theme($tooltipBackgroundError, $tooltipBackgroundError);
  29. }
  30. &.popper__background--brand {
  31. @include popper-theme($tooltipBackgroundBrand, $tooltipBackgroundBrand);
  32. @include gradient-vertical($tooltipBackground, $tooltipBackground);
  33. }
  34. }
  35. .popper__arrow {
  36. width: 0;
  37. height: 0;
  38. border-style: solid;
  39. position: absolute;
  40. margin: 0px;
  41. display: none;
  42. }
  43. .popper__arrow {
  44. border-color: $tooltipBackground;
  45. }
  46. // Top
  47. .popper[data-placement^='top'] {
  48. padding-bottom: $popper-margin-from-ref;
  49. }
  50. .popper[data-placement^='top'] .popper__arrow {
  51. border-width: 5px 5px 0 5px;
  52. border-left-color: transparent;
  53. border-right-color: transparent;
  54. border-bottom-color: transparent;
  55. bottom: -5px;
  56. left: calc(50% - 5px);
  57. padding-top: 5px;
  58. }
  59. // Bottom
  60. .popper[data-placement^='bottom'] {
  61. padding-top: $popper-margin-from-ref;
  62. }
  63. .popper[data-placement^='bottom'] .popper__arrow {
  64. border-width: 0 5px 5px 5px;
  65. border-left-color: transparent;
  66. border-right-color: transparent;
  67. border-top-color: transparent;
  68. top: 0;
  69. left: calc(50% - 5px);
  70. }
  71. .popper[data-placement^='bottom-start'] {
  72. padding-top: $popper-margin-from-ref;
  73. }
  74. .popper[data-placement^='bottom-start'] .popper__arrow {
  75. border-width: 0 5px 5px 5px;
  76. border-left-color: transparent;
  77. border-right-color: transparent;
  78. border-top-color: transparent;
  79. top: 0;
  80. left: 5px;
  81. }
  82. .popper[data-placement^='bottom-end'] {
  83. padding-top: $popper-margin-from-ref;
  84. }
  85. .popper[data-placement^='bottom-end'] .popper__arrow {
  86. border-width: 0 5px 5px 5px;
  87. border-left-color: transparent;
  88. border-right-color: transparent;
  89. border-top-color: transparent;
  90. top: 0;
  91. left: calc(100% - 5px);
  92. }
  93. // Right
  94. .popper[data-placement^='right'] {
  95. padding-left: $popper-margin-from-ref;
  96. }
  97. .popper[data-placement^='right'] .popper__arrow {
  98. border-width: 5px 5px 5px 0;
  99. border-left-color: transparent;
  100. border-top-color: transparent;
  101. border-bottom-color: transparent;
  102. left: 0;
  103. top: calc(50% - 5px);
  104. }
  105. // Left
  106. .popper[data-placement^='left'] {
  107. padding-right: $popper-margin-from-ref;
  108. }
  109. .popper[data-placement^='left'] .popper__arrow {
  110. border-width: 5px 0 5px 5px;
  111. border-top-color: transparent;
  112. border-right-color: transparent;
  113. border-bottom-color: transparent;
  114. right: -5px;
  115. top: calc(50% - 5px);
  116. }
  117. .popper__target,
  118. .popper__manager {
  119. display: inline-block;
  120. }
  121. .popper__manager--block {
  122. display: block;
  123. }