Transform utilities: translate (x, y, z), scale, rotate, skew (mixins only, no classes) and transform origin.
Each transform mixin sets its own --wu-* variable and writes one combined transform, so several transforms on an element compose.
Classes:
translate-x-{key}/translate-y-{key}: Moves by a spacing key or a fraction key (25p, 33p, 50p, 66p, 75p, 100p); -translate-x-{key} negates
scale-{key}/scale-x-{key}/scale-y-{key}: Scales by a factor key (0, 50, 75, 90, 95, 100, 105, 110, 125, 150)
rotate-{key}/-rotate-{key}: Rotates by an angle key (0, 45, 90, 180, 270)
origin-{key}: Sets transform-origin (top-left, center, bottom-right)
Interactive states: hover: and group-hover: variants exist for every class. Responsive: every class supports the @breakpoint suffix.
Generated from the doc blocks in the core source when the site is built, so it always matches the current release of @wovenui/core. Every example is compiled against core during the build; open Compiled CSSunder an example to see its output. Guide: Transforms. The A to Z index lists every public mixin and function.
Writes the transform property that combines every --wu-translate-*, --wu-rotate, --wu-skew-* and --wu-scale-* variable; the transform mixins include it.
@mixinapply-transform
Output
transform: translateX(var(--wu-translate-x)) ... scaleY(var(--wu-scale-y)), with no fallbacks; unset variables use their @property initial values
Moves the element along the x axis by setting --wu-translate-x and writing the combined transform.
A unitless number that is not a spacing key raises an error.
@mixintranslate-x($value)
Parameter
Type
Default
Description
$value
Number|Length|String
Required
A $spacings key (4 gives var(--wu-space-4)), a negated key (-4 gives calc(-1 * token)), a fraction key (25p, -25p), a length, percentage, calc() or var()
Moves the element along the y axis by setting --wu-translate-y and writing the combined transform.
A unitless number that is not a spacing key raises an error.
@mixintranslate-y($value)
Parameter
Type
Default
Description
$value
Number|Length|String
Required
A $spacings key (4 gives var(--wu-space-4)), a negated key (-4 gives calc(-1 * token)), a fraction key (25p, -25p), a length, percentage, calc() or var()
Moves the element on the x axis, and on the y axis when $y is given, then writes the combined transform.
A single argument moves the x axis only.
@mixintranslate($x, $y: null)
Parameter
Type
Default
Description
$x
Number|Length|String
Required
A $spacings key (4 gives var(--wu-space-4)), a negated key (-4 gives calc(-1 * token)), a fraction key (25p, -25p), a length, percentage, calc() or var()
$y
Number|Length|String|Null
null
Same values as $x; when null, --wu-translate-y is left unchanged
Scales the element horizontally by setting --wu-scale-x and writing the combined transform.
Keys win over factors, so scale(100) is 1 and scale(50) is 0.5.
@mixinscale-x($value)
Parameter
Type
Default
Description
$value
Number|Percentage|String
Required
A $scale-values key (0, 50, 75, 90, 95, 100, 105, 110, 125, 150; 150 gives 1.5) a factor such as 1.5, a percentage, calc() or var(); any other word raises an error
See also: apply-transform. Source: utilities/_transforms.scss:275
scale-ymixin
Scales the element vertically by setting --wu-scale-y and writing the combined transform.
Keys win over factors, so scale(100) is 1 and scale(50) is 0.5.
@mixinscale-y($value)
Parameter
Type
Default
Description
$value
Number|Percentage|String
Required
A $scale-values key (0, 50, 75, 90, 95, 100, 105, 110, 125, 150; 150 gives 1.5) a factor such as 1.5, a percentage, calc() or var(); any other word raises an error
See also: apply-transform. Source: utilities/_transforms.scss:289
scalemixin
Scales the element on both axes by setting --wu-scale-x and --wu-scale-y and writing the combined transform.
Keys win over factors, so scale(100) is 1 and scale(50) is 0.5.
@mixinscale($value)
Parameter
Type
Default
Description
$value
Number|Percentage|String
Required
A $scale-values key (0, 50, 75, 90, 95, 100, 105, 110, 125, 150; 150 gives 1.5) a factor such as 1.5, a percentage, calc() or var(); any other word raises an error
See also: apply-transform. Source: utilities/_transforms.scss:307
rotatemixin
Rotates the element by setting --wu-rotate and writing the combined transform.
0 is written 0deg. Another unitless number, such as 30, and any other word raise an error.
@mixinrotate($value)
Parameter
Type
Default
Description
$value
Number|String
Required
A $rotation-values key (0, 45, 90, 180, 270; 45 gives 45deg as in .rotate-45), a negated key (-45), an angle with a unit (30deg, 0.25turn), calc() or var()
See also: apply-transform. Source: utilities/_transforms.scss:352
originmixin
Sets transform-origin from an $origin-values key (top-left gives top left, matching .origin-top-left) or a transform-origin value.
@mixinorigin($value)
Parameter
Type
Default
Description
$value
String|Length|List
Required
An $origin-values key (center, top, top-right, right, bottom-right, bottom, bottom-left, left, top-left) or a transform-origin value of position keywords, lengths, percentages, calc() or var(), such as top left or 50% 100%; anything else raises an error
Example 1
.menu {
@includeorigin(top-left); // transform-origin: top left