@pixerate/editor 0.250.0 → 0.252.0
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/agent/index.cjs +40 -41
- package/dist/agent/index.js +9 -10
- package/dist/animation/index.cjs +6 -7
- package/dist/animation/index.js +5 -6
- package/dist/animation-editor/index.cjs +70 -70
- package/dist/animation-editor/index.js +12 -12
- package/dist/brushes/index.cjs +2087 -0
- package/dist/brushes/index.d.cts +17 -0
- package/dist/brushes/index.d.ts +17 -0
- package/dist/brushes/index.js +2087 -0
- package/dist/brushes/library.d.cts +104 -0
- package/dist/brushes/library.d.ts +104 -0
- package/dist/brushes/migrate.d.cts +17 -0
- package/dist/brushes/migrate.d.ts +17 -0
- package/dist/brushes/normalize.d.cts +15 -0
- package/dist/brushes/normalize.d.ts +15 -0
- package/dist/brushes/presets.d.cts +12 -0
- package/dist/brushes/presets.d.ts +12 -0
- package/dist/brushes/profiles.d.cts +85 -0
- package/dist/brushes/profiles.d.ts +85 -0
- package/dist/brushes/resolve.d.cts +56 -0
- package/dist/brushes/resolve.d.ts +56 -0
- package/dist/brushes/schema.d.cts +29 -0
- package/dist/brushes/schema.d.ts +29 -0
- package/dist/brushes/tools.d.cts +37 -0
- package/dist/brushes/tools.d.ts +37 -0
- package/dist/brushes/types.d.cts +323 -0
- package/dist/brushes/types.d.ts +323 -0
- package/dist/{brushstrokeRender-2FHFLSEG.js → brushstrokeRender-5PYSKZIJ.js} +8 -8
- package/dist/{brushstrokeRender-QGRXOKDA.cjs → brushstrokeRender-7FLLSQEC.cjs} +14 -14
- package/dist/canvas/index.cjs +57 -58
- package/dist/canvas/index.js +31 -32
- package/dist/chart/index.cjs +159 -160
- package/dist/chart/index.js +9 -10
- package/dist/{chunk-NOHJP5TK.js → chunk-2ZJ4DT3M.js} +1 -1
- package/dist/{chunk-XZNU4DUX.cjs → chunk-3NS5C7FB.cjs} +76 -76
- package/dist/{chunk-UTI5IITZ.cjs → chunk-4ZC5QJE2.cjs} +3 -3
- package/dist/{chunk-SMSGP2HQ.js → chunk-5JNA6LLY.js} +1 -1
- package/dist/{chunk-RD7RX52G.cjs → chunk-5UEFBM2M.cjs} +207 -18
- package/dist/{chunk-WA44NKPF.js → chunk-62Z5WLRA.js} +1 -1
- package/dist/{chunk-BVRRIW7F.js → chunk-6GRUVGKU.js} +3 -3
- package/dist/{chunk-QARCM66V.js → chunk-6ZZKRH7R.js} +3 -3
- package/dist/{chunk-BP6KSGVD.js → chunk-7272D3K2.js} +4 -6
- package/dist/{chunk-NTRAVM2I.js → chunk-7P6VF3FG.js} +2 -2
- package/dist/chunk-APX63ILU.js +173 -0
- package/dist/{chunk-W7L4HUT2.cjs → chunk-CJ6TBL2N.cjs} +16 -16
- package/dist/{chunk-7PT4RJL5.cjs → chunk-EUIDTZNQ.cjs} +111 -113
- package/dist/{chunk-CXXXAZ7H.js → chunk-F6R67I3A.js} +1 -1
- package/dist/{chunk-I7NJPHWV.cjs → chunk-FQPUF2W2.cjs} +35 -606
- package/dist/{chunk-D5KGAO4Z.js → chunk-GCVFEPJG.js} +2 -573
- package/dist/{chunk-LEQKZGQI.js → chunk-GOBOCZZI.js} +1 -1
- package/dist/{chunk-KDLBJ6QR.js → chunk-GYMMNCFT.js} +3 -3
- package/dist/{chunk-NUTMINJZ.cjs → chunk-H7ET2ISK.cjs} +52 -52
- package/dist/chunk-HS6QDWDF.cjs +1029 -0
- package/dist/{chunk-T7KQEMAE.cjs → chunk-HUAISCUX.cjs} +18 -18
- package/dist/{chunk-YGQVCQTG.js → chunk-ILP77UD6.js} +1 -1
- package/dist/{chunk-S6OT6CTS.cjs → chunk-IWEVV63O.cjs} +31 -33
- package/dist/{chunk-M2VKFE5L.cjs → chunk-JFHBXNR2.cjs} +88 -88
- package/dist/{chunk-WPUXGDH4.cjs → chunk-JPEHXIB5.cjs} +10 -10
- package/dist/chunk-JSDND7DF.cjs +173 -0
- package/dist/{chunk-36ZTV7WO.js → chunk-L6Y7TSQ4.js} +1 -1
- package/dist/{chunk-YW43M56C.cjs → chunk-LFMKWGFL.cjs} +1 -1
- package/dist/{chunk-V6DT2CDH.js → chunk-M2TPMYJE.js} +1 -1
- package/dist/{chunk-LJZRHVZV.cjs → chunk-M5GLQQWG.cjs} +2 -2
- package/dist/{chunk-JEGJP4OW.js → chunk-MHLU6GRJ.js} +196 -7
- package/dist/{chunk-KMPM5JM5.js → chunk-MONXNVZK.js} +4 -6
- package/dist/chunk-MTKY6K3Q.js +1029 -0
- package/dist/{chunk-MOW3JMNG.cjs → chunk-N76AMOKE.cjs} +42 -42
- package/dist/{chunk-75K3W4D6.cjs → chunk-NKGB64CW.cjs} +16 -16
- package/dist/{chunk-SGPIVHJB.js → chunk-P3K2JCJA.js} +3 -3
- package/dist/chunk-PXDIAYB6.cjs +594 -0
- package/dist/{chunk-3TWOCSCY.js → chunk-QC3OXRE4.js} +9 -9
- package/dist/{chunk-YM6ZBTXG.cjs → chunk-QLSGTCYT.cjs} +23 -23
- package/dist/{chunk-7YW7T5TJ.js → chunk-RHPSE2YR.js} +2 -2
- package/dist/{chunk-44BMJJVA.cjs → chunk-RUONPPMC.cjs} +8 -8
- package/dist/{chunk-ATK6ABN3.cjs → chunk-SABJMH6M.cjs} +145 -12
- package/dist/{chunk-XWOLPNBW.cjs → chunk-SOSBOS5T.cjs} +22 -22
- package/dist/{chunk-PPFJHTW5.cjs → chunk-TFF2GTGN.cjs} +22 -24
- package/dist/{chunk-X7WRL5ZZ.cjs → chunk-TLOGFIIV.cjs} +37 -37
- package/dist/chunk-TXFWZ5ZJ.js +594 -0
- package/dist/{chunk-GXAK6Q5J.js → chunk-UFEDHACQ.js} +2 -2
- package/dist/{chunk-GA4EU4P3.cjs → chunk-UXETV2NC.cjs} +4 -4
- package/dist/{chunk-N4DFDI73.js → chunk-WKMUBATU.js} +1 -1
- package/dist/{chunk-3R5P3DVY.cjs → chunk-WRZ6C4TU.cjs} +6 -6
- package/dist/{chunk-U4NUOKBT.js → chunk-WZOGDKCQ.js} +134 -1
- package/dist/{chunk-6ADHGQ73.js → chunk-YBAPT7NL.js} +2 -4
- package/dist/color/index.cjs +4 -6
- package/dist/color/index.js +7 -9
- package/dist/export/index.cjs +7 -8
- package/dist/export/index.js +6 -7
- package/dist/extensions/index.cjs +10 -11
- package/dist/extensions/index.js +9 -10
- package/dist/gradient/index.cjs +33 -34
- package/dist/gradient/index.js +4 -5
- package/dist/image-editor/index.cjs +845 -844
- package/dist/image-editor/index.js +39 -38
- package/dist/index.cjs +16 -17
- package/dist/index.js +10 -11
- package/dist/paint/index.cjs +6 -4
- package/dist/paint/index.js +21 -19
- package/dist/paint-editor/brushes.d.cts +1 -2
- package/dist/paint-editor/brushes.d.ts +1 -2
- package/dist/paint-editor/index.cjs +2193 -694
- package/dist/paint-editor/index.js +1575 -76
- package/dist/paint-editor/mark-settings.d.cts +104 -0
- package/dist/paint-editor/mark-settings.d.ts +104 -0
- package/dist/paint-editor/procedural.d.cts +2 -75
- package/dist/paint-editor/procedural.d.ts +2 -75
- package/dist/paint-editor/stickers.d.cts +1 -22
- package/dist/paint-editor/stickers.d.ts +1 -22
- package/dist/raster/index.cjs +2 -2
- package/dist/raster/index.js +9 -9
- package/dist/stickers/index.cjs +10 -10
- package/dist/stickers/index.js +9 -9
- package/dist/tokens/index.cjs +3 -4
- package/dist/tokens/index.js +2 -3
- package/dist/tools/skill-evals.d.cts +8 -1
- package/dist/tools/skill-evals.d.ts +8 -1
- package/dist/typography/index.cjs +7 -8
- package/dist/typography/index.js +2 -3
- package/dist/vector/index.cjs +974 -974
- package/dist/vector/index.js +12 -12
- package/dist/video-editor/index.cjs +6 -7
- package/dist/video-editor/index.js +5 -6
- package/package.json +11 -1
- package/skills/README.md +2 -0
- package/skills/pixerate-brushes/SKILL.md +104 -0
- package/skills/pixerate-brushes-design/SKILL.md +88 -0
- package/skills/pixerate-brushes-design/evals/canvas-chalk.json +15 -0
- package/skills/pixerate-brushes-design/evals/pink-highlighter.json +15 -0
- package/skills/pixerate-brushes-design/evals/port-to-vector.json +17 -0
- package/dist/chunk-4JNWA3VT.cjs +0 -302
- package/dist/chunk-7AHBW2CQ.cjs +0 -200
- package/dist/chunk-F67XMVDI.js +0 -200
- package/dist/chunk-GT77U7QG.cjs +0 -2637
- package/dist/chunk-OTEPAQJX.js +0 -2637
- package/dist/chunk-WKH5ZAUA.js +0 -302
|
@@ -74,7 +74,7 @@ function profileAlongPolyline(points, values, count = 32) {
|
|
|
74
74
|
var round3 = (v) => Math.round(v * 1e3) / 1e3;
|
|
75
75
|
var loading = null;
|
|
76
76
|
function loadCanvasBrushstrokeRenderer() {
|
|
77
|
-
loading ??= import("./brushstrokeRender-
|
|
77
|
+
loading ??= import("./brushstrokeRender-5PYSKZIJ.js").catch((error) => {
|
|
78
78
|
loading = null;
|
|
79
79
|
throw error;
|
|
80
80
|
});
|
|
@@ -5,7 +5,184 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkIPJ3TEYRcjs = require('./chunk-IPJ3TEYR.cjs');
|
|
9
|
+
|
|
10
|
+
// src/color/convert.ts
|
|
11
|
+
function srgbToLinear(v) {
|
|
12
|
+
const sign = Math.sign(v);
|
|
13
|
+
const abs = Math.abs(v);
|
|
14
|
+
return sign * (abs <= 0.04045 ? abs / 12.92 : ((abs + 0.055) / 1.055) ** 2.4);
|
|
15
|
+
}
|
|
16
|
+
function linearToSrgb(v) {
|
|
17
|
+
const sign = Math.sign(v);
|
|
18
|
+
const abs = Math.abs(v);
|
|
19
|
+
return sign * (abs <= 31308e-7 ? 12.92 * abs : 1.055 * abs ** (1 / 2.4) - 0.055);
|
|
20
|
+
}
|
|
21
|
+
function rgbToHsl(rgba) {
|
|
22
|
+
const { r, g, b, a } = rgba;
|
|
23
|
+
const max = Math.max(r, g, b);
|
|
24
|
+
const min = Math.min(r, g, b);
|
|
25
|
+
const d = max - min;
|
|
26
|
+
const l = (max + min) / 2;
|
|
27
|
+
let h = 0;
|
|
28
|
+
if (d > 0) {
|
|
29
|
+
if (max === r) h = 60 * ((g - b) / d % 6);
|
|
30
|
+
else if (max === g) h = 60 * ((b - r) / d + 2);
|
|
31
|
+
else h = 60 * ((r - g) / d + 4);
|
|
32
|
+
}
|
|
33
|
+
if (h < 0) h += 360;
|
|
34
|
+
const s = d === 0 ? 0 : d / (1 - Math.abs(2 * l - 1));
|
|
35
|
+
return { h, s, l, alpha: a };
|
|
36
|
+
}
|
|
37
|
+
function hslToRgb(hsla) {
|
|
38
|
+
const { h, s, l, alpha } = hsla;
|
|
39
|
+
const hh = (h % 360 + 360) % 360 / 60;
|
|
40
|
+
const c = (1 - Math.abs(2 * l - 1)) * s;
|
|
41
|
+
const x = c * (1 - Math.abs(hh % 2 - 1));
|
|
42
|
+
const m = l - c / 2;
|
|
43
|
+
let r = 0;
|
|
44
|
+
let g = 0;
|
|
45
|
+
let b = 0;
|
|
46
|
+
if (hh < 1) {
|
|
47
|
+
r = c;
|
|
48
|
+
g = x;
|
|
49
|
+
b = 0;
|
|
50
|
+
} else if (hh < 2) {
|
|
51
|
+
r = x;
|
|
52
|
+
g = c;
|
|
53
|
+
b = 0;
|
|
54
|
+
} else if (hh < 3) {
|
|
55
|
+
r = 0;
|
|
56
|
+
g = c;
|
|
57
|
+
b = x;
|
|
58
|
+
} else if (hh < 4) {
|
|
59
|
+
r = 0;
|
|
60
|
+
g = x;
|
|
61
|
+
b = c;
|
|
62
|
+
} else if (hh < 5) {
|
|
63
|
+
r = x;
|
|
64
|
+
g = 0;
|
|
65
|
+
b = c;
|
|
66
|
+
} else {
|
|
67
|
+
r = c;
|
|
68
|
+
g = 0;
|
|
69
|
+
b = x;
|
|
70
|
+
}
|
|
71
|
+
return { r: r + m, g: g + m, b: b + m, a: alpha };
|
|
72
|
+
}
|
|
73
|
+
function rgbToHsv(rgba) {
|
|
74
|
+
const { r, g, b, a } = rgba;
|
|
75
|
+
const max = Math.max(r, g, b);
|
|
76
|
+
const min = Math.min(r, g, b);
|
|
77
|
+
const d = max - min;
|
|
78
|
+
let h = 0;
|
|
79
|
+
if (d > 0) {
|
|
80
|
+
if (max === r) h = 60 * ((g - b) / d % 6);
|
|
81
|
+
else if (max === g) h = 60 * ((b - r) / d + 2);
|
|
82
|
+
else h = 60 * ((r - g) / d + 4);
|
|
83
|
+
}
|
|
84
|
+
if (h < 0) h += 360;
|
|
85
|
+
const s = max === 0 ? 0 : d / max;
|
|
86
|
+
return { h, s, v: max, alpha: a };
|
|
87
|
+
}
|
|
88
|
+
function hsvToRgb(hsva) {
|
|
89
|
+
const { h, s, v, alpha } = hsva;
|
|
90
|
+
const hh = (h % 360 + 360) % 360 / 60;
|
|
91
|
+
const c = v * s;
|
|
92
|
+
const x = c * (1 - Math.abs(hh % 2 - 1));
|
|
93
|
+
const m = v - c;
|
|
94
|
+
let r = 0;
|
|
95
|
+
let g = 0;
|
|
96
|
+
let b = 0;
|
|
97
|
+
if (hh < 1) {
|
|
98
|
+
r = c;
|
|
99
|
+
g = x;
|
|
100
|
+
b = 0;
|
|
101
|
+
} else if (hh < 2) {
|
|
102
|
+
r = x;
|
|
103
|
+
g = c;
|
|
104
|
+
b = 0;
|
|
105
|
+
} else if (hh < 3) {
|
|
106
|
+
r = 0;
|
|
107
|
+
g = c;
|
|
108
|
+
b = x;
|
|
109
|
+
} else if (hh < 4) {
|
|
110
|
+
r = 0;
|
|
111
|
+
g = x;
|
|
112
|
+
b = c;
|
|
113
|
+
} else if (hh < 5) {
|
|
114
|
+
r = x;
|
|
115
|
+
g = 0;
|
|
116
|
+
b = c;
|
|
117
|
+
} else {
|
|
118
|
+
r = c;
|
|
119
|
+
g = 0;
|
|
120
|
+
b = x;
|
|
121
|
+
}
|
|
122
|
+
return { r: r + m, g: g + m, b: b + m, a: alpha };
|
|
123
|
+
}
|
|
124
|
+
function rgbToOklab(rgba) {
|
|
125
|
+
const lr = srgbToLinear(rgba.r);
|
|
126
|
+
const lg = srgbToLinear(rgba.g);
|
|
127
|
+
const lb = srgbToLinear(rgba.b);
|
|
128
|
+
const l = Math.cbrt(0.4122214708 * lr + 0.5363325363 * lg + 0.0514459929 * lb);
|
|
129
|
+
const m = Math.cbrt(0.2119034982 * lr + 0.6806995451 * lg + 0.1073969566 * lb);
|
|
130
|
+
const s = Math.cbrt(0.0883024619 * lr + 0.2817188376 * lg + 0.6299787005 * lb);
|
|
131
|
+
return {
|
|
132
|
+
l: 0.2104542553 * l + 0.793617785 * m - 0.0040720468 * s,
|
|
133
|
+
a: 1.9779984951 * l - 2.428592205 * m + 0.4505937099 * s,
|
|
134
|
+
b: 0.0259040371 * l + 0.7827717662 * m - 0.808675766 * s,
|
|
135
|
+
alpha: rgba.a
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
function oklabToRgb(lab) {
|
|
139
|
+
const l_ = lab.l + 0.3963377774 * lab.a + 0.2158037573 * lab.b;
|
|
140
|
+
const m_ = lab.l - 0.1055613458 * lab.a - 0.0638541728 * lab.b;
|
|
141
|
+
const s_ = lab.l - 0.0894841775 * lab.a - 1.291485548 * lab.b;
|
|
142
|
+
const l = l_ ** 3;
|
|
143
|
+
const m = m_ ** 3;
|
|
144
|
+
const s = s_ ** 3;
|
|
145
|
+
return {
|
|
146
|
+
r: linearToSrgb(4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s),
|
|
147
|
+
g: linearToSrgb(-1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s),
|
|
148
|
+
b: linearToSrgb(-0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s),
|
|
149
|
+
a: lab.alpha
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
function oklabToOklch(lab) {
|
|
153
|
+
const c = Math.hypot(lab.a, lab.b);
|
|
154
|
+
let h = 0;
|
|
155
|
+
if (c >= 1e-6) {
|
|
156
|
+
h = Math.atan2(lab.b, lab.a) * 180 / Math.PI;
|
|
157
|
+
if (h < 0) h += 360;
|
|
158
|
+
if (h >= 360) h -= 360;
|
|
159
|
+
}
|
|
160
|
+
return { l: lab.l, c, h, alpha: lab.alpha };
|
|
161
|
+
}
|
|
162
|
+
function oklchToOklab(lch) {
|
|
163
|
+
const rad = lch.h * Math.PI / 180;
|
|
164
|
+
return {
|
|
165
|
+
l: lch.l,
|
|
166
|
+
a: lch.c * Math.cos(rad),
|
|
167
|
+
b: lch.c * Math.sin(rad),
|
|
168
|
+
alpha: lch.alpha
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
var D65_XYZ = _chunkIPJ3TEYRcjs.xyToXyz.call(void 0, _chunkIPJ3TEYRcjs.D65_XY);
|
|
172
|
+
var SRGB_TO_XYZ = _chunkIPJ3TEYRcjs.rgbToXyzMatrix.call(void 0, [0.64, 0.33], [0.3, 0.6], [0.15, 0.06], D65_XYZ);
|
|
173
|
+
var P3_TO_XYZ = _chunkIPJ3TEYRcjs.rgbToXyzMatrix.call(void 0, [0.68, 0.32], [0.265, 0.69], [0.15, 0.06], D65_XYZ);
|
|
174
|
+
var XYZ_TO_SRGB = _chunkIPJ3TEYRcjs.invert.call(void 0, SRGB_TO_XYZ);
|
|
175
|
+
var XYZ_TO_P3 = _chunkIPJ3TEYRcjs.invert.call(void 0, P3_TO_XYZ);
|
|
176
|
+
var P3_TO_SRGB_MAT = _chunkIPJ3TEYRcjs.mul.call(void 0, XYZ_TO_SRGB, P3_TO_XYZ);
|
|
177
|
+
var SRGB_TO_P3_MAT = _chunkIPJ3TEYRcjs.mul.call(void 0, XYZ_TO_P3, SRGB_TO_XYZ);
|
|
178
|
+
function linearSrgbToDisplayP3(rgb) {
|
|
179
|
+
const out = _chunkIPJ3TEYRcjs.apply.call(void 0, SRGB_TO_P3_MAT, [rgb.r, rgb.g, rgb.b]);
|
|
180
|
+
return { r: out[0], g: out[1], b: out[2], a: rgb.a };
|
|
181
|
+
}
|
|
182
|
+
function displayP3ToLinearSrgb(rgb) {
|
|
183
|
+
const out = _chunkIPJ3TEYRcjs.apply.call(void 0, P3_TO_SRGB_MAT, [rgb.r, rgb.g, rgb.b]);
|
|
184
|
+
return { r: out[0], g: out[1], b: out[2], a: rgb.a };
|
|
185
|
+
}
|
|
9
186
|
|
|
10
187
|
// src/color/named.ts
|
|
11
188
|
var NAMED_COLORS = {
|
|
@@ -253,7 +430,7 @@ function parseColor(input) {
|
|
|
253
430
|
const s = parsePercentOrNumber(parts[1], 100);
|
|
254
431
|
const l = parsePercentOrNumber(parts[2], 100);
|
|
255
432
|
if (h === null || s === null || l === null) return null;
|
|
256
|
-
return
|
|
433
|
+
return hslToRgb({ h, s, l, alpha: alphaVal });
|
|
257
434
|
}
|
|
258
435
|
const oklabMatch = OKLAB_RE.exec(text);
|
|
259
436
|
if (oklabMatch) {
|
|
@@ -269,7 +446,7 @@ function parseColor(input) {
|
|
|
269
446
|
const a = parsePercentOrNumber(parts[1], 1);
|
|
270
447
|
const b = parsePercentOrNumber(parts[2], 1);
|
|
271
448
|
if (l === null || a === null || b === null) return null;
|
|
272
|
-
return
|
|
449
|
+
return oklabToRgb({ l, a, b, alpha: alphaVal });
|
|
273
450
|
}
|
|
274
451
|
const oklchMatch = OKLCH_RE.exec(text);
|
|
275
452
|
if (oklchMatch) {
|
|
@@ -285,7 +462,7 @@ function parseColor(input) {
|
|
|
285
462
|
const c = parsePercentOrNumber(parts[1], 1);
|
|
286
463
|
const h = parseAngle(parts[2]);
|
|
287
464
|
if (l === null || c === null || h === null) return null;
|
|
288
|
-
return
|
|
465
|
+
return oklabToRgb(oklchToOklab({ l, c, h, alpha: alphaVal }));
|
|
289
466
|
}
|
|
290
467
|
const colorMatch = COLOR_FN_RE.exec(text);
|
|
291
468
|
if (colorMatch) {
|
|
@@ -308,21 +485,21 @@ function parseColor(input) {
|
|
|
308
485
|
}
|
|
309
486
|
if (space === "srgb-linear") {
|
|
310
487
|
return {
|
|
311
|
-
r:
|
|
312
|
-
g:
|
|
313
|
-
b:
|
|
488
|
+
r: linearToSrgb(c1),
|
|
489
|
+
g: linearToSrgb(c2),
|
|
490
|
+
b: linearToSrgb(c3),
|
|
314
491
|
a: alphaVal
|
|
315
492
|
};
|
|
316
493
|
}
|
|
317
494
|
if (space === "display-p3") {
|
|
318
|
-
const linP3R =
|
|
319
|
-
const linP3G =
|
|
320
|
-
const linP3B =
|
|
321
|
-
const linSrgb =
|
|
495
|
+
const linP3R = srgbToLinear(c1);
|
|
496
|
+
const linP3G = srgbToLinear(c2);
|
|
497
|
+
const linP3B = srgbToLinear(c3);
|
|
498
|
+
const linSrgb = displayP3ToLinearSrgb({ r: linP3R, g: linP3G, b: linP3B, a: alphaVal });
|
|
322
499
|
return {
|
|
323
|
-
r:
|
|
324
|
-
g:
|
|
325
|
-
b:
|
|
500
|
+
r: linearToSrgb(linSrgb.r),
|
|
501
|
+
g: linearToSrgb(linSrgb.g),
|
|
502
|
+
b: linearToSrgb(linSrgb.b),
|
|
326
503
|
a: alphaVal
|
|
327
504
|
};
|
|
328
505
|
}
|
|
@@ -388,9 +565,9 @@ function composite(fg, bg) {
|
|
|
388
565
|
};
|
|
389
566
|
}
|
|
390
567
|
function relativeLuminance(c) {
|
|
391
|
-
const r =
|
|
392
|
-
const g =
|
|
393
|
-
const b =
|
|
568
|
+
const r = srgbToLinear(c.r);
|
|
569
|
+
const g = srgbToLinear(c.g);
|
|
570
|
+
const b = srgbToLinear(c.b);
|
|
394
571
|
return 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
|
395
572
|
}
|
|
396
573
|
function contrastRatio(foreground, background) {
|
|
@@ -440,4 +617,16 @@ function readableTextColor(background, candidates = [BLACK, WHITE]) {
|
|
|
440
617
|
|
|
441
618
|
|
|
442
619
|
|
|
443
|
-
|
|
620
|
+
|
|
621
|
+
|
|
622
|
+
|
|
623
|
+
|
|
624
|
+
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
|
|
628
|
+
|
|
629
|
+
|
|
630
|
+
|
|
631
|
+
|
|
632
|
+
exports.srgbToLinear = srgbToLinear; exports.linearToSrgb = linearToSrgb; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.rgbToHsv = rgbToHsv; exports.hsvToRgb = hsvToRgb; exports.rgbToOklab = rgbToOklab; exports.oklabToRgb = oklabToRgb; exports.oklabToOklch = oklabToOklch; exports.oklchToOklab = oklchToOklab; exports.linearSrgbToDisplayP3 = linearSrgbToDisplayP3; exports.displayP3ToLinearSrgb = displayP3ToLinearSrgb; exports.NAMED_COLORS = NAMED_COLORS; exports.parseColor = parseColor; exports.isColor = isColor; exports.relativeLuminance = relativeLuminance; exports.contrastRatio = contrastRatio; exports.contrastLevel = contrastLevel; exports.readableTextColor = readableTextColor;
|
|
@@ -5,14 +5,14 @@ import {
|
|
|
5
5
|
chartToMermaid,
|
|
6
6
|
describeChart,
|
|
7
7
|
layoutSparkline
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-RHPSE2YR.js";
|
|
9
9
|
import {
|
|
10
10
|
layoutChart
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-WKMUBATU.js";
|
|
12
12
|
import {
|
|
13
13
|
DEFAULT_CHART_THEME,
|
|
14
14
|
normalizeChartSpec
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-6ZZKRH7R.js";
|
|
16
16
|
import {
|
|
17
17
|
plainTextToSlice
|
|
18
18
|
} from "./chunk-2INPJDNY.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
simulateColorVision
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7272D3K2.js";
|
|
4
4
|
import {
|
|
5
5
|
deltaEOK
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-YBAPT7NL.js";
|
|
7
7
|
import {
|
|
8
8
|
rgbToOklab
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-MHLU6GRJ.js";
|
|
10
10
|
|
|
11
11
|
// src/chart/color.ts
|
|
12
12
|
var NAMED = {
|
|
@@ -6,25 +6,23 @@ import {
|
|
|
6
6
|
normalizeColor,
|
|
7
7
|
suggestAccessibleForeground,
|
|
8
8
|
toSrgbGamut
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-YBAPT7NL.js";
|
|
10
10
|
import {
|
|
11
11
|
contrastLevel,
|
|
12
12
|
contrastRatio,
|
|
13
|
-
parseColor,
|
|
14
|
-
relativeLuminance
|
|
15
|
-
} from "./chunk-JEGJP4OW.js";
|
|
16
|
-
import {
|
|
17
13
|
hslToRgb,
|
|
18
14
|
hsvToRgb,
|
|
19
15
|
linearToSrgb,
|
|
20
16
|
oklabToOklch,
|
|
21
17
|
oklabToRgb,
|
|
22
18
|
oklchToOklab,
|
|
19
|
+
parseColor,
|
|
20
|
+
relativeLuminance,
|
|
23
21
|
rgbToHsl,
|
|
24
22
|
rgbToHsv,
|
|
25
23
|
rgbToOklab,
|
|
26
24
|
srgbToLinear
|
|
27
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-MHLU6GRJ.js";
|
|
28
26
|
|
|
29
27
|
// src/color/vision.ts
|
|
30
28
|
var CVD = {
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
unionBounds,
|
|
19
19
|
vectorGradientPoints,
|
|
20
20
|
widthProfileAt
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-GYMMNCFT.js";
|
|
22
22
|
import {
|
|
23
23
|
segmentLength,
|
|
24
24
|
segmentParamAtLength,
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
} from "./chunk-5UJHB3BW.js";
|
|
30
30
|
import {
|
|
31
31
|
mixColorsOklab
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-M2TPMYJE.js";
|
|
33
33
|
|
|
34
34
|
// src/vector/blend.ts
|
|
35
35
|
var lerpN = (a, b, t) => a + (b - a) * t;
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import {
|
|
2
|
+
StickerError
|
|
3
|
+
} from "./chunk-SZTI6EER.js";
|
|
4
|
+
import {
|
|
5
|
+
hash2
|
|
6
|
+
} from "./chunk-4D6KP5BV.js";
|
|
7
|
+
|
|
8
|
+
// src/stickers/stamps.ts
|
|
9
|
+
var STAMP_KINDS = ["dot", "star", "heart", "leaf", "flower", "confetti", "splat", "sparkle", "ring"];
|
|
10
|
+
function stampCoverage(kind, u, v, t) {
|
|
11
|
+
const r = Math.hypot(u, v);
|
|
12
|
+
const a = Math.atan2(v, u);
|
|
13
|
+
const edge = (d) => Math.min(1, Math.max(0, d * 24 + 0.5));
|
|
14
|
+
switch (kind) {
|
|
15
|
+
case "dot":
|
|
16
|
+
return edge(0.95 - r);
|
|
17
|
+
case "ring":
|
|
18
|
+
return edge(Math.min(0.95 - r, r - 0.6));
|
|
19
|
+
case "star": {
|
|
20
|
+
const f = (a + Math.PI / 2) * 5 / (2 * Math.PI) % 1;
|
|
21
|
+
const notch = Math.min(f < 0 ? f + 1 : f, 1 - (f < 0 ? f + 1 : f)) * 2;
|
|
22
|
+
return edge(0.95 - 0.55 * notch - r);
|
|
23
|
+
}
|
|
24
|
+
case "sparkle": {
|
|
25
|
+
const q = Math.pow(Math.abs(u) / 0.95, 0.6) + Math.pow(Math.abs(v) / 0.95, 0.6);
|
|
26
|
+
return edge((1 - q) * 0.4);
|
|
27
|
+
}
|
|
28
|
+
case "heart": {
|
|
29
|
+
const x = u * 1.1;
|
|
30
|
+
const y = -v * 1.1 + 0.15;
|
|
31
|
+
const q = x * x + y * y - 0.55;
|
|
32
|
+
return edge(-(q * q * q - x * x * y * y * y) * 3);
|
|
33
|
+
}
|
|
34
|
+
case "leaf": {
|
|
35
|
+
const w = 0.42 * Math.sqrt(Math.max(0, 1 - u * u));
|
|
36
|
+
const inside = edge(w - Math.abs(v + 0.15 * u * u));
|
|
37
|
+
const rib = Math.abs(v + 0.15 * u * u) < 0.03 && Math.abs(u) < 0.85 ? 0.65 : 1;
|
|
38
|
+
return inside * rib;
|
|
39
|
+
}
|
|
40
|
+
case "flower": {
|
|
41
|
+
const petals = 0.6 + 0.35 * Math.abs(Math.cos(2.5 * a));
|
|
42
|
+
const body = edge(petals - r);
|
|
43
|
+
return r < 0.22 ? Math.max(body, 1) * 0.85 : body;
|
|
44
|
+
}
|
|
45
|
+
case "confetti": {
|
|
46
|
+
return edge(Math.min(0.9 - Math.abs(u), 0.35 - Math.abs(v)));
|
|
47
|
+
}
|
|
48
|
+
case "splat": {
|
|
49
|
+
let rr = 0.55;
|
|
50
|
+
for (let k = 1; k <= 3; k++) rr += 0.08 * Math.sin(a * (k + 2) + hash2(k, 1, t) * 6.28) / k;
|
|
51
|
+
let c = edge(rr - r);
|
|
52
|
+
for (let k = 0; k < 4; k++) {
|
|
53
|
+
const ang = hash2(k, 7, t) * Math.PI * 2;
|
|
54
|
+
const dist = 0.72 + 0.2 * hash2(k, 9, t);
|
|
55
|
+
const dx = u - Math.cos(ang) * dist;
|
|
56
|
+
const dy = v - Math.sin(ang) * dist;
|
|
57
|
+
c = Math.max(c, edge(0.08 + 0.06 * hash2(k, 11, t) - Math.hypot(dx, dy)));
|
|
58
|
+
}
|
|
59
|
+
return c;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// src/stickers/helpers.ts
|
|
65
|
+
var DEFAULT_STICKER_PAGE = 24;
|
|
66
|
+
var MAX_STICKER_PAGE = 100;
|
|
67
|
+
var EDITOR_STICKERS_ID = "editor";
|
|
68
|
+
function checkStickerSearchOptions(options = {}) {
|
|
69
|
+
if (options.limit !== void 0 && !(Number.isInteger(options.limit) && options.limit >= 1 && options.limit <= MAX_STICKER_PAGE)) {
|
|
70
|
+
throw new StickerError("invalid_argument", `limit must be a whole number from 1 to ${MAX_STICKER_PAGE}, got ${options.limit}.`);
|
|
71
|
+
}
|
|
72
|
+
if (options.after !== void 0 && !/^\d+$/.test(options.after)) throw new StickerError("invalid_argument", `after "${options.after}" is not a cursor from this provider; pass the next value of the previous page.`);
|
|
73
|
+
}
|
|
74
|
+
var words = (s) => s.toLowerCase().split(/[^\p{L}\p{N}]+/u).filter(Boolean);
|
|
75
|
+
function stickerPage(items, options = {}, query = "") {
|
|
76
|
+
checkStickerSearchOptions(options);
|
|
77
|
+
const q = words(query);
|
|
78
|
+
const tags = (options.tags ?? []).map((t) => t.toLowerCase());
|
|
79
|
+
const matches = items.filter((s) => {
|
|
80
|
+
if (options.category && s.category !== options.category) return false;
|
|
81
|
+
if (tags.length && !tags.every((t) => (s.tags ?? []).some((x) => x.toLowerCase() === t))) return false;
|
|
82
|
+
if (options.licence?.commercial === true && !s.licence.commercial) return false;
|
|
83
|
+
if (!q.length) return true;
|
|
84
|
+
const text = new Set(words([s.name, s.category, s.description ?? "", ...s.tags ?? []].join(" ")));
|
|
85
|
+
return q.every((w) => [...text].some((t) => t.startsWith(w)));
|
|
86
|
+
});
|
|
87
|
+
const start = options.after ? Number(options.after) : 0;
|
|
88
|
+
const limit = options.limit ?? DEFAULT_STICKER_PAGE;
|
|
89
|
+
const page = matches.slice(start, start + limit);
|
|
90
|
+
return { items: page, total: matches.length, ...start + limit < matches.length ? { next: String(start + limit) } : {} };
|
|
91
|
+
}
|
|
92
|
+
function parseStickerRef(ref) {
|
|
93
|
+
if (typeof ref !== "string" || !ref) throw new StickerError("invalid_argument", 'A sticker ref is a "provider:id" string, e.g. "editor:star" (find_stickers lists them).');
|
|
94
|
+
const i = ref.indexOf(":");
|
|
95
|
+
if (i === -1) {
|
|
96
|
+
if (STAMP_KINDS.includes(ref)) return { provider: EDITOR_STICKERS_ID, id: ref };
|
|
97
|
+
throw new StickerError("invalid_argument", `"${ref}" is not a sticker ref; refs are "provider:id" (e.g. "editor:${STAMP_KINDS[1]}"); find_stickers lists them.`);
|
|
98
|
+
}
|
|
99
|
+
if (i === 0 || i === ref.length - 1) throw new StickerError("invalid_argument", `"${ref}" is not a sticker ref; refs are "provider:id".`);
|
|
100
|
+
return { provider: ref.slice(0, i), id: ref.slice(i + 1) };
|
|
101
|
+
}
|
|
102
|
+
function normalizeStickerRef(ref) {
|
|
103
|
+
const { provider, id } = parseStickerRef(ref);
|
|
104
|
+
return `${provider}:${id}`;
|
|
105
|
+
}
|
|
106
|
+
function editorStampOf(ref) {
|
|
107
|
+
const { provider, id } = parseStickerRef(ref);
|
|
108
|
+
return provider === EDITOR_STICKERS_ID && STAMP_KINDS.includes(id) ? id : null;
|
|
109
|
+
}
|
|
110
|
+
function stickerRefOf(provider, id) {
|
|
111
|
+
return provider.namespaced ? id : `${provider.id}:${id}`;
|
|
112
|
+
}
|
|
113
|
+
function stickerIdFor(provider, ref) {
|
|
114
|
+
const { provider: owner, id } = parseStickerRef(ref);
|
|
115
|
+
if (provider.namespaced) return `${owner}:${id}`;
|
|
116
|
+
return owner === provider.id ? id : null;
|
|
117
|
+
}
|
|
118
|
+
function closestStickerRefs(wanted, candidates, n = 3) {
|
|
119
|
+
const w = wanted.toLowerCase();
|
|
120
|
+
const dist = (a, b) => {
|
|
121
|
+
const d = Array.from({ length: b.length + 1 }, (_, j) => j);
|
|
122
|
+
for (let i = 1; i <= a.length; i++) {
|
|
123
|
+
let prev = d[0];
|
|
124
|
+
d[0] = i;
|
|
125
|
+
for (let j = 1; j <= b.length; j++) {
|
|
126
|
+
const tmp = d[j];
|
|
127
|
+
d[j] = Math.min(d[j] + 1, d[j - 1] + 1, prev + (a[i - 1] === b[j - 1] ? 0 : 1));
|
|
128
|
+
prev = tmp;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return d[b.length];
|
|
132
|
+
};
|
|
133
|
+
return [...candidates].sort((a, b) => dist(w, a.toLowerCase()) - dist(w, b.toLowerCase()) || a.localeCompare(b)).slice(0, n);
|
|
134
|
+
}
|
|
135
|
+
var StickersSlot = class {
|
|
136
|
+
constructor(fallback) {
|
|
137
|
+
this.fallback = fallback;
|
|
138
|
+
this.current = fallback;
|
|
139
|
+
}
|
|
140
|
+
fallback;
|
|
141
|
+
current;
|
|
142
|
+
listeners = /* @__PURE__ */ new Set();
|
|
143
|
+
get provider() {
|
|
144
|
+
return this.current;
|
|
145
|
+
}
|
|
146
|
+
set(provider) {
|
|
147
|
+
const next = provider ?? this.fallback;
|
|
148
|
+
if (next === this.current) return;
|
|
149
|
+
this.current = next;
|
|
150
|
+
for (const l of [...this.listeners]) l(next);
|
|
151
|
+
}
|
|
152
|
+
subscribe(listener) {
|
|
153
|
+
this.listeners.add(listener);
|
|
154
|
+
return () => this.listeners.delete(listener);
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
export {
|
|
159
|
+
STAMP_KINDS,
|
|
160
|
+
stampCoverage,
|
|
161
|
+
DEFAULT_STICKER_PAGE,
|
|
162
|
+
MAX_STICKER_PAGE,
|
|
163
|
+
EDITOR_STICKERS_ID,
|
|
164
|
+
checkStickerSearchOptions,
|
|
165
|
+
stickerPage,
|
|
166
|
+
parseStickerRef,
|
|
167
|
+
normalizeStickerRef,
|
|
168
|
+
editorStampOf,
|
|
169
|
+
stickerRefOf,
|
|
170
|
+
stickerIdFor,
|
|
171
|
+
closestStickerRefs,
|
|
172
|
+
StickersSlot
|
|
173
|
+
};
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunk3NS5C7FBcjs = require('./chunk-3NS5C7FB.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunkN76AMOKEcjs = require('./chunk-N76AMOKE.cjs');
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _chunkWRZ6C4TUcjs = require('./chunk-WRZ6C4TU.cjs');
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
var _chunkG43MNQ4Ccjs = require('./chunk-G43MNQ4C.cjs');
|
|
@@ -1457,7 +1457,7 @@ var ChartNodeView = (_class = class {
|
|
|
1457
1457
|
this.dom.contentEditable = "false";
|
|
1458
1458
|
this.syncAttributes();
|
|
1459
1459
|
this.key = specKey(this.node.attrs.spec);
|
|
1460
|
-
this.controller = new (0,
|
|
1460
|
+
this.controller = new (0, _chunk3NS5C7FBcjs.ChartController)({ spec: this.node.attrs.spec });
|
|
1461
1461
|
this.unsubscribe = this.controller.subscribe((state) => {
|
|
1462
1462
|
if (!state.gesture) this.writeBack();
|
|
1463
1463
|
});
|
|
@@ -1690,7 +1690,7 @@ function readSpec(value) {
|
|
|
1690
1690
|
}
|
|
1691
1691
|
}
|
|
1692
1692
|
if (!input || typeof input !== "object" || Array.isArray(input)) return null;
|
|
1693
|
-
return
|
|
1693
|
+
return _chunkWRZ6C4TUcjs.normalizeChartSpec.call(void 0, input).spec;
|
|
1694
1694
|
}
|
|
1695
1695
|
var readSize = (value) => {
|
|
1696
1696
|
const n = value === null ? NaN : Number(value);
|
|
@@ -1716,10 +1716,10 @@ function staticChartSvg(node, options) {
|
|
|
1716
1716
|
const spec = node.attrs.spec;
|
|
1717
1717
|
const width = _nullishCoalesce(node.attrs.width, () => ( options.defaultWidth));
|
|
1718
1718
|
const height = _nullishCoalesce(node.attrs.height, () => ( options.defaultHeight));
|
|
1719
|
-
const scene =
|
|
1720
|
-
return
|
|
1719
|
+
const scene = _chunkN76AMOKEcjs.layoutChart.call(void 0, spec, { width, height, theme: options.theme, selection: null });
|
|
1720
|
+
return _chunk3NS5C7FBcjs.chartSceneToDomSpec.call(void 0, scene, {
|
|
1721
1721
|
ariaLabel: spec.title || "Chart",
|
|
1722
|
-
description:
|
|
1722
|
+
description: _chunk3NS5C7FBcjs.describeChart.call(void 0, spec),
|
|
1723
1723
|
attrs: { style: "max-width: 100%; height: auto; display: block" }
|
|
1724
1724
|
});
|
|
1725
1725
|
}
|
|
@@ -1735,7 +1735,7 @@ var Chart = _core.Node.create({
|
|
|
1735
1735
|
return {
|
|
1736
1736
|
HTMLAttributes: {},
|
|
1737
1737
|
nodeView: null,
|
|
1738
|
-
theme:
|
|
1738
|
+
theme: _chunkWRZ6C4TUcjs.DEFAULT_CHART_THEME,
|
|
1739
1739
|
defaultWidth: 640,
|
|
1740
1740
|
defaultHeight: 320,
|
|
1741
1741
|
generateId: () => generateStructureId("chart")
|
|
@@ -1749,7 +1749,7 @@ var Chart = _core.Node.create({
|
|
|
1749
1749
|
renderHTML: (attributes) => attributes.id ? { "data-chart-id": attributes.id } : {}
|
|
1750
1750
|
},
|
|
1751
1751
|
spec: {
|
|
1752
|
-
default:
|
|
1752
|
+
default: _chunkWRZ6C4TUcjs.normalizeChartSpec.call(void 0, {}).spec,
|
|
1753
1753
|
// null (no `data-chart`) keeps what the parse rule found, e.g. a mermaid block's spec.
|
|
1754
1754
|
parseHTML: (element) => readSpec(element.getAttribute("data-chart")),
|
|
1755
1755
|
renderHTML: (attributes) => ({
|
|
@@ -1787,7 +1787,7 @@ var Chart = _core.Node.create({
|
|
|
1787
1787
|
const code = element.querySelector("code");
|
|
1788
1788
|
const language = _nullishCoalesce(_nullishCoalesce(_optionalChain([code, 'optionalAccess', _47 => _47.getAttribute, 'call', _48 => _48("class")]), () => ( element.getAttribute("data-language"))), () => ( ""));
|
|
1789
1789
|
if (!/(?:^|\s)language-mermaid(?:\s|$)/.test(language) && language !== "mermaid") return false;
|
|
1790
|
-
const result =
|
|
1790
|
+
const result = _chunk3NS5C7FBcjs.chartFromMermaid.call(void 0, _nullishCoalesce((_nullishCoalesce(code, () => ( element))).textContent, () => ( "")));
|
|
1791
1791
|
return result.family ? { spec: result.spec } : false;
|
|
1792
1792
|
}
|
|
1793
1793
|
}
|
|
@@ -1811,7 +1811,7 @@ var Chart = _core.Node.create({
|
|
|
1811
1811
|
return {
|
|
1812
1812
|
markdown: {
|
|
1813
1813
|
serialize(state, node) {
|
|
1814
|
-
const text =
|
|
1814
|
+
const text = _chunk3NS5C7FBcjs.chartToMermaid.call(void 0, node.attrs.spec);
|
|
1815
1815
|
const fence = "`".repeat(Math.max(3, longestBacktickRun(text) + 1));
|
|
1816
1816
|
state.write(`${fence}mermaid
|
|
1817
1817
|
`);
|
|
@@ -1833,7 +1833,7 @@ var Chart = _core.Node.create({
|
|
|
1833
1833
|
type: this.name,
|
|
1834
1834
|
attrs: {
|
|
1835
1835
|
id: _nullishCoalesce(options.id, () => ( this.options.generateId())),
|
|
1836
|
-
spec:
|
|
1836
|
+
spec: _chunkWRZ6C4TUcjs.normalizeChartSpec.call(void 0, _nullishCoalesce(options.spec, () => ( {}))).spec,
|
|
1837
1837
|
width: _nullishCoalesce(options.width, () => ( null)),
|
|
1838
1838
|
height: _nullishCoalesce(options.height, () => ( this.options.defaultHeight))
|
|
1839
1839
|
}
|
|
@@ -1844,7 +1844,7 @@ var Chart = _core.Node.create({
|
|
|
1844
1844
|
if (dispatch) {
|
|
1845
1845
|
tr.setNodeMarkup(chart.pos, void 0, {
|
|
1846
1846
|
...chart.node.attrs,
|
|
1847
|
-
...changes.spec !== void 0 ? { spec:
|
|
1847
|
+
...changes.spec !== void 0 ? { spec: _chunkWRZ6C4TUcjs.normalizeChartSpec.call(void 0, changes.spec).spec } : {},
|
|
1848
1848
|
...changes.width !== void 0 ? { width: changes.width } : {},
|
|
1849
1849
|
...changes.height !== void 0 ? { height: changes.height } : {}
|
|
1850
1850
|
});
|
|
@@ -1951,14 +1951,14 @@ var Sparkline = _core.Node.create({
|
|
|
1951
1951
|
return [{ tag: 'span[data-type="sparkline"]', priority: 60 }];
|
|
1952
1952
|
},
|
|
1953
1953
|
renderHTML({ node, HTMLAttributes }) {
|
|
1954
|
-
const scene =
|
|
1954
|
+
const scene = _chunk3NS5C7FBcjs.layoutSparkline.call(void 0, node.attrs.values, {
|
|
1955
1955
|
kind: node.attrs.kind,
|
|
1956
1956
|
width: node.attrs.width,
|
|
1957
1957
|
height: node.attrs.height,
|
|
1958
1958
|
color: _nullishCoalesce(node.attrs.color, () => ( this.options.color)),
|
|
1959
1959
|
negativeColor: this.options.negativeColor
|
|
1960
1960
|
});
|
|
1961
|
-
const svg =
|
|
1961
|
+
const svg = _chunk3NS5C7FBcjs.chartSceneToDomSpec.call(void 0, scene, {
|
|
1962
1962
|
ariaLabel: sparklineLabel(node),
|
|
1963
1963
|
attrs: { style: "display: inline-block; vertical-align: middle" }
|
|
1964
1964
|
});
|