@csstools/postcss-text-decoration-shorthand 2.2.1 → 2.2.2
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 +4 -0
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +5 -9
package/CHANGELOG.md
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@csstools/color-helpers"),
|
|
1
|
+
"use strict";var e=require("@csstools/color-helpers"),o=require("postcss-value-parser");const creator=e=>{const l=Object.assign({preserve:!0},e);return{postcssPlugin:"postcss-text-decoration-shorthand",prepare(){const e=new Map;return{OnceExit:()=>{e.clear()},Declaration:c=>{if("text-decoration"!==c.prop.toLowerCase())return;const a=c.parent;if(!a)return;const u=a.index(c);if(a.nodes.some((o=>"decl"===o.type&&"text-decoration"===o.prop.toLowerCase()&&e.get(c.value)===o.value&&a.index(o)!==u)))return;const i=o(c.value),d=i.nodes.filter((e=>"space"!==e.type&&"comment"!==e.type));if(d.find((e=>"var"===e.value.toLowerCase()&&"function"===e.type)))return;if(d.find((e=>"word"===e.type&&r.includes(e.value))))return;const p={line:[],style:null,color:null,thickness:null};for(let e=0;e<d.length;e++){const r=d[e];if(p.line.length||"word"!==r.type||!t.includes(r.value.toLowerCase()))if(p.line.length||"word"!==r.type||"none"!==r.value.toLowerCase())if(p.style||"word"!==r.type||!n.includes(r.value.toLowerCase()))if(p.thickness||"word"!==r.type||!s.includes(r.value.toLowerCase()))if(p.thickness||"function"!==r.type||"calc"!==r.value.toLowerCase())if(p.color||!nodeIsAColor(r)){if("word"!==r.type)return;{let e;try{e=o.unit(r.value)}catch(e){return}if(!e||!e.unit)return;p.thickness=r,"%"===e.unit&&(p.thickness={before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"function",value:"calc",nodes:[{before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"word",value:"0.01em"},{before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"space",value:" "},{before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"word",value:"*"},{before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"space",value:" "},{before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"word",value:e.number}]})}}else p.color=r;else p.thickness=r;else p.thickness=r;else p.style=r;else p.line.push(r);else{const o=r;let n=r;for(;;){const o=d[e+1];if(!o||"word"!==o.type||!t.includes(o.value.toLowerCase()))break;n=o,e++}p.line=i.nodes.slice(i.nodes.indexOf(o),i.nodes.indexOf(n)+1)}}p.line.length||p.line.push({before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"word",value:"none"}),p.style||(p.style={before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"word",value:"solid"}),p.color||(p.color={before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"word",value:"currentColor"});const f=o.stringify(p.line);if(c.value.toLowerCase()===f.toLowerCase()){const e=c.next();return void(e&&"decl"===e.type&&"text-decoration"===e.prop.toLowerCase()||c.cloneBefore({prop:"-webkit-text-decoration",value:f}))}c.cloneBefore({prop:"text-decoration",value:f});const v=o.stringify([...p.line,{before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"space",value:" "},p.style,{before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"space",value:" "},p.color]);p.thickness&&c.cloneBefore({prop:"text-decoration",value:v}),p.thickness&&c.cloneBefore({prop:"text-decoration-thickness",value:o.stringify([p.thickness])}),e.set(c.value,f),e.set(v,f),l.preserve||c.remove()}}}}};function nodeIsAColor(e){return!("word"!==e.type||!e.value.startsWith("#"))||(!("word"!==e.type||!c.includes(e.value.toLowerCase()))||!("function"!==e.type||!l.includes(e.value.toLowerCase())))}creator.postcss=!0;const r=["unset","inherit","initial","revert","revert-layer"],t=["underline","overline","line-through","blink","spelling-error","grammar-error"],n=["solid","double","dotted","dashed","wavy"],s=["auto","from-font"],l=["color","color-mix","hsl","hsla","hwb","lab","lch","oklab","oklch","rgb","rgba"],c=["currentcolor","transparent",...Object.keys(e.namedColors)];module.exports=creator;
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{namedColors as e}from"@csstools/color-helpers";import
|
|
1
|
+
import{namedColors as e}from"@csstools/color-helpers";import o from"postcss-value-parser";const creator=e=>{const l=Object.assign({preserve:!0},e);return{postcssPlugin:"postcss-text-decoration-shorthand",prepare(){const e=new Map;return{OnceExit:()=>{e.clear()},Declaration:c=>{if("text-decoration"!==c.prop.toLowerCase())return;const a=c.parent;if(!a)return;const u=a.index(c);if(a.nodes.some((o=>"decl"===o.type&&"text-decoration"===o.prop.toLowerCase()&&e.get(c.value)===o.value&&a.index(o)!==u)))return;const i=o(c.value),d=i.nodes.filter((e=>"space"!==e.type&&"comment"!==e.type));if(d.find((e=>"var"===e.value.toLowerCase()&&"function"===e.type)))return;if(d.find((e=>"word"===e.type&&r.includes(e.value))))return;const p={line:[],style:null,color:null,thickness:null};for(let e=0;e<d.length;e++){const r=d[e];if(p.line.length||"word"!==r.type||!t.includes(r.value.toLowerCase()))if(p.line.length||"word"!==r.type||"none"!==r.value.toLowerCase())if(p.style||"word"!==r.type||!n.includes(r.value.toLowerCase()))if(p.thickness||"word"!==r.type||!s.includes(r.value.toLowerCase()))if(p.thickness||"function"!==r.type||"calc"!==r.value.toLowerCase())if(p.color||!nodeIsAColor(r)){if("word"!==r.type)return;{let e;try{e=o.unit(r.value)}catch(e){return}if(!e||!e.unit)return;p.thickness=r,"%"===e.unit&&(p.thickness={before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"function",value:"calc",nodes:[{before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"word",value:"0.01em"},{before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"space",value:" "},{before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"word",value:"*"},{before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"space",value:" "},{before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"word",value:e.number}]})}}else p.color=r;else p.thickness=r;else p.thickness=r;else p.style=r;else p.line.push(r);else{const o=r;let n=r;for(;;){const o=d[e+1];if(!o||"word"!==o.type||!t.includes(o.value.toLowerCase()))break;n=o,e++}p.line=i.nodes.slice(i.nodes.indexOf(o),i.nodes.indexOf(n)+1)}}p.line.length||p.line.push({before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"word",value:"none"}),p.style||(p.style={before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"word",value:"solid"}),p.color||(p.color={before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"word",value:"currentColor"});const f=o.stringify(p.line);if(c.value.toLowerCase()===f.toLowerCase()){const e=c.next();return void(e&&"decl"===e.type&&"text-decoration"===e.prop.toLowerCase()||c.cloneBefore({prop:"-webkit-text-decoration",value:f}))}c.cloneBefore({prop:"text-decoration",value:f});const v=o.stringify([...p.line,{before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"space",value:" "},p.style,{before:"",after:"",sourceIndex:0,sourceEndIndex:0,type:"space",value:" "},p.color]);p.thickness&&c.cloneBefore({prop:"text-decoration",value:v}),p.thickness&&c.cloneBefore({prop:"text-decoration-thickness",value:o.stringify([p.thickness])}),e.set(c.value,f),e.set(v,f),l.preserve||c.remove()}}}}};function nodeIsAColor(e){return!("word"!==e.type||!e.value.startsWith("#"))||(!("word"!==e.type||!c.includes(e.value.toLowerCase()))||!("function"!==e.type||!l.includes(e.value.toLowerCase())))}creator.postcss=!0;const r=["unset","inherit","initial","revert","revert-layer"],t=["underline","overline","line-through","blink","spelling-error","grammar-error"],n=["solid","double","dotted","dashed","wavy"],s=["auto","from-font"],l=["color","color-mix","hsl","hsla","hwb","lab","lch","oklab","oklch","rgb","rgba"],c=["currentcolor","transparent",...Object.keys(e)];export{creator as default};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@csstools/postcss-text-decoration-shorthand",
|
|
3
3
|
"description": "Use text-decoration in it's shorthand form in CSS",
|
|
4
|
-
"version": "2.2.
|
|
4
|
+
"version": "2.2.2",
|
|
5
5
|
"contributors": [
|
|
6
6
|
{
|
|
7
7
|
"name": "Antonio Laguna",
|
|
@@ -46,19 +46,15 @@
|
|
|
46
46
|
"postcss": "^8.4"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
+
"@csstools/postcss-tape": "*",
|
|
49
50
|
"autoprefixer": "^10.4.8"
|
|
50
51
|
},
|
|
51
52
|
"scripts": {
|
|
52
|
-
"prebuild": "npm run clean",
|
|
53
53
|
"build": "rollup -c ../../rollup/default.mjs",
|
|
54
|
-
"clean": "node -e \"fs.rmSync('./dist', { recursive: true, force: true }); fs.mkdirSync('./dist');\"",
|
|
55
54
|
"docs": "node ../../.github/bin/generate-docs/install.mjs && node ../../.github/bin/generate-docs/readme.mjs",
|
|
56
|
-
"lint": "
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"prepublishOnly": "npm run clean && npm run build && npm run test",
|
|
60
|
-
"test": "node .tape.mjs && npm run test:exports",
|
|
61
|
-
"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",
|
|
62
58
|
"test:rewrite-expects": "REWRITE_EXPECTS=true node .tape.mjs"
|
|
63
59
|
},
|
|
64
60
|
"homepage": "https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-text-decoration-shorthand#readme",
|