mdc.segmented-button.css 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. /**
  2. * @license
  3. * Copyright Google LLC All Rights Reserved.
  4. *
  5. * Use of this source code is governed by an MIT-style license that can be
  6. * found in the LICENSE file at https://github.com/material-components/material-components-web/blob/master/LICENSE
  7. */
  8. .mdc-segmented-button {
  9. display: inline-block;
  10. font-size: 0;
  11. }
  12. .mdc-touch-target-wrapper {
  13. display: inline;
  14. }
  15. .mdc-elevation-overlay {
  16. position: absolute;
  17. border-radius: inherit;
  18. pointer-events: none;
  19. opacity: 0;
  20. /* @alternate */
  21. opacity: var(--mdc-elevation-overlay-opacity, 0);
  22. transition: opacity 280ms cubic-bezier(0.4, 0, 0.2, 1);
  23. background-color: #fff;
  24. /* @alternate */
  25. background-color: var(--mdc-elevation-overlay-color, #fff);
  26. }
  27. .mdc-segmented-button__segment {
  28. border-color: rgba(0, 0, 0, 0.12);
  29. /* @alternate */
  30. border-color: var(--mdc-segmented-button-outline-color, rgba(0, 0, 0, 0.12));
  31. }
  32. .mdc-segmented-button__segment {
  33. color: rgba(0, 0, 0, 0.6);
  34. /* @alternate */
  35. color: var(--mdc-segmented-button-unselected-ink-color, rgba(0, 0, 0, 0.6));
  36. }
  37. .mdc-segmented-button__segment {
  38. background-color: white;
  39. /* @alternate */
  40. background-color: var(--mdc-segmented-button-unselected-container-fill-color, white);
  41. }
  42. .mdc-segmented-button__segment--selected {
  43. color: #6200ee;
  44. /* @alternate */
  45. color: var(--mdc-segmented-button-selected-ink-color, #6200ee);
  46. }
  47. .mdc-segmented-button__segment--selected {
  48. background-color: rgba(98, 0, 238, 0.08);
  49. /* @alternate */
  50. background-color: var(--mdc-segmented-button-selected-container-fill-color, rgba(98, 0, 238, 0.08));
  51. }
  52. .mdc-segmented-button__segment {
  53. /* @alternate */
  54. position: relative;
  55. -moz-osx-font-smoothing: grayscale;
  56. -webkit-font-smoothing: antialiased;
  57. font-family: Roboto, sans-serif;
  58. /* @alternate */
  59. font-family: var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  60. font-size: 0.875rem;
  61. /* @alternate */
  62. font-size: var(--mdc-typography-button-font-size, 0.875rem);
  63. line-height: 2.25rem;
  64. /* @alternate */
  65. line-height: var(--mdc-typography-button-line-height, 2.25rem);
  66. font-weight: 500;
  67. /* @alternate */
  68. font-weight: var(--mdc-typography-button-font-weight, 500);
  69. letter-spacing: 0.0892857143em;
  70. /* @alternate */
  71. letter-spacing: var(--mdc-typography-button-letter-spacing, 0.0892857143em);
  72. text-decoration: none;
  73. /* @alternate */
  74. -webkit-text-decoration: var(--mdc-typography-button-text-decoration, none);
  75. text-decoration: var(--mdc-typography-button-text-decoration, none);
  76. text-transform: uppercase;
  77. /* @alternate */
  78. text-transform: var(--mdc-typography-button-text-transform, uppercase);
  79. display: inline-flex;
  80. vertical-align: top;
  81. align-items: center;
  82. height: 36px;
  83. min-width: 48px;
  84. padding: 0 12px;
  85. border-width: 1px 0 1px 1px;
  86. }
  87. .mdc-segmented-button__segment .mdc-elevation-overlay {
  88. width: 100%;
  89. height: 100%;
  90. top: 0;
  91. /* @noflip */
  92. /*rtl:ignore*/
  93. left: 0;
  94. }
  95. .mdc-segmented-button__segment:hover {
  96. cursor: pointer;
  97. }
  98. .mdc-segmented-button__segment:focus {
  99. outline-width: 0;
  100. }
  101. .mdc-segmented-button__segment:first-child {
  102. border-radius: 4px 0 0 4px;
  103. }
  104. .mdc-segmented-button__segment:last-child {
  105. border-right-width: 1px;
  106. border-radius: 0 4px 4px 0;
  107. }
  108. .mdc-segmented-button__segment .mdc-segmented-button__segment__touch {
  109. position: absolute;
  110. top: 50%;
  111. height: 48px;
  112. left: 0;
  113. right: 0;
  114. -webkit-transform: translateY(-50%);
  115. transform: translateY(-50%);
  116. }
  117. .mdc-segmented-button__segment .mdc-segmented-button__segment--touch {
  118. margin-top: 0px;
  119. margin-bottom: 0px;
  120. }
  121. .mdc-touch-target-wrapper .mdc-segmented-button__segment {
  122. border-radius: 0;
  123. border-right-width: 0;
  124. }
  125. .mdc-touch-target-wrapper:first-child .mdc-segmented-button__segment {
  126. border-radius: 4px 0 0 4px;
  127. }
  128. .mdc-touch-target-wrapper:last-child .mdc-segmented-button__segment {
  129. border-right-width: 1px;
  130. border-radius: 0 4px 4px 0;
  131. }
  132. .mdc-segmented-button__icon {
  133. width: 24px;
  134. font-size: 18px;
  135. }
  136. .mdc-segmented-button__icon + .mdc-segmented-button__label {
  137. padding-left: 6px;
  138. }
  139. .mdc-segmented-button__segment {
  140. --mdc-ripple-fg-size: 0;
  141. --mdc-ripple-left: 0;
  142. --mdc-ripple-top: 0;
  143. --mdc-ripple-fg-scale: 1;
  144. --mdc-ripple-fg-translate-end: 0;
  145. --mdc-ripple-fg-translate-start: 0;
  146. -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  147. will-change: transform, opacity;
  148. overflow: hidden;
  149. }
  150. .mdc-segmented-button__segment .mdc-segmented-button__ripple::before,
  151. .mdc-segmented-button__segment .mdc-segmented-button__ripple::after {
  152. position: absolute;
  153. border-radius: 50%;
  154. opacity: 0;
  155. pointer-events: none;
  156. content: "";
  157. }
  158. .mdc-segmented-button__segment .mdc-segmented-button__ripple::before {
  159. transition: opacity 15ms linear, background-color 15ms linear;
  160. z-index: 1;
  161. /* @alternate */
  162. z-index: var(--mdc-ripple-z-index, 1);
  163. }
  164. .mdc-segmented-button__segment .mdc-segmented-button__ripple::after {
  165. z-index: 0;
  166. /* @alternate */
  167. z-index: var(--mdc-ripple-z-index, 0);
  168. }
  169. .mdc-segmented-button__segment.mdc-ripple-upgraded .mdc-segmented-button__ripple::before {
  170. -webkit-transform: scale(var(--mdc-ripple-fg-scale, 1));
  171. transform: scale(var(--mdc-ripple-fg-scale, 1));
  172. }
  173. .mdc-segmented-button__segment.mdc-ripple-upgraded .mdc-segmented-button__ripple::after {
  174. top: 0;
  175. /* @noflip */
  176. /*rtl:ignore*/
  177. left: 0;
  178. -webkit-transform: scale(0);
  179. transform: scale(0);
  180. -webkit-transform-origin: center center;
  181. transform-origin: center center;
  182. }
  183. .mdc-segmented-button__segment.mdc-ripple-upgraded--unbounded .mdc-segmented-button__ripple::after {
  184. top: var(--mdc-ripple-top, 0);
  185. /* @noflip */
  186. /*rtl:ignore*/
  187. left: var(--mdc-ripple-left, 0);
  188. }
  189. .mdc-segmented-button__segment.mdc-ripple-upgraded--foreground-activation .mdc-segmented-button__ripple::after {
  190. -webkit-animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
  191. animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
  192. }
  193. .mdc-segmented-button__segment.mdc-ripple-upgraded--foreground-deactivation .mdc-segmented-button__ripple::after {
  194. -webkit-animation: mdc-ripple-fg-opacity-out 150ms;
  195. animation: mdc-ripple-fg-opacity-out 150ms;
  196. /* @noflip */
  197. /*rtl:ignore*/
  198. -webkit-transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
  199. transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
  200. }
  201. .mdc-segmented-button__segment .mdc-segmented-button__ripple::before,
  202. .mdc-segmented-button__segment .mdc-segmented-button__ripple::after {
  203. top: calc(50% - 100%);
  204. /* @noflip */
  205. /*rtl:ignore*/
  206. left: calc(50% - 100%);
  207. width: 200%;
  208. height: 200%;
  209. }
  210. .mdc-segmented-button__segment.mdc-ripple-upgraded .mdc-segmented-button__ripple::after {
  211. width: var(--mdc-ripple-fg-size, 100%);
  212. height: var(--mdc-ripple-fg-size, 100%);
  213. }
  214. .mdc-segmented-button__segment .mdc-segmented-button__ripple::before, .mdc-segmented-button__segment .mdc-segmented-button__ripple::after {
  215. background-color: #6200ee;
  216. /* @alternate */
  217. background-color: var(--mdc-ripple-color, #6200ee);
  218. }
  219. .mdc-segmented-button__segment:hover .mdc-segmented-button__ripple::before, .mdc-segmented-button__segment.mdc-ripple-surface--hover .mdc-segmented-button__ripple::before {
  220. opacity: 0.04;
  221. /* @alternate */
  222. opacity: var(--mdc-ripple-hover-opacity, 0.04);
  223. }
  224. .mdc-segmented-button__segment.mdc-ripple-upgraded--background-focused .mdc-segmented-button__ripple::before, .mdc-segmented-button__segment:not(.mdc-ripple-upgraded):focus .mdc-segmented-button__ripple::before, .mdc-segmented-button__segment:focus-within .mdc-segmented-button__ripple::before {
  225. transition-duration: 75ms;
  226. opacity: 0.12;
  227. /* @alternate */
  228. opacity: var(--mdc-ripple-focus-opacity, 0.12);
  229. }
  230. .mdc-segmented-button__segment:not(.mdc-ripple-upgraded) .mdc-segmented-button__ripple::after {
  231. transition: opacity 150ms linear;
  232. }
  233. .mdc-segmented-button__segment:not(.mdc-ripple-upgraded):active .mdc-segmented-button__ripple::after {
  234. transition-duration: 75ms;
  235. opacity: 0.12;
  236. /* @alternate */
  237. opacity: var(--mdc-ripple-press-opacity, 0.12);
  238. }
  239. .mdc-segmented-button__segment.mdc-ripple-upgraded {
  240. --mdc-ripple-fg-opacity: var(--mdc-ripple-press-opacity, 0.12);
  241. }
  242. .mdc-segmented-button__segment .mdc-segmented-button__ripple {
  243. position: absolute;
  244. top: 0;
  245. left: 0;
  246. width: 100%;
  247. height: 100%;
  248. pointer-events: none;
  249. }
  250. /*# sourceMappingURL=mdc.segmented-button.css.map*/