@csstools/postcss-trigonometric-functions 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changes to PostCSS Trigonometric Functions
2
2
 
3
+ ### 2.1.0 (March 21, 2023)
4
+
5
+ - Added: `@csstools/css-calc`
6
+ - Added: unit conversions (`sin(30deg + (.125turn / 3))`)
7
+
8
+ ### 2.0.1 (January 28, 2023)
9
+
10
+ - Improve `types` declaration in `package.json`
11
+
3
12
  ### 2.0.0 (January 24, 2023)
4
13
 
5
14
  - Updated: Support for Node v14+ (major).
package/README.md CHANGED
@@ -28,7 +28,7 @@
28
28
  line-height: 0.70711;
29
29
  line-height: 1;
30
30
  transform: rotate(-90deg);
31
- transform: rotate(90deg);
31
+ transform: rotate(89.99995deg);
32
32
  transform: rotate(180deg);
33
33
  transform: rotate(0deg);
34
34
  transform: rotate(90deg);
@@ -36,7 +36,7 @@
36
36
  transform: rotate(-135deg);
37
37
  transform: rotate(-45deg);
38
38
  transform: rotate(-45deg);
39
- transform: rotate(80.54deg);
39
+ transform: rotate(80.53768deg);
40
40
  }
41
41
  ```
42
42
 
@@ -127,13 +127,11 @@ postcssTrigonometricFunctions({ preserve: true })
127
127
  line-height: tan(50grad);
128
128
  transform: rotate(-90deg);
129
129
  transform: rotate(asin(-1));
130
- transform: rotate(90deg);
131
- transform: rotate(asin(1));
130
+ transform: rotate(89.99995deg);
132
131
  transform: rotate(asin(sin(30deg + 1.0471967rad)));
133
132
  transform: rotate(180deg);
134
133
  transform: rotate(acos(-1));
135
134
  transform: rotate(0deg);
136
- transform: rotate(acos(1));
137
135
  transform: rotate(acos(cos(0 / 2 + 1 - 1)));
138
136
  transform: rotate(90deg);
139
137
  transform: rotate(atan(infinity));
@@ -145,7 +143,7 @@ postcssTrigonometricFunctions({ preserve: true })
145
143
  transform: rotate(atan2(-infinity,infinity));
146
144
  transform: rotate(-45deg);
147
145
  transform: rotate(atan2(-infinity,infinity));
148
- transform: rotate(80.54deg);
146
+ transform: rotate(80.53768deg);
149
147
  transform: rotate(atan2(90, 15));
150
148
  }
151
149
  ```
package/dist/calc.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function calc(css: string): string;
@@ -0,0 +1 @@
1
+ export declare const checks: string[];
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("postcss-value-parser"),t=require("vm");function radToDeg(e){return e*(180/Math.PI)}const n={turn:function turnToRad(e){return 2*e*Math.PI},deg:function degToRad(e){return e*(Math.PI/180)},grad:function gradToRad(e){return e*(Math.PI/200)}};function filterOnlyWords(e){return"word"===e.type}const r=["+","-","*","/"];var u;function isFiniteNumber(e){return!Number.isNaN(e)&&Number.isFinite(e)}function computeCalculation(o,i=!1){let a=!0;const s=[];if(o.filter((e=>"function"===e.type)).forEach((e=>{var t;if(!a)return;if(""!==e.value)return void(a=!1);const n=computeCalculation(e.nodes.slice(0),i),r=1===n.length,u=Number((null==(t=n[0])?void 0:t.value)||"");r&&"word"===n[0].type&&!Number.isNaN(u)?(functionNodeToWordNode(e),e.value=n[0].value):a=!1})),!a)return o;const l=o.filter((e=>"word"===e.type||r.includes(e.value)));let c=u.Number;const f=[];let m;const addToExpression=(e,t,n)=>{if(c===t){if(t===u.Number){const t=n||"";f.includes(t)||f.push({number:e,unit:t,index:s.length})}s.push(e),c=t===u.Number?u.Operation:u.Number}else a=!1};for(let t=0,o=l.length;t<o&&a;t++){const o=l[t];if(r.includes(o.value)){addToExpression(o.value,u.Operation);continue}if("pi"===o.value){addToExpression(Math.PI.toString(),u.Number);continue}if("e"===o.value){addToExpression(Math.E.toString(),u.Number);continue}const s=e.unit(o.value);if(!s){a=!1;break}if(i){if(m||(m=s.unit),m!==s.unit){a=!1;break}addToExpression(o.value,u.Operation)}else s.unit?"rad"!==s.unit&&"function"!=typeof n[s.unit]?a=!1:addToExpression(s.number,u.Number,s.unit):addToExpression(o.value,u.Number)}if(!a)return o;if(s.length%2==0||s.length<3)return o;let d;try{let e="";const r=new Set(f.map((e=>e.unit)));if(r.size>1)if(r.has("")){if(2!==r.size)throw new Error;[e]=Array.from(r).filter((e=>""!==e))}else f.forEach((e=>{if("rad"!==e.unit){const t=n[e.unit](Number(e.number));if(!isFiniteNumber(t))throw new Error;s[e.index]=t.toString()}}));const u=t.createContext({result:NaN});new t.Script(`result = ${s.join(" ")}`).runInContext(u),"number"==typeof u.result&&isFiniteNumber(u.result)&&(e&&(u.result=n[e](u.result)),isFiniteNumber(u.result)&&(d=u.result))}catch(e){}if(void 0!==d){let e=d.toString();m&&(e+=m);const t=o[0].sourceIndex,n=e.length;o.length=0,o.push({type:"word",value:e,sourceIndex:t,sourceEndIndex:n})}return o}function functionNodeToWordNode(e){delete e.nodes;const t=e;return t.type="word",t}function formatResultingNumber(e,t){if(!Number.isNaN(e)){if(e>Number.MAX_SAFE_INTEGER)return"infinity";if(e<Number.MIN_SAFE_INTEGER)return"-infinity"}return Number(e.toFixed(t)).toString()}function parseNumber(t){let n,r="";if("infinity"===t.toLowerCase()?n=1/0:"-infinity"===t.toLowerCase()?n=-1/0:"pi"===t?n=Math.PI:"e"===t&&(n=Math.E),!n){const u=e.unit(t);if(!u)return!1;n=Number(u.number),Number.isNaN(n)||(r=u.unit)}return{number:n,unit:r}}function validateNode(e,t=!0){e.nodes=computeCalculation(e.nodes);const r=e.nodes.filter(filterOnlyWords);if(1!==e.nodes.length||1!==r.length)return;const{value:u}=r[0],o=parseNumber(u);if(!o)return;let i=o.number;if(t){if(o.unit&&"rad"!==o.unit){if(!n[o.unit])return;i=n[o.unit](i)}}else if(o.unit)return;return[functionNodeToWordNode(e),i]}!function(e){e[e.Number=0]="Number",e[e.Operation=1]="Operation"}(u||(u={}));const o=[{check:"asin(",transform:function transformAsinFunction(t){const n=e(t.value);return n.walk((e=>{if("function"!==e.type||"asin"!==e.value.toLowerCase())return;const t=validateNode(e,!1);if(!t)return;const[n,r]=t;let u=Math.asin(r);Number.isNaN(u)||"number"!=typeof u||(u=`${formatResultingNumber(radToDeg(u),2)}deg`),n.value=u+""}),!0),n.toString()}},{check:"acos(",transform:function transformAcosFunction(t){const n=e(t.value);return n.walk((e=>{if("function"!==e.type||"acos"!==e.value.toLowerCase())return;const t=validateNode(e,!1);if(!t)return;const[n,r]=t;let u=Math.acos(r);Number.isNaN(u)||"number"!=typeof u||(u=`${formatResultingNumber(radToDeg(u),2)}deg`),n.value=u+""}),!0),n.toString()}},{check:"atan(",transform:function transformAtanFunction(t){const n=e(t.value);return n.walk((e=>{if("function"!==e.type||"atan"!==e.value.toLowerCase())return;const t=validateNode(e,!1);if(!t)return;const[n,r]=t;let u=Math.atan(r);Number.isNaN(u)||"number"!=typeof u||(u=`${formatResultingNumber(radToDeg(u),2)}deg`),n.value=u+""}),!0),n.toString()}},{check:"atan2(",transform:function transformAtan2Function(t){const n=e(t.value);return n.walk((e=>{if("function"!==e.type||"atan2"!==e.value.toLowerCase())return;const t=e.nodes.findIndex((e=>"div"===e.type&&","===e.value));if(t<0)return;let n=e.nodes.slice(0,t).filter(filterOnlyWords),r=e.nodes.slice(t+1).filter(filterOnlyWords);if(0===n.length||0===r.length)return;if(n.length>1&&(n=computeCalculation(n,!0)),r.length>1&&(r=computeCalculation(r,!0)),1!==n.length||1!==r.length)return;const u=parseNumber(n[0].value),o=parseNumber(r[0].value);if(!u||!o)return;if(u.unit!==o.unit)return;let i=Math.atan2(u.number,o.number);Number.isNaN(i)||"number"!=typeof i||(i=`${formatResultingNumber(radToDeg(i),2)}deg`);functionNodeToWordNode(e).value=i+""}),!0),n.toString()}},{check:"sin(",transform:function transformSinFunction(t){const n=e(t.value);return n.walk((e=>{if("function"!==e.type||"sin"!==e.value.toLowerCase())return;const t=validateNode(e);if(!t)return;const[n,r]=t;n.value=formatResultingNumber(Math.sin(r),5)}),!0),n.toString()}},{check:"cos(",transform:function transformCosFunction(t){const n=e(t.value);return n.walk((e=>{if("function"!==e.type||"cos"!==e.value.toLowerCase())return;const t=validateNode(e);if(!t)return;const[n,r]=t;n.value=formatResultingNumber(Math.cos(r),5)}),!0),n.toString()}},{check:"tan(",transform:function transformTanFunction(t){const n=e(t.value);return n.walk((e=>{if("function"!==e.type||"tan"!==e.value.toLowerCase())return;const t=validateNode(e);if(!t)return;const[n,r]=t,u=Number(formatResultingNumber(radToDeg(r),2)),o=u/90;n.value=u%90==0&&o%2!=0?o>0?"infinity":"-infinity":formatResultingNumber(Math.tan(r),5)}),!0),n.toString()}}],creator=e=>{const t=Object.assign({preserve:!1},e);return{postcssPlugin:"postcss-trigonometric-functions",Declaration(e){const n=o.filter((t=>e.value.toLowerCase().includes(t.check)));if(!e||0===n.length)return;const r=e.clone();n.forEach((e=>{const t=e.transform(r);t&&(r.value=t)})),e.value!==r.value&&(e.before(r),t.preserve||e.remove())}}};creator.postcss=!0,module.exports=creator;
1
+ "use strict";var e=require("@csstools/css-calc"),s=require("@csstools/css-parser-algorithms"),o=require("@csstools/css-tokenizer");const n=["asin(","acos(","atan(","atan2(","sin(","cos(","tan("];function calc(t){const r=o.tokenizer({css:t}),c=[];for(;!r.endOfFile();)c.push(r.nextToken());c.push(r.nextToken());const i=s.parseCommaSeparatedListOfComponentValues(c,{});let a=!1;for(let e=0;e<i.length;e++){const o=i[e];for(let e=0;e<o.length;e++){const t=o[e];if(s.isFunctionNode(t)&&n.includes(t.getName().toLowerCase()+"(")){a=!0;break}(s.isSimpleBlockNode(t)||s.isFunctionNode(t))&&t.walk(((e,o)=>{if("number"!=typeof o)return;const t=e.node;return s.isFunctionNode(t)&&n.includes(t.getName().toLowerCase()+"(")?(a=!0,!1):void 0}))}}return a?e.calcFromComponentValues(i,{precision:5,toCanonicalUnits:!0}).map((e=>e.map((e=>o.stringify(...e.tokens()))).join(""))).join(","):t}const creator=e=>{const s=Object.assign({preserve:!1},e);return{postcssPlugin:"postcss-trigonometric-functions",Declaration(e){if(!n.some((s=>e.value.toLowerCase().includes(s))))return;const o=calc(e.value);o!==e.value&&(e.cloneBefore({value:o}),s.preserve||e.remove())}}};creator.postcss=!0,module.exports=creator;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import e from"postcss-value-parser";import t from"vm";function radToDeg(e){return e*(180/Math.PI)}const n={turn:function turnToRad(e){return 2*e*Math.PI},deg:function degToRad(e){return e*(Math.PI/180)},grad:function gradToRad(e){return e*(Math.PI/200)}};function filterOnlyWords(e){return"word"===e.type}const r=["+","-","*","/"];var o;function isFiniteNumber(e){return!Number.isNaN(e)&&Number.isFinite(e)}function computeCalculation(u,i=!1){let a=!0;const s=[];if(u.filter((e=>"function"===e.type)).forEach((e=>{var t;if(!a)return;if(""!==e.value)return void(a=!1);const n=computeCalculation(e.nodes.slice(0),i),r=1===n.length,o=Number((null==(t=n[0])?void 0:t.value)||"");r&&"word"===n[0].type&&!Number.isNaN(o)?(functionNodeToWordNode(e),e.value=n[0].value):a=!1})),!a)return u;const l=u.filter((e=>"word"===e.type||r.includes(e.value)));let c=o.Number;const f=[];let m;const addToExpression=(e,t,n)=>{if(c===t){if(t===o.Number){const t=n||"";f.includes(t)||f.push({number:e,unit:t,index:s.length})}s.push(e),c=t===o.Number?o.Operation:o.Number}else a=!1};for(let t=0,u=l.length;t<u&&a;t++){const u=l[t];if(r.includes(u.value)){addToExpression(u.value,o.Operation);continue}if("pi"===u.value){addToExpression(Math.PI.toString(),o.Number);continue}if("e"===u.value){addToExpression(Math.E.toString(),o.Number);continue}const s=e.unit(u.value);if(!s){a=!1;break}if(i){if(m||(m=s.unit),m!==s.unit){a=!1;break}addToExpression(u.value,o.Operation)}else s.unit?"rad"!==s.unit&&"function"!=typeof n[s.unit]?a=!1:addToExpression(s.number,o.Number,s.unit):addToExpression(u.value,o.Number)}if(!a)return u;if(s.length%2==0||s.length<3)return u;let d;try{let e="";const r=new Set(f.map((e=>e.unit)));if(r.size>1)if(r.has("")){if(2!==r.size)throw new Error;[e]=Array.from(r).filter((e=>""!==e))}else f.forEach((e=>{if("rad"!==e.unit){const t=n[e.unit](Number(e.number));if(!isFiniteNumber(t))throw new Error;s[e.index]=t.toString()}}));const o=t.createContext({result:NaN});new t.Script(`result = ${s.join(" ")}`).runInContext(o),"number"==typeof o.result&&isFiniteNumber(o.result)&&(e&&(o.result=n[e](o.result)),isFiniteNumber(o.result)&&(d=o.result))}catch(e){}if(void 0!==d){let e=d.toString();m&&(e+=m);const t=u[0].sourceIndex,n=e.length;u.length=0,u.push({type:"word",value:e,sourceIndex:t,sourceEndIndex:n})}return u}function functionNodeToWordNode(e){delete e.nodes;const t=e;return t.type="word",t}function formatResultingNumber(e,t){if(!Number.isNaN(e)){if(e>Number.MAX_SAFE_INTEGER)return"infinity";if(e<Number.MIN_SAFE_INTEGER)return"-infinity"}return Number(e.toFixed(t)).toString()}function parseNumber(t){let n,r="";if("infinity"===t.toLowerCase()?n=1/0:"-infinity"===t.toLowerCase()?n=-1/0:"pi"===t?n=Math.PI:"e"===t&&(n=Math.E),!n){const o=e.unit(t);if(!o)return!1;n=Number(o.number),Number.isNaN(n)||(r=o.unit)}return{number:n,unit:r}}function validateNode(e,t=!0){e.nodes=computeCalculation(e.nodes);const r=e.nodes.filter(filterOnlyWords);if(1!==e.nodes.length||1!==r.length)return;const{value:o}=r[0],u=parseNumber(o);if(!u)return;let i=u.number;if(t){if(u.unit&&"rad"!==u.unit){if(!n[u.unit])return;i=n[u.unit](i)}}else if(u.unit)return;return[functionNodeToWordNode(e),i]}!function(e){e[e.Number=0]="Number",e[e.Operation=1]="Operation"}(o||(o={}));const u=[{check:"asin(",transform:function transformAsinFunction(t){const n=e(t.value);return n.walk((e=>{if("function"!==e.type||"asin"!==e.value.toLowerCase())return;const t=validateNode(e,!1);if(!t)return;const[n,r]=t;let o=Math.asin(r);Number.isNaN(o)||"number"!=typeof o||(o=`${formatResultingNumber(radToDeg(o),2)}deg`),n.value=o+""}),!0),n.toString()}},{check:"acos(",transform:function transformAcosFunction(t){const n=e(t.value);return n.walk((e=>{if("function"!==e.type||"acos"!==e.value.toLowerCase())return;const t=validateNode(e,!1);if(!t)return;const[n,r]=t;let o=Math.acos(r);Number.isNaN(o)||"number"!=typeof o||(o=`${formatResultingNumber(radToDeg(o),2)}deg`),n.value=o+""}),!0),n.toString()}},{check:"atan(",transform:function transformAtanFunction(t){const n=e(t.value);return n.walk((e=>{if("function"!==e.type||"atan"!==e.value.toLowerCase())return;const t=validateNode(e,!1);if(!t)return;const[n,r]=t;let o=Math.atan(r);Number.isNaN(o)||"number"!=typeof o||(o=`${formatResultingNumber(radToDeg(o),2)}deg`),n.value=o+""}),!0),n.toString()}},{check:"atan2(",transform:function transformAtan2Function(t){const n=e(t.value);return n.walk((e=>{if("function"!==e.type||"atan2"!==e.value.toLowerCase())return;const t=e.nodes.findIndex((e=>"div"===e.type&&","===e.value));if(t<0)return;let n=e.nodes.slice(0,t).filter(filterOnlyWords),r=e.nodes.slice(t+1).filter(filterOnlyWords);if(0===n.length||0===r.length)return;if(n.length>1&&(n=computeCalculation(n,!0)),r.length>1&&(r=computeCalculation(r,!0)),1!==n.length||1!==r.length)return;const o=parseNumber(n[0].value),u=parseNumber(r[0].value);if(!o||!u)return;if(o.unit!==u.unit)return;let i=Math.atan2(o.number,u.number);Number.isNaN(i)||"number"!=typeof i||(i=`${formatResultingNumber(radToDeg(i),2)}deg`);functionNodeToWordNode(e).value=i+""}),!0),n.toString()}},{check:"sin(",transform:function transformSinFunction(t){const n=e(t.value);return n.walk((e=>{if("function"!==e.type||"sin"!==e.value.toLowerCase())return;const t=validateNode(e);if(!t)return;const[n,r]=t;n.value=formatResultingNumber(Math.sin(r),5)}),!0),n.toString()}},{check:"cos(",transform:function transformCosFunction(t){const n=e(t.value);return n.walk((e=>{if("function"!==e.type||"cos"!==e.value.toLowerCase())return;const t=validateNode(e);if(!t)return;const[n,r]=t;n.value=formatResultingNumber(Math.cos(r),5)}),!0),n.toString()}},{check:"tan(",transform:function transformTanFunction(t){const n=e(t.value);return n.walk((e=>{if("function"!==e.type||"tan"!==e.value.toLowerCase())return;const t=validateNode(e);if(!t)return;const[n,r]=t,o=Number(formatResultingNumber(radToDeg(r),2)),u=o/90;n.value=o%90==0&&u%2!=0?u>0?"infinity":"-infinity":formatResultingNumber(Math.tan(r),5)}),!0),n.toString()}}],creator=e=>{const t=Object.assign({preserve:!1},e);return{postcssPlugin:"postcss-trigonometric-functions",Declaration(e){const n=u.filter((t=>e.value.toLowerCase().includes(t.check)));if(!e||0===n.length)return;const r=e.clone();n.forEach((e=>{const t=e.transform(r);t&&(r.value=t)})),e.value!==r.value&&(e.before(r),t.preserve||e.remove())}}};creator.postcss=!0;export{creator as default};
1
+ import{calcFromComponentValues as e}from"@csstools/css-calc";import{parseCommaSeparatedListOfComponentValues as s,isFunctionNode as o,isSimpleBlockNode as t}from"@csstools/css-parser-algorithms";import{tokenizer as n,stringify as r}from"@csstools/css-tokenizer";const c=["asin(","acos(","atan(","atan2(","sin(","cos(","tan("];function calc(a){const i=n({css:a}),l=[];for(;!i.endOfFile();)l.push(i.nextToken());l.push(i.nextToken());const u=s(l,{});let p=!1;for(let e=0;e<u.length;e++){const s=u[e];for(let e=0;e<s.length;e++){const n=s[e];if(o(n)&&c.includes(n.getName().toLowerCase()+"(")){p=!0;break}(t(n)||o(n))&&n.walk(((e,s)=>{if("number"!=typeof s)return;const t=e.node;return o(t)&&c.includes(t.getName().toLowerCase()+"(")?(p=!0,!1):void 0}))}}return p?e(u,{precision:5,toCanonicalUnits:!0}).map((e=>e.map((e=>r(...e.tokens()))).join(""))).join(","):a}const creator=e=>{const s=Object.assign({preserve:!1},e);return{postcssPlugin:"postcss-trigonometric-functions",Declaration(e){if(!c.some((s=>e.value.toLowerCase().includes(s))))return;const o=calc(e.value);o!==e.value&&(e.cloneBefore({value:o}),s.preserve||e.remove())}}};creator.postcss=!0;export{creator as default};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@csstools/postcss-trigonometric-functions",
3
3
  "description": "Use sin(), cos(), tan(), acos(), atan(), and atan2() to compute trigonometric relationships",
4
- "version": "2.0.0",
4
+ "version": "2.1.0",
5
5
  "contributors": [
6
6
  {
7
7
  "name": "Antonio Laguna",
@@ -26,6 +26,7 @@
26
26
  "types": "dist/index.d.ts",
27
27
  "exports": {
28
28
  ".": {
29
+ "types": "./dist/index.d.ts",
29
30
  "import": "./dist/index.mjs",
30
31
  "require": "./dist/index.cjs",
31
32
  "default": "./dist/index.mjs"
@@ -38,22 +39,22 @@
38
39
  "dist"
39
40
  ],
40
41
  "dependencies": {
41
- "postcss-value-parser": "^4.2.0"
42
+ "@csstools/css-calc": "^1.0.0",
43
+ "@csstools/css-parser-algorithms": "^2.0.1",
44
+ "@csstools/css-tokenizer": "^2.0.1"
42
45
  },
43
46
  "peerDependencies": {
44
47
  "postcss": "^8.4"
45
48
  },
49
+ "devDependencies": {
50
+ "@csstools/postcss-tape": "*"
51
+ },
46
52
  "scripts": {
47
- "prebuild": "npm run clean",
48
53
  "build": "rollup -c ../../rollup/default.mjs",
49
- "clean": "node -e \"fs.rmSync('./dist', { recursive: true, force: true }); fs.mkdirSync('./dist');\"",
50
54
  "docs": "node ../../.github/bin/generate-docs/install.mjs && node ../../.github/bin/generate-docs/readme.mjs",
51
- "lint": "npm run lint:eslint && npm run lint:package-json",
52
- "lint:eslint": "eslint ./src --ext .js --ext .ts --ext .mjs --no-error-on-unmatched-pattern",
53
- "lint:package-json": "node ../../.github/bin/format-package-json.mjs",
54
- "prepublishOnly": "npm run clean && npm run build && npm run test",
55
- "test": "node .tape.mjs && npm run test:exports",
56
- "test:exports": "node ./test/_import.mjs && node ./test/_require.cjs",
55
+ "lint": "node ../../.github/bin/format-package-json.mjs",
56
+ "prepublishOnly": "npm run build && npm run test",
57
+ "test": "node .tape.mjs && node ./test/_import.mjs && node ./test/_require.cjs",
57
58
  "test:rewrite-expects": "REWRITE_EXPECTS=true node .tape.mjs"
58
59
  },
59
60
  "homepage": "https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-trigonometric-functions#readme",
package/dist/acos.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import type { Declaration } from 'postcss';
2
- declare const acosFunctionCheck = "acos(";
3
- declare function transformAcosFunction(decl: Declaration): string | undefined;
4
- export { acosFunctionCheck, transformAcosFunction };
package/dist/asin.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import type { Declaration } from 'postcss';
2
- declare const asinFunctionCheck = "asin(";
3
- declare function transformAsinFunction(decl: Declaration): string | undefined;
4
- export { asinFunctionCheck, transformAsinFunction };
package/dist/atan.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import type { Declaration } from 'postcss';
2
- declare const atanFunctionCheck = "atan(";
3
- declare function transformAtanFunction(decl: Declaration): string | undefined;
4
- export { atanFunctionCheck, transformAtanFunction };
package/dist/atan2.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import type { Declaration } from 'postcss';
2
- declare const atan2FunctionCheck = "atan2(";
3
- declare function transformAtan2Function(decl: Declaration): string | undefined;
4
- export { atan2FunctionCheck, transformAtan2Function };
package/dist/cos.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import type { Declaration } from 'postcss';
2
- declare const cosFunctionCheck = "cos(";
3
- declare function transformCosFunction(decl: Declaration): string | undefined;
4
- export { cosFunctionCheck, transformCosFunction };
package/dist/sin.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import type { Declaration } from 'postcss';
2
- declare const sinFunctionCheck = "sin(";
3
- declare function transformSinFunction(decl: Declaration): string | undefined;
4
- export { sinFunctionCheck, transformSinFunction };
package/dist/tan.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import type { Declaration } from 'postcss';
2
- declare const tanFunctionCheck = "tan(";
3
- declare function transformTanFunction(decl: Declaration): string | undefined;
4
- export { tanFunctionCheck, transformTanFunction };
package/dist/utils.d.ts DELETED
@@ -1,61 +0,0 @@
1
- import type { FunctionNode, WordNode, Node } from 'postcss-value-parser';
2
- export declare function turnToRad(turn: number): number;
3
- export declare function degToRad(deg: number): number;
4
- export declare function gradToRad(grad: number): number;
5
- export declare function radToDeg(rad: number): number;
6
- export declare function gradToDeg(grad: number): number;
7
- export declare function turnToDeg(turn: number): number;
8
- declare const toRad: {
9
- turn: typeof turnToRad;
10
- deg: typeof degToRad;
11
- grad: typeof gradToRad;
12
- };
13
- declare const toDeg: {
14
- grad: typeof gradToDeg;
15
- turn: typeof turnToDeg;
16
- rad: typeof radToDeg;
17
- };
18
- export declare function filterOnlyWords(node: Node): boolean;
19
- /**
20
- * Try to compute a calculation from a Node.
21
- *
22
- * This validates that the calculation has a valid order which is:
23
- * - `{Number} {Operation} {Number} ...`
24
- *
25
- * Only basic arithmetic operations are allowed, and it has to be separate words
26
- * similarly to how CSS calc works:
27
- *
28
- * - `sin(3.14159 * 2)` -> is valid
29
- * - `sin(3.14159*2)` -> is not valid
30
- *
31
- *
32
- * @param {FunctionNode} nodes Nodes to be parsed
33
- * @param {Boolean} ignoreUnit Whether units are ignored or converted to radians
34
- * @return {FunctionNode} Returns the node, if it managed to calculate, it will
35
- * simplify inner nodes.
36
- * @see https://www.w3.org/TR/css-values-4/#trig-funcs
37
- */
38
- export declare function computeCalculation(nodes: Node[], ignoreUnit?: boolean): Node[];
39
- export declare function functionNodeToWordNode(fn: FunctionNode): WordNode;
40
- /**
41
- * Formats a number that's intended to be put into CSS.
42
- *
43
- * Due to processing of Number(number.toFixed(decimals)) this will get
44
- * rid of ending zeroes, usually helping with the rounding which is the
45
- * intended effect.
46
- *
47
- * For example, converting 4.71238898038469 radians into deg leads to
48
- * 270.000000000669786 which is going to result as 270 unless a
49
- * precision of 10 is chosen.
50
- *
51
- * @param {Number} number Number to be formatted
52
- * @param {Number} decimals Precision of decimals, CSS doesn't usually handle further than 5.
53
- */
54
- export declare function formatResultingNumber(number: number, decimals: number): string;
55
- export declare function parseNumber(value: string): false | {
56
- number: any;
57
- unit: string;
58
- };
59
- type validateNodeReturn = [WordNode, number] | undefined;
60
- export declare function validateNode(node: FunctionNode, parseUnit?: boolean): validateNodeReturn;
61
- export { toRad, toDeg };