opposite() transforms top and bottom, right and left, center, ltr and rtl.
npm i --save-dev postcss-oppositevar fs = require('fs');
var postcss = require('postcss');
var customProperties = require('postcss-custom-properties');
var opposite = require('postcss-opposite');
var css = fs.readFileSync('input.css', 'utf8');
var output = postcss()
.use(customProperties())
.use(opposite())
.process(css)
.css;/* input.css */
$direction: opposite(left);
body {
direction: opposite(ltr);
float: $direction;
margin-$(direction): 1em;
text-align: opposite(center);
}/* output.css */
body {
direction: rtl;
float: right;
margin-right: 1em;
test-align: center;
}Make a branch, npm test often, submit a new pull when it passes.
git clone https://github.com/stephenway/postcss-opposite.git
git checkout -b patch-1
npm i
npm test