UNPKG

5.44 kBSCSSView Raw
1@charset "UTF-8";
2
3@import "../core/index-noreset.scss";
4@import "scss/mixin";
5@import "scss/variable";
6@import "./rtl.scss";
7
8.#{$css-prefix}switch {
9 @include box-sizing;
10 outline: none;
11 text-align: left;
12 cursor: pointer;
13 vertical-align: middle;
14 user-select: none;
15 overflow: hidden;
16 transition: background .1s $motion-default, border-color .1s $motion-default;
17
18 &-btn {
19 transition: all .15s $motion-default;
20 transform-origin: left center;
21 }
22 &:after {
23 content: "";
24 }
25
26 &-loading {
27 pointer-events: none;
28 .#{$css-prefix}icon-loading {
29 color: $color-brand1-6;
30 text-align: center;
31 transform: translate(calc(0px - #{$switch-border-width-trigger}), calc(0px - #{$switch-border-width-trigger}));
32
33 &.#{$css-prefix}switch-inner-icon:before {
34 vertical-align: top;
35 }
36 }
37 }
38
39 &-medium {
40 @include bounding($switch-size-m-width, $switch-size-m-trigger, #{$switch-border-width-container}, $switch-border-width-trigger, $switch-size-m-radius-container, $switch-size-m-radius-trigger);
41
42 > .#{$css-prefix}switch-children {
43 font-size: $form-element-medium-font-size;
44 }
45
46 &.#{$css-prefix}switch.#{$css-prefix}switch-on > .#{$css-prefix}switch-children {
47 margin: 0 calc(#{$switch-size-m-trigger} + #{$switch-size-m-trigger-padding-r}) 0 $switch-size-m-trigger-padding-l;
48 }
49
50 &.#{$css-prefix}switch.#{$css-prefix}switch-off > .#{$css-prefix}switch-children {
51 margin: 0 $switch-size-m-trigger-padding-r 0 calc(#{$switch-size-m-trigger} + #{$switch-size-m-trigger-padding-l});
52 }
53
54 &.#{$css-prefix}switch-loading .#{$css-prefix}icon-loading {
55 @include icon-size($switch-size-m-inner-icon);
56 line-height: $switch-size-m-trigger;
57 height: $switch-size-m-trigger;
58 width: $switch-size-m-trigger;
59 }
60 }
61
62 &-small {
63 @include bounding($switch-size-s-width, $switch-size-s-trigger, #{$switch-border-width-container}, $switch-border-width-trigger, $switch-size-s-radius-container, $switch-size-s-radius-trigger);
64
65 > .#{$css-prefix}switch-children {
66 font-size: $form-element-small-font-size;
67 }
68
69 &.#{$css-prefix}switch.#{$css-prefix}switch-on > .#{$css-prefix}switch-children {
70 margin: 0 calc(#{$switch-size-s-trigger} + #{$switch-size-s-trigger-padding-r}) 0 $switch-size-s-trigger-padding-l;
71 }
72
73 &.#{$css-prefix}switch.#{$css-prefix}switch-off > .#{$css-prefix}switch-children {
74 margin: 0 $switch-size-s-trigger-padding-r 0 calc(#{$switch-size-s-trigger} + #{$switch-size-s-trigger-padding-l});
75 }
76 &.#{$css-prefix}switch-loading .#{$css-prefix}icon-loading {
77 @include icon-size($switch-size-s-inner-icon);
78 line-height: $switch-size-s-trigger;
79 height: $switch-size-s-trigger;
80 width: $switch-size-s-trigger;
81 }
82 }
83
84 &-on {
85 background-color: $switch-normal-on-bg-color;
86 .#{$css-prefix}switch-btn {
87 box-shadow: $switch-on-shadow;
88 background-color: $switch-normal-on-trigger-bg-color;
89 border-color: $switch-handle-on-border-color;
90 }
91
92 > .#{$css-prefix}switch-children {
93 color: $switch-normal-on-color-font;
94 }
95
96 &:focus,
97 &.hover,
98 &:hover {
99 background-color: $switch-hover-on-bg-color;
100 .#{$css-prefix}switch-btn {
101 background-color: $switch-hover-on-trigger-bg-color;
102 }
103 }
104 }
105
106 &-on[disabled] {
107 background-color: $switch-disabled-on-bg-color;
108 cursor: not-allowed;
109
110 .#{$css-prefix}switch-btn {
111 right: 0;
112 box-shadow: $switch-on-shadow;
113 background-color: $switch-disabled-on-trigger-bg-color;
114 border-color: $switch-handle-disabled-border-color;
115 }
116
117 > .#{$css-prefix}switch-children {
118 color: $switch-disabled-on-color-font;
119 }
120 }
121 &-off {
122 background-color: $switch-normal-off-bg-color;
123 border-color: $switch-normal-off-border-color;
124
125 &:focus,
126 &.hover,
127 &:hover {
128 background-color: $switch-hover-off-bg-color;
129 border-color: $switch-hover-off-border-color;
130 }
131
132 .#{$css-prefix}switch-btn {
133 left: 0;
134 box-shadow: $switch-on-shadow;
135 background-color: $switch-normal-off-trigger-bg-color;
136 border-color: $switch-handle-off-border-color;
137 }
138 &:focus,
139 &.hover,
140 &:hover {
141 .#{$css-prefix}switch-btn {
142 background-color: $switch-hover-off-trigger-bg-color;
143 }
144 }
145
146 > .#{$css-prefix}switch-children {
147 color: $switch-normal-off-color-font;
148 }
149 }
150 &-off[disabled] {
151 background-color: $switch-disabled-off-bg-color;
152 cursor: not-allowed;
153
154 .#{$css-prefix}switch-btn {
155 box-shadow: $switch-off-shadow;
156 background-color: $switch-disabled-off-trigger-bg-color;
157 border-color: $switch-handle-disabled-border-color;
158 }
159 > .#{$css-prefix}switch-children {
160 color: $switch-disabled-off-color-font;
161 }
162 }
163}