123456789101112131415161718192021222324252627282930313233343536 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- Object.defineProperty(exports, "default", {
- enumerable: true,
- get: function() {
- return negateValue;
- }
- });
- function negateValue(value) {
- value = `${value}`;
- if (value === "0") {
- return "0";
- }
- // Flip sign of numbers
- if (/^[+-]?(\d+|\d*\.\d+)(e[+-]?\d+)?(%|\w+)?$/.test(value)) {
- return value.replace(/^[+-]?/, (sign)=>sign === "-" ? "" : "-");
- }
- // What functions we support negating numeric values for
- // var() isn't inherently a numeric function but we support it anyway
- // The trigonometric functions are omitted because you'll need to use calc(…) with them _anyway_
- // to produce generally useful results and that will be covered already
- let numericFunctions = [
- "var",
- "calc",
- "min",
- "max",
- "clamp"
- ];
- for (const fn of numericFunctions){
- if (value.includes(`${fn}(`)) {
- return `calc(${value} * -1)`;
- }
- }
- }
|