ToolIcon.scss 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. @import "open-color/open-color.scss";
  2. .excalidraw {
  3. .ToolIcon {
  4. display: inline-flex;
  5. align-items: center;
  6. position: relative;
  7. font-family: Cascadia;
  8. cursor: pointer;
  9. background-color: var(--button-gray-1);
  10. -webkit-tap-highlight-color: transparent;
  11. border-radius: var(--space-factor);
  12. }
  13. .ToolIcon__icon {
  14. width: 2.5rem;
  15. height: 2.5rem;
  16. color: var(--icon-fill-color);
  17. display: flex;
  18. justify-content: center;
  19. align-items: center;
  20. border-radius: var(--space-factor);
  21. svg {
  22. position: relative;
  23. height: 1em;
  24. fill: var(--icon-fill-color);
  25. color: var(--icon-fill-color);
  26. }
  27. & + .ToolIcon__label {
  28. margin-inline-start: 0;
  29. }
  30. }
  31. .ToolIcon__label {
  32. color: var(--icon-fill-color);
  33. font-family: var(--ui-font);
  34. margin: 0 0.8em;
  35. text-overflow: ellipsis;
  36. }
  37. .ToolIcon_size_s .ToolIcon__icon {
  38. width: 1.4rem;
  39. height: 1.4rem;
  40. font-size: 0.8em;
  41. }
  42. .excalidraw .ToolIcon_type_button,
  43. .Modal .ToolIcon_type_button,
  44. .ToolIcon_type_button {
  45. padding: 0;
  46. border: none;
  47. margin: 0;
  48. font-size: inherit;
  49. &:hover {
  50. background-color: var(--button-gray-1);
  51. }
  52. &:active {
  53. background-color: var(--button-gray-2);
  54. }
  55. &:focus {
  56. box-shadow: 0 0 0 2px var(--focus-highlight-color);
  57. }
  58. &.ToolIcon--selected {
  59. background-color: var(--button-gray-2);
  60. &:active {
  61. background-color: var(--button-gray-3);
  62. }
  63. }
  64. &--show {
  65. visibility: visible;
  66. }
  67. &--hide {
  68. visibility: hidden;
  69. }
  70. }
  71. .ToolIcon_type_radio,
  72. .ToolIcon_type_checkbox {
  73. position: absolute;
  74. opacity: 0;
  75. pointer-events: none;
  76. &:not(.ToolIcon_toggle_opaque):checked + .ToolIcon__icon {
  77. background-color: var(--button-gray-2);
  78. }
  79. &:focus + .ToolIcon__icon {
  80. box-shadow: 0 0 0 2px var(--focus-highlight-color);
  81. }
  82. &:active + .ToolIcon__icon {
  83. background-color: var(--button-gray-3);
  84. }
  85. }
  86. .ToolIcon_type_floating {
  87. background-color: transparent;
  88. &:hover {
  89. background-color: transparent;
  90. }
  91. &:active {
  92. background-color: transparent;
  93. }
  94. &:focus {
  95. box-shadow: none;
  96. }
  97. .ToolIcon__icon {
  98. width: 2rem;
  99. height: 2em;
  100. }
  101. }
  102. .ToolIcon.ToolIcon__lock {
  103. &.ToolIcon_type_floating {
  104. margin-left: 0.1rem;
  105. }
  106. }
  107. .ToolIcon__keybinding {
  108. position: absolute;
  109. bottom: 2px;
  110. right: 3px;
  111. font-size: 0.5em;
  112. color: var(--keybinding-color);
  113. font-family: var(--ui-font);
  114. user-select: none;
  115. }
  116. @media (max-width: 425px) {
  117. .Shape .ToolIcon__icon {
  118. width: 2rem;
  119. height: 2rem;
  120. svg {
  121. height: 0.8em;
  122. }
  123. }
  124. }
  125. @media (max-width: 360px) {
  126. .ToolIcon.ToolIcon__lock {
  127. display: inline-block;
  128. position: absolute;
  129. top: 60px;
  130. right: -8px;
  131. margin-left: 0;
  132. border-radius: 20px 0 0 20px;
  133. background-color: var(--button-gray-1);
  134. &:hover {
  135. background-color: var(--button-gray-1);
  136. }
  137. &:active {
  138. background-color: var(--button-gray-2);
  139. }
  140. .ToolIcon__icon {
  141. border-radius: inherit;
  142. }
  143. svg {
  144. position: static;
  145. }
  146. }
  147. }
  148. .unlocked-icon {
  149. :root[dir="ltr"] & {
  150. left: 2px;
  151. }
  152. :root[dir="rtl"] & {
  153. right: 2px;
  154. }
  155. }
  156. }