Skip to content

Commit 93d1d02

Browse files
committed
perf(toggle): css containment
1 parent bda624f commit 93d1d02

File tree

3 files changed

+28
-6
lines changed

3 files changed

+28
-6
lines changed

src/components/toggle/toggle.ios.scss

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,13 @@ $toggle-ios-item-right-padding: 6px ($item-ios-padding-right / 2) 5px ($i
6060

6161
.toggle-ios {
6262
position: relative;
63+
64+
width: $toggle-ios-width;
65+
height: $toggle-ios-height;
66+
67+
box-sizing: content-box;
68+
69+
contain: strict;
6370
}
6471

6572

@@ -70,8 +77,8 @@ $toggle-ios-item-right-padding: 6px ($item-ios-padding-right / 2) 5px ($i
7077
position: relative;
7178
display: block;
7279

73-
width: $toggle-ios-width;
74-
height: $toggle-ios-height;
80+
width: 100%;
81+
height: 100%;
7582

7683
border-radius: $toggle-ios-border-radius;
7784

@@ -117,6 +124,9 @@ $toggle-ios-item-right-padding: 6px ($item-ios-padding-right / 2) 5px ($i
117124
box-shadow: $toggle-ios-handle-box-shadow;
118125

119126
transition: transform $toggle-ios-transition-duration, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms;
127+
128+
will-change: transform;
129+
contain: strict;
120130
}
121131

122132

src/components/toggle/toggle.md.scss

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ $toggle-md-item-right-padding: 12px ($item-md-padding-right / 2) 12px
6767
height: $toggle-md-track-height;
6868

6969
box-sizing: content-box;
70+
71+
contain: strict;
7072
}
7173

7274

@@ -117,7 +119,7 @@ $toggle-md-item-right-padding: 12px ($item-md-padding-right / 2) 12px
117119
// Material Design Toggle Background Track: Checked
118120
// -----------------------------------------
119121

120-
.toggle-md .toggle-checked {
122+
.toggle-md.toggle-checked .toggle-icon {
121123
background-color: $toggle-md-track-background-color-on;
122124
}
123125

src/components/toggle/toggle.wp.scss

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,13 @@ $toggle-wp-item-right-padding: 12px ($item-wp-padding-right / 2) 12px
7272

7373
.toggle-wp {
7474
position: relative;
75+
76+
width: $toggle-wp-track-width;
77+
height: $toggle-wp-track-height;
78+
79+
box-sizing: content-box;
80+
81+
contain: strict;
7582
}
7683

7784

@@ -82,14 +89,16 @@ $toggle-wp-item-right-padding: 12px ($item-wp-padding-right / 2) 12px
8289
position: relative;
8390
display: block;
8491

85-
width: $toggle-wp-track-width;
86-
height: $toggle-wp-track-height;
92+
width: 100%;
93+
height: 100%;
8794

8895
border: $toggle-wp-track-border-width solid $toggle-wp-track-border-color-off;
8996
border-radius: $toggle-wp-track-height;
9097
background-color: $toggle-wp-track-background-color-off;
9198

9299
pointer-events: none;
100+
101+
contain: strict;
93102
}
94103

95104

@@ -109,6 +118,8 @@ $toggle-wp-item-right-padding: 12px ($item-wp-padding-right / 2) 12px
109118

110119
transition-duration: $toggle-wp-transition-duration;
111120
transition-property: transform, background-color;
121+
122+
will-change: transform, background-color;
112123
}
113124

114125

@@ -126,7 +137,6 @@ $toggle-wp-item-right-padding: 12px ($item-wp-padding-right / 2) 12px
126137

127138
.toggle-wp.toggle-checked .toggle-inner {
128139
background-color: $toggle-wp-handle-background-color-on;
129-
// transform: translate3d(23px, 0, 0);
130140
transform: translate3d($toggle-wp-track-width - $toggle-wp-handle-width - ($toggle-wp-track-border-width * 2) - ($toggle-wp-handle-left * 2), 0, 0);
131141
}
132142

0 commit comments

Comments
 (0)