@csstools/postcss-gamut-mapping 1.0.3 → 1.0.5
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 +12 -15
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,27 +1,24 @@
|
|
|
1
1
|
# Changes to PostCSS gamut-mapping
|
|
2
2
|
|
|
3
|
-
### 1.0.
|
|
3
|
+
### 1.0.5
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
_March 17, 2024_
|
|
6
6
|
|
|
7
|
-
- Updated [`@csstools/css-parser
|
|
8
|
-
- Updated [`@csstools/css-color-parser`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-color-parser) to [`1.5.2`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-color-parser/CHANGELOG.md#152) (patch)
|
|
7
|
+
- Updated [`@csstools/css-color-parser`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-color-parser) to [`1.6.2`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-color-parser/CHANGELOG.md#162) (patch)
|
|
9
8
|
|
|
10
|
-
### 1.0.
|
|
9
|
+
### 1.0.4
|
|
11
10
|
|
|
12
|
-
|
|
11
|
+
_March 13, 2024_
|
|
13
12
|
|
|
14
|
-
- Updated [`@csstools/css-tokenizer`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-tokenizer) to [`2.2.
|
|
15
|
-
- Updated [`@csstools/css-parser-algorithms`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-parser-algorithms) to [`2.
|
|
16
|
-
- Updated [`@csstools/css-color-parser`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-color-parser) to [`1.
|
|
13
|
+
- Updated [`@csstools/css-tokenizer`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-tokenizer) to [`2.2.4`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-tokenizer/CHANGELOG.md#224) (patch)
|
|
14
|
+
- Updated [`@csstools/css-parser-algorithms`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-parser-algorithms) to [`2.6.1`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-parser-algorithms/CHANGELOG.md#261) (patch)
|
|
15
|
+
- Updated [`@csstools/css-color-parser`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-color-parser) to [`1.6.0`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-color-parser/CHANGELOG.md#160) (minor)
|
|
17
16
|
|
|
18
|
-
### 1.0.
|
|
17
|
+
### 1.0.3
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
_February 19, 2024_
|
|
21
20
|
|
|
22
|
-
-
|
|
23
|
-
- Updated [`@csstools/css-
|
|
24
|
-
- Updated [`@csstools/css-parser-algorithms`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-parser-algorithms) to [`2.4.0`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-parser-algorithms/CHANGELOG.md#240) (minor)
|
|
25
|
-
- Updated [`@csstools/css-color-parser`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-color-parser) to [`1.5.0`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-color-parser/CHANGELOG.md#150) (minor)
|
|
21
|
+
- Updated [`@csstools/css-parser-algorithms`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-parser-algorithms) to [`2.6.0`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-parser-algorithms/CHANGELOG.md#260) (minor)
|
|
22
|
+
- Updated [`@csstools/css-color-parser`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-color-parser) to [`1.5.2`](https://github.com/csstools/postcss-plugins/tree/main/packages/css-color-parser/CHANGELOG.md#152) (patch)
|
|
26
23
|
|
|
27
24
|
[Full CHANGELOG](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-gamut-mapping/CHANGELOG.md)
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@csstools/css-tokenizer"),o=require("@csstools/css-parser-algorithms"),a=require("@csstools/css-color-parser");const t=/\bcolor-gamut\b/i;function hasConditionalAncestor(e){let o=e.parent;for(;o;)if("atrule"===o.type){if("media"===o.name.toLowerCase()&&t.test(o.params))return!0;o=o.parent}else o=o.parent;return!1}function hasOverrideOrFallback(e){const o=e.prop.toLowerCase();let a=!1,t=!1;const s=e.parent?.nodes??[],
|
|
1
|
+
"use strict";var e=require("@csstools/css-tokenizer"),o=require("@csstools/css-parser-algorithms"),a=require("@csstools/css-color-parser");const t=/\bcolor-gamut\b/i;function hasConditionalAncestor(e){let o=e.parent;for(;o;)if("atrule"===o.type){if("media"===o.name.toLowerCase()&&t.test(o.params))return!0;o=o.parent}else o=o.parent;return!1}function hasOverrideOrFallback(e){const o=e.prop.toLowerCase();let a=!1,t=!1;const s=e.parent?.nodes??[],n=s.indexOf(e);for(let e=0;e<s.length;e++){if(e===n)continue;const r=s[e];if("decl"===r.type&&r.prop.toLowerCase()===o){if(!(e<n)){a=!0;break}t=!0,e=n}}return{hasOverride:a,hasFallback:t}}const s=/\b(?:color|lab|lch|oklab|oklch)\(/i,n=/^(?:color|lab|lch|oklab|oklch)$/i,creator=()=>({postcssPlugin:"postcss-gamut-mapping",prepare(){const t=new WeakMap;return{postcssPlugin:"postcss-gamut-mapping",OnceExit(r,{postcss:l}){r.walkDecls((r=>{const i=r.value;if(!s.test(i))return;if(!r.parent||hasConditionalAncestor(r))return;const{hasOverride:c,hasFallback:p}=hasOverrideOrFallback(r);if(c)return;const u=t.get(r.parent)||{conditionalRules:[],propNames:new Set,lastConditionParams:{media:void 0},lastConditionalRule:void 0};t.set(r.parent,u);let d=!1;const m=o.replaceComponentValues(o.parseCommaSeparatedListOfComponentValues(e.tokenize({css:i})),(e=>{if(!o.isFunctionNode(e)||!n.test(e.getName()))return;const t=a.color(e);return!t||t.syntaxFlags.has(a.SyntaxFlag.HasNoneKeywords)||a.colorDataFitsRGB_Gamut(t)?void 0:(d||a.colorDataFitsDisplayP3_Gamut(t)||(d=!0),a.serializeRGB(t,!0))})),f=o.stringify(m);if(f===i)return;const h=`(color-gamut: ${d?"rec2020":"p3"})`;if(u.lastConditionParams.media!==h&&(u.lastConditionalRule=void 0),u.lastConditionalRule)return p||r.cloneBefore({value:f}),u.lastConditionalRule.append(r.clone()),void r.remove();p||r.cloneBefore({value:f});const g=l.atRule({name:"media",params:h,source:r.parent.source,raws:{before:"\n\n",after:"\n"}}),v=r.parent.clone();v.removeAll(),v.raws.before="\n",v.append(r.clone()),r.remove(),u.lastConditionParams.media=g.params,u.lastConditionalRule=v,g.append(v),u.conditionalRules.push(g)})),r.walk((e=>{const o=t.get(e);o&&0!==o.conditionalRules.length&&o.conditionalRules.reverse().forEach((o=>{e.after(o)}))}))}}}});creator.postcss=!0,module.exports=creator;
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{tokenize as e}from"@csstools/css-tokenizer";import{replaceComponentValues as o,parseCommaSeparatedListOfComponentValues as t,isFunctionNode as a,stringify as
|
|
1
|
+
import{tokenize as e}from"@csstools/css-tokenizer";import{replaceComponentValues as o,parseCommaSeparatedListOfComponentValues as t,isFunctionNode as a,stringify as s}from"@csstools/css-parser-algorithms";import{color as n,SyntaxFlag as r,colorDataFitsRGB_Gamut as l,colorDataFitsDisplayP3_Gamut as i,serializeRGB as c}from"@csstools/css-color-parser";const p=/\bcolor-gamut\b/i;function hasConditionalAncestor(e){let o=e.parent;for(;o;)if("atrule"===o.type){if("media"===o.name.toLowerCase()&&p.test(o.params))return!0;o=o.parent}else o=o.parent;return!1}function hasOverrideOrFallback(e){const o=e.prop.toLowerCase();let t=!1,a=!1;const s=e.parent?.nodes??[],n=s.indexOf(e);for(let e=0;e<s.length;e++){if(e===n)continue;const r=s[e];if("decl"===r.type&&r.prop.toLowerCase()===o){if(!(e<n)){t=!0;break}a=!0,e=n}}return{hasOverride:t,hasFallback:a}}const u=/\b(?:color|lab|lch|oklab|oklch)\(/i,d=/^(?:color|lab|lch|oklab|oklch)$/i,creator=()=>({postcssPlugin:"postcss-gamut-mapping",prepare(){const p=new WeakMap;return{postcssPlugin:"postcss-gamut-mapping",OnceExit(m,{postcss:f}){m.walkDecls((m=>{const h=m.value;if(!u.test(h))return;if(!m.parent||hasConditionalAncestor(m))return;const{hasOverride:v,hasFallback:g}=hasOverrideOrFallback(m);if(v)return;const b=p.get(m.parent)||{conditionalRules:[],propNames:new Set,lastConditionParams:{media:void 0},lastConditionalRule:void 0};p.set(m.parent,b);let k=!1;const C=o(t(e({css:h})),(e=>{if(!a(e)||!d.test(e.getName()))return;const o=n(e);return!o||o.syntaxFlags.has(r.HasNoneKeywords)||l(o)?void 0:(k||i(o)||(k=!0),c(o,!0))})),w=s(C);if(w===h)return;const R=`(color-gamut: ${k?"rec2020":"p3"})`;if(b.lastConditionParams.media!==R&&(b.lastConditionalRule=void 0),b.lastConditionalRule)return g||m.cloneBefore({value:w}),b.lastConditionalRule.append(m.clone()),void m.remove();g||m.cloneBefore({value:w});const O=f.atRule({name:"media",params:R,source:m.parent.source,raws:{before:"\n\n",after:"\n"}}),F=m.parent.clone();F.removeAll(),F.raws.before="\n",F.append(m.clone()),m.remove(),b.lastConditionParams.media=O.params,b.lastConditionalRule=F,O.append(F),b.conditionalRules.push(O)})),m.walk((e=>{const o=p.get(e);o&&0!==o.conditionalRules.length&&o.conditionalRules.reverse().forEach((o=>{e.after(o)}))}))}}}});creator.postcss=!0;export{creator as default};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@csstools/postcss-gamut-mapping",
|
|
3
3
|
"description": "Gamut map css colors to fit display specific gamuts",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.5",
|
|
5
5
|
"contributors": [
|
|
6
6
|
{
|
|
7
7
|
"name": "Antonio Laguna",
|
|
@@ -48,9 +48,9 @@
|
|
|
48
48
|
"dist"
|
|
49
49
|
],
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@csstools/css-color-parser": "^1.
|
|
52
|
-
"@csstools/css-parser-algorithms": "^2.6.
|
|
53
|
-
"@csstools/css-tokenizer": "^2.2.
|
|
51
|
+
"@csstools/css-color-parser": "^1.6.2",
|
|
52
|
+
"@csstools/css-parser-algorithms": "^2.6.1",
|
|
53
|
+
"@csstools/css-tokenizer": "^2.2.4"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
56
|
"postcss": "^8.4"
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"homepage": "https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-gamut-mapping#readme",
|
|
59
59
|
"repository": {
|
|
60
60
|
"type": "git",
|
|
61
|
-
"url": "https://github.com/csstools/postcss-plugins.git",
|
|
61
|
+
"url": "git+https://github.com/csstools/postcss-plugins.git",
|
|
62
62
|
"directory": "plugins/postcss-gamut-mapping"
|
|
63
63
|
},
|
|
64
64
|
"bugs": "https://github.com/csstools/postcss-plugins/issues",
|