{"_id":"units-css","_rev":"202520","name":"units-css","description":"Parse length and angle CSS values and convert between units","dist-tags":{"latest":"0.4.0"},"maintainers":[{"name":"alexdunphy","email":"alexanderdunphy@gmail.com"}],"time":{"modified":"2021-06-03T12:34:28.000Z","created":"2015-08-30T10:46:54.670Z","0.4.0":"2015-10-10T17:59:42.548Z","0.3.0":"2015-09-14T21:16:39.153Z","0.2.0":"2015-09-03T16:28:32.486Z","0.1.0":"2015-09-01T16:52:57.459Z","0.0.0":"2015-08-30T10:46:54.670Z"},"users":{},"author":{"name":"Alex Dunphy","email":"alexanderdunphy@gmail.com"},"repository":{"type":"git","url":"git+ssh://git@github.com/alexdunphy/units.git"},"versions":{"0.4.0":{"name":"units-css","version":"0.4.0","description":"Parse length and angle CSS values and convert between units","author":{"name":"Alex Dunphy","email":"alexanderdunphy@gmail.com"},"main":"index.js","scripts":{"test":"gulp dev","coveralls":"if [ ! -f ./test/coverage/lcov.info ]; then npm test; fi; cat ./test/coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/alexdunphy/units.git"},"bugs":{"url":"https://github.com/alexdunphy/units/issues"},"homepage":"https://github.com/alexdunphy/units","license":"MIT","devDependencies":{"bower":"^1.5.2","chai":"^3.2.0","coveralls":"^2.11.4","gulp":"^3.9.0","gulp-eslint":"^1.0.0","gulp-header":"^1.7.1","gulp-notify":"^2.2.0","gulp-rename":"^1.2.2","gulp-uglify":"^1.4.0","gulp-util":"^3.0.6","karma":"^0.13.9","karma-coverage":"^0.5.1","karma-mocha":"^0.2.0","karma-mocha-reporter":"^1.1.1","karma-notify-reporter":"^0.1.1","karma-phantomjs-launcher":"^0.2.1","karma-sauce-launcher":"^0.2.14","karma-sinon-chai":"^1.0.0","lodash":"^3.10.1","mocha":"^2.3.0","phantomjs":"^1.9.18","run-sequence":"^1.1.2","webpack":"^1.12.0"},"dependencies":{"isnumeric":"^0.2.0","viewport-dimensions":"^0.2.0"},"keywords":["unit","units","value","values","property","properties","rule","rules","css","parse","convert"],"gitHead":"c191d1d62fcab028250abef505193614d0878311","_id":"units-css@0.4.0","_shasum":"d6228653a51983d7c16ff28f8b9dc3b1ffed3a07","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.1","_npmUser":{"name":"alexdunphy","email":"alexanderdunphy@gmail.com"},"dist":{"shasum":"d6228653a51983d7c16ff28f8b9dc3b1ffed3a07","size":13107,"noattachment":false,"key":"/units-css/-/units-css-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/units-css/download/units-css-0.4.0.tgz"},"maintainers":[{"name":"alexdunphy","email":"alexanderdunphy@gmail.com"}],"directories":{},"publish_time":1444499982548,"_cnpm_publish_time":1444499982548,"_hasShrinkwrap":false},"0.3.0":{"name":"units-css","version":"0.3.0","description":"Parse length and angle CSS values and convert between units","author":{"name":"Alex Dunphy","email":"alexanderdunphy@gmail.com"},"main":"index.js","scripts":{"test":"gulp dev","coveralls":"if [ ! -f ./test/coverage/lcov.info ]; then npm test; fi; cat ./test/coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/alexdunphy/units.git"},"bugs":{"url":"https://github.com/alexdunphy/units/issues"},"homepage":"https://github.com/alexdunphy/units","license":"MIT","devDependencies":{"bower":"^1.5.2","chai":"^3.2.0","coveralls":"^2.11.4","gulp":"^3.9.0","gulp-eslint":"^1.0.0","gulp-header":"^1.7.1","gulp-notify":"^2.2.0","gulp-rename":"^1.2.2","gulp-uglify":"^1.4.0","gulp-util":"^3.0.6","karma":"^0.13.9","karma-coverage":"^0.5.1","karma-mocha":"^0.2.0","karma-mocha-reporter":"^1.1.1","karma-notify-reporter":"^0.1.1","karma-phantomjs-launcher":"^0.2.1","karma-sauce-launcher":"^0.2.14","karma-sinon-chai":"^1.0.0","lodash":"^3.10.1","mocha":"^2.3.0","phantomjs":"^1.9.18","run-sequence":"^1.1.2","webpack":"^1.12.0"},"dependencies":{"isnumeric":"^0.2.0","viewport-dimensions":"^0.2.0"},"keywords":["unit","units","value","values","property","properties","rule","rules","css","parse","convert"],"gitHead":"54bdf8c716fd5e6f4e536b0d3812b019d30fcf77","_id":"units-css@0.3.0","_shasum":"297787d6fce511284333c4f6676db63ccd35d626","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"alexdunphy","email":"alexanderdunphy@gmail.com"},"dist":{"shasum":"297787d6fce511284333c4f6676db63ccd35d626","size":12755,"noattachment":false,"key":"/units-css/-/units-css-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/units-css/download/units-css-0.3.0.tgz"},"maintainers":[{"name":"alexdunphy","email":"alexanderdunphy@gmail.com"}],"directories":{},"publish_time":1442265399153,"_cnpm_publish_time":1442265399153,"_hasShrinkwrap":false},"0.2.0":{"name":"units-css","version":"0.2.0","description":"Parse length and angle CSS values and convert between units","author":{"name":"Alex Dunphy","email":"alexanderdunphy@gmail.com"},"main":"index.js","scripts":{"test":"gulp dev","coveralls":"if [ ! -f ./test/coverage/lcov.info ]; then npm test; fi; cat ./test/coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/alexdunphy/units.git"},"bugs":{"url":"https://github.com/alexdunphy/units/issues"},"homepage":"https://github.com/alexdunphy/units","license":"MIT","devDependencies":{"bower":"^1.5.2","chai":"^3.2.0","coveralls":"^2.11.4","gulp":"^3.9.0","gulp-eslint":"^1.0.0","gulp-header":"^1.7.1","gulp-notify":"^2.2.0","gulp-rename":"^1.2.2","gulp-uglify":"^1.4.0","gulp-util":"^3.0.6","karma":"^0.13.9","karma-coverage":"^0.5.1","karma-mocha":"^0.2.0","karma-mocha-reporter":"^1.1.1","karma-notify-reporter":"^0.1.1","karma-phantomjs-launcher":"^0.2.1","karma-sauce-launcher":"^0.2.14","karma-sinon-chai":"^1.0.0","lodash":"^3.10.1","mocha":"^2.3.0","phantomjs":"^1.9.18","run-sequence":"^1.1.2","webpack":"^1.12.0"},"dependencies":{"isnumeric":"^0.2.0","viewport-dimensions":"^0.2.0"},"keywords":["unit","units","value","values","property","properties","rule","rules","css","parse","convert"],"gitHead":"4251ecace85f172906027ec2d046d94f4b14fdd0","_id":"units-css@0.2.0","_shasum":"9fea055e2324f249faf046e226de3c9041032e69","_from":".","_npmVersion":"2.8.4","_nodeVersion":"0.12.2","_npmUser":{"name":"alexdunphy","email":"alexanderdunphy@gmail.com"},"dist":{"shasum":"9fea055e2324f249faf046e226de3c9041032e69","size":12726,"noattachment":false,"key":"/units-css/-/units-css-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/units-css/download/units-css-0.2.0.tgz"},"maintainers":[{"name":"alexdunphy","email":"alexanderdunphy@gmail.com"}],"directories":{},"publish_time":1441297712486,"_cnpm_publish_time":1441297712486,"_hasShrinkwrap":false},"0.1.0":{"name":"units-css","version":"0.1.0","description":"Parse length and angle CSS values and convert between units","author":{"name":"Alex Dunphy","email":"alexanderdunphy@gmail.com"},"main":"index.js","scripts":{"test":"gulp dev","coveralls":"if [ ! -f ./test/coverage/lcov.info ]; then npm test; fi; cat ./test/coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/alexdunphy/units.git"},"bugs":{"url":"https://github.com/alexdunphy/units/issues"},"homepage":"https://github.com/alexdunphy/units","license":"MIT","devDependencies":{"bower":"^1.5.2","chai":"^3.2.0","coveralls":"^2.11.4","gulp":"^3.9.0","gulp-eslint":"^1.0.0","gulp-header":"^1.7.1","gulp-if":"^1.2.5","gulp-notify":"^2.2.0","gulp-rename":"^1.2.2","gulp-uglify":"^1.4.0","gulp-util":"^3.0.6","karma":"^0.13.9","karma-coverage":"^0.5.1","karma-mocha":"^0.2.0","karma-mocha-reporter":"^1.1.1","karma-notify-reporter":"^0.1.1","karma-phantomjs-launcher":"^0.2.1","karma-sauce-launcher":"^0.2.14","karma-sinon-chai":"^1.0.0","lodash":"^3.10.1","mocha":"^2.2.5","phantomjs":"^1.9.18","run-sequence":"^1.1.2","webpack":"^1.12.0"},"dependencies":{"isnumeric":"^0.2.0","viewport-dimensions":"^0.1.0"},"gitHead":"ed74712c25995f68a940fecb6d0d441903aee710","_id":"units-css@0.1.0","_shasum":"72f0a1e5ae1eb106ce4ac3c5153d294314c51e36","_from":".","_npmVersion":"2.8.4","_nodeVersion":"0.12.2","_npmUser":{"name":"alexdunphy","email":"alexanderdunphy@gmail.com"},"dist":{"shasum":"72f0a1e5ae1eb106ce4ac3c5153d294314c51e36","size":12662,"noattachment":false,"key":"/units-css/-/units-css-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/units-css/download/units-css-0.1.0.tgz"},"maintainers":[{"name":"alexdunphy","email":"alexanderdunphy@gmail.com"}],"directories":{},"publish_time":1441126377459,"_cnpm_publish_time":1441126377459,"_hasShrinkwrap":false},"0.0.0":{"name":"units-css","version":"0.0.0","description":"[![Travis CI status](https://img.shields.io/travis/alexdunphy/units.svg)](https://travis-ci.org/alexdunphy/units) [![Coveralls status](https://img.shields.io/coveralls/alexdunphy/units.svg)](https://coveralls.io/r/alexdunphy/units) [![dependencies status]","main":"index.js","scripts":{"test":"gulp dev","coveralls":"if [ ! -f ./test/coverage/lcov.info ]; then npm test; fi; cat ./test/coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"},"repository":{"type":"git","url":"git@github.com:alexdunphy/units.git"},"bugs":{"url":"https://github.com/alexdunphy/units/issues"},"homepage":"https://github.com/alexdunphy/units","license":"MIT","devDependencies":{"bower":"^1.5.2","chai":"^3.2.0","coveralls":"^2.11.4","gulp":"^3.9.0","gulp-eslint":"^1.0.0","gulp-header":"^1.7.1","gulp-if":"^1.2.5","gulp-notify":"^2.2.0","gulp-rename":"^1.2.2","gulp-uglify":"^1.4.0","gulp-util":"^3.0.6","karma":"^0.13.9","karma-coverage":"^0.5.1","karma-mocha":"^0.2.0","karma-mocha-reporter":"^1.1.1","karma-notify-reporter":"^0.1.1","karma-phantomjs-launcher":"^0.2.1","karma-sauce-launcher":"^0.2.14","karma-sinon-chai":"^1.0.0","lodash":"^3.10.1","mocha":"^2.2.5","phantomjs":"^1.9.18","run-sequence":"^1.1.2","webpack":"^1.12.0"},"dependencies":{"isnumeric":"^0.2.0","viewport-dimensions":"^0.1.0"},"gitHead":"809acf2e1c755f07f2fd3270fc5f1f131bda4b7e","_id":"units-css@0.0.0","_shasum":"c541abad56f087da03f1ba5e2bcf71d9767ff73e","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"alexdunphy","email":"alexanderdunphy@gmail.com"},"dist":{"shasum":"c541abad56f087da03f1ba5e2bcf71d9767ff73e","size":11460,"noattachment":false,"key":"/units-css/-/units-css-0.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/units-css/download/units-css-0.0.0.tgz"},"maintainers":[{"name":"alexdunphy","email":"alexanderdunphy@gmail.com"}],"directories":{},"publish_time":1440931614670,"_cnpm_publish_time":1440931614670,"_hasShrinkwrap":false}},"readme":"[![Travis CI status](https://img.shields.io/travis/alexdunphy/units.svg)](https://travis-ci.org/alexdunphy/units)\n[![Coveralls status](https://img.shields.io/coveralls/alexdunphy/units.svg)](https://coveralls.io/r/alexdunphy/units)\n[![dependencies status](https://img.shields.io/david/alexdunphy/units.svg)](https://david-dm.org/alexdunphy/units)\n[![devDependencies status](https://img.shields.io/david/dev/alexdunphy/units.svg)](https://david-dm.org/alexdunphy/units#info=devDependencies)\n\n[![Sauce Labs status](https://saucelabs.com/browser-matrix/units-css.svg)](https://saucelabs.com/u/units-css)\n\n# Units\n\nParse length and angle CSS values and convert between units.\n\n#### Supported units:\n\n**Length:** `%, ch, cm, em, ex, in, mm, pc, pt, px, rem, vh, vmax, vmin, vw`\n\n**Angle:** `deg, grad, rad, turn`\n\n## Install\n\n**Bower:** `bower install -S units-css`\n\n**npm:** `npm i -S units-css`\n\n(One object is exported:)\n\n```javascript\nvar units = require('units-css');\n```\n\n## API\n\n### #parse(value, property)\n\nExtract the numeric value and unit from a formatted CSS value:\n\n```javascript\nunits.parse('1px'); // {'value': 1, 'unit': 'px'}\n```\n\nOr, passing only a value or only a unit:\n\n```javascript\nunits.parse(1);    // {'value': 1, 'unit': ''}\nunits.parse('px'); // {'value': 0, 'unit': 'px'}\n```\n\nOptionally pass a CSS property name as the second argument to enable property-specific defaults:\n\n```javascript\n// Absent units\nunits.parse(1, 'width');   // {'value': 1, 'unit': 'px'}\nunits.parse(1, 'opacity'); // {'value': 1, 'unit': ''}\nunits.parse(1, 'rotate');  // {'value': 1, 'unit': 'deg'}\n\n// Absent values\nunits.parse('', 'width');   // {'value': 0, 'unit': 'px'}\nunits.parse('', 'opacity'); // {'value': 1, 'unit': ''}\n```\n\n##### Transforms\n`transform` should not be passed directly as the property name - instead specify a transform keyword (e.g. `rotate`).\n\n### #convert(to, value, element, property)\n\nConvert a formatted CSS value to a different unit ([see supported units](#supported-units)). For example:\n\n```javascript\nunits.convert('cm', '12px'); // 0.3175\n```\n\n##### Element\nConversions to/from `%, ch, em, ex` require an element be passed as the third argument. This should be the element to which the converted CSS value applies/will apply:\n\n```javascript\nunits.convert('em', '16px', document.getElementById('some-element')); // 1em\n```\n\n##### Property\nConversions to/from `%` require a CSS property name (e.g. _width_) be passed as the fourth argument. This should be the matching property name for the converted CSS value:\n\n```javascript\nunits.convert('%', '16px', document.getElementById('some-element'), 'translateX'); // 10%\n```\n\n##### Transforms\n`transform` should not be passed directly as the property name - instead specify a transform keyword (e.g. `rotate`).\n\n### #getDefaultValue(property)\n\nGet a default numeric value for a CSS property:\n\n```javascript\nunits.getDefaultValue('opacity');    // 1\nunits.getDefaultValue('scale');      // 1\nunits.getDefaultValue('scale3d');    // 1\nunits.getDefaultValue('scaleX');     // 1\nunits.getDefaultValue('scaleY');     // 1\nunits.getDefaultValue('scaleZ');     // 1\nunits.getDefaultValue('lineHeight'); // 1\n```\n\nAll other properties will return `0`, for example:\n\n```javascript\nunits.getDefaultValue('width'); // 0\n```\n\n### #getDefaultUnit(property)\n\nGet a default unit for a CSS property:\n\n```javascript\nunits.getDefaultUnit('opacity');    // ''\nunits.getDefaultUnit('rotate');     // 'deg'\nunits.getDefaultUnit('rotate3d');   // 'deg'\nunits.getDefaultUnit('rotateX');    // 'deg'\nunits.getDefaultUnit('rotateY');    // 'deg'\nunits.getDefaultUnit('rotateZ');    // 'deg'\nunits.getDefaultUnit('skew');       // 'deg'\nunits.getDefaultUnit('skewX');      // 'deg'\nunits.getDefaultUnit('skewY');      // 'deg'\nunits.getDefaultUnit('scale');      // ''\nunits.getDefaultUnit('scale3d');    // ''\nunits.getDefaultUnit('scaleX');     // ''\nunits.getDefaultUnit('scaleY');     // ''\nunits.getDefaultUnit('scaleZ');     // ''\nunits.getDefaultUnit('lineHeight'); // ''\n```\n\nAll other properties will return `'px'`, for example:\n\n```javascript\nunits.getDefaultUnit('width'); // 'px'\n```\n\n## Environment\n\nServer-side use is supported, though converting to/from the following units requires a browser environment: `%, ch, em, ex, rem, vh, vmax, vmin, vw`.\n\n## Development\n\n1. Clone repo and `npm install`\n2. Make changes and ensure linting (`gulp lint`) & tests (`gulp test`) pass (combined task: `gulp dev`)\n3. Create distributable files (`gulp dist`) - combined dev + dist task: `gulp`\n\nUse `gulp watch` to run linter and tests on each file change (equivalent to manually running `gulp dev`).\n","_attachments":{},"homepage":"https://github.com/alexdunphy/units","bugs":{"url":"https://github.com/alexdunphy/units/issues"},"license":"MIT"}