0.0.21 • Published 4 years ago

util.calc v0.0.21

Weekly downloads
3
License
MIT
Repository
github
Last release
4 years ago

util.calc

Takes an HTML sizing string and computes a new value

build analysis code style: prettier testing NPM

Installation

This module uses yarn to manage dependencies and run scripts for development.

To install as an application dependency:

$ yarn add --dev util.calc

To build the app and run all tests:

$ yarn run all

Overview

Takes an HTML width/size string and performs a calcuation to scale it. This would be used to dynamically size an attribute for inline styles in a React component (e.g.). It uses four basic operations (addition, subtraction multiplication, and division).

e.g.

taking "20px" and doubling its size:

calc('20px', '* 2'); // '40px'

The module also contains two helper methods named toEM() and toREM() for converting a sizing value from pixels to EM/REM.

Usage (calc)

Exposes a function named calc(). It will take an HTML size string or a number and perform one of four basic operations:

Addition

import {calc} from 'util.calc';
calc('20px', '+ 5'); // 25px

Subtraction

import {calc} from 'util.calc';
calc('20px', '- 5'); // 15px

Multiplication

import {calc} from 'util.calc';
calc('20px', '* 2'); // 40px

Division

import {calc} from 'util.calc';
calc('20px', '/ 4'); // 5px

Usage (toREM/toEM/unitToNumber)

import {toREM, toEM} from 'util.calc';
toREM('80px', 16, 3); // '5rem'
toEM('80px', 16, 3);  // '5em'

Both functions take a pixel sizing value, the font size (default 16), and the maximum digits of precision (default 3). This example rounds perfectly, so there is no decimal portion. A simpler way to do the same thing would be:

import {toREM, toEM} from 'util.calc';
toREM('80px'); // '5rem'
toEM('80px');  // '5em'

The next example shows the precision value when the font size does not divide evenly into the given pixel size:

import {toREM, toEM} from 'util.calc';
toREM('79px'); // '4.938rem'
toEM('79px');  // '4.938em'

The last example converts a unit string into a number:

import {unitToNumber} from 'util.calc';
unitToNumber("24px");     // 24
unitToNumber("1.5rem");   // 1.5
0.0.21

4 years ago

0.0.20

5 years ago

0.0.19

5 years ago

0.0.18

5 years ago

0.0.17

5 years ago

0.0.16

5 years ago

0.0.15

5 years ago

0.0.14

5 years ago

0.0.13

5 years ago

0.0.12

5 years ago

0.0.11

5 years ago

0.0.10

6 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago