online-users.scss 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. :root {
  2. --online-users-border-color: var(--bg-dark-primary);
  3. --online-users-text-color: var(--content-primary);
  4. --online-users-overflow-button-background-color: var(--bg-light-secondary);
  5. }
  6. @include theme('light') {
  7. --online-users-border-color: var(--bg-light-primary);
  8. --online-users-text-color: var(--content-primary);
  9. --online-users-overflow-button-background-color: var(--bg-light-secondary);
  10. }
  11. .online-users-row {
  12. // Keep in sync with the MAX_USER_CIRCLES_DISPLAYED js constant
  13. $max-user-circles-displayed: 5;
  14. --online-users-circle-size: 24px;
  15. --online-users-border-size: 1px;
  16. --online-users-overlap: 8px;
  17. --online-users-circle-padding: var(--spacing-01);
  18. .online-user-overflow-dropdown {
  19. --online-users-border-color: transparent;
  20. }
  21. display: flex;
  22. align-items: center;
  23. color: var(--online-users-text-color);
  24. .online-users-row-button {
  25. padding: 0;
  26. margin: 0;
  27. background: none;
  28. border: none;
  29. color: var(--online-users-text-color);
  30. min-width: var(--online-users-circle-size);
  31. height: var(--online-users-circle-size);
  32. display: block;
  33. font-weight: var(--font-weight-regular);
  34. &.dropdown-toggle::after {
  35. display: none;
  36. }
  37. &:not(:last-child, .online-user-overflow-toggle) {
  38. margin-right: calc(
  39. var(--online-users-overlap) * -1 + var(--online-users-border-size)
  40. );
  41. }
  42. @for $i from 1 through $max-user-circles-displayed {
  43. &:nth-child(#{$i}):not(:hover):not(.online-user-overflow-toggle) {
  44. z-index: $i;
  45. }
  46. }
  47. &:hover {
  48. z-index: $max-user-circles-displayed + 2;
  49. }
  50. }
  51. .online-user-overflow-toggle {
  52. &:not(:hover) {
  53. z-index: $max-user-circles-displayed + 1;
  54. }
  55. &:hover,
  56. &:active,
  57. & {
  58. background: none;
  59. }
  60. .online-user-circle {
  61. background-color: var(--online-users-overflow-button-background-color);
  62. color: var(--online-users-text-color);
  63. }
  64. }
  65. .online-user-circle {
  66. padding: var(--online-users-circle-padding);
  67. border-radius: 50%;
  68. min-width: var(--online-users-circle-size);
  69. height: var(--online-users-circle-size);
  70. line-height: calc(
  71. var(--online-users-circle-size) - 2 * var(--online-users-border-size) -
  72. 2 * var(--online-users-circle-padding)
  73. );
  74. font-size: var(--font-size-01);
  75. text-align: center;
  76. border: var(--online-users-border-size) solid
  77. var(--online-users-border-color);
  78. box-sizing: border-box;
  79. display: inline-block;
  80. text-transform: uppercase;
  81. }
  82. .online-user-circle-light-font {
  83. color: var(--content-primary-dark);
  84. }
  85. .online-user-circle-dark-font {
  86. color: var(--content-primary);
  87. }
  88. }