Skip to content

Commit b04dab6

Browse files
reininkadamwathan
andauthored
Add will-change utilities (#5448)
Co-Authored-By: Adam Wathan <[email protected]>
1 parent eb3fe8f commit b04dab6

File tree

7 files changed

+27
-0
lines changed

7 files changed

+27
-0
lines changed

src/plugins/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,4 +165,6 @@ export { default as transitionDelay } from './transitionDelay'
165165
export { default as transitionDuration } from './transitionDuration'
166166
export { default as transitionTimingFunction } from './transitionTimingFunction'
167167

168+
export { default as willChange } from './willChange'
169+
168170
export { default as content } from './content'

src/plugins/willChange.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import createUtilityPlugin from '../util/createUtilityPlugin'
2+
3+
export default function () {
4+
return createUtilityPlugin('willChange', [['will-change', ['will-change']]])
5+
}

stubs/defaultConfig.stub.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -814,6 +814,12 @@ module.exports = {
814814
min: 'min-content',
815815
max: 'max-content',
816816
}),
817+
willChange: {
818+
'auto': 'auto',
819+
'scroll': 'scroll-position',
820+
'contents': 'contents',
821+
'transform': 'transform',
822+
},
817823
zIndex: {
818824
auto: 'auto',
819825
0: '0',

tests/arbitrary-values.test.css

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,12 @@
446446
.duration-\[var\(--app-duration\)\] {
447447
transition-duration: var(--app-duration);
448448
}
449+
.will-change-\[top\2c left\] {
450+
will-change: top, left;
451+
}
452+
.will-change-\[var\(--will-change\)\] {
453+
will-change: var(--will-change);
454+
}
449455
.content-\[\'hello\'\] {
450456
content: 'hello';
451457
}

tests/arbitrary-values.test.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@
115115
<div class="ring-offset-[19rem]"></div>
116116
<div class="ring-opacity-[var(--ring-opacity)]"></div>
117117
<div class="delay-[var(--delay)]"></div>
118+
<div class="will-change-[top,left] will-change-[var(--will-change)]"></div>
118119
<div class="content-['hello']"></div>
119120
<div class="content-[attr(content-before)]"></div>
120121
<div class="accent-[#bada55]"></div>

tests/basic-usage.test.css

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -822,6 +822,12 @@
822822
.ease-in-out {
823823
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
824824
}
825+
.will-change-scroll {
826+
will-change: scroll-position;
827+
}
828+
.will-change-transform {
829+
will-change: transform;
830+
}
825831
.content-none {
826832
content: none;
827833
}

tests/basic-usage.test.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@
168168
<div class="w-12"></div>
169169
<div class="break-words"></div>
170170
<div class="z-30"></div>
171+
<div class="will-change-scroll will-change-transform"></div>
171172
<div class="content-none"></div>
172173
<div class="aspect-square aspect-video"></div>
173174
</body>

0 commit comments

Comments
 (0)