@pandacss/token-dictionary 0.28.0 → 0.29.1
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/dist/index.d.mts +7 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +43 -8
- package/dist/index.mjs +44 -9
- package/package.json +4 -3
package/dist/index.d.mts
CHANGED
|
@@ -154,7 +154,14 @@ declare class TokenDictionary extends TokenDictionary$1 {
|
|
|
154
154
|
[k: string]: string;
|
|
155
155
|
} | undefined;
|
|
156
156
|
getTokenVar: (path: string) => any;
|
|
157
|
+
/**
|
|
158
|
+
* Expand token references to their CSS variable
|
|
159
|
+
*/
|
|
157
160
|
expandReference(value: string): string;
|
|
161
|
+
/**
|
|
162
|
+
* Resolve token references to their actual raw value
|
|
163
|
+
*/
|
|
164
|
+
resolveReference(value: string): string;
|
|
158
165
|
}
|
|
159
166
|
|
|
160
167
|
export { Token, TokenDictionary };
|
package/dist/index.d.ts
CHANGED
|
@@ -154,7 +154,14 @@ declare class TokenDictionary extends TokenDictionary$1 {
|
|
|
154
154
|
[k: string]: string;
|
|
155
155
|
} | undefined;
|
|
156
156
|
getTokenVar: (path: string) => any;
|
|
157
|
+
/**
|
|
158
|
+
* Expand token references to their CSS variable
|
|
159
|
+
*/
|
|
157
160
|
expandReference(value: string): string;
|
|
161
|
+
/**
|
|
162
|
+
* Resolve token references to their actual raw value
|
|
163
|
+
*/
|
|
164
|
+
resolveReference(value: string): string;
|
|
158
165
|
}
|
|
159
166
|
|
|
160
167
|
export { Token, TokenDictionary };
|
package/dist/index.js
CHANGED
|
@@ -70,6 +70,7 @@ var isCompositeTokenValue = (value) => {
|
|
|
70
70
|
var import_shared2 = require("@pandacss/shared");
|
|
71
71
|
|
|
72
72
|
// src/utils.ts
|
|
73
|
+
var import_logger = require("@pandacss/logger");
|
|
73
74
|
var import_shared = require("@pandacss/shared");
|
|
74
75
|
var REFERENCE_REGEX = /(\$[^\s,]+\w)|({([^}]*)})/g;
|
|
75
76
|
var curlyBracketRegex = /[{}]/g;
|
|
@@ -81,17 +82,42 @@ function getReferences(value) {
|
|
|
81
82
|
return [];
|
|
82
83
|
return matches.map((match3) => match3.replace(curlyBracketRegex, "")).map((value2) => value2.trim());
|
|
83
84
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
var hasReference = (value) => REFERENCE_REGEX.test(value);
|
|
86
|
+
var tokenFunctionRegex = /token\(([^)]+)\)/g;
|
|
87
|
+
var closingParenthesisRegex = /\)$/g;
|
|
88
|
+
var hasTokenReference = (str) => str.includes("token(");
|
|
89
|
+
var tokenReplacer = (a, b) => b ? a.endsWith(")") ? a.replace(closingParenthesisRegex, `, ${b})`) : `var(${a}, ${b})` : a;
|
|
90
|
+
var notFoundMessage = (key, value) => `Reference not found: \`${key}\` in "${value}"`;
|
|
91
|
+
var isTokenReference = (v) => hasReference(v) || hasTokenReference(v);
|
|
87
92
|
function expandReferences(value, fn) {
|
|
88
|
-
if (!
|
|
93
|
+
if (!isTokenReference(value))
|
|
89
94
|
return value;
|
|
90
95
|
const references = getReferences(value);
|
|
91
|
-
|
|
92
|
-
const
|
|
93
|
-
|
|
96
|
+
const expanded = references.reduce((valueStr, key) => {
|
|
97
|
+
const resolved = fn(key);
|
|
98
|
+
if (!resolved) {
|
|
99
|
+
import_logger.logger.warn("token", notFoundMessage(key, value));
|
|
100
|
+
}
|
|
101
|
+
const expandedValue = resolved ?? (0, import_shared.esc)(key);
|
|
102
|
+
return valueStr.replace(`{${key}}`, expandedValue);
|
|
94
103
|
}, value);
|
|
104
|
+
if (!expanded.includes(`token(`))
|
|
105
|
+
return expanded;
|
|
106
|
+
return expanded.replace(tokenFunctionRegex, (_, token) => {
|
|
107
|
+
const [tokenValue, tokenFallback] = token.split(",").map((s) => s.trim());
|
|
108
|
+
const result = [tokenValue, tokenFallback].filter(Boolean).map((key) => {
|
|
109
|
+
const resolved = fn(key);
|
|
110
|
+
if (!resolved && isTokenReference(key)) {
|
|
111
|
+
import_logger.logger.warn("token", notFoundMessage(key, value));
|
|
112
|
+
}
|
|
113
|
+
return resolved ?? (0, import_shared.esc)(key);
|
|
114
|
+
});
|
|
115
|
+
if (result.length > 1) {
|
|
116
|
+
const [a, b] = result;
|
|
117
|
+
return tokenReplacer(a, b);
|
|
118
|
+
}
|
|
119
|
+
return tokenReplacer(result[0]);
|
|
120
|
+
});
|
|
95
121
|
}
|
|
96
122
|
function mapToJson(map) {
|
|
97
123
|
const obj = {};
|
|
@@ -109,7 +135,7 @@ var isToken = (value) => {
|
|
|
109
135
|
};
|
|
110
136
|
function assertTokenFormat(token) {
|
|
111
137
|
if (!isToken(token)) {
|
|
112
|
-
throw new
|
|
138
|
+
throw new import_shared.PandaError("INVALID_TOKEN", `Invalid token format: ${JSON.stringify(token)}`);
|
|
113
139
|
}
|
|
114
140
|
}
|
|
115
141
|
|
|
@@ -953,9 +979,18 @@ var TokenDictionary2 = class extends TokenDictionary {
|
|
|
953
979
|
getTokenVar = (0, import_shared7.memo)((path) => {
|
|
954
980
|
return (0, import_shared7.getDotPath)(this.json, path);
|
|
955
981
|
});
|
|
982
|
+
/**
|
|
983
|
+
* Expand token references to their CSS variable
|
|
984
|
+
*/
|
|
956
985
|
expandReference(value) {
|
|
957
986
|
return expandReferences(value, (key) => this.get(key));
|
|
958
987
|
}
|
|
988
|
+
/**
|
|
989
|
+
* Resolve token references to their actual raw value
|
|
990
|
+
*/
|
|
991
|
+
resolveReference(value) {
|
|
992
|
+
return expandReferences(value, (key) => this.getByName(key)?.value);
|
|
993
|
+
}
|
|
959
994
|
};
|
|
960
995
|
// Annotate the CommonJS export names for ESM import in node:
|
|
961
996
|
0 && (module.exports = {
|
package/dist/index.mjs
CHANGED
|
@@ -43,7 +43,8 @@ var isCompositeTokenValue = (value) => {
|
|
|
43
43
|
import { isBaseCondition, toHash, walkObject } from "@pandacss/shared";
|
|
44
44
|
|
|
45
45
|
// src/utils.ts
|
|
46
|
-
import {
|
|
46
|
+
import { logger } from "@pandacss/logger";
|
|
47
|
+
import { PandaError, esc, isObject } from "@pandacss/shared";
|
|
47
48
|
var REFERENCE_REGEX = /(\$[^\s,]+\w)|({([^}]*)})/g;
|
|
48
49
|
var curlyBracketRegex = /[{}]/g;
|
|
49
50
|
function getReferences(value) {
|
|
@@ -54,17 +55,42 @@ function getReferences(value) {
|
|
|
54
55
|
return [];
|
|
55
56
|
return matches.map((match3) => match3.replace(curlyBracketRegex, "")).map((value2) => value2.trim());
|
|
56
57
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
var hasReference = (value) => REFERENCE_REGEX.test(value);
|
|
59
|
+
var tokenFunctionRegex = /token\(([^)]+)\)/g;
|
|
60
|
+
var closingParenthesisRegex = /\)$/g;
|
|
61
|
+
var hasTokenReference = (str) => str.includes("token(");
|
|
62
|
+
var tokenReplacer = (a, b) => b ? a.endsWith(")") ? a.replace(closingParenthesisRegex, `, ${b})`) : `var(${a}, ${b})` : a;
|
|
63
|
+
var notFoundMessage = (key, value) => `Reference not found: \`${key}\` in "${value}"`;
|
|
64
|
+
var isTokenReference = (v) => hasReference(v) || hasTokenReference(v);
|
|
60
65
|
function expandReferences(value, fn) {
|
|
61
|
-
if (!
|
|
66
|
+
if (!isTokenReference(value))
|
|
62
67
|
return value;
|
|
63
68
|
const references = getReferences(value);
|
|
64
|
-
|
|
65
|
-
const
|
|
66
|
-
|
|
69
|
+
const expanded = references.reduce((valueStr, key) => {
|
|
70
|
+
const resolved = fn(key);
|
|
71
|
+
if (!resolved) {
|
|
72
|
+
logger.warn("token", notFoundMessage(key, value));
|
|
73
|
+
}
|
|
74
|
+
const expandedValue = resolved ?? esc(key);
|
|
75
|
+
return valueStr.replace(`{${key}}`, expandedValue);
|
|
67
76
|
}, value);
|
|
77
|
+
if (!expanded.includes(`token(`))
|
|
78
|
+
return expanded;
|
|
79
|
+
return expanded.replace(tokenFunctionRegex, (_, token) => {
|
|
80
|
+
const [tokenValue, tokenFallback] = token.split(",").map((s) => s.trim());
|
|
81
|
+
const result = [tokenValue, tokenFallback].filter(Boolean).map((key) => {
|
|
82
|
+
const resolved = fn(key);
|
|
83
|
+
if (!resolved && isTokenReference(key)) {
|
|
84
|
+
logger.warn("token", notFoundMessage(key, value));
|
|
85
|
+
}
|
|
86
|
+
return resolved ?? esc(key);
|
|
87
|
+
});
|
|
88
|
+
if (result.length > 1) {
|
|
89
|
+
const [a, b] = result;
|
|
90
|
+
return tokenReplacer(a, b);
|
|
91
|
+
}
|
|
92
|
+
return tokenReplacer(result[0]);
|
|
93
|
+
});
|
|
68
94
|
}
|
|
69
95
|
function mapToJson(map) {
|
|
70
96
|
const obj = {};
|
|
@@ -82,7 +108,7 @@ var isToken = (value) => {
|
|
|
82
108
|
};
|
|
83
109
|
function assertTokenFormat(token) {
|
|
84
110
|
if (!isToken(token)) {
|
|
85
|
-
throw new
|
|
111
|
+
throw new PandaError("INVALID_TOKEN", `Invalid token format: ${JSON.stringify(token)}`);
|
|
86
112
|
}
|
|
87
113
|
}
|
|
88
114
|
|
|
@@ -926,9 +952,18 @@ var TokenDictionary2 = class extends TokenDictionary {
|
|
|
926
952
|
getTokenVar = memo2((path) => {
|
|
927
953
|
return getDotPath2(this.json, path);
|
|
928
954
|
});
|
|
955
|
+
/**
|
|
956
|
+
* Expand token references to their CSS variable
|
|
957
|
+
*/
|
|
929
958
|
expandReference(value) {
|
|
930
959
|
return expandReferences(value, (key) => this.get(key));
|
|
931
960
|
}
|
|
961
|
+
/**
|
|
962
|
+
* Resolve token references to their actual raw value
|
|
963
|
+
*/
|
|
964
|
+
resolveReference(value) {
|
|
965
|
+
return expandReferences(value, (key) => this.getByName(key)?.value);
|
|
966
|
+
}
|
|
932
967
|
};
|
|
933
968
|
export {
|
|
934
969
|
Token,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pandacss/token-dictionary",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.29.1",
|
|
4
4
|
"description": "Common error messages for css panda",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -33,8 +33,9 @@
|
|
|
33
33
|
],
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"ts-pattern": "5.0.5",
|
|
36
|
-
"@pandacss/
|
|
37
|
-
"@pandacss/
|
|
36
|
+
"@pandacss/logger": "^0.29.1",
|
|
37
|
+
"@pandacss/shared": "0.29.1",
|
|
38
|
+
"@pandacss/types": "0.29.1"
|
|
38
39
|
},
|
|
39
40
|
"scripts": {
|
|
40
41
|
"build": "tsup src/index.ts --format=esm,cjs --dts",
|