@udixio/theme 2.1.18 → 2.1.20
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 +22 -0
- package/dist/bin.cjs +1 -1
- package/dist/bin.js +1 -1
- package/dist/browser.cjs +10 -7
- package/dist/browser.js +12 -9
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/{load-from-path-CqNK9dVK.cjs → load-from-path-CuBpH2Cs.cjs} +2 -2
- package/dist/{load-from-path-CWtVz4o_.js → load-from-path-CvD4a_os.js} +1 -1
- package/dist/{loader-Bwk-gC1Q.cjs → loader-BN_VoxCd.cjs} +64 -4
- package/dist/{loader-CXjYZgR0.js → loader-J0nrh600.js} +71 -11
- package/dist/material-color-utilities/index.d.ts +1 -0
- package/dist/material-color-utilities/index.d.ts.map +1 -1
- package/dist/node.cjs +11 -8
- package/dist/node.js +14 -11
- package/dist/palette/palette.api.d.ts +6 -0
- package/dist/palette/palette.api.d.ts.map +1 -1
- package/dist/palette/palette.d.ts +1 -0
- package/dist/palette/palette.d.ts.map +1 -1
- package/dist/palette/palette.manager.d.ts +2 -0
- package/dist/palette/palette.manager.d.ts.map +1 -1
- package/dist/plugin/plugin.abstract.d.ts +1 -0
- package/dist/plugin/plugin.abstract.d.ts.map +1 -1
- package/dist/{font.plugin-Dyfi_9m6.cjs → serialize-DBJHQrbL.cjs} +20 -1
- package/dist/{font.plugin-CZBx3UOh.js → serialize-FzII8uv3.js} +21 -2
- package/dist/serialize.d.ts +17 -0
- package/dist/serialize.d.ts.map +1 -0
- package/dist/variant/variants/index.d.ts +1 -0
- package/dist/variant/variants/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/material-color-utilities/index.ts +1 -0
- package/src/palette/palette.api.ts +28 -0
- package/src/palette/palette.manager.ts +28 -4
- package/src/palette/palette.ts +9 -0
- package/src/plugin/plugin.abstract.ts +8 -0
- package/src/serialize.ts +20 -0
- package/src/variant/variants/index.ts +8 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
## 2.1.20 (2026-04-10)
|
|
2
|
+
|
|
3
|
+
### 🚀 Features
|
|
4
|
+
|
|
5
|
+
- **theme:** enhance theme configuration and improve plugin serialization ([789ad63](https://github.com/Udixio/UI/commit/789ad63))
|
|
6
|
+
|
|
7
|
+
### ❤️ Thank You
|
|
8
|
+
|
|
9
|
+
- Joël VIGREUX
|
|
10
|
+
|
|
11
|
+
## 2.1.19 (2026-04-09)
|
|
12
|
+
|
|
13
|
+
### 🚀 Features
|
|
14
|
+
|
|
15
|
+
- **theme:** add worker-based CSS generation and theme serialization ([14af45b](https://github.com/Udixio/UI/commit/14af45b))
|
|
16
|
+
- **theme:** export `htc` from material-color-utilities ([f100207](https://github.com/Udixio/UI/commit/f100207))
|
|
17
|
+
- **theme:** enhance palette management with callbacks, overrides, and synchronization ([d404896](https://github.com/Udixio/UI/commit/d404896))
|
|
18
|
+
|
|
19
|
+
### ❤️ Thank You
|
|
20
|
+
|
|
21
|
+
- Joël VIGREUX
|
|
22
|
+
|
|
1
23
|
## 2.1.18 (2026-03-22)
|
|
2
24
|
|
|
3
25
|
### 🚀 Features
|
package/dist/bin.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
const commander = require("commander");
|
|
3
3
|
const chokidar = require("chokidar");
|
|
4
4
|
const chalk = require("chalk");
|
|
5
|
-
const loadFromPath = require("./load-from-path-
|
|
5
|
+
const loadFromPath = require("./load-from-path-CuBpH2Cs.cjs");
|
|
6
6
|
const program = new commander.Command();
|
|
7
7
|
async function runOnce(configPath) {
|
|
8
8
|
try {
|
package/dist/bin.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
import chokidar from "chokidar";
|
|
3
3
|
import chalk from "chalk";
|
|
4
|
-
import { l as loadFromPath } from "./load-from-path-
|
|
4
|
+
import { l as loadFromPath } from "./load-from-path-CvD4a_os.js";
|
|
5
5
|
const program = new Command();
|
|
6
6
|
async function runOnce(configPath) {
|
|
7
7
|
try {
|
package/dist/browser.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const loader = require("./loader-
|
|
4
|
-
const
|
|
3
|
+
const loader = require("./loader-BN_VoxCd.cjs");
|
|
4
|
+
const serialize = require("./serialize-DBJHQrbL.cjs");
|
|
5
5
|
exports.API = loader.API;
|
|
6
6
|
exports.AppContainer = loader.AppContainer;
|
|
7
7
|
exports.AppModule = loader.AppModule;
|
|
@@ -16,6 +16,7 @@ exports.Context = loader.Context;
|
|
|
16
16
|
exports.ContextModule = loader.ContextModule;
|
|
17
17
|
exports.ContrastCurve = loader.ContrastCurve;
|
|
18
18
|
exports.DynamicColor = loader.DynamicColor;
|
|
19
|
+
exports.Hct = loader.Hct;
|
|
19
20
|
exports.Palette = loader.Palette;
|
|
20
21
|
exports.PaletteApi = loader.PaletteApi;
|
|
21
22
|
exports.PaletteModule = loader.PaletteModule;
|
|
@@ -30,6 +31,7 @@ exports.expressiveVariant = loader.expressiveVariant;
|
|
|
30
31
|
exports.getInitialToneFromBackground = loader.getInitialToneFromBackground;
|
|
31
32
|
exports.getPiecewiseHue = loader.getPiecewiseHue;
|
|
32
33
|
exports.getRotatedHue = loader.getRotatedHue;
|
|
34
|
+
exports.getVariantByName = loader.getVariantByName;
|
|
33
35
|
exports.highestSurface = loader.highestSurface;
|
|
34
36
|
exports.loader = loader.loader;
|
|
35
37
|
exports.neutralVariant = loader.neutralVariant;
|
|
@@ -37,8 +39,9 @@ exports.tonalSpotVariant = loader.tonalSpotVariant;
|
|
|
37
39
|
exports.toneDeltaPair = loader.toneDeltaPair;
|
|
38
40
|
exports.variant = loader.variant;
|
|
39
41
|
exports.vibrantVariant = loader.vibrantVariant;
|
|
40
|
-
exports.FontFamily =
|
|
41
|
-
exports.FontPlugin =
|
|
42
|
-
exports.PluginAbstract =
|
|
43
|
-
exports.PluginImplAbstract =
|
|
44
|
-
exports.defineConfig =
|
|
42
|
+
exports.FontFamily = serialize.FontFamily;
|
|
43
|
+
exports.FontPlugin = serialize.FontPlugin;
|
|
44
|
+
exports.PluginAbstract = serialize.PluginAbstract;
|
|
45
|
+
exports.PluginImplAbstract = serialize.PluginImplAbstract;
|
|
46
|
+
exports.defineConfig = serialize.defineConfig;
|
|
47
|
+
exports.serializeThemeContext = serialize.serializeThemeContext;
|
package/dist/browser.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A, a, b, C, c, d, e, f, g, h, i, j, k, D, P, l, m, n, o, V, p, q, r, s, t, u, v, w, x, y, z, B, E, F, G } from "./loader-
|
|
2
|
-
import { F as F2, a as a2, P as P2, b as b2, d as d2 } from "./
|
|
1
|
+
import { A, a, b, C, c, d, e, f, g, h, i, j, k, D, H, P, l, m, n, o, V, p, q, r, s, t, u, v, w, x, y, z, B, E, F, G, I } from "./loader-J0nrh600.js";
|
|
2
|
+
import { F as F2, a as a2, P as P2, b as b2, d as d2, s as s2 } from "./serialize-FzII8uv3.js";
|
|
3
3
|
export {
|
|
4
4
|
A as API,
|
|
5
5
|
a as AppContainer,
|
|
@@ -17,6 +17,7 @@ export {
|
|
|
17
17
|
D as DynamicColor,
|
|
18
18
|
F2 as FontFamily,
|
|
19
19
|
a2 as FontPlugin,
|
|
20
|
+
H as Hct,
|
|
20
21
|
P as Palette,
|
|
21
22
|
l as PaletteApi,
|
|
22
23
|
m as PaletteModule,
|
|
@@ -34,11 +35,13 @@ export {
|
|
|
34
35
|
u as getInitialToneFromBackground,
|
|
35
36
|
v as getPiecewiseHue,
|
|
36
37
|
w as getRotatedHue,
|
|
37
|
-
x as
|
|
38
|
-
y as
|
|
39
|
-
z as
|
|
40
|
-
B as
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
38
|
+
x as getVariantByName,
|
|
39
|
+
y as highestSurface,
|
|
40
|
+
z as loader,
|
|
41
|
+
B as neutralVariant,
|
|
42
|
+
s2 as serializeThemeContext,
|
|
43
|
+
E as tonalSpotVariant,
|
|
44
|
+
F as toneDeltaPair,
|
|
45
|
+
G as variant,
|
|
46
|
+
I as vibrantVariant
|
|
44
47
|
};
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
|
|
@@ -21,7 +21,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
21
21
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
22
|
mod
|
|
23
23
|
));
|
|
24
|
-
const loader = require("./loader-
|
|
24
|
+
const loader = require("./loader-BN_VoxCd.cjs");
|
|
25
25
|
const fs = require("node:fs");
|
|
26
26
|
var _documentCurrentScript = typeof document !== "undefined" ? document.currentScript : null;
|
|
27
27
|
function _interopNamespaceDefault(e) {
|
|
@@ -44,7 +44,7 @@ const fs__namespace = /* @__PURE__ */ _interopNamespaceDefault(fs);
|
|
|
44
44
|
async function resolveConfig(configPath = "./theme.config") {
|
|
45
45
|
const { createJiti } = await import("jiti");
|
|
46
46
|
const { resolve } = await import("pathe");
|
|
47
|
-
const jiti = createJiti(typeof document === "undefined" ? require("url").pathToFileURL(__filename).href : _documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === "SCRIPT" && _documentCurrentScript.src || new URL("load-from-path-
|
|
47
|
+
const jiti = createJiti(typeof document === "undefined" ? require("url").pathToFileURL(__filename).href : _documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === "SCRIPT" && _documentCurrentScript.src || new URL("load-from-path-CuBpH2Cs.cjs", document.baseURI).href, {
|
|
48
48
|
debug: process.env.NODE_ENV === "development",
|
|
49
49
|
fsCache: true,
|
|
50
50
|
interopDefault: true
|
|
@@ -2663,6 +2663,14 @@ class Palette {
|
|
|
2663
2663
|
this.chromaCache = result.chroma;
|
|
2664
2664
|
}
|
|
2665
2665
|
}
|
|
2666
|
+
setCallback(callback) {
|
|
2667
|
+
this.callback = callback;
|
|
2668
|
+
this.dependencies = null;
|
|
2669
|
+
this.cache.clear();
|
|
2670
|
+
this.hueCache = null;
|
|
2671
|
+
this.chromaCache = null;
|
|
2672
|
+
this.update([]);
|
|
2673
|
+
}
|
|
2666
2674
|
clearCache() {
|
|
2667
2675
|
this.cache.clear();
|
|
2668
2676
|
this.hueCache = null;
|
|
@@ -2739,6 +2747,31 @@ class PaletteApi {
|
|
|
2739
2747
|
}
|
|
2740
2748
|
});
|
|
2741
2749
|
}
|
|
2750
|
+
override(args) {
|
|
2751
|
+
Object.entries(args).forEach(([key, callback]) => {
|
|
2752
|
+
if (typeof callback === "string") {
|
|
2753
|
+
this.paletteManager.override(key, Hct.fromInt(materialColorUtilities.argbFromHex(callback)));
|
|
2754
|
+
} else {
|
|
2755
|
+
this.paletteManager.override(key, callback);
|
|
2756
|
+
}
|
|
2757
|
+
});
|
|
2758
|
+
}
|
|
2759
|
+
getSerializableState() {
|
|
2760
|
+
const result = {};
|
|
2761
|
+
for (const [key, palette] of Object.entries(this.paletteManager._palettes)) {
|
|
2762
|
+
result[key] = { hue: palette.hue, chroma: palette.chroma };
|
|
2763
|
+
}
|
|
2764
|
+
return result;
|
|
2765
|
+
}
|
|
2766
|
+
sync(args) {
|
|
2767
|
+
const incoming = new Set(Object.keys(args ?? {}));
|
|
2768
|
+
Object.keys(this.paletteManager._palettes).forEach((key) => {
|
|
2769
|
+
if (!incoming.has(key)) {
|
|
2770
|
+
this.paletteManager.remove(key);
|
|
2771
|
+
}
|
|
2772
|
+
});
|
|
2773
|
+
if (args) this.override(args);
|
|
2774
|
+
}
|
|
2742
2775
|
get(key) {
|
|
2743
2776
|
return this.paletteManager.get(key);
|
|
2744
2777
|
}
|
|
@@ -2794,13 +2827,31 @@ class PaletteManager {
|
|
|
2794
2827
|
this._palettes[key] = palette;
|
|
2795
2828
|
}
|
|
2796
2829
|
update(key, args) {
|
|
2797
|
-
|
|
2830
|
+
const existing = this._palettes[key];
|
|
2831
|
+
if (!existing) {
|
|
2798
2832
|
throw new Error(`Palette with key ${key} not found`);
|
|
2799
2833
|
}
|
|
2800
|
-
if (
|
|
2801
|
-
|
|
2834
|
+
if (args instanceof Palette) {
|
|
2835
|
+
this.set(key, args);
|
|
2836
|
+
} else {
|
|
2837
|
+
existing.setCallback(args);
|
|
2838
|
+
}
|
|
2839
|
+
}
|
|
2840
|
+
remove(key) {
|
|
2841
|
+
delete this._palettes[key];
|
|
2842
|
+
}
|
|
2843
|
+
override(key, args) {
|
|
2844
|
+
const callback = args instanceof Hct ? (context) => context.variant.customPalettes(context, args) : args;
|
|
2845
|
+
if (this._palettes[key]) {
|
|
2846
|
+
this.update(key, callback);
|
|
2847
|
+
} else {
|
|
2848
|
+
const palette = new Palette(key, callback, this.context);
|
|
2849
|
+
this.set(key, palette);
|
|
2850
|
+
const isVariantPalette = !!this.context.variant.palettes[key];
|
|
2851
|
+
if (!isVariantPalette) {
|
|
2852
|
+
this.colorApi.addFromCustomPalette(key);
|
|
2853
|
+
}
|
|
2802
2854
|
}
|
|
2803
|
-
this.set(key, args);
|
|
2804
2855
|
}
|
|
2805
2856
|
}
|
|
2806
2857
|
const PaletteModule = {
|
|
@@ -3842,6 +3893,13 @@ const Variants = {
|
|
|
3842
3893
|
Vibrant: vibrantVariant,
|
|
3843
3894
|
Udixio: udixioVariant
|
|
3844
3895
|
};
|
|
3896
|
+
function getVariantByName(name) {
|
|
3897
|
+
const found = Object.values(Variants).find((v) => v.name === name);
|
|
3898
|
+
if (!found) {
|
|
3899
|
+
throw new Error(`Unknown variant: "${name}". Known: ${Object.values(Variants).map((v) => v.name).join(", ")}`);
|
|
3900
|
+
}
|
|
3901
|
+
return found;
|
|
3902
|
+
}
|
|
3845
3903
|
const loader = async (config, load = true) => {
|
|
3846
3904
|
const api = bootstrap();
|
|
3847
3905
|
const init = () => {
|
|
@@ -3893,6 +3951,7 @@ exports.Context = Context;
|
|
|
3893
3951
|
exports.ContextModule = ContextModule;
|
|
3894
3952
|
exports.ContrastCurve = ContrastCurve;
|
|
3895
3953
|
exports.DynamicColor = DynamicColor;
|
|
3954
|
+
exports.Hct = Hct;
|
|
3896
3955
|
exports.Palette = Palette;
|
|
3897
3956
|
exports.PaletteApi = PaletteApi;
|
|
3898
3957
|
exports.PaletteModule = PaletteModule;
|
|
@@ -3907,6 +3966,7 @@ exports.expressiveVariant = expressiveVariant;
|
|
|
3907
3966
|
exports.getInitialToneFromBackground = getInitialToneFromBackground;
|
|
3908
3967
|
exports.getPiecewiseHue = getPiecewiseHue;
|
|
3909
3968
|
exports.getRotatedHue = getRotatedHue;
|
|
3969
|
+
exports.getVariantByName = getVariantByName;
|
|
3910
3970
|
exports.highestSurface = highestSurface$1;
|
|
3911
3971
|
exports.loader = loader;
|
|
3912
3972
|
exports.neutralVariant = neutralVariant;
|
|
@@ -2662,6 +2662,14 @@ class Palette {
|
|
|
2662
2662
|
this.chromaCache = result.chroma;
|
|
2663
2663
|
}
|
|
2664
2664
|
}
|
|
2665
|
+
setCallback(callback) {
|
|
2666
|
+
this.callback = callback;
|
|
2667
|
+
this.dependencies = null;
|
|
2668
|
+
this.cache.clear();
|
|
2669
|
+
this.hueCache = null;
|
|
2670
|
+
this.chromaCache = null;
|
|
2671
|
+
this.update([]);
|
|
2672
|
+
}
|
|
2665
2673
|
clearCache() {
|
|
2666
2674
|
this.cache.clear();
|
|
2667
2675
|
this.hueCache = null;
|
|
@@ -2738,6 +2746,31 @@ class PaletteApi {
|
|
|
2738
2746
|
}
|
|
2739
2747
|
});
|
|
2740
2748
|
}
|
|
2749
|
+
override(args) {
|
|
2750
|
+
Object.entries(args).forEach(([key, callback]) => {
|
|
2751
|
+
if (typeof callback === "string") {
|
|
2752
|
+
this.paletteManager.override(key, Hct.fromInt(argbFromHex(callback)));
|
|
2753
|
+
} else {
|
|
2754
|
+
this.paletteManager.override(key, callback);
|
|
2755
|
+
}
|
|
2756
|
+
});
|
|
2757
|
+
}
|
|
2758
|
+
getSerializableState() {
|
|
2759
|
+
const result = {};
|
|
2760
|
+
for (const [key, palette] of Object.entries(this.paletteManager._palettes)) {
|
|
2761
|
+
result[key] = { hue: palette.hue, chroma: palette.chroma };
|
|
2762
|
+
}
|
|
2763
|
+
return result;
|
|
2764
|
+
}
|
|
2765
|
+
sync(args) {
|
|
2766
|
+
const incoming = new Set(Object.keys(args ?? {}));
|
|
2767
|
+
Object.keys(this.paletteManager._palettes).forEach((key) => {
|
|
2768
|
+
if (!incoming.has(key)) {
|
|
2769
|
+
this.paletteManager.remove(key);
|
|
2770
|
+
}
|
|
2771
|
+
});
|
|
2772
|
+
if (args) this.override(args);
|
|
2773
|
+
}
|
|
2741
2774
|
get(key) {
|
|
2742
2775
|
return this.paletteManager.get(key);
|
|
2743
2776
|
}
|
|
@@ -2793,13 +2826,31 @@ class PaletteManager {
|
|
|
2793
2826
|
this._palettes[key] = palette;
|
|
2794
2827
|
}
|
|
2795
2828
|
update(key, args) {
|
|
2796
|
-
|
|
2829
|
+
const existing = this._palettes[key];
|
|
2830
|
+
if (!existing) {
|
|
2797
2831
|
throw new Error(`Palette with key ${key} not found`);
|
|
2798
2832
|
}
|
|
2799
|
-
if (
|
|
2800
|
-
|
|
2833
|
+
if (args instanceof Palette) {
|
|
2834
|
+
this.set(key, args);
|
|
2835
|
+
} else {
|
|
2836
|
+
existing.setCallback(args);
|
|
2837
|
+
}
|
|
2838
|
+
}
|
|
2839
|
+
remove(key) {
|
|
2840
|
+
delete this._palettes[key];
|
|
2841
|
+
}
|
|
2842
|
+
override(key, args) {
|
|
2843
|
+
const callback = args instanceof Hct ? (context) => context.variant.customPalettes(context, args) : args;
|
|
2844
|
+
if (this._palettes[key]) {
|
|
2845
|
+
this.update(key, callback);
|
|
2846
|
+
} else {
|
|
2847
|
+
const palette = new Palette(key, callback, this.context);
|
|
2848
|
+
this.set(key, palette);
|
|
2849
|
+
const isVariantPalette = !!this.context.variant.palettes[key];
|
|
2850
|
+
if (!isVariantPalette) {
|
|
2851
|
+
this.colorApi.addFromCustomPalette(key);
|
|
2852
|
+
}
|
|
2801
2853
|
}
|
|
2802
|
-
this.set(key, args);
|
|
2803
2854
|
}
|
|
2804
2855
|
}
|
|
2805
2856
|
const PaletteModule = {
|
|
@@ -3841,6 +3892,13 @@ const Variants = {
|
|
|
3841
3892
|
Vibrant: vibrantVariant,
|
|
3842
3893
|
Udixio: udixioVariant
|
|
3843
3894
|
};
|
|
3895
|
+
function getVariantByName(name) {
|
|
3896
|
+
const found = Object.values(Variants).find((v) => v.name === name);
|
|
3897
|
+
if (!found) {
|
|
3898
|
+
throw new Error(`Unknown variant: "${name}". Known: ${Object.values(Variants).map((v) => v.name).join(", ")}`);
|
|
3899
|
+
}
|
|
3900
|
+
return found;
|
|
3901
|
+
}
|
|
3844
3902
|
const loader = async (config, load = true) => {
|
|
3845
3903
|
const api = bootstrap();
|
|
3846
3904
|
const init = () => {
|
|
@@ -3880,12 +3938,14 @@ const loader = async (config, load = true) => {
|
|
|
3880
3938
|
};
|
|
3881
3939
|
export {
|
|
3882
3940
|
API as A,
|
|
3883
|
-
|
|
3941
|
+
neutralVariant as B,
|
|
3884
3942
|
Color as C,
|
|
3885
3943
|
DynamicColor as D,
|
|
3886
|
-
|
|
3887
|
-
|
|
3888
|
-
|
|
3944
|
+
tonalSpotVariant as E,
|
|
3945
|
+
toneDeltaPair as F,
|
|
3946
|
+
variant as G,
|
|
3947
|
+
Hct as H,
|
|
3948
|
+
vibrantVariant as I,
|
|
3889
3949
|
Palette as P,
|
|
3890
3950
|
Variant as V,
|
|
3891
3951
|
AppContainer as a,
|
|
@@ -3911,7 +3971,7 @@ export {
|
|
|
3911
3971
|
getInitialToneFromBackground as u,
|
|
3912
3972
|
getPiecewiseHue as v,
|
|
3913
3973
|
getRotatedHue as w,
|
|
3914
|
-
|
|
3915
|
-
|
|
3916
|
-
|
|
3974
|
+
getVariantByName as x,
|
|
3975
|
+
highestSurface$1 as y,
|
|
3976
|
+
loader as z
|
|
3917
3977
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/material-color-utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/material-color-utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,OAAO,CAAC"}
|
package/dist/node.cjs
CHANGED
|
@@ -22,9 +22,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
22
22
|
mod
|
|
23
23
|
));
|
|
24
24
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
25
|
-
const loader = require("./loader-
|
|
26
|
-
const
|
|
27
|
-
const loadFromPath = require("./load-from-path-
|
|
25
|
+
const loader = require("./loader-BN_VoxCd.cjs");
|
|
26
|
+
const serialize = require("./serialize-DBJHQrbL.cjs");
|
|
27
|
+
const loadFromPath = require("./load-from-path-CuBpH2Cs.cjs");
|
|
28
28
|
let unpluginInstance = null;
|
|
29
29
|
const createUnpluginTheme = async () => {
|
|
30
30
|
if (unpluginInstance) {
|
|
@@ -161,6 +161,7 @@ exports.Context = loader.Context;
|
|
|
161
161
|
exports.ContextModule = loader.ContextModule;
|
|
162
162
|
exports.ContrastCurve = loader.ContrastCurve;
|
|
163
163
|
exports.DynamicColor = loader.DynamicColor;
|
|
164
|
+
exports.Hct = loader.Hct;
|
|
164
165
|
exports.Palette = loader.Palette;
|
|
165
166
|
exports.PaletteApi = loader.PaletteApi;
|
|
166
167
|
exports.PaletteModule = loader.PaletteModule;
|
|
@@ -175,6 +176,7 @@ exports.expressiveVariant = loader.expressiveVariant;
|
|
|
175
176
|
exports.getInitialToneFromBackground = loader.getInitialToneFromBackground;
|
|
176
177
|
exports.getPiecewiseHue = loader.getPiecewiseHue;
|
|
177
178
|
exports.getRotatedHue = loader.getRotatedHue;
|
|
179
|
+
exports.getVariantByName = loader.getVariantByName;
|
|
178
180
|
exports.highestSurface = loader.highestSurface;
|
|
179
181
|
exports.loader = loader.loader;
|
|
180
182
|
exports.neutralVariant = loader.neutralVariant;
|
|
@@ -182,11 +184,12 @@ exports.tonalSpotVariant = loader.tonalSpotVariant;
|
|
|
182
184
|
exports.toneDeltaPair = loader.toneDeltaPair;
|
|
183
185
|
exports.variant = loader.variant;
|
|
184
186
|
exports.vibrantVariant = loader.vibrantVariant;
|
|
185
|
-
exports.FontFamily =
|
|
186
|
-
exports.FontPlugin =
|
|
187
|
-
exports.PluginAbstract =
|
|
188
|
-
exports.PluginImplAbstract =
|
|
189
|
-
exports.defineConfig =
|
|
187
|
+
exports.FontFamily = serialize.FontFamily;
|
|
188
|
+
exports.FontPlugin = serialize.FontPlugin;
|
|
189
|
+
exports.PluginAbstract = serialize.PluginAbstract;
|
|
190
|
+
exports.PluginImplAbstract = serialize.PluginImplAbstract;
|
|
191
|
+
exports.defineConfig = serialize.defineConfig;
|
|
192
|
+
exports.serializeThemeContext = serialize.serializeThemeContext;
|
|
190
193
|
exports.loadFromPath = loadFromPath.loadFromPath;
|
|
191
194
|
exports.resolveConfig = loadFromPath.resolveConfig;
|
|
192
195
|
exports.esbuildPlugin = esbuildPlugin;
|
package/dist/node.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { A, a, b, C, c, d, e, f, g, h, i, j, k, D, P, l, m, n, o, V, p, q, r, s, t, u, v, w, x, y, z, B, E, F, G } from "./loader-
|
|
2
|
-
import { F as F2, a as a2, P as P2, b as b2, d as d2 } from "./
|
|
3
|
-
import { l as loadFromPath } from "./load-from-path-
|
|
4
|
-
import { r as r2 } from "./load-from-path-
|
|
1
|
+
import { A, a, b, C, c, d, e, f, g, h, i, j, k, D, H, P, l, m, n, o, V, p, q, r, s, t, u, v, w, x, y, z, B, E, F, G, I } from "./loader-J0nrh600.js";
|
|
2
|
+
import { F as F2, a as a2, P as P2, b as b2, d as d2, s as s2 } from "./serialize-FzII8uv3.js";
|
|
3
|
+
import { l as loadFromPath } from "./load-from-path-CvD4a_os.js";
|
|
4
|
+
import { r as r2 } from "./load-from-path-CvD4a_os.js";
|
|
5
5
|
let unpluginInstance = null;
|
|
6
6
|
const createUnpluginTheme = async () => {
|
|
7
7
|
if (unpluginInstance) {
|
|
@@ -141,6 +141,7 @@ export {
|
|
|
141
141
|
D as DynamicColor,
|
|
142
142
|
F2 as FontFamily,
|
|
143
143
|
a2 as FontPlugin,
|
|
144
|
+
H as Hct,
|
|
144
145
|
P as Palette,
|
|
145
146
|
l as PaletteApi,
|
|
146
147
|
m as PaletteModule,
|
|
@@ -159,17 +160,19 @@ export {
|
|
|
159
160
|
u as getInitialToneFromBackground,
|
|
160
161
|
v as getPiecewiseHue,
|
|
161
162
|
w as getRotatedHue,
|
|
162
|
-
x as
|
|
163
|
+
x as getVariantByName,
|
|
164
|
+
y as highestSurface,
|
|
163
165
|
loadFromPath,
|
|
164
|
-
|
|
165
|
-
|
|
166
|
+
z as loader,
|
|
167
|
+
B as neutralVariant,
|
|
166
168
|
r2 as resolveConfig,
|
|
167
169
|
rollupPlugin,
|
|
168
|
-
|
|
169
|
-
E as
|
|
170
|
+
s2 as serializeThemeContext,
|
|
171
|
+
E as tonalSpotVariant,
|
|
172
|
+
F as toneDeltaPair,
|
|
170
173
|
unpluginUdixioTheme,
|
|
171
|
-
|
|
172
|
-
|
|
174
|
+
G as variant,
|
|
175
|
+
I as vibrantVariant,
|
|
173
176
|
vitePlugin,
|
|
174
177
|
webpackPlugin
|
|
175
178
|
};
|
|
@@ -7,6 +7,12 @@ export declare class PaletteApi {
|
|
|
7
7
|
paletteManager: PaletteManager;
|
|
8
8
|
});
|
|
9
9
|
add(args: Record<string, PaletteCallback | string>): void;
|
|
10
|
+
override(args: Record<string, PaletteCallback | string>): void;
|
|
11
|
+
getSerializableState(): Record<string, {
|
|
12
|
+
hue: number;
|
|
13
|
+
chroma: number;
|
|
14
|
+
}>;
|
|
15
|
+
sync(args: Record<string, PaletteCallback | string> | undefined): void;
|
|
10
16
|
get(key: 'primary' | 'secondary' | 'tertiary' | 'neutral' | 'neutralVariant' | 'error' | string): Palette;
|
|
11
17
|
getAll(): Readonly<Record<string, Palette>>;
|
|
12
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"palette.api.d.ts","sourceRoot":"","sources":["../../src/palette/palette.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAIrD,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEhE,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;gBACpC,EAAE,cAAc,EAAE,EAAE;QAAE,cAAc,EAAE,cAAc,CAAA;KAAE;IAIlE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC,GAAG,IAAI;IAazD,GAAG,CACD,GAAG,EACC,SAAS,GACT,WAAW,GACX,UAAU,GACV,SAAS,GACT,gBAAgB,GAChB,OAAO,GACP,MAAM,GACT,OAAO;IAIV,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAG5C"}
|
|
1
|
+
{"version":3,"file":"palette.api.d.ts","sourceRoot":"","sources":["../../src/palette/palette.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAIrD,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEhE,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;gBACpC,EAAE,cAAc,EAAE,EAAE;QAAE,cAAc,EAAE,cAAc,CAAA;KAAE;IAIlE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC,GAAG,IAAI;IAazD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC,GAAG,IAAI;IAU9D,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAQvE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI;IAUtE,GAAG,CACD,GAAG,EACC,SAAS,GACT,WAAW,GACX,UAAU,GACV,SAAS,GACT,gBAAgB,GAChB,OAAO,GACP,MAAM,GACT,OAAO;IAIV,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAG5C"}
|
|
@@ -15,6 +15,7 @@ export declare class Palette {
|
|
|
15
15
|
constructor(name: string, callback: PaletteCallback, context: Context);
|
|
16
16
|
static fromVariant(name: string, color: Hct, ctx: Context): Palette;
|
|
17
17
|
update(change: Partial<keyof Context>[]): void;
|
|
18
|
+
setCallback(callback: PaletteCallback): void;
|
|
18
19
|
private clearCache;
|
|
19
20
|
/**
|
|
20
21
|
* @param tone HCT tone, measured from 0 to 100.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../src/palette/palette.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,qBAAa,OAAO;IAQT,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,OAAO;IATzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,WAAW,CAAuB;IAE1C,OAAO,CAAC,YAAY,CAAkC;gBAG7C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO;IAKzB,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO;IAOnE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,OAAO,CAAC,EAAE,GAAG,IAAI;IA6B9C,OAAO,CAAC,UAAU;IAMlB;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAmB1B;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAIzB,IAAI,GAAG,IAAI,MAAM,CAMhB;IACD,IAAI,MAAM,IAAI,MAAM,CAMnB;IAED,OAAO,CAAC,WAAW;CAkBpB"}
|
|
1
|
+
{"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../src/palette/palette.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,qBAAa,OAAO;IAQT,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,OAAO;IATzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,WAAW,CAAuB;IAE1C,OAAO,CAAC,YAAY,CAAkC;gBAG7C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO;IAKzB,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO;IAOnE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,OAAO,CAAC,EAAE,GAAG,IAAI;IA6B9C,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAS5C,OAAO,CAAC,UAAU;IAMlB;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAmB1B;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAIzB,IAAI,GAAG,IAAI,MAAM,CAMhB;IACD,IAAI,MAAM,IAAI,MAAM,CAMnB;IAED,OAAO,CAAC,WAAW;CAkBpB"}
|
|
@@ -16,5 +16,7 @@ export declare class PaletteManager {
|
|
|
16
16
|
get(key: 'primary' | 'secondary' | 'tertiary' | 'neutral' | 'neutralVariant' | 'error' | string): Palette;
|
|
17
17
|
private set;
|
|
18
18
|
update(key: string, args: PaletteCallback | Palette): void;
|
|
19
|
+
remove(key: string): void;
|
|
20
|
+
override(key: string, args: Hct | PaletteCallback): void;
|
|
19
21
|
}
|
|
20
22
|
//# sourceMappingURL=palette.manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"palette.manager.d.ts","sourceRoot":"","sources":["../../src/palette/palette.manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,qBAAa,cAAc;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IAEnB,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAKhD;gBAEW,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE;IAW1D,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,eAAe,GAAG,IAAI;IAWhE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,GAAG,IAAI;IAS1D,GAAG,CACD,GAAG,EACC,SAAS,GACT,WAAW,GACX,UAAU,GACV,SAAS,GACT,gBAAgB,GAChB,OAAO,GACP,MAAM,GACT,OAAO;IAQV,OAAO,CAAC,GAAG;IAIX,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"palette.manager.d.ts","sourceRoot":"","sources":["../../src/palette/palette.manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,qBAAa,cAAc;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IAEnB,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAKhD;gBAEW,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE;IAW1D,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,eAAe,GAAG,IAAI;IAWhE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,GAAG,IAAI;IAS1D,GAAG,CACD,GAAG,EACC,SAAS,GACT,WAAW,GACX,UAAU,GACV,SAAS,GACT,gBAAgB,GAChB,OAAO,GACP,MAAM,GACT,OAAO;IAQV,OAAO,CAAC,GAAG;IAIX,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,GAAG,IAAI;IAY1D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,eAAe,GAAG,IAAI;CAiBzD"}
|
|
@@ -7,6 +7,7 @@ export declare abstract class PluginAbstract<Plugin extends PluginImplAbstract<O
|
|
|
7
7
|
abstract readonly pluginClass: PluginConstructor<Plugin>;
|
|
8
8
|
protected pluginInstance: Plugin | undefined;
|
|
9
9
|
constructor(options: Options);
|
|
10
|
+
toSerializable(): Options;
|
|
10
11
|
init(api: API): this;
|
|
11
12
|
getInstance(): Plugin;
|
|
12
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.abstract.d.ts","sourceRoot":"","sources":["../../src/plugin/plugin.abstract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,MAAM,MAAM,iBAAiB,CAAC,MAAM,SAAS,kBAAkB,CAAC,GAAG,CAAC,IAAI,KACtE,GAAG,IAAI,EAAE,GAAG,KACT,MAAM,CAAC;AAEZ,8BAAsB,cAAc,CAClC,MAAM,SAAS,kBAAkB,CAAC,OAAO,CAAC,EAC1C,OAAO,SAAS,MAAM;IAEtB,kBAAyB,YAAY,EAAE,CAAC,KACtC,GAAG,IAAI,EAAE,GAAG,KACT,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IACjC,kBAAyB,IAAI,EAAE,MAAM,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACxB,kBAAyB,WAAW,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChE,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEjC,OAAO,EAAE,OAAO;IAIrB,IAAI,CAAC,GAAG,EAAE,GAAG;IAMb,WAAW,IAAI,MAAM;CAM7B;AAED,8BAAsB,kBAAkB,CAAC,OAAO,SAAS,MAAM;IAE3D,SAAS,CAAC,GAAG,EAAE,GAAG;IAClB,SAAS,CAAC,OAAO,EAAE,OAAO;gBADhB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO;IAK5B,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI;IAExB,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI;CACzB"}
|
|
1
|
+
{"version":3,"file":"plugin.abstract.d.ts","sourceRoot":"","sources":["../../src/plugin/plugin.abstract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,MAAM,MAAM,iBAAiB,CAAC,MAAM,SAAS,kBAAkB,CAAC,GAAG,CAAC,IAAI,KACtE,GAAG,IAAI,EAAE,GAAG,KACT,MAAM,CAAC;AAEZ,8BAAsB,cAAc,CAClC,MAAM,SAAS,kBAAkB,CAAC,OAAO,CAAC,EAC1C,OAAO,SAAS,MAAM;IAEtB,kBAAyB,YAAY,EAAE,CAAC,KACtC,GAAG,IAAI,EAAE,GAAG,KACT,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IACjC,kBAAyB,IAAI,EAAE,MAAM,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACxB,kBAAyB,WAAW,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChE,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEjC,OAAO,EAAE,OAAO;IAIrB,cAAc,IAAI,OAAO;IAQzB,IAAI,CAAC,GAAG,EAAE,GAAG;IAMb,WAAW,IAAI,MAAM;CAM7B;AAED,8BAAsB,kBAAkB,CAAC,OAAO,SAAS,MAAM;IAE3D,SAAS,CAAC,GAAG,EAAE,GAAG;IAClB,SAAS,CAAC,OAAO,EAAE,OAAO;gBADhB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO;IAK5B,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI;IAExB,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI;CACzB"}
|
|
@@ -2,13 +2,21 @@
|
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
4
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
-
require("./loader-
|
|
5
|
+
require("./loader-BN_VoxCd.cjs");
|
|
6
6
|
class PluginAbstract {
|
|
7
7
|
constructor(options) {
|
|
8
8
|
__publicField(this, "options");
|
|
9
9
|
__publicField(this, "pluginInstance");
|
|
10
10
|
this.options = options;
|
|
11
11
|
}
|
|
12
|
+
toSerializable() {
|
|
13
|
+
return JSON.parse(
|
|
14
|
+
JSON.stringify(
|
|
15
|
+
this.options,
|
|
16
|
+
(_key, value) => typeof value === "function" ? void 0 : value
|
|
17
|
+
)
|
|
18
|
+
);
|
|
19
|
+
}
|
|
12
20
|
init(api) {
|
|
13
21
|
var _a, _b;
|
|
14
22
|
this.pluginInstance = new this.pluginClass(api, this.options);
|
|
@@ -220,8 +228,19 @@ class FontPluginImpl extends PluginImplAbstract {
|
|
|
220
228
|
});
|
|
221
229
|
}
|
|
222
230
|
}
|
|
231
|
+
function serializeThemeContext(api) {
|
|
232
|
+
const sc = api.context.sourceColor;
|
|
233
|
+
return {
|
|
234
|
+
isDark: api.context.isDark,
|
|
235
|
+
contrastLevel: api.context.contrastLevel,
|
|
236
|
+
sourceColor: { hue: sc.hue, chroma: sc.chroma, tone: sc.tone },
|
|
237
|
+
variantName: api.context.variant.name,
|
|
238
|
+
palettes: api.palettes.getSerializableState()
|
|
239
|
+
};
|
|
240
|
+
}
|
|
223
241
|
exports.FontFamily = FontFamily;
|
|
224
242
|
exports.FontPlugin = FontPlugin;
|
|
225
243
|
exports.PluginAbstract = PluginAbstract;
|
|
226
244
|
exports.PluginImplAbstract = PluginImplAbstract;
|
|
227
245
|
exports.defineConfig = defineConfig;
|
|
246
|
+
exports.serializeThemeContext = serializeThemeContext;
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
-
import "./loader-
|
|
4
|
+
import "./loader-J0nrh600.js";
|
|
5
5
|
class PluginAbstract {
|
|
6
6
|
constructor(options) {
|
|
7
7
|
__publicField(this, "options");
|
|
8
8
|
__publicField(this, "pluginInstance");
|
|
9
9
|
this.options = options;
|
|
10
10
|
}
|
|
11
|
+
toSerializable() {
|
|
12
|
+
return JSON.parse(
|
|
13
|
+
JSON.stringify(
|
|
14
|
+
this.options,
|
|
15
|
+
(_key, value) => typeof value === "function" ? void 0 : value
|
|
16
|
+
)
|
|
17
|
+
);
|
|
18
|
+
}
|
|
11
19
|
init(api) {
|
|
12
20
|
var _a, _b;
|
|
13
21
|
this.pluginInstance = new this.pluginClass(api, this.options);
|
|
@@ -219,10 +227,21 @@ class FontPluginImpl extends PluginImplAbstract {
|
|
|
219
227
|
});
|
|
220
228
|
}
|
|
221
229
|
}
|
|
230
|
+
function serializeThemeContext(api) {
|
|
231
|
+
const sc = api.context.sourceColor;
|
|
232
|
+
return {
|
|
233
|
+
isDark: api.context.isDark,
|
|
234
|
+
contrastLevel: api.context.contrastLevel,
|
|
235
|
+
sourceColor: { hue: sc.hue, chroma: sc.chroma, tone: sc.tone },
|
|
236
|
+
variantName: api.context.variant.name,
|
|
237
|
+
palettes: api.palettes.getSerializableState()
|
|
238
|
+
};
|
|
239
|
+
}
|
|
222
240
|
export {
|
|
223
241
|
FontFamily as F,
|
|
224
242
|
PluginAbstract as P,
|
|
225
243
|
FontPlugin as a,
|
|
226
244
|
PluginImplAbstract as b,
|
|
227
|
-
defineConfig as d
|
|
245
|
+
defineConfig as d,
|
|
246
|
+
serializeThemeContext as s
|
|
228
247
|
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { API } from './API';
|
|
2
|
+
export interface ThemeContextSnapshot {
|
|
3
|
+
isDark: boolean;
|
|
4
|
+
contrastLevel: number;
|
|
5
|
+
sourceColor: {
|
|
6
|
+
hue: number;
|
|
7
|
+
chroma: number;
|
|
8
|
+
tone: number;
|
|
9
|
+
};
|
|
10
|
+
variantName: string;
|
|
11
|
+
palettes: Record<string, {
|
|
12
|
+
hue: number;
|
|
13
|
+
chroma: number;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
export declare function serializeThemeContext(api: API): ThemeContextSnapshot;
|
|
17
|
+
//# sourceMappingURL=serialize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../src/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3D;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,GAAG,oBAAoB,CASpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/variant/variants/index.ts"],"names":[],"mappings":"AAMA,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAElC,eAAO,MAAM,QAAQ;;;;;;CAMpB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/variant/variants/index.ts"],"names":[],"mappings":"AAMA,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAElC,eAAO,MAAM,QAAQ;;;;;;CAMpB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAMvF"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -24,6 +24,34 @@ export class PaletteApi {
|
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
override(args: Record<string, PaletteCallback | string>): void {
|
|
28
|
+
Object.entries(args).forEach(([key, callback]) => {
|
|
29
|
+
if (typeof callback === 'string') {
|
|
30
|
+
this.paletteManager.override(key, Hct.fromInt(argbFromHex(callback)));
|
|
31
|
+
} else {
|
|
32
|
+
this.paletteManager.override(key, callback);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
getSerializableState(): Record<string, { hue: number; chroma: number }> {
|
|
38
|
+
const result: Record<string, { hue: number; chroma: number }> = {};
|
|
39
|
+
for (const [key, palette] of Object.entries(this.paletteManager._palettes)) {
|
|
40
|
+
result[key] = { hue: palette.hue, chroma: palette.chroma };
|
|
41
|
+
}
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
sync(args: Record<string, PaletteCallback | string> | undefined): void {
|
|
46
|
+
const incoming = new Set(Object.keys(args ?? {}));
|
|
47
|
+
Object.keys(this.paletteManager._palettes).forEach((key) => {
|
|
48
|
+
if (!incoming.has(key)) {
|
|
49
|
+
this.paletteManager.remove(key);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
if (args) this.override(args);
|
|
53
|
+
}
|
|
54
|
+
|
|
27
55
|
get(
|
|
28
56
|
key:
|
|
29
57
|
| 'primary'
|
|
@@ -68,12 +68,36 @@ export class PaletteManager {
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
update(key: string, args: PaletteCallback | Palette): void {
|
|
71
|
-
|
|
71
|
+
const existing = this._palettes[key];
|
|
72
|
+
if (!existing) {
|
|
72
73
|
throw new Error(`Palette with key ${key} not found`);
|
|
73
74
|
}
|
|
74
|
-
if (
|
|
75
|
-
|
|
75
|
+
if (args instanceof Palette) {
|
|
76
|
+
this.set(key, args);
|
|
77
|
+
} else {
|
|
78
|
+
existing.setCallback(args);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
remove(key: string): void {
|
|
83
|
+
delete this._palettes[key];
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
override(key: string, args: Hct | PaletteCallback): void {
|
|
87
|
+
const callback: PaletteCallback =
|
|
88
|
+
args instanceof Hct
|
|
89
|
+
? (context) => context.variant.customPalettes(context, args)
|
|
90
|
+
: args;
|
|
91
|
+
|
|
92
|
+
if (this._palettes[key]) {
|
|
93
|
+
this.update(key, callback);
|
|
94
|
+
} else {
|
|
95
|
+
const palette = new Palette(key, callback, this.context);
|
|
96
|
+
this.set(key, palette);
|
|
97
|
+
const isVariantPalette = !!this.context.variant.palettes[key];
|
|
98
|
+
if (!isVariantPalette) {
|
|
99
|
+
this.colorApi.addFromCustomPalette(key);
|
|
100
|
+
}
|
|
76
101
|
}
|
|
77
|
-
this.set(key, args);
|
|
78
102
|
}
|
|
79
103
|
}
|
package/src/palette/palette.ts
CHANGED
|
@@ -57,6 +57,15 @@ export class Palette {
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
+
setCallback(callback: PaletteCallback): void {
|
|
61
|
+
this.callback = callback;
|
|
62
|
+
this.dependencies = null;
|
|
63
|
+
this.cache.clear();
|
|
64
|
+
this.hueCache = null;
|
|
65
|
+
this.chromaCache = null;
|
|
66
|
+
this.update([]);
|
|
67
|
+
}
|
|
68
|
+
|
|
60
69
|
private clearCache() {
|
|
61
70
|
this.cache.clear();
|
|
62
71
|
this.hueCache = null;
|
|
@@ -20,6 +20,14 @@ export abstract class PluginAbstract<
|
|
|
20
20
|
this.options = options;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
public toSerializable(): Options {
|
|
24
|
+
return JSON.parse(
|
|
25
|
+
JSON.stringify(this.options, (_key, value) =>
|
|
26
|
+
typeof value === 'function' ? undefined : value,
|
|
27
|
+
),
|
|
28
|
+
) as Options;
|
|
29
|
+
}
|
|
30
|
+
|
|
23
31
|
public init(api: API) {
|
|
24
32
|
this.pluginInstance = new this.pluginClass(api, this.options);
|
|
25
33
|
this.pluginInstance.onInit?.();
|
package/src/serialize.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { API } from './API';
|
|
2
|
+
|
|
3
|
+
export interface ThemeContextSnapshot {
|
|
4
|
+
isDark: boolean;
|
|
5
|
+
contrastLevel: number;
|
|
6
|
+
sourceColor: { hue: number; chroma: number; tone: number };
|
|
7
|
+
variantName: string;
|
|
8
|
+
palettes: Record<string, { hue: number; chroma: number }>;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export function serializeThemeContext(api: API): ThemeContextSnapshot {
|
|
12
|
+
const sc = api.context.sourceColor;
|
|
13
|
+
return {
|
|
14
|
+
isDark: api.context.isDark,
|
|
15
|
+
contrastLevel: api.context.contrastLevel,
|
|
16
|
+
sourceColor: { hue: sc.hue, chroma: sc.chroma, tone: sc.tone },
|
|
17
|
+
variantName: api.context.variant.name,
|
|
18
|
+
palettes: api.palettes.getSerializableState(),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -16,3 +16,11 @@ export const Variants = {
|
|
|
16
16
|
Vibrant: vibrantVariant,
|
|
17
17
|
Udixio: udixioVariant,
|
|
18
18
|
};
|
|
19
|
+
|
|
20
|
+
export function getVariantByName(name: string): (typeof Variants)[keyof typeof Variants] {
|
|
21
|
+
const found = Object.values(Variants).find((v) => v.name === name);
|
|
22
|
+
if (!found) {
|
|
23
|
+
throw new Error(`Unknown variant: "${name}". Known: ${Object.values(Variants).map((v) => v.name).join(', ')}`);
|
|
24
|
+
}
|
|
25
|
+
return found;
|
|
26
|
+
}
|