_popper.scss 2.6 KB

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