multiple-select.css 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. .input-control {
  2. display: inline-block;
  3. position: relative;
  4. }
  5. .select-multiple {
  6. display: block;
  7. width: 100%;
  8. position: relative;
  9. }
  10. .select-multiple > .dropdown-options {
  11. display: none;
  12. box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.14);
  13. border-top: solid 2px var(--color-accent-600);
  14. z-index: 100;
  15. position: absolute;
  16. width: 100%;
  17. background-color: white;
  18. }
  19. .select-multiple.select-multiple--expanded > .dropdown-options {
  20. display: block;
  21. }
  22. .select-multiple.select-multiple--expanded > .dropdown-options > div {
  23. line-height: 2rem;
  24. font-size: 0.9rem;
  25. cursor: pointer;
  26. -webkit-transition: 0.1s ease-in-out;
  27. transition: 0.1s ease-in-out;
  28. display: flex;
  29. align-items: center;
  30. }
  31. .dropdown-options > div.select--checked {
  32. position: relative;
  33. font-weight: bold;
  34. color: var(--color-neutral-100);
  35. background-color: #f8f9fb;
  36. }
  37. .dropdown-options > div.select--active {
  38. background-color: #e0e8ec;
  39. }
  40. .dropdown-options > div:hover {
  41. background-color: #f0f4f6;
  42. }
  43. .dropdown-options > div:before {
  44. content: " ";
  45. background-color: white;
  46. background-size: 18px;
  47. height: 18px;
  48. width: 0px;
  49. border-radius: 4px;
  50. display: inline-block;
  51. margin: 8px;
  52. }
  53. .dropdown-options.pickable > div:before {
  54. width: 18px;
  55. border-radius: 4px;
  56. border: solid 1px var(--color-accent-600);
  57. }
  58. .dropdown-options.pickable > div.select--checked:before {
  59. background-color: var(--color-accent-600);
  60. }
  61. .dropdown-options.pickable > div.select--checked:after {
  62. position: absolute;
  63. content: "";
  64. border: 2px solid transparent;
  65. border-right-color: white;
  66. border-bottom-color: white;
  67. width: 8px;
  68. height: 14px;
  69. left: 13px;
  70. top: 8px;
  71. transform: rotate(37deg);
  72. }
  73. .dropdown-options.pickable > div.info {
  74. background-color: var(--color-primary-400);
  75. }
  76. .dropdown-options.pickable > div.success {
  77. background-color: #a5f2d8;
  78. }
  79. .dropdown-options.pickable > div.warning {
  80. background-color: #ffe3cc;
  81. }
  82. .dropdown-options.pickable > div.error {
  83. background-color: #f9ccd4;
  84. }
  85. .dropdown-options.pickable > div.unavailable {
  86. text-decoration: line-through;
  87. }
  88. .select-multiple > .select-multiple-value {
  89. all: initial;
  90. display: block;
  91. position: relative;
  92. color: var(--color-neutral-100);
  93. cursor: pointer;
  94. width: 100%;
  95. border: none;
  96. margin: 0;
  97. padding: 0.2rem 0.5rem;
  98. font-size: 0.875rem;
  99. -webkit-appearance: none;
  100. -moz-appearance: none;
  101. appearance: none;
  102. box-shadow: 0 -1px 0 0 var(--color-accent-700) inset;
  103. background-color: var(--color-accent-950);
  104. box-sizing: border-box;
  105. -webkit-transition: 0.1s ease-in-out;
  106. transition: 0.1s ease-in-out;
  107. font-family: Roboto, Helvetica Neue, Helvetica, Arial, sans-serif;
  108. line-height: 1.3rem;
  109. padding-right: 2rem;
  110. -webkit-transition-property: box-shadow, border;
  111. transition-property: box-shadow, border;
  112. }
  113. .select-multiple.select-multiple--expanded > .select-multiple-value::after,
  114. .select-multiple > .select-multiple-value::after {
  115. content: "expand_less";
  116. font-family: "Material Icons";
  117. font-weight: normal;
  118. font-style: normal;
  119. font-size: 1.5rem;
  120. line-height: 1;
  121. letter-spacing: normal;
  122. text-transform: none;
  123. display: inline-block;
  124. color: var(--color-accent-400);
  125. position: absolute;
  126. top: 4px;
  127. right: 4px;
  128. }
  129. .select-multiple > .select-multiple-value::after {
  130. content: "expand_more";
  131. }
  132. .select-multiple > .select-multiple-value:hover {
  133. cursor: pointer;
  134. background-color: var(--color-accent-850);
  135. }
  136. .select-multiple-value > .chip {
  137. margin-right: 4px;
  138. margin-bottom: 4px;
  139. }
  140. .select-multiple-input {
  141. border: 0;
  142. background: transparent;
  143. font-size: 0.875rem;
  144. line-height: 1.4rem;
  145. }
  146. .select-multiple > .select-multiple-value:focus-within {
  147. box-shadow: 0 0 0 2px var(--color-accent-700);
  148. border-color: transparent;
  149. background-color: var(--color-accent-950);
  150. }
  151. .select-multiple-input:focus,
  152. .select-multiple-input:focus-visible {
  153. outline: 0;
  154. }