@greensight/gds
Version:
Greensight Design System
19 lines (15 loc) • 886 B
JavaScript
const writeFile = require('./writeFile');
async function serializeFunctions(config) {
const imports = ["@use 'sass:math';", "@use './variables';"].join('\n');
const gs = () => {
const mixinHead = ' gs($value, $minorBool: false) {';
const mixinVars = '$maxMinorValue: 40;';
const mixinBody =
' ($minorBool) { $value: calc($value * variables.$gutterStepMinor); ($value > $maxMinorValue) { #{math.floor(calc($value / variables.$gutterStep)) * variables.$gutterStep};} { #{$value}}} \n { #{calc($value * variables.$gutterStep)} }';
const mixinFooter = '}';
return [mixinHead, mixinVars, mixinBody, mixinFooter].join('\n');
};
const fileData = [imports, gs()].join('\n\n');
writeFile({ name: 'functions', fileData, config });
}
module.exports = serializeFunctions;