_Tooltip.scss 2.8 KB

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