| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300 | 
							- @use 'sass:map';
 
- @use 'mixins/mixins' as *;
 
- @use 'mixins/utils' as *;
 
- @use 'mixins/var' as *;
 
- @use 'common/var' as *;
 
- $switch-height: () !default;
 
- $switch-height: map.merge(
 
-   (
 
-     'large': 40px,
 
-     'default': 32px,
 
-     'small': 24px,
 
-   ),
 
-   $switch-height
 
- );
 
- $switch-font-size: () !default;
 
- $switch-font-size: map.merge(
 
-   (
 
-     'large': 14px,
 
-     'default': 14px,
 
-     'small': 12px,
 
-   ),
 
-   $switch-font-size
 
- );
 
- $switch-core-border-radius: () !default;
 
- $switch-core-border-radius: map.merge(
 
-   (
 
-     'large': 12px,
 
-     'default': 10px,
 
-     'small': 8px,
 
-   ),
 
-   $switch-core-border-radius
 
- );
 
- $switch-core-width: () !default;
 
- $switch-core-width: map.merge(
 
-   (
 
-     'large': 50px,
 
-     'default': 40px,
 
-     'small': 30px,
 
-   ),
 
-   $switch-core-width
 
- );
 
- $switch-core-height: () !default;
 
- $switch-core-height: map.merge(
 
-   (
 
-     'large': 24px,
 
-     'default': 20px,
 
-     'small': 16px,
 
-   ),
 
-   $switch-core-height
 
- );
 
- $switch-button-size: () !default;
 
- $switch-button-size: map.merge(
 
-   (
 
-     'large': 20px,
 
-     'default': 16px,
 
-     'small': 12px,
 
-   ),
 
-   $switch-button-size
 
- );
 
- $switch-content-padding: () !default;
 
- $switch-content-padding: map.merge(
 
-   (
 
-     'large': 6px,
 
-     'default': 4px,
 
-     'small': 2px,
 
-   ),
 
-   $switch-content-padding
 
- );
 
- @include b(switch) {
 
-   @include set-component-css-var('switch', $switch);
 
- }
 
- @include b(switch) {
 
-   display: inline-flex;
 
-   align-items: center;
 
-   position: relative;
 
-   font-size: map.get($switch-font-size, 'default');
 
-   line-height: map.get($switch-core-height, 'default');
 
-   height: map.get($switch-height, 'default');
 
-   vertical-align: middle;
 
-   @include when(disabled) {
 
-     & .#{$namespace}-switch__core,
 
-     & .#{$namespace}-switch__label {
 
-       cursor: not-allowed;
 
-     }
 
-   }
 
-   @include e(label) {
 
-     transition: getCssVar('transition-duration-fast');
 
-     height: map.get($switch-core-height, 'default');
 
-     display: inline-block;
 
-     font-size: map.get($switch-font-size, 'default');
 
-     font-weight: 500;
 
-     cursor: pointer;
 
-     vertical-align: middle;
 
-     color: getCssVar('text-color', 'primary');
 
-     @include when(active) {
 
-       color: getCssVar('color-primary');
 
-     }
 
-     @include m(left) {
 
-       margin-right: 10px;
 
-     }
 
-     @include m(right) {
 
-       margin-left: 10px;
 
-     }
 
-     & * {
 
-       line-height: 1;
 
-       font-size: map.get($switch-font-size, 'default');
 
-       display: inline-block;
 
-     }
 
-     .#{$namespace}-icon {
 
-       height: inherit;
 
-       svg {
 
-         vertical-align: middle;
 
-       }
 
-     }
 
-   }
 
-   @include e(input) {
 
-     position: absolute;
 
-     width: 0;
 
-     height: 0;
 
-     opacity: 0;
 
-     margin: 0;
 
-     &:focus-visible {
 
-       & ~ .#{$namespace}-switch__core {
 
-         outline: 2px solid getCssVar('switch-on-color');
 
-         outline-offset: 1px;
 
-       }
 
-     }
 
-   }
 
-   @include e(core) {
 
-     display: inline-flex;
 
-     position: relative;
 
-     align-items: center;
 
-     min-width: map.get($switch-core-width, 'default');
 
-     height: map.get($switch-core-height, 'default');
 
-     border: 1px solid
 
-       var(
 
-         #{getCssVarName('switch-border-color')},
 
-         #{getCssVar('switch-off-color')}
 
-       );
 
-     outline: none;
 
-     border-radius: map.get($switch-core-border-radius, 'default');
 
-     box-sizing: border-box;
 
-     background: getCssVar('switch-off-color');
 
-     cursor: pointer;
 
-     transition: border-color getCssVar('transition-duration'),
 
-       background-color getCssVar('transition-duration');
 
-     .#{$namespace}-switch__inner {
 
-       width: 100%;
 
-       transition: all getCssVar('transition-duration');
 
-       height: map.get($switch-button-size, 'default');
 
-       display: flex;
 
-       justify-content: center;
 
-       align-items: center;
 
-       overflow: hidden;
 
-       .is-icon,
 
-       .is-text {
 
-         font-size: 12px;
 
-         color: getCssVar('color-white');
 
-         user-select: none;
 
-         @include utils-ellipsis;
 
-       }
 
-       padding: 0 #{map.get($switch-content-padding, 'default')} 0 calc(#{map.get(
 
-               $switch-button-size,
 
-               'default'
 
-             )} + 2px);
 
-     }
 
-     .#{$namespace}-switch__action {
 
-       position: absolute;
 
-       left: 1px;
 
-       border-radius: getCssVar('border-radius-circle');
 
-       transition: all getCssVar('transition-duration');
 
-       width: map.get($switch-button-size, 'default');
 
-       height: map.get($switch-button-size, 'default');
 
-       background-color: getCssVar('color-white');
 
-       display: flex;
 
-       justify-content: center;
 
-       align-items: center;
 
-       color: getCssVar('switch-off-color');
 
-     }
 
-   }
 
-   @include when(checked) {
 
-     .#{$namespace}-switch__core {
 
-       border-color: var(
 
-         #{getCssVarName('switch-border-color')},
 
-         #{getCssVar('switch-on-color')}
 
-       );
 
-       background-color: getCssVar('switch-on-color');
 
-       .#{$namespace}-switch__action {
 
-         left: calc(100% - #{map.get($switch-button-size, 'default') + 1px});
 
-         color: getCssVar('switch-on-color');
 
-       }
 
-       .#{$namespace}-switch__inner {
 
-         padding: 0 calc(#{map.get($switch-button-size, 'default')} + 2px) 0 #{map.get(
 
-             $switch-content-padding,
 
-             'default'
 
-           )};
 
-       }
 
-     }
 
-   }
 
-   @include when(disabled) {
 
-     opacity: 0.6;
 
-   }
 
-   @include m(wide) {
 
-     .#{$namespace}-switch__label {
 
-       &.#{$namespace}-switch__label--left {
 
-         span {
 
-           left: 10px;
 
-         }
 
-       }
 
-       &.#{$namespace}-switch__label--right {
 
-         span {
 
-           right: 10px;
 
-         }
 
-       }
 
-     }
 
-   }
 
-   & .label-fade-enter-from,
 
-   & .label-fade-leave-active {
 
-     opacity: 0;
 
-   }
 
-   @each $size in (large, small) {
 
-     @include m($size) {
 
-       font-size: map.get($switch-font-size, $size);
 
-       line-height: map.get($switch-core-height, $size);
 
-       height: map.get($switch-height, $size);
 
-       @include e(label) {
 
-         height: map.get($switch-core-height, $size);
 
-         font-size: map.get($switch-font-size, $size);
 
-         & * {
 
-           font-size: map.get($switch-font-size, $size);
 
-         }
 
-       }
 
-       @include e(core) {
 
-         min-width: map.get($switch-core-width, $size);
 
-         height: map.get($switch-core-height, $size);
 
-         border-radius: map.get($switch-core-border-radius, $size);
 
-         .#{$namespace}-switch__inner {
 
-           height: map.get($switch-button-size, $size);
 
-           padding: 0 #{map.get($switch-content-padding, $size)} 0 calc(#{map.get(
 
-                   $switch-button-size,
 
-                   $size
 
-                 )} + 2px);
 
-         }
 
-         .#{$namespace}-switch__action {
 
-           width: map.get($switch-button-size, $size);
 
-           height: map.get($switch-button-size, $size);
 
-         }
 
-       }
 
-       @include when(checked) {
 
-         .#{$namespace}-switch__core {
 
-           .#{$namespace}-switch__action {
 
-             left: calc(100% - #{map.get($switch-button-size, $size) + 1px});
 
-           }
 
-           .#{$namespace}-switch__inner {
 
-             padding: 0 calc(#{map.get($switch-button-size, $size)} + 2px) 0 #{map.get(
 
-                 $switch-content-padding,
 
-                 $size
 
-               )};
 
-           }
 
-         }
 
-       }
 
-     }
 
-   }
 
- }
 
 
  |