@ariaui/color 0.1.3 → 0.1.4
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/chunk-3BGTZVEU.js +426 -0
- package/dist/index.cjs +476 -0
- package/dist/index.d.cts +213 -0
- package/dist/index.d.ts +213 -0
- package/dist/index.js +62 -0
- package/dist/tokens.cjs +572 -0
- package/dist/tokens.d.cts +59 -0
- package/dist/tokens.d.ts +59 -0
- package/dist/tokens.js +152 -0
- package/package.json +3 -3
package/dist/tokens.js
ADDED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__spreadValues,
|
|
3
|
+
adjustHue,
|
|
4
|
+
complement,
|
|
5
|
+
contrastRatio,
|
|
6
|
+
darken,
|
|
7
|
+
desaturate,
|
|
8
|
+
grayscale,
|
|
9
|
+
hexToOklch,
|
|
10
|
+
invert,
|
|
11
|
+
lighten,
|
|
12
|
+
meetsAA,
|
|
13
|
+
meetsAAA,
|
|
14
|
+
mix,
|
|
15
|
+
oklabToOklch,
|
|
16
|
+
oklchToHex,
|
|
17
|
+
oklchToOklab,
|
|
18
|
+
oklchToSrgb,
|
|
19
|
+
parseHex,
|
|
20
|
+
parseOklchChannels,
|
|
21
|
+
parseOklchCss,
|
|
22
|
+
parseRgb,
|
|
23
|
+
saturate,
|
|
24
|
+
setAlpha,
|
|
25
|
+
srgbToHex,
|
|
26
|
+
srgbToOklch,
|
|
27
|
+
suggestAccessible,
|
|
28
|
+
toCssChannels,
|
|
29
|
+
toHexString,
|
|
30
|
+
toOklchString,
|
|
31
|
+
toRgbString
|
|
32
|
+
} from "./chunk-3BGTZVEU.js";
|
|
33
|
+
|
|
34
|
+
// src/palette.ts
|
|
35
|
+
import { primitives, base } from "@ariaui/tokens";
|
|
36
|
+
function resolvePrimitive(scale, step) {
|
|
37
|
+
const scaleObj = primitives[scale];
|
|
38
|
+
const channels = scaleObj[step];
|
|
39
|
+
if (channels === void 0) {
|
|
40
|
+
throw new Error(
|
|
41
|
+
`Primitive not found: ${String(scale)}-${step}`
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
return parseOklchChannels(channels);
|
|
45
|
+
}
|
|
46
|
+
function resolveScale(scale) {
|
|
47
|
+
const scaleObj = primitives[scale];
|
|
48
|
+
const result = {};
|
|
49
|
+
for (const [key, value] of Object.entries(scaleObj)) {
|
|
50
|
+
result[Number(key)] = parseOklchChannels(value);
|
|
51
|
+
}
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
function resolveAllPrimitives() {
|
|
55
|
+
const result = {};
|
|
56
|
+
for (const scale of Object.keys(primitives)) {
|
|
57
|
+
result[scale] = resolveScale(scale);
|
|
58
|
+
}
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
function resolveBase(name) {
|
|
62
|
+
const channels = base[name];
|
|
63
|
+
if (!channels) {
|
|
64
|
+
throw new Error(`Base color not found: "${name}"`);
|
|
65
|
+
}
|
|
66
|
+
return parseOklchChannels(channels);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// src/resolve.ts
|
|
70
|
+
import { light, dark, primitives as primitives2, base as base2 } from "@ariaui/tokens";
|
|
71
|
+
function resolveVarToChannels(value) {
|
|
72
|
+
const varMatch = value.match(/^var\(--color-(.+)\)$/);
|
|
73
|
+
if (!varMatch) return null;
|
|
74
|
+
const ref = varMatch[1];
|
|
75
|
+
if (ref in base2) {
|
|
76
|
+
return base2[ref];
|
|
77
|
+
}
|
|
78
|
+
const lastDash = ref.lastIndexOf("-");
|
|
79
|
+
if (lastDash === -1) return null;
|
|
80
|
+
const scale = ref.slice(0, lastDash);
|
|
81
|
+
const stepStr = ref.slice(lastDash + 1);
|
|
82
|
+
const step = parseInt(stepStr, 10);
|
|
83
|
+
if (Number.isNaN(step)) return null;
|
|
84
|
+
const scaleObj = primitives2[scale];
|
|
85
|
+
if (!scaleObj) return null;
|
|
86
|
+
const channels = scaleObj[step];
|
|
87
|
+
if (channels === void 0) return null;
|
|
88
|
+
return channels;
|
|
89
|
+
}
|
|
90
|
+
function resolveSemantic(tokenKey, mode = "light") {
|
|
91
|
+
var _a;
|
|
92
|
+
const map = mode === "dark" ? dark : light;
|
|
93
|
+
const value = (_a = map[tokenKey]) != null ? _a : light[tokenKey];
|
|
94
|
+
if (value === void 0) return null;
|
|
95
|
+
const channels = resolveVarToChannels(value);
|
|
96
|
+
if (channels === null) return null;
|
|
97
|
+
return parseOklchChannels(channels);
|
|
98
|
+
}
|
|
99
|
+
function listColorTokens(mode = "light") {
|
|
100
|
+
const map = mode === "dark" ? __spreadValues(__spreadValues({}, light), dark) : light;
|
|
101
|
+
return Object.keys(map).filter((key) => {
|
|
102
|
+
const value = map[key];
|
|
103
|
+
return resolveVarToChannels(value) !== null;
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
function resolveAllSemantics(mode = "light") {
|
|
107
|
+
const keys = listColorTokens(mode);
|
|
108
|
+
const result = {};
|
|
109
|
+
for (const key of keys) {
|
|
110
|
+
const color = resolveSemantic(key, mode);
|
|
111
|
+
if (color) result[key] = color;
|
|
112
|
+
}
|
|
113
|
+
return result;
|
|
114
|
+
}
|
|
115
|
+
export {
|
|
116
|
+
adjustHue,
|
|
117
|
+
complement,
|
|
118
|
+
contrastRatio,
|
|
119
|
+
darken,
|
|
120
|
+
desaturate,
|
|
121
|
+
grayscale,
|
|
122
|
+
hexToOklch,
|
|
123
|
+
invert,
|
|
124
|
+
lighten,
|
|
125
|
+
listColorTokens,
|
|
126
|
+
meetsAA,
|
|
127
|
+
meetsAAA,
|
|
128
|
+
mix,
|
|
129
|
+
oklabToOklch,
|
|
130
|
+
oklchToHex,
|
|
131
|
+
oklchToOklab,
|
|
132
|
+
oklchToSrgb,
|
|
133
|
+
parseHex,
|
|
134
|
+
parseOklchChannels,
|
|
135
|
+
parseOklchCss,
|
|
136
|
+
parseRgb,
|
|
137
|
+
resolveAllPrimitives,
|
|
138
|
+
resolveAllSemantics,
|
|
139
|
+
resolveBase,
|
|
140
|
+
resolvePrimitive,
|
|
141
|
+
resolveScale,
|
|
142
|
+
resolveSemantic,
|
|
143
|
+
saturate,
|
|
144
|
+
setAlpha,
|
|
145
|
+
srgbToHex,
|
|
146
|
+
srgbToOklch,
|
|
147
|
+
suggestAccessible,
|
|
148
|
+
toCssChannels,
|
|
149
|
+
toHexString,
|
|
150
|
+
toOklchString,
|
|
151
|
+
toRgbString
|
|
152
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ariaui/color",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
],
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"peerDependencies": {
|
|
27
|
-
"@ariaui/tokens": "0.2.
|
|
27
|
+
"@ariaui/tokens": "0.2.1"
|
|
28
28
|
},
|
|
29
29
|
"peerDependenciesMeta": {
|
|
30
30
|
"@ariaui/tokens": {
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@ariaui/tokens": "0.2.
|
|
35
|
+
"@ariaui/tokens": "0.2.1"
|
|
36
36
|
},
|
|
37
37
|
"scripts": {
|
|
38
38
|
"build": "rimraf dist && tsup",
|