Как доработать mixin на Stylus, чтобы он принимал значения с разными единицами измерения?

Для того чтобы доработать mixin на Stylus, чтобы он принимал значения с разными единицами измерения, можно воспользоваться функцией unit(). Функция unit() позволяет преобразовать число в строку с заданными единицами измерения.

Вот пример, как можно использовать функцию unit() в mixin:

mixin example($value, $unit)
  property: unit($value, $unit)

.example
  example(10, 'px')
.example2
  example(2, 'rem')

В данном примере мы создали mixin под названием example(), который принимает два аргумента: $value - значение, и $unit - единицы измерения. Внутри mixin мы используем функцию unit(), чтобы преобразовать $value в строку с заданными $unit.

Затем, мы создаем два класса .example и .example2, и вызываем наш mixin example() с разными значениями и единицами измерения.

В результате, класс .example будет иметь свойство property со значением 10px, а класс .example2 будет иметь свойство property со значением 2rem.

Таким образом, используя функцию unit() в mixin, мы можем передавать различные значения с разными единицами измерения. Это дает нам гибкость при стилизации элементов и позволяет легко менять единицы измерения в будущем.