Обнаружил, что в Nib нет полифила для calc, написал сам, если нужен:
/**
* Заменить подстроку в строке на другую
*
* @param {string} expr - исходная строка
* @param {string} str - заменяемая подстрока
* @param {string} val - новая подстрока
* @return {string}
*/
replace(expr, str, val) {
expr = clone(expr);
for e, i in expr {
if str == e {
expr[i] = val;
}
}
return expr;
}
/**
* Кроссбраузерный calc
*
* @param {string} attr - значение
*/
calc(attr) {
add-property(current-property[0], replace(current-property[1], '__CALL__', s('-webkit-calc(%s)', attr)));
s('calc(%s)', attr);
}
С использованием есть нюанс, чтобы выражения внутри calc Stylus не высчитывал, то нужно экранировать операторы, например:
.a {
width: calc(100% \- 10px);
}