function modularScale(steps, base, ratio) {
    if (base === void 0) {
      base = '1em';
    }
    if (ratio === void 0) {
      ratio = 1.333;
    }
    if (typeof steps !== 'number') {
      throw new PolishedError(42);
    }
    if (typeof ratio === 'string' && !ratioNames[ratio]) {
      throw new PolishedError(43);
    }
    var _ref = typeof base === 'string' ? getValueAndUnit(base) : [base, ''],
      realBase = _ref[0],
      unit = _ref[1];
    var realRatio = typeof ratio === 'string' ? getRatio(ratio) : ratio;
    if (typeof realBase === 'string') {
      throw new PolishedError(44, base);
    }
    return "" + realBase * Math.pow(realRatio, steps) + (unit || '');
  }
Establish consistent measurements and spacial relationships throughout your projects by incrementing an em or rem value up or down a defined scale. We provide a list of commonly used scales as pre-defined variables.
@example
// Styles as object usage
const styles = {
   // Increment two steps up the default scale
  'fontSize': modularScale(2)
}

// styled-components usage
const div = styled.div`
   // Increment two steps up the default scale
  fontSize: ${modularScale(2)}
`

// CSS in JS Output

element {
  'fontSize': '1.77689em'
}