popper.scss 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. @import "mixins/mixins";
  2. @import "common/var";
  3. @include b(popper) {
  4. .popper__arrow,
  5. .popper__arrow::after {
  6. position: absolute;
  7. display: block;
  8. width: 0;
  9. height: 0;
  10. border-color: transparent;
  11. border-style: solid;
  12. }
  13. .popper__arrow {
  14. border-width: $--popover-arrow-size;
  15. filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03))
  16. }
  17. .popper__arrow::after {
  18. content: " ";
  19. border-width: $--popover-arrow-size;
  20. }
  21. &[x-placement^="top"] {
  22. margin-bottom: #{$--popover-arrow-size + 6};
  23. }
  24. &[x-placement^="top"] .popper__arrow {
  25. bottom: -$--popover-arrow-size;
  26. left: 50%;
  27. margin-right: #{$--tooltip-arrow-size / 2};
  28. border-top-color: $--popover-border-color;
  29. border-bottom-width: 0;
  30. &::after {
  31. bottom: 1px;
  32. margin-left: -$--popover-arrow-size;
  33. border-top-color: $--popover-background-color;
  34. border-bottom-width: 0;
  35. }
  36. }
  37. &[x-placement^="bottom"] {
  38. margin-top: #{$--popover-arrow-size + 6};
  39. }
  40. &[x-placement^="bottom"] .popper__arrow {
  41. top: -$--popover-arrow-size;
  42. left: 50%;
  43. margin-right: #{$--tooltip-arrow-size / 2};
  44. border-top-width: 0;
  45. border-bottom-color: $--popover-border-color;
  46. &::after {
  47. top: 1px;
  48. margin-left: -$--popover-arrow-size;
  49. border-top-width: 0;
  50. border-bottom-color: $--popover-background-color;
  51. }
  52. }
  53. &[x-placement^="right"] {
  54. margin-left: #{$--popover-arrow-size + 6};
  55. }
  56. &[x-placement^="right"] .popper__arrow {
  57. top: 50%;
  58. left: -$--popover-arrow-size;
  59. margin-bottom: #{$--tooltip-arrow-size / 2};
  60. border-right-color: $--popover-border-color;
  61. border-left-width: 0;
  62. &::after {
  63. bottom: -$--popover-arrow-size;
  64. left: 1px;
  65. border-right-color: $--popover-background-color;
  66. border-left-width: 0;
  67. }
  68. }
  69. &[x-placement^="left"] {
  70. margin-right: #{$--popover-arrow-size + 6};
  71. }
  72. &[x-placement^="left"] .popper__arrow {
  73. top: 50%;
  74. right: -$--popover-arrow-size;
  75. margin-bottom: #{$--tooltip-arrow-size / 2};
  76. border-right-width: 0;
  77. border-left-color: $--popover-border-color;
  78. &::after {
  79. right: 1px;
  80. bottom: -$--popover-arrow-size;
  81. margin-left: -$--popover-arrow-size;
  82. border-right-width: 0;
  83. border-left-color: $--popover-background-color;
  84. }
  85. }
  86. }