LibraryUnit.scss 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. @import "../css/variables.module.scss";
  2. .excalidraw {
  3. .library-unit {
  4. align-items: center;
  5. border: 1px solid transparent;
  6. display: flex;
  7. justify-content: center;
  8. position: relative;
  9. width: 55px;
  10. height: 55px;
  11. box-sizing: border-box;
  12. border-radius: var(--border-radius-lg);
  13. svg {
  14. // to prevent clicks on links and such
  15. pointer-events: none;
  16. }
  17. &--hover {
  18. border-color: var(--color-primary);
  19. }
  20. &--selected {
  21. border-color: var(--color-primary);
  22. border-width: 1px;
  23. }
  24. &--skeleton {
  25. opacity: 0.5;
  26. background: linear-gradient(
  27. -45deg,
  28. var(--color-gray-10),
  29. var(--color-gray-20),
  30. var(--color-gray-10)
  31. );
  32. background-size: 200% 200%;
  33. animation: library-unit__skeleton-opacity-animation 0.2s linear;
  34. }
  35. }
  36. &.theme--dark .library-unit--skeleton {
  37. background-image: linear-gradient(
  38. -45deg,
  39. var(--color-gray-100),
  40. var(--color-gray-80),
  41. var(--color-gray-100)
  42. );
  43. }
  44. .library-unit__dragger {
  45. display: flex;
  46. align-items: center;
  47. justify-content: center;
  48. height: 100%;
  49. width: 100%;
  50. }
  51. .library-unit__dragger > svg {
  52. filter: var(--theme-filter);
  53. flex-grow: 1;
  54. max-height: 100%;
  55. max-width: 100%;
  56. }
  57. .library-unit__checkbox-container,
  58. .library-unit__checkbox-container:hover,
  59. .library-unit__checkbox-container:active {
  60. align-items: center;
  61. background: none;
  62. border: none;
  63. color: var(--icon-fill-color);
  64. display: flex;
  65. justify-content: center;
  66. margin: 0;
  67. padding: 0.5rem;
  68. position: absolute;
  69. left: 2rem;
  70. bottom: 2rem;
  71. cursor: pointer;
  72. input {
  73. cursor: pointer;
  74. }
  75. }
  76. .library-unit__checkbox {
  77. position: absolute;
  78. top: 0.125rem;
  79. right: 0.125rem;
  80. margin: 0;
  81. .Checkbox-box {
  82. margin: 0;
  83. width: 1rem;
  84. height: 1rem;
  85. border-radius: 4px;
  86. background-color: var(--color-primary-light);
  87. border: 1px solid var(--color-primary);
  88. box-shadow: none !important;
  89. padding: 2px;
  90. }
  91. &.Checkbox:hover {
  92. .Checkbox-box {
  93. background-color: var(--color-primary-light);
  94. }
  95. }
  96. &.is-checked {
  97. .Checkbox-box {
  98. background-color: var(--color-primary) !important;
  99. svg {
  100. color: var(--color-primary-light);
  101. }
  102. }
  103. }
  104. }
  105. .library-unit__removeFromLibrary > svg {
  106. height: 16px;
  107. width: 16px;
  108. }
  109. .library-unit__adder {
  110. transform: scale(1);
  111. animation: library-unit__adder-animation 1s ease-in infinite;
  112. position: absolute;
  113. width: 1.5rem;
  114. height: 1.5rem;
  115. background-color: var(--color-primary);
  116. border-radius: var(--border-radius-md);
  117. display: flex;
  118. justify-content: center;
  119. align-items: center;
  120. pointer-events: none;
  121. svg {
  122. color: var(--color-primary-light);
  123. width: 1rem;
  124. height: 1rem;
  125. }
  126. }
  127. .library-unit:active .library-unit__adder {
  128. animation: none;
  129. transform: scale(0.8);
  130. }
  131. .library-unit__active {
  132. cursor: pointer;
  133. }
  134. @keyframes library-unit__adder-animation {
  135. 0% {
  136. transform: scale(0.85);
  137. }
  138. 50% {
  139. transform: scale(1);
  140. }
  141. 100% {
  142. transform: scale(0.85);
  143. }
  144. }
  145. @keyframes library-unit__skeleton-opacity-animation {
  146. 0% {
  147. opacity: 0;
  148. }
  149. 75% {
  150. opacity: 0;
  151. }
  152. 100% {
  153. opacity: 0.5;
  154. }
  155. }
  156. }