@graphysdk/theme-halloween 0.0.0-stage → 0.1.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/index.mjs ADDED
@@ -0,0 +1,2156 @@
1
+ import { useId as De, useLayoutEffect as Pe, useMemo as Z, useRef as Ee, useState as We } from "react";
2
+ import { GROUP_VARIABLES as Ne, POSITION_VARIABLES as Fe, buildPolarBarArcPath as Gt, createAreaPathGenerators as Ge, createLinePathGenerator as Be, createStableKeyGenerator as ot, createValueFormatter as be, defineGeomRenderer as tt, getAngleExtent as Ue, getBarRectBounds as Ve, getRadiusExtent as ye, getStackRole as ze, getX as yt, getXMax as Ye, getXMin as je, getY as St, getYMax as Se, getYMin as Ke, polarToUnit as _e, prepareAreaObservations as Xe, prepareLineObservations as Ze, readMainAxis as Bt, style as A, toPaintColor as Qe, toStrokeDasharray as qe, toViewBoxX as Je, toViewBoxY as tr, useGeomStyleReader as Ot, useGraphLocale as er, useSceneSelector as rr } from "@graphysdk/react";
3
+ import { jsx as i, jsxs as E } from "react/jsx-runtime";
4
+ var ar = /^#([0-9a-f]{6})$/iu, nr = /^rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/iu, vt = (t) => {
5
+ const e = ar.exec(t);
6
+ if (e?.[1] !== void 0) {
7
+ const a = Number.parseInt(e[1], 16);
8
+ return [
9
+ a >> 16 & 255,
10
+ a >> 8 & 255,
11
+ a & 255
12
+ ];
13
+ }
14
+ const r = nr.exec(t);
15
+ return r?.[1] !== void 0 && r[2] !== void 0 && r[3] !== void 0 ? [
16
+ Number(r[1]),
17
+ Number(r[2]),
18
+ Number(r[3])
19
+ ] : null;
20
+ }, M = (t, e, r) => {
21
+ const a = vt(t), n = vt(e);
22
+ if (a === null || n === null) return t;
23
+ const [s, l, c] = a.map((o, d) => Math.round(o + ((n[d] ?? 0) - o) * r));
24
+ return `rgb(${s}, ${l}, ${c})`;
25
+ }, F = (t) => `${t}-${De().replace(/[^a-zA-Z0-9]/gu, "")}`, mt = (t) => {
26
+ const e = F(t);
27
+ return (r) => `${e}-${r.replace(/[^a-zA-Z0-9]/gu, "")}`;
28
+ }, _t = (t) => {
29
+ let e = 2166136261;
30
+ for (let r = 0; r < t.length; r += 1)
31
+ e ^= t.charCodeAt(r), e = Math.imul(e, 16777619);
32
+ return e >>> 0;
33
+ }, st = (t) => {
34
+ let e = t || 1;
35
+ return () => {
36
+ e = e + 1831565813 | 0;
37
+ let r = Math.imul(e ^ e >>> 15, 1 | e);
38
+ return r = r + Math.imul(r ^ r >>> 7, 61 | r) ^ r, ((r ^ r >>> 14) >>> 0) / 4294967296;
39
+ };
40
+ }, xt = (t) => {
41
+ const e = vt(t);
42
+ if (e === null) return 0.5;
43
+ const [r = 0, a = 0, n = 0] = e.map((s) => {
44
+ const l = s / 255;
45
+ return l <= 0.03928 ? l / 12.92 : ((l + 0.055) / 1.055) ** 2.4;
46
+ });
47
+ return 0.2126 * r + 0.7152 * a + 0.0722 * n;
48
+ }, or = (t, e) => {
49
+ const r = vt(t);
50
+ if (r === null) return t;
51
+ const [a, n, s] = r.map((k) => k / 255), l = Math.max(a, n, s), c = Math.min(a, n, s), o = (l + c) / 2;
52
+ if (l === c) return t;
53
+ const d = l - c, u = d / (1 - Math.abs(2 * o - 1)), p = l === a ? ((n - s) / d + 6) % 6 : l === n ? (s - a) / d + 2 : (a - n) / d + 4, f = (1 - Math.abs(2 * o - 1)) * Math.min(1, u * e), h = f * (1 - Math.abs(p % 2 - 1)), g = o - f / 2, [v, m, $] = [
54
+ [
55
+ f,
56
+ h,
57
+ 0
58
+ ],
59
+ [
60
+ h,
61
+ f,
62
+ 0
63
+ ],
64
+ [
65
+ 0,
66
+ f,
67
+ h
68
+ ],
69
+ [
70
+ 0,
71
+ h,
72
+ f
73
+ ],
74
+ [
75
+ h,
76
+ 0,
77
+ f
78
+ ],
79
+ [
80
+ f,
81
+ 0,
82
+ h
83
+ ]
84
+ ][Math.floor(p) % 6] ?? [
85
+ 0,
86
+ 0,
87
+ 0
88
+ ], _ = (k) => Math.round((k + g) * 255);
89
+ return `rgb(${_(v)}, ${_(m)}, ${_($)})`;
90
+ }, it = (t) => {
91
+ const e = Ot(t);
92
+ return (r, a) => ({
93
+ color: Qe(e.get("fill", r, a)),
94
+ opacity: e.get("alpha", r, a),
95
+ fillOpacity: e.get("fillAlpha", r, a),
96
+ edge: e.get("stroke", r, a),
97
+ edgeWidth: e.get("strokeWidth", r, a)
98
+ });
99
+ }, $e = (t) => {
100
+ const e = Ot(t);
101
+ return (r, a) => {
102
+ const n = e.get("strokeWidth", r, a);
103
+ return {
104
+ color: e.get("stroke", r, a),
105
+ opacity: e.get("alpha", r, a) * e.get("strokeAlpha", r, a),
106
+ width: n,
107
+ dashArray: qe(e.get("dashArray", r, a), n)
108
+ };
109
+ };
110
+ }, sr = /[a-df-zA-DF-Z]|[-+]?(?:\d+\.?\d*|\.\d+)(?:[eE][-+]?\d+)?/gu, ir = /^[a-zA-Z]$/u, lr = (t, e) => t === "H" ? "x" : t === "V" ? "y" : e % 2 === 0 ? "x" : "y", It = (t, e) => {
111
+ let r = "", a = 0;
112
+ return (t.match(sr) ?? []).map((n) => {
113
+ if (ir.test(n))
114
+ return r = n.toUpperCase(), a = 0, n;
115
+ const s = lr(r, a);
116
+ return a += 1, String(Number(n) * (s === "x" ? e.width : e.height));
117
+ }).join(" ");
118
+ }, wt = (t, e) => {
119
+ const r = yt(t), a = St(t) ?? Se(t);
120
+ return r === null || a === null ? null : {
121
+ x: Je(r) * e.width,
122
+ y: tr(a) * e.height
123
+ };
124
+ }, $t = (t, e) => {
125
+ const r = yt(t), a = St(t) ?? ye(t).outerRadius;
126
+ if (r === null || a === null) return null;
127
+ const n = _e(r, a), s = Math.min(e.width, e.height) / 2;
128
+ return {
129
+ x: e.width / 2 + n.x * s,
130
+ y: e.height / 2 - n.y * s
131
+ };
132
+ }, cr = (t) => `${t.map((e, r) => `${r === 0 ? "M" : "L"}${e.x},${e.y}`).join(" ")} Z`, At = (t, e) => {
133
+ const r = ot(t.data, t.mapping, t.id), a = [];
134
+ return t.data.groupBy(Ne.group).forEach((n) => {
135
+ const s = [...n], [l] = s, c = e(s);
136
+ l === void 0 || c === null || a.push({
137
+ key: r(l),
138
+ observation: l,
139
+ path: c
140
+ });
141
+ }), a;
142
+ }, dr = (t, e) => t.flatMap((r) => {
143
+ const a = yt(r), n = $t(r, e);
144
+ return a === null || n === null ? [] : [{
145
+ angle: a,
146
+ point: n
147
+ }];
148
+ }).sort((r, a) => r.angle - a.angle).map(({ point: r }) => r), Re = (t, e) => {
149
+ const r = dr(t, e);
150
+ return r.length === 0 ? null : cr(r);
151
+ }, hr = (t, e, r) => {
152
+ const a = ot(t.data, t.mapping, t.id);
153
+ return Array.from(t.data, (n) => ({
154
+ observation: n,
155
+ point: r(n, e)
156
+ })).flatMap(({ observation: n, point: s }) => s === null ? [] : [{
157
+ key: a(n),
158
+ observation: n,
159
+ point: s
160
+ }]);
161
+ }, ur = 0.35, fr = 2, pr = 7, gr = 0.2, vr = 6, ke = ({ layer: t, coordSystem: e, panel: r }) => {
162
+ const a = it(t), n = mt("mist"), s = Z(() => {
163
+ if (e === void 0) return At(t, (u) => Re(u, r)).map((u) => ({
164
+ ...u,
165
+ fill: u.path,
166
+ edge: u.path
167
+ }));
168
+ const { areaGenerator: c, lineGenerator: o } = Ge(e, t.params), d = /* @__PURE__ */ new Map();
169
+ return At(t, (u) => {
170
+ const p = Xe(u, t.params.missingValues), f = c(p), h = o(p);
171
+ if (!f) return null;
172
+ const g = It(f, r);
173
+ return h && d.set(g, It(h, r)), g;
174
+ }).map((u) => ({
175
+ ...u,
176
+ fill: u.path,
177
+ edge: d.get(u.path) ?? ""
178
+ }));
179
+ }, [
180
+ t,
181
+ e,
182
+ r
183
+ ]);
184
+ if (r.width <= 0 || r.height <= 0) return null;
185
+ const l = s.map(({ observation: c }) => a(c));
186
+ return /* @__PURE__ */ E("g", {
187
+ "data-geom": "area",
188
+ children: [/* @__PURE__ */ i("defs", { children: [...new Map(l.map((c) => [c.color, c])).values()].map((c) => /* @__PURE__ */ E("linearGradient", {
189
+ id: n(c.color),
190
+ x1: "0",
191
+ y1: "0",
192
+ x2: "0",
193
+ y2: "1",
194
+ children: [/* @__PURE__ */ i("stop", {
195
+ offset: 0,
196
+ stopColor: c.color,
197
+ stopOpacity: c.fillOpacity
198
+ }), /* @__PURE__ */ i("stop", {
199
+ offset: 1,
200
+ stopColor: c.color,
201
+ stopOpacity: c.fillOpacity * ur
202
+ })]
203
+ }, c.color)) }), s.map(({ key: c, fill: o, edge: d }, u) => {
204
+ const p = l[u];
205
+ return p === void 0 ? null : /* @__PURE__ */ E("g", {
206
+ opacity: p.opacity,
207
+ children: [
208
+ /* @__PURE__ */ i("path", {
209
+ d: o,
210
+ fill: `url(#${n(p.color)})`,
211
+ "data-mist": ""
212
+ }),
213
+ /* @__PURE__ */ i("path", {
214
+ d,
215
+ fill: "none",
216
+ stroke: p.color,
217
+ strokeOpacity: gr,
218
+ strokeWidth: pr,
219
+ strokeLinejoin: "round",
220
+ strokeLinecap: "round"
221
+ }),
222
+ /* @__PURE__ */ i("path", {
223
+ d,
224
+ fill: "none",
225
+ stroke: p.color,
226
+ strokeWidth: fr,
227
+ strokeLinejoin: "round"
228
+ })
229
+ ]
230
+ }, c);
231
+ })]
232
+ });
233
+ }, Te = ({ layer: t, observation: e, panel: r, project: a }) => {
234
+ const n = it(t)(e, "hovered"), s = a(e, r);
235
+ return s === null ? null : /* @__PURE__ */ i("g", {
236
+ "data-geom": "area",
237
+ opacity: n.opacity,
238
+ children: /* @__PURE__ */ i("circle", {
239
+ cx: s.x,
240
+ cy: s.y,
241
+ r: vr,
242
+ fill: n.color,
243
+ stroke: n.edge,
244
+ strokeWidth: 1.5
245
+ })
246
+ });
247
+ }, mr = tt("area", {
248
+ coord: "cartesian",
249
+ guideMode: "crosshair",
250
+ swatchShape: "area",
251
+ render: ({ layer: t, coordSystem: e, panelRect: r }) => e.type !== "cartesian" ? null : /* @__PURE__ */ i(ke, {
252
+ layer: t,
253
+ coordSystem: e,
254
+ panel: r
255
+ }),
256
+ renderHover: ({ layer: t, primary: e, panelRect: r }) => /* @__PURE__ */ i(Te, {
257
+ layer: t,
258
+ observation: e.observation,
259
+ panel: r,
260
+ project: wt
261
+ }),
262
+ renderHoverCompanions: () => null
263
+ }), Ar = tt("area", {
264
+ coord: "polar",
265
+ guideMode: "crosshair",
266
+ swatchShape: "area",
267
+ render: ({ layer: t, panelRect: e }) => /* @__PURE__ */ i(ke, {
268
+ layer: t,
269
+ panel: e
270
+ }),
271
+ renderHover: ({ layer: t, primary: e, panelRect: r }) => /* @__PURE__ */ i(Te, {
272
+ layer: t,
273
+ observation: e.observation,
274
+ panel: r,
275
+ project: $t
276
+ }),
277
+ renderHoverCompanions: () => null
278
+ }), Er = {
279
+ solo: {
280
+ base: !0,
281
+ value: !0
282
+ },
283
+ floor: {
284
+ base: !0,
285
+ value: !1
286
+ },
287
+ ceiling: {
288
+ base: !1,
289
+ value: !0
290
+ },
291
+ middle: {
292
+ base: !1,
293
+ value: !1
294
+ }
295
+ }, yr = {
296
+ top: "bottom",
297
+ bottom: "top",
298
+ left: "right",
299
+ right: "left"
300
+ }, Sr = {
301
+ top: {
302
+ x: 0,
303
+ y: -1
304
+ },
305
+ bottom: {
306
+ x: 0,
307
+ y: 1
308
+ },
309
+ right: {
310
+ x: 1,
311
+ y: 0
312
+ },
313
+ left: {
314
+ x: -1,
315
+ y: 0
316
+ }
317
+ }, _r = (t, e) => e === "x" ? (Se(t) ?? St(t) ?? 0) >= (Ke(t) ?? 0) ? "top" : "bottom" : (Ye(t) ?? 0) >= (je(t) ?? 0) ? "right" : "left", $r = (t, e, r) => {
318
+ const a = Math.max(0, t.width - r), n = Math.max(0, t.height - r);
319
+ return e === "top" ? {
320
+ ...t,
321
+ y: t.y + t.height - n,
322
+ height: n
323
+ } : e === "bottom" ? {
324
+ ...t,
325
+ height: n
326
+ } : e === "left" ? {
327
+ ...t,
328
+ x: t.x + t.width - a,
329
+ width: a
330
+ } : {
331
+ ...t,
332
+ width: a
333
+ };
334
+ }, Rr = (t, e, r, a) => {
335
+ const n = Ve(e, t);
336
+ if (!n || n.width <= 0 || n.height <= 0) return null;
337
+ const s = Er[ze(t)], l = _r(t, e), c = {
338
+ x: n.x * r.width,
339
+ y: n.y * r.height,
340
+ width: n.width * r.width,
341
+ height: n.height * r.height
342
+ }, o = [s.value ? [] : [l], s.base ? [] : [yr[l]]].flat().reduce(($, _) => $r($, _, a / 2), c), d = l === "top" || l === "bottom", u = d ? o.width : o.height, p = d ? o.height : o.width;
343
+ if (u <= 0 || p <= 0) return null;
344
+ const f = Sr[l], h = {
345
+ x: o.x + o.width / 2,
346
+ y: o.y + o.height / 2
347
+ }, g = {
348
+ x: h.x - f.x * o.width / 2,
349
+ y: h.y - f.y * o.height / 2
350
+ }, v = {
351
+ x: Math.abs(f.y),
352
+ y: Math.abs(f.x)
353
+ }, m = ($, _) => ({
354
+ x: g.x + f.x * _ + v.x * ($ - u / 2),
355
+ y: g.y + f.y * _ + v.y * ($ - u / 2)
356
+ });
357
+ return {
358
+ rect: o,
359
+ valueEdge: l,
360
+ endsStack: s.value,
361
+ startsStack: s.base,
362
+ isColumn: d,
363
+ breadth: u,
364
+ length: p,
365
+ foot: g,
366
+ growth: f,
367
+ at: m
368
+ };
369
+ }, b = (t, e, r, a) => [
370
+ [[t, r]],
371
+ [[t, a]],
372
+ [[e, a]],
373
+ [[e, r]]
374
+ ], L = (t, e, r = !0) => {
375
+ const a = e.map((n, s) => {
376
+ const l = n.map(([c, o]) => {
377
+ const { x: d, y: u } = t.at(c, o);
378
+ return `${Math.round(d * 100) / 100},${Math.round(u * 100) / 100}`;
379
+ });
380
+ return s === 0 ? `M${l.join(" ")}` : n.length === 3 ? `C${l.join(" ")}` : `L${l.join(" ")}`;
381
+ }).join(" ");
382
+ return r ? `${a} Z` : a;
383
+ }, I = {
384
+ rise: "halloween-rise",
385
+ light: "halloween-light",
386
+ kindle: "halloween-kindle",
387
+ flicker: "halloween-flicker"
388
+ }, kr = 1.5, Tr = `
389
+ @keyframes ${I.rise} {
390
+ from { transform: translate(var(--halloween-from-x, 0px), var(--halloween-from-y, 0px)); opacity: 0.15; }
391
+ }
392
+ @keyframes ${I.light} {
393
+ from { transform: scale(0.15); opacity: 0; }
394
+ 60% { opacity: 1; }
395
+ }
396
+ @keyframes ${I.kindle} {
397
+ from { opacity: 0; }
398
+ }
399
+ @keyframes ${I.flicker} {
400
+ 0% { transform: scale(1, 1) skewX(0deg); }
401
+ 30% { transform: scale(0.94, 1.06) skewX(-3deg); }
402
+ 55% { transform: scale(1.04, 0.95) skewX(2deg); }
403
+ 80% { transform: scale(0.97, 1.03) skewX(-1deg); }
404
+ 100% { transform: scale(1, 1) skewX(0deg); }
405
+ }
406
+ .${I.rise} {
407
+ animation: ${I.rise} var(--halloween-duration, 0s) cubic-bezier(0.22, 0.75, 0.25, 1)
408
+ var(--halloween-delay, 0s) both;
409
+ }
410
+ .${I.light} {
411
+ transform-box: fill-box;
412
+ transform-origin: center;
413
+ animation: ${I.light} var(--halloween-duration, 0s) cubic-bezier(0.3, 1.4, 0.5, 1)
414
+ var(--halloween-delay, 0s) both;
415
+ }
416
+ .${I.flicker} {
417
+ transform-box: fill-box;
418
+ transform-origin: 50% 100%;
419
+ animation: ${I.flicker} 1.7s ease-in-out infinite;
420
+ }
421
+ .${I.kindle} {
422
+ animation: ${I.kindle} var(--halloween-duration, 0s) ease-in var(--halloween-delay, 0s) both;
423
+ }
424
+ @media (prefers-reduced-motion: reduce) {
425
+ .${I.rise}, .${I.light}, .${I.kindle}, .${I.flicker} {
426
+ animation: none;
427
+ }
428
+ }
429
+ `, Dt = () => /* @__PURE__ */ i("style", { children: Tr }), Me = (t, e) => {
430
+ if (t == null) return null;
431
+ const r = t.type === "grow" ? t.delayByKey[e] ?? 0 : 0;
432
+ return {
433
+ duration: t.durationSeconds * kr,
434
+ delay: r
435
+ };
436
+ }, Pt = (t, e = {
437
+ x: 0,
438
+ y: 0
439
+ }) => ({
440
+ "--halloween-duration": `${t.duration}s`,
441
+ "--halloween-delay": `${t.delay}s`,
442
+ "--halloween-from-x": `${e.x}px`,
443
+ "--halloween-from-y": `${e.y}px`
444
+ }), Mr = (t) => {
445
+ const [e] = We(() => t != null);
446
+ return e;
447
+ }, Lr = 0.66, Hr = 30, bt = 1.4, Cr = 0.42, Ir = 4, Or = 0.12, xr = "#4A4352", wr = "#8A8095", Dr = "#1B1218", Pr = 0.9, Wr = 7, Nr = 15, Fr = "#FF9F2E", Gr = "#FFC94F", Br = "#FFF6D6", Tt = "#FFD98A", br = "#0B0710", Ur = "#FFFFFF", Ut = "#FFF1D2", Le = (t) => {
448
+ const { breadth: e, length: r, startsStack: a } = t, n = Math.min(Hr, e * Lr), s = (e - n) / 2, l = a ? Math.min(Ir, r * Or) : 0, c = Math.max(2, Math.min(4, n * 0.3)), o = Math.max(Wr, Math.min(Nr, n * Pr));
449
+ return {
450
+ left: s,
451
+ right: s + n,
452
+ dish: l,
453
+ top: r,
454
+ wick: c,
455
+ flameFoot: r + c * 0.45,
456
+ flameTip: r + c * 0.45 + o
457
+ };
458
+ }, Vr = (t, e) => {
459
+ const r = st(_t(`${e}-drips`)), a = t.right - t.left, n = t.top - t.dish;
460
+ if (a < 5 || n < 10) return [];
461
+ const s = 2 + Math.floor(r() * 2);
462
+ return Array.from({ length: s }, (l, c) => {
463
+ const o = c < 2, d = Math.max(1.6, a * Cr * (0.45 + r() * 0.55)), u = o ? c === 0 ? t.left + d / 2 - bt * r() : t.right - d / 2 + bt * r() : t.left + d / 2 + r() * (a - d), p = r() < 0.3, f = Math.min(n * 0.55, (p ? a * 1.4 : 2) + r() * Math.max(4, a * (p ? 1.2 : 0.6))), h = d / 2, g = t.top - Math.max(f, h * 1.6 + 1);
464
+ return [
465
+ [[u - h, t.top]],
466
+ [[u - h, g + h]],
467
+ [
468
+ [u - h, g - h * 0.35],
469
+ [u + h, g - h * 0.35],
470
+ [u + h, g + h]
471
+ ],
472
+ [[u + h, t.top]]
473
+ ];
474
+ });
475
+ }, zr = ({ box: t, candleKey: e, color: r, fillOpacity: a, waxId: n }) => {
476
+ const s = Le(t), { left: l, right: c, dish: o, top: d } = s, u = Vr(s, e), p = M(M(r, Ut, 0.22), Ur, 0.08), f = M(r, br, 0.3);
477
+ return /* @__PURE__ */ E("g", {
478
+ "data-candle-wax": "",
479
+ children: [
480
+ /* @__PURE__ */ i("path", {
481
+ d: L(t, b(l, c, o, d)),
482
+ fill: `url(#${n})`,
483
+ fillOpacity: a,
484
+ "data-outline": "candle",
485
+ "data-stone-color": r
486
+ }),
487
+ /* @__PURE__ */ i("path", {
488
+ d: L(t, [[[l + 0.5, d - 0.9]], [[c - 0.5, d - 0.9]]], !1),
489
+ stroke: M(r, Ut, 0.5),
490
+ strokeWidth: 1.8,
491
+ strokeOpacity: 0.85
492
+ }),
493
+ u.map((h, g) => /* @__PURE__ */ E("g", {
494
+ "data-drip": "",
495
+ children: [/* @__PURE__ */ i("path", {
496
+ d: L(t, h),
497
+ fill: f,
498
+ fillOpacity: 0.45,
499
+ transform: "translate(0.7,0.5)"
500
+ }), /* @__PURE__ */ i("path", {
501
+ d: L(t, h),
502
+ fill: p,
503
+ fillOpacity: a
504
+ })]
505
+ }, g)),
506
+ o > 0 && /* @__PURE__ */ E("g", {
507
+ "data-dish": "",
508
+ children: [/* @__PURE__ */ i("path", {
509
+ d: L(t, b(0, t.breadth, 0, o)),
510
+ fill: xr
511
+ }), /* @__PURE__ */ i("path", {
512
+ d: L(t, [[[0.5, o - 0.5]], [[t.breadth - 0.5, o - 0.5]]], !1),
513
+ stroke: wr,
514
+ strokeWidth: 1
515
+ })]
516
+ })
517
+ ]
518
+ });
519
+ }, Yr = ({ id: t }) => /* @__PURE__ */ E("radialGradient", {
520
+ id: t,
521
+ children: [
522
+ /* @__PURE__ */ i("stop", {
523
+ offset: 0,
524
+ stopColor: Tt,
525
+ stopOpacity: 0.32
526
+ }),
527
+ /* @__PURE__ */ i("stop", {
528
+ offset: 0.45,
529
+ stopColor: Tt,
530
+ stopOpacity: 0.1
531
+ }),
532
+ /* @__PURE__ */ i("stop", {
533
+ offset: 1,
534
+ stopColor: Tt,
535
+ stopOpacity: 0
536
+ })
537
+ ]
538
+ }), jr = ({ box: t, haloId: e, isFlickering: r }) => {
539
+ const { left: a, right: n, top: s, wick: l, flameFoot: c, flameTip: o } = Le(t), d = (a + n) / 2, u = o - c, p = u * 0.24, f = (m, $ = 0) => {
540
+ const _ = c + $, k = _ + u * m;
541
+ return L(t, [
542
+ [[d, _]],
543
+ [
544
+ [d - p * m * 1.35, _ + u * m * 0.05],
545
+ [d - p * m * 1.05, _ + u * m * 0.55],
546
+ [d, k]
547
+ ],
548
+ [
549
+ [d + p * m * 1.05, _ + u * m * 0.55],
550
+ [d + p * m * 1.35, _ + u * m * 0.05],
551
+ [d, _]
552
+ ]
553
+ ]);
554
+ }, h = t.at(d, c + u * 0.4), g = t.at(d, s), v = t.at(d, s + l);
555
+ return /* @__PURE__ */ E("g", {
556
+ "data-flame": "",
557
+ children: [
558
+ /* @__PURE__ */ i("circle", {
559
+ cx: h.x,
560
+ cy: h.y,
561
+ r: u * 0.9,
562
+ fill: `url(#${e})`
563
+ }),
564
+ /* @__PURE__ */ i("line", {
565
+ x1: g.x,
566
+ y1: g.y,
567
+ x2: v.x,
568
+ y2: v.y,
569
+ stroke: Dr,
570
+ strokeWidth: 1.1
571
+ }),
572
+ /* @__PURE__ */ E("g", {
573
+ className: r ? I.flicker : void 0,
574
+ children: [
575
+ /* @__PURE__ */ i("path", {
576
+ d: f(1),
577
+ fill: Fr
578
+ }),
579
+ /* @__PURE__ */ i("path", {
580
+ d: f(0.72, u * 0.04),
581
+ fill: Gr
582
+ }),
583
+ /* @__PURE__ */ i("path", {
584
+ d: f(0.4, u * 0.06),
585
+ fill: Br
586
+ })
587
+ ]
588
+ })
589
+ ]
590
+ });
591
+ }, Kr = 0.34, Xr = 1.6, Zr = 3.4, Qr = 0.8, qr = 9, Jr = 1.8, ta = 1.6, ea = [4, 13], ft = 1.8, ra = "#5B4E66", aa = "#8C7F99", Vt = "#0B0710", Wt = (t) => {
592
+ const { breadth: e, length: r } = t, a = Math.min(e, Math.max(Xr, Math.min(Zr, e * Kr))), n = Math.min(e, Math.max(a * 2, Math.min(qr, e * Qr))) / 2, s = Math.min(n * 2 * Jr, r * 0.6), l = (e - a) / 2;
593
+ return {
594
+ left: l,
595
+ right: l + a,
596
+ neck: r - s,
597
+ headHalf: n,
598
+ tip: r
599
+ };
600
+ }, zt = (t, e) => {
601
+ const r = t.breadth / 2, { neck: a, tip: n, headHalf: s, left: l, right: c } = e, o = n - a, d = a + o * 0.32;
602
+ return [
603
+ [[l, a]],
604
+ [[r - s, d - o * 0.06]],
605
+ [[r - s * 0.55, d + o * 0.06]],
606
+ [[r, n]],
607
+ [[r + s * 0.55, d + o * 0.06]],
608
+ [[r + s, d - o * 0.06]],
609
+ [[c, a]]
610
+ ];
611
+ }, na = ({ box: t, color: e, fillOpacity: r, paintId: a }) => {
612
+ const n = Wt(t), { left: s, right: l, neck: c } = n, o = Math.min(ta, (c - 0) * 0.3);
613
+ return /* @__PURE__ */ E("g", {
614
+ "data-railing-post": "",
615
+ children: [
616
+ /* @__PURE__ */ i("path", {
617
+ d: L(t, b(s, l, 0, c)),
618
+ fill: `url(#${a})`,
619
+ fillOpacity: r,
620
+ "data-outline": "railing",
621
+ "data-stone-color": e
622
+ }),
623
+ /* @__PURE__ */ i("path", {
624
+ d: L(t, zt(t, n)),
625
+ fill: e,
626
+ fillOpacity: r,
627
+ "data-spear": ""
628
+ }),
629
+ /* @__PURE__ */ i("path", {
630
+ d: L(t, [[[t.breadth / 2, c]], ...zt(t, n).slice(3)]),
631
+ fill: M(e, Vt, 0.35),
632
+ fillOpacity: r * 0.7
633
+ }),
634
+ o > 0.5 && /* @__PURE__ */ i("path", {
635
+ d: L(t, b(s - 0.6, l + 0.6, c - o, c)),
636
+ fill: M(e, Vt, 0.25)
637
+ })
638
+ ]
639
+ });
640
+ }, Yt = (t, e) => t > e + ft * 1.5, oa = ({ box: t, neighbours: e }) => {
641
+ const { neck: r } = Wt(t), a = ea.flatMap((n) => {
642
+ if (!Yt(r, n)) return [];
643
+ const s = (o) => o !== null && Yt(o.neck, n) ? o.gap / 2 : null, l = s(e.before), c = s(e.after);
644
+ return l === null && c === null ? [] : [{
645
+ height: n,
646
+ from: -(l ?? 0),
647
+ to: t.breadth + (c ?? 0)
648
+ }];
649
+ });
650
+ return a.length === 0 ? null : /* @__PURE__ */ i("g", {
651
+ "data-rail": "",
652
+ children: a.map(({ height: n, from: s, to: l }) => /* @__PURE__ */ E("g", { children: [/* @__PURE__ */ i("path", {
653
+ d: L(t, [[[s, n]], [[l, n]]], !1),
654
+ stroke: ra,
655
+ strokeWidth: ft
656
+ }), /* @__PURE__ */ i("path", {
657
+ d: L(t, [[[s, n + ft / 2]], [[l, n + ft / 2]]], !1),
658
+ stroke: aa,
659
+ strokeWidth: 0.6,
660
+ strokeOpacity: 0.7
661
+ })] }, n))
662
+ });
663
+ }, sa = 2, ia = 8, la = 0.16, ca = 0.18, jt = 0.78, da = 0.14, ha = 74, ua = 0.85, fa = 30, pa = 1.5, ga = 0.42, dt = 0.5523, va = 12, ma = 0.07, Aa = 1.5, Ea = 4, rt = 1.6, z = "#0B0710", at = "#FFFFFF", ya = 0.32, Sa = 0.18, He = 0.45, Kt = 0.7, _a = 0.12, $a = 0.16, Ra = 55, ka = 220, Xt = 0.22, Ta = 0.65, Ma = "#7F7B76", La = 0.22, Ha = 0.42, Ca = 0.3, Ia = "#F1E8D6", Oa = 0.62, xa = 0.45, Zt = 1.3, wa = 20, Da = 44, Qt = [
664
+ 0.52,
665
+ 0.66,
666
+ 0.4
667
+ ], qt = 70, Pa = "'Cinzel', 'Times New Roman', serif", Jt = 8, te = 17, ee = 0.7, Wa = 0.72, ht = 4, Na = "#1E3A22", Fa = 4, Ga = 6, Ba = 10, ba = 0.16, re = "#E8E0D2", Ua = (t) => {
668
+ const { breadth: e, length: r, endsStack: a, startsStack: n, isColumn: s, valueEdge: l } = t;
669
+ if (!a || !n || !s || l !== "top" || r < va) return null;
670
+ const c = Math.min(ia, r * la, e * ca), o = (e - Math.min(e * jt, Math.max(Math.min(e * jt, fa), Math.min(ha, r * ua)))) / 2, d = e - o, u = (d - o) * (1 - da * 2) / 2, p = Math.min(u, (r - c) * ga), f = Math.min(u, p * pa);
671
+ return {
672
+ plinth: c,
673
+ left: o,
674
+ right: d,
675
+ step: (d - o) / 2 - f,
676
+ shoulder: r - p
677
+ };
678
+ }, ae = (t, e) => {
679
+ const { plinth: r, left: a, right: n, step: s, shoulder: l } = e, { length: c } = t, o = a + s, d = n - s, u = (d - o) / 2, p = o + u, f = c - l;
680
+ return [
681
+ [[a, r]],
682
+ [[a, l]],
683
+ [[o, l]],
684
+ [
685
+ [o, l + f * dt],
686
+ [p - u * dt, c],
687
+ [p, c]
688
+ ],
689
+ [
690
+ [p + u * dt, c],
691
+ [d, l + f * dt],
692
+ [d, l]
693
+ ],
694
+ [[n, l]],
695
+ [[n, r]]
696
+ ];
697
+ }, Va = (t, e, r) => {
698
+ const a = st(_t(`${e}-grain`)), n = Math.min(ka, Math.floor(t.breadth * t.length / Ra)), s = Array.from({ length: n }, () => {
699
+ const { x: c, y: o } = t.at(a() * t.breadth, a() * t.length), d = 0.35 + a() * 0.55;
700
+ return {
701
+ isDark: a() < 0.6,
702
+ path: `M${c - d},${o} a${d},${d} 0 1 0 ${d * 2},0 a${d},${d} 0 1 0 ${-d * 2},0`
703
+ };
704
+ }), l = xt(r) > Ta ? Array.from({ length: 2 }, () => {
705
+ const c = t.length * (0.15 + a() * 0.6), o = c + (a() - 0.5) * t.breadth * 1.6, d = t.at(t.breadth * (0.4 + a() * 0.2), (c + o) / 2 + (a() - 0.5) * 6), u = t.at(0, c), p = t.at(t.breadth, o);
706
+ return `M${u.x},${u.y} Q${d.x},${d.y} ${p.x},${p.y}`;
707
+ }).join(" ") : "";
708
+ return {
709
+ dark: s.filter(({ isDark: c }) => c).map(({ path: c }) => c).join(" "),
710
+ light: s.filter(({ isDark: c }) => !c).map(({ path: c }) => c).join(" "),
711
+ veins: l
712
+ };
713
+ }, Ce = (t, e) => {
714
+ const r = t.length - e.shoulder, a = Math.min((e.right - e.left - e.step * 2) * 0.28, 12);
715
+ return {
716
+ size: a,
717
+ centre: e.shoulder + r * 0.3,
718
+ isCut: r >= a * 1.2
719
+ };
720
+ }, za = (t, e, r) => {
721
+ const { left: a, right: n, shoulder: s, plinth: l } = e, c = n - a;
722
+ if (c < wa || t.length - l < Da) return null;
723
+ const o = (a + n) / 2, d = ($, _) => {
724
+ const k = t.at(...$), C = t.at(..._);
725
+ return `M${k.x},${k.y} L${C.x},${C.y}`;
726
+ }, { size: u, centre: p, isCut: f } = Ce(t, e), h = Math.min(7, Math.max(4, c * 0.12)), g = r === null ? Qt : Qt.slice(0, 1), v = r === null ? s - h * 1.4 : r.baseline - h * 1.6, m = g.flatMap(($, _) => {
727
+ const k = v - h * _;
728
+ return k > l + h * 2 ? [d([o - Math.min(c * $, qt * $) / 2, k], [o + Math.min(c * $, qt * $) / 2, k])] : [];
729
+ });
730
+ return [...f ? [d([o, p - u * 0.5], [o, p + u * 0.5]), d([o - u * 0.32, p + u * 0.18], [o + u * 0.32, p + u * 0.18])] : [], ...m].join(" ");
731
+ }, Ya = (t, e, r) => {
732
+ if (r === "") return null;
733
+ const a = Math.max(1, r.length);
734
+ if (e !== null) {
735
+ const c = e.right - e.left - ht * 2, o = Math.min(te, c / (a * ee)), d = Ce(t, e), u = d.isCut ? d.centre - d.size / 2 - ht : e.shoulder, p = Math.min(e.shoulder - o * 0.35, u - o * Wa);
736
+ return o < Jt || p - o < e.plinth + ht ? null : {
737
+ text: r,
738
+ fontSize: o,
739
+ baseline: p,
740
+ across: (e.left + e.right) / 2
741
+ };
742
+ }
743
+ const n = t.isColumn ? t.breadth : t.length, s = t.isColumn ? t.length : t.breadth, l = Math.min(te, s * 0.6, (n - ht * 2) / (a * ee));
744
+ return l < Jt ? null : t.isColumn ? {
745
+ text: r,
746
+ fontSize: l,
747
+ baseline: t.length / 2 - l * 0.36,
748
+ across: t.breadth / 2
749
+ } : {
750
+ text: r,
751
+ fontSize: l,
752
+ baseline: t.length / 2,
753
+ across: t.breadth / 2 + l * 0.36
754
+ };
755
+ }, ja = (t, e) => {
756
+ const r = st(_t(`${e}-grass`)), a = Math.max(2, Math.floor(t.breadth / Ga));
757
+ return Array.from({ length: a }, (n, s) => {
758
+ const l = (s + 0.3 + r() * 0.4) * t.breadth / a, c = Fa * (0.5 + r() * 0.6), o = (r() - 0.5) * 3, d = t.at(l - 1, 0), u = t.at(l + o, c), p = t.at(l + 1, 0);
759
+ return `M${d.x},${d.y} L${u.x},${u.y} L${p.x},${p.y} Z`;
760
+ }).join(" ");
761
+ }, Ka = (t) => xt(t) < Ca ? {
762
+ groove: M(t, Ia, Oa),
763
+ lip: M(t, z, xa),
764
+ isPale: !0
765
+ } : {
766
+ groove: M(t, z, Ha),
767
+ lip: M(t, at, He),
768
+ isPale: !1
769
+ }, Xa = ({ box: t, stoneKey: e, color: r, fillOpacity: a, faceId: n, fogId: s, clipId: l, label: c }) => {
770
+ const o = Ua(t), { breadth: d, length: u, startsStack: p, isColumn: f } = t, h = o === null ? L(t, b(0, d, 0, u)) : L(t, ae(t, o)), g = o !== null && o.plinth > 0 ? L(t, b(0, d, 0, o.plinth)) : null, v = Math.min(Ea, Math.max(Aa, d * ma)), m = M(r, z, ya), $ = M(r, at, He), { groove: _, lip: k } = Ka(r), C = Va(t, e, r), O = Ya(t, o, c), D = o === null ? null : za(t, o, O), W = O === null ? null : t.at(O.across, O.baseline), Q = p && f, P = o === null ? L(t, b(d - v, d, 0, u)) : L(t, b(o.right - v, o.right, o.plinth, o.shoulder)), Y = o === null ? f ? L(t, [[[0, u - rt / 2]], [[d, u - rt / 2]]], !1) : L(t, [[[rt / 2, 0]], [[rt / 2, u]]], !1) : L(t, ae(t, o).slice(1, -1), !1);
771
+ return /* @__PURE__ */ E("g", { children: [
772
+ /* @__PURE__ */ E("clipPath", {
773
+ id: l,
774
+ children: [/* @__PURE__ */ i("path", { d: h }), g !== null && /* @__PURE__ */ i("path", { d: g })]
775
+ }),
776
+ g !== null && /* @__PURE__ */ i("path", {
777
+ d: g,
778
+ fill: M(r, z, Sa),
779
+ fillOpacity: a,
780
+ "data-plinth": ""
781
+ }),
782
+ /* @__PURE__ */ i("path", {
783
+ d: h,
784
+ fill: `url(#${n})`,
785
+ fillOpacity: a,
786
+ "data-outline": o === null ? "slab" : "headstone",
787
+ "data-stone-color": r
788
+ }),
789
+ /* @__PURE__ */ E("g", {
790
+ clipPath: `url(#${l})`,
791
+ children: [
792
+ C.veins !== "" && /* @__PURE__ */ i("path", {
793
+ d: C.veins,
794
+ fill: "none",
795
+ stroke: Ma,
796
+ strokeOpacity: La,
797
+ strokeWidth: 0.7
798
+ }),
799
+ /* @__PURE__ */ i("path", {
800
+ d: C.dark,
801
+ fill: z,
802
+ fillOpacity: Xt
803
+ }),
804
+ /* @__PURE__ */ i("path", {
805
+ d: C.light,
806
+ fill: at,
807
+ fillOpacity: Xt
808
+ }),
809
+ /* @__PURE__ */ i("path", {
810
+ d: P,
811
+ fill: m,
812
+ fillOpacity: 0.85
813
+ }),
814
+ /* @__PURE__ */ i("path", {
815
+ d: Y,
816
+ fill: "none",
817
+ stroke: $,
818
+ strokeOpacity: Kt,
819
+ strokeWidth: rt * 2
820
+ }),
821
+ g !== null && o !== null && /* @__PURE__ */ i("path", {
822
+ d: L(t, [[[0, o.plinth - 0.6]], [[d, o.plinth - 0.6]]], !1),
823
+ stroke: $,
824
+ strokeOpacity: Kt,
825
+ strokeWidth: 1.2
826
+ }),
827
+ D !== null && /* @__PURE__ */ E("g", {
828
+ fill: "none",
829
+ strokeLinecap: "round",
830
+ children: [/* @__PURE__ */ i("path", {
831
+ d: D,
832
+ stroke: k,
833
+ strokeOpacity: 0.45,
834
+ strokeWidth: Zt,
835
+ transform: "translate(0,1)"
836
+ }), /* @__PURE__ */ i("path", {
837
+ d: D,
838
+ stroke: _,
839
+ strokeWidth: Zt
840
+ })]
841
+ }),
842
+ O !== null && W !== null && /* @__PURE__ */ E("g", {
843
+ fontFamily: Pa,
844
+ fontWeight: 700,
845
+ fontSize: O.fontSize,
846
+ textAnchor: "middle",
847
+ letterSpacing: O.fontSize * 0.04,
848
+ "data-carving": O.text,
849
+ children: [/* @__PURE__ */ i("text", {
850
+ x: W.x,
851
+ y: W.y + 1,
852
+ fill: k,
853
+ fillOpacity: 0.5,
854
+ children: O.text
855
+ }), /* @__PURE__ */ i("text", {
856
+ x: W.x,
857
+ y: W.y,
858
+ fill: _,
859
+ children: O.text
860
+ })]
861
+ }),
862
+ Q && /* @__PURE__ */ E("g", { children: [/* @__PURE__ */ i("path", {
863
+ d: L(t, b(0, d, 0, Math.min(Ba, u))),
864
+ fill: `url(#${s})`
865
+ }), /* @__PURE__ */ i("path", {
866
+ d: ja(t, e),
867
+ fill: Na
868
+ })] })
869
+ ]
870
+ })
871
+ ] });
872
+ }, Za = (t) => {
873
+ const e = t.mapping.y, r = typeof e == "string" ? e : e !== void 0 && "variable" in e ? e.variable : null;
874
+ return r !== null && t.data.hasVariable(r) ? r : null;
875
+ }, Qa = (t, e, r) => {
876
+ if (t === null || e === null) return "";
877
+ const a = r[Fe.yRaw] ?? r[e];
878
+ return a == null ? "" : t(a, r);
879
+ };
880
+ var qa = (t) => t >= 44 ? "headstone" : t >= 14 ? "candle" : "railing", Ja = (t) => t.reduce((e, r) => r !== null && r.isColumn ? Math.max(e, r.breadth) : e, 0), pt = (t) => t.isColumn && t.startsStack && t.endsStack && t.valueEdge === "top", tn = (t) => {
881
+ const e = t.map((a, n) => ({
882
+ box: a,
883
+ index: n
884
+ })).filter((a) => a.box !== null && pt(a.box)).sort((a, n) => a.box.rect.x - n.box.rect.x), r = (a, n) => a === void 0 ? null : {
885
+ gap: Math.max(0, n),
886
+ neck: Wt(a).neck
887
+ };
888
+ return new Map(e.map(({ box: a, index: n }, s) => {
889
+ const l = e[s - 1]?.box, c = e[s + 1]?.box;
890
+ return [n, {
891
+ before: r(l, l === void 0 ? 0 : a.rect.x - (l.rect.x + l.rect.width)),
892
+ after: r(c, c === void 0 ? 0 : c.rect.x - (a.rect.x + a.rect.width))
893
+ }];
894
+ }));
895
+ }, ne = ({ layer: t, observations: e, mainAxis: r, panel: a, intro: n, state: s }) => {
896
+ const l = it(t), c = mt("face"), o = mt("round"), d = F("stone"), u = F("fog"), p = F("halo"), f = Mr(n), h = Z(() => ot(t.data, t.mapping, t.id), [
897
+ t.data,
898
+ t.mapping,
899
+ t.id
900
+ ]), g = rr((y) => y.config.numberFormat), v = er(), m = Za(t), $ = Z(() => m === null ? null : be({
901
+ valueFormat: t.data.getValueFormat(m),
902
+ locale: v,
903
+ numberFormat: g
904
+ }), [
905
+ t.data,
906
+ m,
907
+ v,
908
+ g
909
+ ]);
910
+ if (a.width <= 0 || a.height <= 0) return null;
911
+ const _ = [...e].map((y, N) => {
912
+ const S = h(y);
913
+ return {
914
+ key: S,
915
+ index: N,
916
+ paint: l(y, s),
917
+ box: Rr(y, r, a, sa),
918
+ label: Qa($, m, y),
919
+ timing: s === void 0 ? Me(n, S) : null
920
+ };
921
+ }), k = _.map(({ box: y }) => y), C = qa(Ja(k)), O = (y) => pt(y) ? C : "slab", D = C === "candle" && k.some((y) => y !== null && pt(y)), W = C === "railing" && s === void 0 ? tn(k) : /* @__PURE__ */ new Map(), Q = _.some(({ timing: y }) => y !== null), P = D && f && s === void 0, Y = [...new Set(_.map(({ paint: y }) => y.color))], lt = (y, N) => N === null ? {} : {
922
+ className: I.rise,
923
+ style: Pt(N, {
924
+ x: -y.growth.x * y.length,
925
+ y: -y.growth.y * y.length
926
+ })
927
+ };
928
+ return /* @__PURE__ */ E("g", {
929
+ "data-geom": "bar",
930
+ "data-grave-object": C,
931
+ children: [
932
+ (Q || P) && /* @__PURE__ */ i(Dt, {}),
933
+ /* @__PURE__ */ E("defs", { children: [
934
+ Y.map((y) => /* @__PURE__ */ E("linearGradient", {
935
+ id: c(y),
936
+ x1: "0",
937
+ y1: "0",
938
+ x2: "0.35",
939
+ y2: "1",
940
+ children: [
941
+ /* @__PURE__ */ i("stop", {
942
+ offset: 0,
943
+ stopColor: M(y, at, _a)
944
+ }),
945
+ /* @__PURE__ */ i("stop", {
946
+ offset: 0.5,
947
+ stopColor: y
948
+ }),
949
+ /* @__PURE__ */ i("stop", {
950
+ offset: 1,
951
+ stopColor: M(y, z, $a)
952
+ })
953
+ ]
954
+ }, y)),
955
+ C !== "headstone" && Y.map((y) => /* @__PURE__ */ E("linearGradient", {
956
+ id: o(y),
957
+ x1: "0",
958
+ y1: "0",
959
+ x2: "1",
960
+ y2: "0",
961
+ children: [
962
+ /* @__PURE__ */ i("stop", {
963
+ offset: 0,
964
+ stopColor: M(y, z, 0.22)
965
+ }),
966
+ /* @__PURE__ */ i("stop", {
967
+ offset: 0.28,
968
+ stopColor: M(y, at, 0.2)
969
+ }),
970
+ /* @__PURE__ */ i("stop", {
971
+ offset: 0.5,
972
+ stopColor: y
973
+ }),
974
+ /* @__PURE__ */ i("stop", {
975
+ offset: 1,
976
+ stopColor: M(y, z, 0.38)
977
+ })
978
+ ]
979
+ }, y)),
980
+ D && /* @__PURE__ */ i(Yr, { id: p }),
981
+ /* @__PURE__ */ E("linearGradient", {
982
+ id: u,
983
+ x1: "0",
984
+ y1: "1",
985
+ x2: "0",
986
+ y2: "0",
987
+ children: [/* @__PURE__ */ i("stop", {
988
+ offset: 0,
989
+ stopColor: re,
990
+ stopOpacity: ba
991
+ }), /* @__PURE__ */ i("stop", {
992
+ offset: 1,
993
+ stopColor: re,
994
+ stopOpacity: 0
995
+ })]
996
+ })
997
+ ] }),
998
+ C === "railing" && /* @__PURE__ */ i("g", {
999
+ "data-fence": "",
1000
+ children: _.map(({ key: y, index: N, box: S, timing: T }) => S === null || !pt(S) ? null : /* @__PURE__ */ i("g", {
1001
+ ...lt(S, T),
1002
+ children: /* @__PURE__ */ i(oa, {
1003
+ box: S,
1004
+ neighbours: W.get(N) ?? {
1005
+ before: null,
1006
+ after: null
1007
+ }
1008
+ })
1009
+ }, y))
1010
+ }),
1011
+ _.map(({ key: y, index: N, paint: S, box: T, timing: H, label: G }) => {
1012
+ if (T === null) return null;
1013
+ const w = `${d}-${N}`, x = lt(T, H), B = O(T);
1014
+ return /* @__PURE__ */ E("g", {
1015
+ opacity: S.opacity,
1016
+ "data-value-edge": T.valueEdge,
1017
+ children: [
1018
+ /* @__PURE__ */ i("clipPath", {
1019
+ id: w,
1020
+ children: /* @__PURE__ */ i("rect", { ...T.rect })
1021
+ }),
1022
+ /* @__PURE__ */ i("g", {
1023
+ clipPath: `url(#${w})`,
1024
+ children: /* @__PURE__ */ E("g", {
1025
+ ...x,
1026
+ "data-stone": "",
1027
+ children: [
1028
+ B === "candle" && /* @__PURE__ */ i(zr, {
1029
+ box: T,
1030
+ candleKey: y,
1031
+ color: S.color,
1032
+ fillOpacity: S.fillOpacity,
1033
+ waxId: o(S.color)
1034
+ }),
1035
+ B === "railing" && /* @__PURE__ */ i(na, {
1036
+ box: T,
1037
+ color: S.color,
1038
+ fillOpacity: S.fillOpacity,
1039
+ paintId: o(S.color)
1040
+ }),
1041
+ (B === "headstone" || B === "slab") && /* @__PURE__ */ i(Xa, {
1042
+ box: T,
1043
+ stoneKey: y,
1044
+ color: S.color,
1045
+ fillOpacity: S.fillOpacity,
1046
+ faceId: c(S.color),
1047
+ fogId: u,
1048
+ clipId: `${w}-face`,
1049
+ label: G
1050
+ })
1051
+ ]
1052
+ })
1053
+ }),
1054
+ B === "candle" && /* @__PURE__ */ i("g", {
1055
+ ...x,
1056
+ children: /* @__PURE__ */ i(jr, {
1057
+ box: T,
1058
+ haloId: p,
1059
+ isFlickering: P
1060
+ })
1061
+ }),
1062
+ s === "hovered" && /* @__PURE__ */ i("rect", {
1063
+ ...T.rect,
1064
+ fill: "none",
1065
+ stroke: S.edge,
1066
+ strokeWidth: S.edgeWidth
1067
+ })
1068
+ ]
1069
+ }, y);
1070
+ })
1071
+ ]
1072
+ });
1073
+ }, en = tt("bar", {
1074
+ coord: "cartesian",
1075
+ guideMode: "band",
1076
+ swatchShape: "square",
1077
+ render: ({ layer: t, coordSystem: e, panelRect: r, intro: a }) => /* @__PURE__ */ i(ne, {
1078
+ layer: t,
1079
+ observations: t.data,
1080
+ mainAxis: Bt(e),
1081
+ panel: r,
1082
+ intro: a
1083
+ }),
1084
+ renderHover: ({ layer: t, coordSystem: e, primary: r, panelRect: a }) => /* @__PURE__ */ i(ne, {
1085
+ layer: t,
1086
+ observations: [r.observation],
1087
+ mainAxis: Bt(e),
1088
+ panel: a,
1089
+ state: "hovered"
1090
+ }),
1091
+ renderHoverCompanions: () => null
1092
+ }), Nt = "#FFE9A3", gt = "#2A1533", Ie = "#1A0C22", rn = "#6B7A35", an = 0.45, nn = 15, on = 10, sn = 0.62, ln = 0.24, oe = 0.75, cn = (t) => xt(t) > an ? gt : Nt, dn = (t) => M(t, Ie, 0.5), hn = ({ id: t, color: e }) => /* @__PURE__ */ E("radialGradient", {
1093
+ id: t,
1094
+ cx: "0.5",
1095
+ cy: "0.58",
1096
+ r: "0.62",
1097
+ children: [
1098
+ /* @__PURE__ */ i("stop", {
1099
+ offset: 0,
1100
+ stopColor: M(e, Nt, 0.35)
1101
+ }),
1102
+ /* @__PURE__ */ i("stop", {
1103
+ offset: 0.55,
1104
+ stopColor: e
1105
+ }),
1106
+ /* @__PURE__ */ i("stop", {
1107
+ offset: 1,
1108
+ stopColor: M(e, Ie, 0.35)
1109
+ })
1110
+ ]
1111
+ }), un = (t, e) => {
1112
+ const r = Math.min(t * 0.16, e * 0.28), a = -e * 0.1, n = (d) => `M${d - r / 2},${a + r * 0.4} L${d + r / 2},${a + r * 0.4} L${d},${a - r * 0.55} Z`, s = t * 0.26, l = e * 0.12, c = Math.max(1, t * 0.05), o = `M${-s},${l} Q${-s * 0.5},${l + e * 0.06} ${-c},${l + e * 0.05} L0,${l + e * 0.12} L${c},${l + e * 0.05} Q${s * 0.5},${l + e * 0.06} ${s},${l} Q0,${l + e * 0.36} ${-s},${l} Z`;
1113
+ return `${n(-t * 0.18)} ${n(t * 0.18)} ${o}`;
1114
+ }, fn = ({ cx: t, cy: e, width: r, height: a, color: n, fill: s, hasStem: l = !1 }) => {
1115
+ const c = r / 2, o = a / 2, d = dn(n), u = Math.max(0.7, Math.min(1.4, r / 28)), p = r >= nn && a >= on, f = Math.max(2, r * 0.12), h = Math.max(2, a * 0.24);
1116
+ return /* @__PURE__ */ E("g", {
1117
+ transform: `translate(${t},${e})`,
1118
+ children: [
1119
+ l && /* @__PURE__ */ i("path", {
1120
+ d: `M${-f / 2},${-o + 1} L${-f * 0.35},${-o - h} L${f * 0.55},${-o - h * 0.85} L${f / 2},${-o + 1} Z`,
1121
+ fill: rn
1122
+ }),
1123
+ /* @__PURE__ */ i("ellipse", {
1124
+ rx: c,
1125
+ ry: o,
1126
+ fill: s
1127
+ }),
1128
+ /* @__PURE__ */ i("ellipse", {
1129
+ rx: c * sn,
1130
+ ry: o * 0.97,
1131
+ fill: "none",
1132
+ stroke: d,
1133
+ strokeWidth: u,
1134
+ strokeOpacity: oe
1135
+ }),
1136
+ /* @__PURE__ */ i("ellipse", {
1137
+ rx: c * ln,
1138
+ ry: o * 0.99,
1139
+ fill: "none",
1140
+ stroke: d,
1141
+ strokeWidth: u,
1142
+ strokeOpacity: oe
1143
+ }),
1144
+ p && /* @__PURE__ */ i("path", {
1145
+ d: un(r, a),
1146
+ fill: cn(n)
1147
+ })
1148
+ ]
1149
+ });
1150
+ }, pn = -12, q = 7.5, gn = "#F4EEE2", vn = 0.92, mn = 15, An = 0.45, j = -6, Et = -15.5, En = `M-7.5,${j} L-7.5,${Et} A${q},${q} 0 0 1 ${q},${Et} L${q},${j} Q${q * 0.66},${j - 3} ${q / 3},${j} Q0,-3 ${-7.5 / 3},${j} Q${-7.5 * 0.66},${j - 3} -7.5,${j} Z`, yn = ({ x: t, y: e, color: r, ghostRef: a }) => {
1151
+ const n = F("halo");
1152
+ return /* @__PURE__ */ E("g", {
1153
+ ref: a,
1154
+ transform: `translate(${t},${e})`,
1155
+ "data-ghost": "",
1156
+ pointerEvents: "none",
1157
+ children: [/* @__PURE__ */ i("defs", { children: /* @__PURE__ */ E("radialGradient", {
1158
+ id: n,
1159
+ children: [/* @__PURE__ */ i("stop", {
1160
+ offset: 0,
1161
+ stopColor: r,
1162
+ stopOpacity: An
1163
+ }), /* @__PURE__ */ i("stop", {
1164
+ offset: 1,
1165
+ stopColor: r,
1166
+ stopOpacity: 0
1167
+ })]
1168
+ }) }), /* @__PURE__ */ E("g", {
1169
+ transform: `translate(-15,0) rotate(${pn})`,
1170
+ children: [
1171
+ /* @__PURE__ */ i("circle", {
1172
+ cy: -12.5,
1173
+ r: mn,
1174
+ fill: `url(#${n})`
1175
+ }),
1176
+ /* @__PURE__ */ i("path", {
1177
+ d: En,
1178
+ fill: gn,
1179
+ fillOpacity: vn,
1180
+ stroke: r,
1181
+ strokeWidth: 1.2
1182
+ }),
1183
+ /* @__PURE__ */ i("ellipse", {
1184
+ cx: -2.8,
1185
+ cy: Et,
1186
+ rx: 1.3,
1187
+ ry: 1.9,
1188
+ fill: gt
1189
+ }),
1190
+ /* @__PURE__ */ i("ellipse", {
1191
+ cx: 2.8,
1192
+ cy: Et,
1193
+ rx: 1.3,
1194
+ ry: 1.9,
1195
+ fill: gt
1196
+ }),
1197
+ /* @__PURE__ */ i("ellipse", {
1198
+ cx: 0,
1199
+ cy: -10.9,
1200
+ rx: 1.2,
1201
+ ry: 1.5,
1202
+ fill: gt
1203
+ })
1204
+ ]
1205
+ })]
1206
+ });
1207
+ }, Sn = 2.4, _n = 0.55, Mt = 3, $n = 3.6, Rn = 1.7, se = 6, kn = 14, Tn = 2.2, Mn = (t, e, r) => t.flatMap((a) => r(a, e) ?? []).reduce((a, n) => a === null || n.x >= a.x ? n : a, null), Ln = (t, e, r) => {
1208
+ const a = Ee(!1);
1209
+ Pe(() => {
1210
+ const n = t.current;
1211
+ if (a.current || !r || n === null || e === null || e === void 0) return;
1212
+ a.current = !0;
1213
+ const s = [...n.querySelectorAll("[data-trail]")];
1214
+ if (s.some((h) => typeof h.getTotalLength != "function")) return;
1215
+ const l = [...n.querySelectorAll("[data-ghost-for]")].flatMap((h) => {
1216
+ const g = h.querySelector("[data-ghost]");
1217
+ return g === null ? [] : [{
1218
+ key: h.dataset.ghostFor,
1219
+ ghost: g
1220
+ }];
1221
+ }), c = [...n.querySelectorAll("[data-bead]")], o = e.durationSeconds * Tn * 1e3, d = (h) => {
1222
+ let g = -1 / 0;
1223
+ s.forEach((v) => {
1224
+ const m = v.getTotalLength();
1225
+ v.style.strokeDasharray = `${m} ${m}`, v.style.strokeDashoffset = `${m * (1 - h)}`;
1226
+ const $ = v.getPointAtLength(m * h);
1227
+ g = Math.max(g, $.x);
1228
+ const _ = l.find(({ key: k }) => k === v.dataset.trail);
1229
+ _ !== void 0 && (_.ghost.style.transform = `translate(${$.x}px, ${$.y}px)`);
1230
+ }), c.forEach((v) => {
1231
+ v.style.opacity = Number(v.dataset.x) <= g + 0.5 ? "" : "0";
1232
+ });
1233
+ }, u = () => {
1234
+ for (const h of [
1235
+ ...s,
1236
+ ...l.map(({ ghost: g }) => g),
1237
+ ...c
1238
+ ]) h.removeAttribute("style");
1239
+ };
1240
+ d(0);
1241
+ const p = performance.now();
1242
+ let f = requestAnimationFrame(function h(g) {
1243
+ const v = Math.min(1, (g - p) / o);
1244
+ if (v >= 1) {
1245
+ u();
1246
+ return;
1247
+ }
1248
+ d(v), f = requestAnimationFrame(h);
1249
+ });
1250
+ return () => {
1251
+ cancelAnimationFrame(f), u();
1252
+ };
1253
+ }, [
1254
+ t,
1255
+ e,
1256
+ r
1257
+ ]);
1258
+ }, Hn = ({ layer: t, panel: e, coord: r, project: a, intro: n }) => {
1259
+ const s = $e(t), l = Ee(null), c = F("soften"), o = Z(() => {
1260
+ if (r === "polar") return At(t, (v) => Re(v, e)).map((v) => ({
1261
+ ...v,
1262
+ end: null
1263
+ }));
1264
+ const h = Be(t.params), g = /* @__PURE__ */ new Map();
1265
+ return At(t, (v) => {
1266
+ const m = h(Ze(v, t.params.missingValues));
1267
+ if (!m) return null;
1268
+ const $ = It(m, e);
1269
+ return g.set($, Mn(v, e, a)), $;
1270
+ }).map((v) => ({
1271
+ ...v,
1272
+ end: g.get(v.path) ?? null
1273
+ }));
1274
+ }, [
1275
+ t,
1276
+ e,
1277
+ r,
1278
+ a
1279
+ ]), d = Z(() => hr(t, e, a), [
1280
+ t,
1281
+ e,
1282
+ a
1283
+ ]), u = d.length / Math.max(1, o.length), p = e.width / Math.max(1, u) >= kn, f = r === "cartesian" && o.every(({ observation: h }) => s(h).dashArray === void 0);
1284
+ return Ln(l, n, f), e.width <= 0 || e.height <= 0 ? null : /* @__PURE__ */ E("g", {
1285
+ "data-geom": "line",
1286
+ ref: l,
1287
+ children: [
1288
+ /* @__PURE__ */ i("defs", { children: /* @__PURE__ */ i("filter", {
1289
+ id: c,
1290
+ filterUnits: "userSpaceOnUse",
1291
+ x: -12,
1292
+ y: -12,
1293
+ width: e.width + Mt * 8,
1294
+ height: e.height + Mt * 8,
1295
+ children: /* @__PURE__ */ i("feGaussianBlur", { stdDeviation: Mt })
1296
+ }) }),
1297
+ o.map(({ key: h, path: g, observation: v }) => {
1298
+ const m = s(v);
1299
+ return /* @__PURE__ */ E("g", {
1300
+ opacity: m.opacity,
1301
+ children: [/* @__PURE__ */ i("path", {
1302
+ d: g,
1303
+ fill: "none",
1304
+ stroke: m.color,
1305
+ strokeOpacity: _n,
1306
+ strokeWidth: m.width * Sn,
1307
+ filter: `url(#${c})`,
1308
+ strokeLinecap: "round",
1309
+ strokeLinejoin: "round",
1310
+ "data-trail": h
1311
+ }), /* @__PURE__ */ i("path", {
1312
+ d: g,
1313
+ fill: "none",
1314
+ stroke: m.color,
1315
+ strokeWidth: m.width,
1316
+ strokeDasharray: m.dashArray,
1317
+ strokeLinecap: "round",
1318
+ strokeLinejoin: "round",
1319
+ "data-trail": h
1320
+ })]
1321
+ }, h);
1322
+ }),
1323
+ p && d.map(({ key: h, observation: g, point: v }) => {
1324
+ const m = s(g);
1325
+ return /* @__PURE__ */ E("g", {
1326
+ opacity: m.opacity,
1327
+ "data-bead": "",
1328
+ "data-x": v.x,
1329
+ children: [/* @__PURE__ */ i("circle", {
1330
+ cx: v.x,
1331
+ cy: v.y,
1332
+ r: $n,
1333
+ fill: m.color
1334
+ }), /* @__PURE__ */ i("circle", {
1335
+ cx: v.x,
1336
+ cy: v.y,
1337
+ r: Rn,
1338
+ fill: M(m.color, "#FFE9A3", 0.7)
1339
+ })]
1340
+ }, h);
1341
+ }),
1342
+ o.map(({ key: h, observation: g, end: v }) => v === null ? null : /* @__PURE__ */ i("g", {
1343
+ "data-ghost-for": h,
1344
+ children: /* @__PURE__ */ i(yn, {
1345
+ x: v.x,
1346
+ y: v.y,
1347
+ color: s(g).color
1348
+ })
1349
+ }, h))
1350
+ ]
1351
+ });
1352
+ }, Cn = ({ layer: t, observation: e, panel: r, project: a }) => {
1353
+ const n = $e(t)(e, "hovered"), s = a(e, r);
1354
+ return s === null ? null : /* @__PURE__ */ E("g", {
1355
+ "data-geom": "line",
1356
+ opacity: n.opacity,
1357
+ children: [/* @__PURE__ */ i("circle", {
1358
+ cx: s.x,
1359
+ cy: s.y,
1360
+ r: se,
1361
+ fill: n.color
1362
+ }), /* @__PURE__ */ i("circle", {
1363
+ cx: s.x,
1364
+ cy: s.y,
1365
+ r: se / 2,
1366
+ fill: M(n.color, Nt, 0.7)
1367
+ })]
1368
+ });
1369
+ }, Oe = (t, e) => tt("line", {
1370
+ coord: t,
1371
+ guideMode: "crosshair",
1372
+ swatchShape: "line",
1373
+ render: ({ layer: r, panelRect: a, intro: n }) => /* @__PURE__ */ i(Hn, {
1374
+ layer: r,
1375
+ panel: a,
1376
+ coord: t,
1377
+ project: e,
1378
+ intro: n
1379
+ }),
1380
+ renderHover: ({ layer: r, primary: a, panelRect: n }) => /* @__PURE__ */ i(Cn, {
1381
+ layer: r,
1382
+ observation: a.observation,
1383
+ panel: n,
1384
+ project: e
1385
+ }),
1386
+ renderHoverCompanions: () => null,
1387
+ getOverlayAnchor: ({ observation: r }) => {
1388
+ const a = yt(r), n = St(r);
1389
+ return a === null || n === null ? null : {
1390
+ x: a,
1391
+ y: n
1392
+ };
1393
+ }
1394
+ }), In = Oe("cartesian", wt), On = Oe("polar", $t), ie = 2.3, le = 1.8, xn = 4, ce = ({ layer: t, observations: e, panel: r, project: a, intro: n, state: s }) => {
1395
+ const l = Ot(t), c = it(t), o = mt("lantern"), d = Z(() => ot(t.data, t.mapping, t.id), [
1396
+ t.data,
1397
+ t.mapping,
1398
+ t.id
1399
+ ]), u = s === "hovered" ? xn : 0, p = Array.from(e, (f) => {
1400
+ const h = d(f);
1401
+ return {
1402
+ key: h,
1403
+ centre: a(f, r),
1404
+ paint: c(f, s),
1405
+ size: l.get("size", f, s) + u,
1406
+ timing: s === void 0 ? Me(n, h) : null
1407
+ };
1408
+ });
1409
+ return /* @__PURE__ */ E("g", {
1410
+ "data-geom": "point",
1411
+ children: [
1412
+ p.some(({ timing: f }) => f !== null) && /* @__PURE__ */ i(Dt, {}),
1413
+ /* @__PURE__ */ i("defs", { children: [...new Set(p.map(({ paint: f }) => f.color))].map((f) => /* @__PURE__ */ i(hn, {
1414
+ id: o(f),
1415
+ color: f
1416
+ }, f)) }),
1417
+ p.map(({ key: f, centre: h, paint: g, size: v, timing: m }) => {
1418
+ if (h === null) return null;
1419
+ const $ = m === null ? {} : {
1420
+ className: I.light,
1421
+ style: Pt(m)
1422
+ };
1423
+ return /* @__PURE__ */ E("g", {
1424
+ opacity: g.opacity,
1425
+ "data-reading": `${h.x},${h.y}`,
1426
+ children: [/* @__PURE__ */ i("g", {
1427
+ ...$,
1428
+ children: /* @__PURE__ */ i(fn, {
1429
+ cx: h.x,
1430
+ cy: h.y,
1431
+ width: v * ie,
1432
+ height: v * le,
1433
+ color: g.color,
1434
+ fill: `url(#${o(g.color)})`,
1435
+ hasStem: !0
1436
+ })
1437
+ }), s === "hovered" && /* @__PURE__ */ i("ellipse", {
1438
+ cx: h.x,
1439
+ cy: h.y,
1440
+ rx: v * ie / 2 + 1,
1441
+ ry: v * le / 2 + 1,
1442
+ fill: "none",
1443
+ stroke: g.edge,
1444
+ strokeWidth: g.edgeWidth
1445
+ })]
1446
+ }, f);
1447
+ })
1448
+ ]
1449
+ });
1450
+ }, xe = (t, e) => tt("point", {
1451
+ coord: t,
1452
+ swatchShape: "circle",
1453
+ render: ({ layer: r, panelRect: a, intro: n }) => /* @__PURE__ */ i(ce, {
1454
+ layer: r,
1455
+ observations: r.data,
1456
+ panel: a,
1457
+ project: e,
1458
+ intro: n
1459
+ }),
1460
+ renderHover: ({ layer: r, primary: a, panelRect: n }) => /* @__PURE__ */ i(ce, {
1461
+ layer: r,
1462
+ observations: [a.observation],
1463
+ panel: n,
1464
+ project: e,
1465
+ state: "hovered"
1466
+ }),
1467
+ renderHoverCompanions: () => null
1468
+ }), wn = xe("cartesian", wt), Dn = xe("polar", $t), Pn = 3, Lt = "#A39A8C", de = "#E4DDD0", nt = "#5E564C", V = "#1A0C22", K = "#FFF8E6", Wn = "#130A1A", Nn = 0.022, he = 2.4, Fn = 6, Gn = 0.05, Bn = 0.2, bn = Math.PI / 7, Un = 6, Vn = [0.42, 0.74], zn = 0.62, Yn = 26, jn = 1.5, Kn = 0.85, Xn = 0.18, Zn = 1.6, Qn = 0.5, qn = 0.85, Jn = 0.08, to = 0.45, eo = 0.08, ro = 0.4, ao = 40, no = 16, Ht = 22, oo = 0.16, so = 0.075, io = 0.64, ue = 0.55, we = (t, e, r) => {
1469
+ const a = _e(e, 1);
1470
+ return {
1471
+ x: t.x + a.x * r,
1472
+ y: t.y - a.y * r
1473
+ };
1474
+ }, fe = (t) => {
1475
+ const { startAngle: e, endAngle: r } = Ue(t), { innerRadius: a, outerRadius: n } = ye(t);
1476
+ return e === null || r === null || a === null || n === null || n <= 0 || r <= e ? null : {
1477
+ startAngle: e,
1478
+ endAngle: r,
1479
+ innerRadius: a,
1480
+ outerRadius: n
1481
+ };
1482
+ }, lo = (t, e = []) => {
1483
+ const r = Math.min(Fn, Math.max(he, t * Nn)), a = e.map(({ startAngle: s, endAngle: l, innerRadius: c, outerRadius: o }) => Math.min((l - s) * o * t * Gn, (o - c) * t * Bn)).sort((s, l) => s - l), n = a[Math.floor(a.length / 2)];
1484
+ return n === void 0 ? r : Math.min(r, Math.max(he, n));
1485
+ }, co = 18, ho = 0.5, uo = 0.62, fo = (t, e, r) => {
1486
+ const { startAngle: a, endAngle: n, innerRadius: s, outerRadius: l } = t, c = s * e, o = l * e, d = o - (o - c) * ho, u = (a + n) / 2, p = o - d, f = (n - a) * 0.3, h = (m, $) => {
1487
+ const _ = we(r, m, $);
1488
+ return `${_.x.toFixed(2)},${_.y.toFixed(2)}`;
1489
+ }, g = 6, v = Array.from({ length: 7 }, (m, $) => h(n - (n - a) * $ / g, c));
1490
+ return `M${h(a, d)} C${h(a, d + p * 0.55)} ${h(a + f, o - p * 0.12)} ${h(u, o)} C${h(n - f, o - p * 0.12)} ${h(n, d + p * 0.55)} ${h(n, d)} L${v.join(" L")} Z`;
1491
+ }, po = (t, e, r = !0) => {
1492
+ const { startAngle: a, endAngle: n, innerRadius: s, outerRadius: l } = t, c = (l - s) * e >= Yn, o = c ? s > 0 ? [
1493
+ 0,
1494
+ zn,
1495
+ 1
1496
+ ] : [
1497
+ 0,
1498
+ ...Vn,
1499
+ 1
1500
+ ] : [0, 1], d = !c || !r ? -1 : s > 0 ? 0 : 1, u = Math.min(Un, Math.max(1, Math.round((n - a) / bn)));
1501
+ return o.slice(1).flatMap((p, f) => {
1502
+ const h = s + (l - s) * (o[f] ?? 0), g = s + (l - s) * p, v = f === 0 && s === 0 && o.length > 2 ? 1 : Math.max(1, u - 1 + Math.min(f, 2)), m = Math.max(1, Math.floor((n - a) * ((h + g) / 2) * e / no)), $ = f === d, _ = Math.max(1, Math.round((n - a) * ((h + g) / 2) / ((g - h) * uo))), k = Math.min(m, $ ? _ : v), C = (n - a) / k;
1503
+ return Array.from({ length: k }, (O, D) => ({
1504
+ startAngle: a + C * D,
1505
+ endAngle: a + C * (D + 1),
1506
+ innerRadius: h,
1507
+ outerRadius: g,
1508
+ isLancet: $ && C * ((h + g) / 2) * e >= co
1509
+ }));
1510
+ });
1511
+ }, pe = ({ layer: t, observations: e, panel: r, intro: a, state: n }) => {
1512
+ const s = it(t), l = F("glass"), c = F("pane"), o = F("stone"), d = F("halo"), u = Z(() => ot(t.data, t.mapping, t.id), [
1513
+ t.data,
1514
+ t.mapping,
1515
+ t.id
1516
+ ]);
1517
+ if (r.width <= 0 || r.height <= 0) return null;
1518
+ const p = Math.min(r.width, r.height) / 2, f = {
1519
+ x: r.width / 2,
1520
+ y: r.height / 2
1521
+ }, h = [...t.data].flatMap((S) => fe(S) ?? []), g = lo(p, h), v = h[0], m = v !== void 0 && h.every(({ innerRadius: S, outerRadius: T }) => S === v.innerRadius && T === v.outerRadius), $ = {
1522
+ centerX: f.x,
1523
+ centerY: f.y,
1524
+ radius: p,
1525
+ digits: Pn
1526
+ }, _ = [...e], k = _.flatMap((S, T) => {
1527
+ const H = fe(S), G = H === null ? void 0 : Gt(H, $);
1528
+ if (H === null || G === void 0) return [];
1529
+ const w = u(S), x = s(S, n), B = st(_t(w)), ct = po(H, p, m).flatMap((kt) => {
1530
+ const Ft = kt.isLancet ? fo(kt, p, f) : Gt(kt, $);
1531
+ return Ft === void 0 ? [] : [{
1532
+ path: Ft,
1533
+ light: (B() * 2 - 1) * Xn
1534
+ }];
1535
+ }), et = (H.startAngle + H.endAngle) / 2, Rt = (H.innerRadius + (H.outerRadius - H.innerRadius) * 0.45) * p;
1536
+ return [{
1537
+ key: w,
1538
+ index: T,
1539
+ sector: H,
1540
+ path: G,
1541
+ pieces: ct,
1542
+ heart: H.endAngle - H.startAngle >= Math.PI * 1.5 ? f : we(f, et, Rt),
1543
+ swatch: x.color,
1544
+ color: or(x.color, Zn),
1545
+ opacity: x.opacity,
1546
+ fillOpacity: x.fillOpacity
1547
+ }];
1548
+ });
1549
+ if (k.length === 0) return null;
1550
+ const C = k.every(({ sector: S }) => S.innerRadius === 0), O = new Set(k.map(({ sector: S }) => S.innerRadius)), D = O.size === 1 ? [...O][0] ?? 0 : 0, W = n === void 0 && _.length > 1, Q = new Set(k.map(({ sector: S }) => S.outerRadius)), P = W && Q.size === 1 ? ([...Q][0] ?? 0) * p : 0, Y = n === "hovered" ? qn : Qn, lt = n === "hovered" ? to : Jn, y = n === "hovered" ? eo : ro, N = (S) => a == null ? {} : {
1551
+ className: I.kindle,
1552
+ style: Pt({
1553
+ duration: a.durationSeconds * (1 - ue),
1554
+ delay: a.durationSeconds * ue * (S / Math.max(1, k.length))
1555
+ })
1556
+ };
1557
+ return /* @__PURE__ */ E("g", {
1558
+ "data-geom": "bar",
1559
+ children: [
1560
+ a != null && /* @__PURE__ */ i(Dt, {}),
1561
+ /* @__PURE__ */ E("defs", { children: [
1562
+ k.map(({ index: S, color: T, heart: H, sector: G }) => {
1563
+ const w = G.innerRadius * p, x = G.outerRadius * p;
1564
+ return x - w < ao && w > 0 ? /* @__PURE__ */ E("radialGradient", {
1565
+ id: `${l}-${S}`,
1566
+ gradientUnits: "userSpaceOnUse",
1567
+ cx: f.x,
1568
+ cy: f.y,
1569
+ r: x,
1570
+ children: [
1571
+ /* @__PURE__ */ i("stop", {
1572
+ offset: w / x,
1573
+ stopColor: M(T, V, y / 2)
1574
+ }),
1575
+ /* @__PURE__ */ i("stop", {
1576
+ offset: (w + x) / 2 / x,
1577
+ stopColor: M(T, K, Y / 2)
1578
+ }),
1579
+ /* @__PURE__ */ i("stop", {
1580
+ offset: 1,
1581
+ stopColor: M(T, V, y / 2)
1582
+ })
1583
+ ]
1584
+ }, S) : /* @__PURE__ */ E("radialGradient", {
1585
+ id: `${l}-${S}`,
1586
+ gradientUnits: "userSpaceOnUse",
1587
+ cx: H.x,
1588
+ cy: H.y,
1589
+ r: Math.max(12, (x - w) * 0.85),
1590
+ children: [
1591
+ /* @__PURE__ */ i("stop", {
1592
+ offset: 0,
1593
+ stopColor: M(T, K, Y)
1594
+ }),
1595
+ /* @__PURE__ */ i("stop", {
1596
+ offset: 0.5,
1597
+ stopColor: M(T, K, lt)
1598
+ }),
1599
+ /* @__PURE__ */ i("stop", {
1600
+ offset: 1,
1601
+ stopColor: M(T, V, y)
1602
+ })
1603
+ ]
1604
+ }, S);
1605
+ }),
1606
+ P > 0 && /* @__PURE__ */ E("radialGradient", {
1607
+ id: d,
1608
+ gradientUnits: "userSpaceOnUse",
1609
+ cx: f.x,
1610
+ cy: f.y,
1611
+ r: P + Ht,
1612
+ children: [/* @__PURE__ */ i("stop", {
1613
+ offset: (P - g) / (P + Ht),
1614
+ stopColor: K,
1615
+ stopOpacity: oo
1616
+ }), /* @__PURE__ */ i("stop", {
1617
+ offset: 1,
1618
+ stopColor: K,
1619
+ stopOpacity: 0
1620
+ })]
1621
+ }),
1622
+ /* @__PURE__ */ E("radialGradient", {
1623
+ id: o,
1624
+ cx: "0.38",
1625
+ cy: "0.32",
1626
+ r: "0.75",
1627
+ children: [
1628
+ /* @__PURE__ */ i("stop", {
1629
+ offset: 0,
1630
+ stopColor: M(Lt, de, 0.4)
1631
+ }),
1632
+ /* @__PURE__ */ i("stop", {
1633
+ offset: 0.6,
1634
+ stopColor: M(Lt, nt, 0.3)
1635
+ }),
1636
+ /* @__PURE__ */ i("stop", {
1637
+ offset: 1,
1638
+ stopColor: nt
1639
+ })
1640
+ ]
1641
+ })
1642
+ ] }),
1643
+ P > 0 && /* @__PURE__ */ i("circle", {
1644
+ cx: f.x,
1645
+ cy: f.y,
1646
+ r: P + Ht,
1647
+ fill: `url(#${d})`,
1648
+ "data-halo": ""
1649
+ }),
1650
+ k.map(({ key: S, index: T, path: H, pieces: G, swatch: w, color: x, opacity: B, fillOpacity: ct }) => /* @__PURE__ */ E("g", {
1651
+ opacity: B,
1652
+ "data-pane": w,
1653
+ children: [
1654
+ /* @__PURE__ */ i("clipPath", {
1655
+ id: `${c}-${T}`,
1656
+ children: /* @__PURE__ */ i("path", { d: H })
1657
+ }),
1658
+ /* @__PURE__ */ i("path", {
1659
+ d: H,
1660
+ fill: M(x, V, 0.45),
1661
+ fillOpacity: ct
1662
+ }),
1663
+ /* @__PURE__ */ E("g", {
1664
+ ...N(T),
1665
+ children: [/* @__PURE__ */ i("path", {
1666
+ d: H,
1667
+ fill: `url(#${l}-${T})`,
1668
+ fillOpacity: ct,
1669
+ "data-glass": ""
1670
+ }), /* @__PURE__ */ i("g", {
1671
+ clipPath: `url(#${c}-${T})`,
1672
+ "data-leading": "",
1673
+ children: G.map((et, Rt) => /* @__PURE__ */ i("path", {
1674
+ d: et.path,
1675
+ fill: et.light >= 0 ? K : V,
1676
+ fillOpacity: Math.abs(et.light),
1677
+ stroke: V,
1678
+ strokeOpacity: Kn,
1679
+ strokeWidth: jn,
1680
+ strokeLinejoin: "round"
1681
+ }, Rt))
1682
+ })]
1683
+ })
1684
+ ]
1685
+ }, S)),
1686
+ /* @__PURE__ */ i("g", {
1687
+ fill: "none",
1688
+ strokeLinejoin: "round",
1689
+ "data-tracery": "",
1690
+ children: k.map(({ key: S, path: T }) => /* @__PURE__ */ E("g", { children: [
1691
+ /* @__PURE__ */ i("path", {
1692
+ d: T,
1693
+ stroke: V,
1694
+ strokeWidth: g + 1.6,
1695
+ strokeOpacity: 0.8
1696
+ }),
1697
+ /* @__PURE__ */ i("path", {
1698
+ d: T,
1699
+ stroke: Lt,
1700
+ strokeWidth: g
1701
+ }),
1702
+ /* @__PURE__ */ i("path", {
1703
+ d: T,
1704
+ stroke: de,
1705
+ strokeWidth: Math.max(0.6, g * 0.25),
1706
+ strokeOpacity: 0.5
1707
+ })
1708
+ ] }, S))
1709
+ }),
1710
+ C && /* @__PURE__ */ i(go, {
1711
+ centre: f,
1712
+ radius: Math.max(g * 1.8, p * so),
1713
+ fill: `url(#${o})`
1714
+ }),
1715
+ W && D > 0 && /* @__PURE__ */ i(Ao, {
1716
+ centre: f,
1717
+ radius: D * p,
1718
+ mullion: g,
1719
+ fill: `url(#${o})`
1720
+ })
1721
+ ]
1722
+ });
1723
+ }, go = ({ centre: t, radius: e, fill: r }) => /* @__PURE__ */ E("g", {
1724
+ "data-boss": "",
1725
+ children: [
1726
+ /* @__PURE__ */ i("circle", {
1727
+ cx: t.x,
1728
+ cy: t.y,
1729
+ r: e + 0.8,
1730
+ fill: V,
1731
+ fillOpacity: 0.8
1732
+ }),
1733
+ /* @__PURE__ */ i("circle", {
1734
+ cx: t.x,
1735
+ cy: t.y,
1736
+ r: e,
1737
+ fill: r
1738
+ }),
1739
+ /* @__PURE__ */ i("circle", {
1740
+ cx: t.x,
1741
+ cy: t.y,
1742
+ r: e * 0.45,
1743
+ fill: "none",
1744
+ stroke: nt,
1745
+ strokeWidth: 1
1746
+ })
1747
+ ]
1748
+ }), vo = (t, e) => {
1749
+ const r = e * 0.45, a = e - r, n = [
1750
+ 0,
1751
+ 1,
1752
+ 2,
1753
+ 3
1754
+ ].map((c) => {
1755
+ const o = c * Math.PI / 2 + Math.PI / 4, d = a * Math.SQRT1_2 + Math.sqrt(r * r - (a * Math.SQRT1_2) ** 2);
1756
+ return {
1757
+ x: t.x + Math.cos(o) * d,
1758
+ y: t.y + Math.sin(o) * d
1759
+ };
1760
+ }), s = (c) => c.toFixed(2), l = n[3] ?? t;
1761
+ return `M${s(l.x)},${s(l.y)} ` + n.map((c) => `A${s(r)},${s(r)} 0 1 1 ${s(c.x)},${s(c.y)}`).join(" ") + " Z";
1762
+ }, mo = [
1763
+ [
1764
+ -0.5,
1765
+ -0.12,
1766
+ 1.3
1767
+ ],
1768
+ [
1769
+ 0.18,
1770
+ -0.55,
1771
+ 0.9
1772
+ ],
1773
+ [
1774
+ 0.42,
1775
+ 0.3,
1776
+ 1.1
1777
+ ],
1778
+ [
1779
+ -0.1,
1780
+ 0.5,
1781
+ 0.8
1782
+ ]
1783
+ ], Ao = ({ centre: t, radius: e, mullion: r, fill: a }) => {
1784
+ const n = e * io, s = vo(t, n);
1785
+ return /* @__PURE__ */ E("g", {
1786
+ "data-roundel": "",
1787
+ children: [
1788
+ /* @__PURE__ */ i("circle", {
1789
+ cx: t.x,
1790
+ cy: t.y,
1791
+ r: e,
1792
+ fill: a
1793
+ }),
1794
+ /* @__PURE__ */ i("circle", {
1795
+ cx: t.x,
1796
+ cy: t.y,
1797
+ r: e - r * 1.6,
1798
+ fill: "none",
1799
+ stroke: nt,
1800
+ strokeWidth: 1,
1801
+ strokeOpacity: 0.8
1802
+ }),
1803
+ /* @__PURE__ */ i("path", {
1804
+ d: s,
1805
+ fill: Wn,
1806
+ stroke: nt,
1807
+ strokeWidth: 1.6,
1808
+ "data-quatrefoil": ""
1809
+ }),
1810
+ mo.map(([l, c, o], d) => /* @__PURE__ */ i("circle", {
1811
+ cx: t.x + l * n,
1812
+ cy: t.y + c * n,
1813
+ r: o,
1814
+ fill: K,
1815
+ fillOpacity: 0.85
1816
+ }, d))
1817
+ ]
1818
+ });
1819
+ }, Eo = tt("bar", {
1820
+ coord: "polar",
1821
+ guideMode: "band",
1822
+ swatchShape: "slice",
1823
+ render: ({ layer: t, panelRect: e, intro: r }) => /* @__PURE__ */ i(pe, {
1824
+ layer: t,
1825
+ observations: t.data,
1826
+ panel: e,
1827
+ intro: r
1828
+ }),
1829
+ renderHover: ({ layer: t, primary: e, panelRect: r }) => /* @__PURE__ */ i(pe, {
1830
+ layer: t,
1831
+ observations: [e.observation],
1832
+ panel: r,
1833
+ state: "hovered"
1834
+ }),
1835
+ renderHoverCompanions: () => null
1836
+ }), yo = [
1837
+ en,
1838
+ Eo,
1839
+ In,
1840
+ On,
1841
+ mr,
1842
+ Ar,
1843
+ wn,
1844
+ Dn
1845
+ ], So = 34, _o = 0.95, $o = 0.42, Ro = 0.42, ko = 50, To = 21, Mo = 120, Lo = 0.5, Ct = 46, ge = 5, Ho = 4, Co = 0.16, ve = "M0,-1.6 C1.2,-3 2.6,-1.4 3.4,-0.2 C5.2,-3.6 8.4,-4.2 11,-2.6 C9.6,-1.8 9.2,0 9.4,1.4 C7.8,0.2 6.4,0.6 5.6,2 C4.6,0.8 3.2,0.6 2,1.6 C1.4,2.8 0.6,3.4 0,4 C-0.6,3.4 -1.4,2.8 -2,1.6 C-3.2,0.6 -4.6,0.8 -5.6,2 C-6.4,0.6 -7.8,0.2 -9.4,1.4 C-9.2,0 -9.6,-1.8 -11,-2.6 C-8.4,-4.2 -5.2,-3.6 -3.4,-0.2 C-2.6,-1.4 -1.2,-3 0,-1.6 Z", Io = (t) => {
1846
+ const e = st(31);
1847
+ return Array.from({ length: So }, () => {
1848
+ const r = 4 + e() * 92, a = e() ** 2 * Ro * 100, n = 0.35 + e() ** 3 * (_o - 0.35), s = (0.15 + e() * ($o - 0.15)) * (1 - a / 100);
1849
+ return `<circle cx="${r.toFixed(2)}%" cy="${a.toFixed(2)}%" r="${n.toFixed(2)}" fill="${t}" fill-opacity="${s.toFixed(2)}"/>`;
1850
+ }).join("");
1851
+ }, Oo = ({ moon: t, bat: e }) => `<svg x="100%" y="0" width="1" height="1" overflow="visible"><g transform="translate(-64,${ko})"><circle r="${Mo}" fill="url(#glow)"/><circle r="${To}" fill="${t}" fill-opacity="${Lo}"/><circle cx="-6" cy="-5" r="4" fill="${e}" fill-opacity="0.08"/><circle cx="7" cy="6" r="2.6" fill="${e}" fill-opacity="0.08"/><path d="${ve}" fill="${e}" transform="translate(-40,10) scale(0.9) rotate(-8)"/><path d="${ve}" fill="${e}" transform="translate(-14,-30) scale(0.62) rotate(10)"/></g></svg>`, xo = (t) => {
1852
+ const e = Array.from({ length: ge }, (n, s) => {
1853
+ const l = Math.PI / 2 * (s / (ge - 1));
1854
+ return {
1855
+ x: -Math.cos(l),
1856
+ y: -Math.sin(l)
1857
+ };
1858
+ }), r = e.map(({ x: n, y: s }) => `M0,0 L${(n * Ct).toFixed(1)},${(s * Ct).toFixed(1)}`), a = Array.from({ length: Ho }, (n, s) => {
1859
+ const l = Ct * (s + 1) / 4.4;
1860
+ return e.map(({ x: c, y: o }, d) => {
1861
+ const u = `${(c * l).toFixed(1)},${(o * l).toFixed(1)}`;
1862
+ if (d === 0) return `M${u}`;
1863
+ const p = e[d - 1] ?? {
1864
+ x: c,
1865
+ y: o
1866
+ }, f = l * 0.78;
1867
+ return `Q${`${((p.x + c) / 2 * f).toFixed(1)},${((p.y + o) / 2 * f).toFixed(1)}`} ${u}`;
1868
+ }).join(" ");
1869
+ });
1870
+ return `<svg x="100%" y="100%" width="1" height="1" overflow="visible"><g transform="translate(-6,-6)"><path d="${[...r, ...a].join(" ")}" fill="none" stroke="${t}" stroke-opacity="${Co}" stroke-width="0.8"/></g></svg>`;
1871
+ }, wo = (t) => {
1872
+ const e = `<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%"><defs><linearGradient id="sky" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="${t.top}"/><stop offset="1" stop-color="${t.bottom}"/></linearGradient><radialGradient id="glow"><stop offset="0" stop-color="${t.moon}" stop-opacity="0.2"/><stop offset="0.35" stop-color="${t.moon}" stop-opacity="0.07"/><stop offset="1" stop-color="${t.moon}" stop-opacity="0"/></radialGradient></defs><rect width="100%" height="100%" fill="url(#sky)"/>` + Io(t.star) + Oo(t) + xo(t.web) + "</svg>";
1873
+ return `data:image/svg+xml,${encodeURIComponent(e)}`;
1874
+ }, R = {
1875
+ sky: "#24132F",
1876
+ ground: "#130A1A",
1877
+ raised: "#2C1A38",
1878
+ text: "#F1E8D6",
1879
+ secondary: "#BCA9CC",
1880
+ moon: "#F6EBC8",
1881
+ shadow: "#0A0510",
1882
+ grid: "rgba(241, 232, 214, 0.1)",
1883
+ baseline: "rgba(241, 232, 214, 0.55)",
1884
+ silk: "rgba(241, 232, 214, 0.85)",
1885
+ tag: "#EFE4CC",
1886
+ tagInk: "#2A1533"
1887
+ }, me = "'Creepster', 'Nunito', ui-sans-serif, system-ui, sans-serif", Do = "'Nunito', ui-sans-serif, system-ui, sans-serif", Ae = { candle: "#FFD24A" }, X = {
1888
+ marble: "#E6E1D8",
1889
+ slate: "#56637A",
1890
+ sandstone: "#C9A677",
1891
+ moss: "#6E8058",
1892
+ rose: "#D6B3B0",
1893
+ granite: "#949089"
1894
+ }, Po = [
1895
+ X.marble,
1896
+ X.slate,
1897
+ X.sandstone,
1898
+ X.moss,
1899
+ X.rose,
1900
+ X.granite
1901
+ ], Wo = [
1902
+ "#3A1E52",
1903
+ "#A23C78",
1904
+ "#FF7A1A",
1905
+ "#FFE08A"
1906
+ ], U = { textColor: R.text }, J = { textColor: R.secondary }, ut = {
1907
+ textColor: R.tagInk,
1908
+ fontWeight: 700,
1909
+ fontSize: 13,
1910
+ lineHeight: 1.3,
1911
+ fill: R.tag,
1912
+ stroke: "transparent",
1913
+ strokeWidth: 0,
1914
+ cornerRadius: 2,
1915
+ shadow: {
1916
+ offsetX: 2,
1917
+ offsetY: 3,
1918
+ blur: 0,
1919
+ color: "rgba(5, 2, 8, 0.7)"
1920
+ }
1921
+ }, No = 18, Fo = {
1922
+ tokens: {
1923
+ graphBackground: R.ground,
1924
+ graphBorder: R.baseline,
1925
+ geom: X.marble,
1926
+ geomBorder: R.secondary,
1927
+ textPrimary: R.text,
1928
+ textSecondary: R.secondary,
1929
+ ruleLine: R.silk,
1930
+ gridLine: R.grid,
1931
+ hoverAffordance: R.text,
1932
+ hoverGuideFill: "rgba(241, 232, 214, 0.06)",
1933
+ hoverGuideLine: R.baseline,
1934
+ tooltipBackground: R.raised,
1935
+ tooltipBorder: "rgba(241, 232, 214, 0.25)",
1936
+ tooltipPrimaryRow: "rgba(255, 122, 26, 0.16)",
1937
+ annotationShape: R.text,
1938
+ annotationArrow: R.silk,
1939
+ differenceLabelBackground: R.tag
1940
+ },
1941
+ defaults: [
1942
+ A.graph({
1943
+ fill: {
1944
+ image: wo({
1945
+ top: R.sky,
1946
+ bottom: R.ground,
1947
+ moon: R.moon,
1948
+ bat: R.shadow,
1949
+ star: R.moon,
1950
+ web: R.text
1951
+ }),
1952
+ fit: "stretch",
1953
+ fallback: R.ground
1954
+ },
1955
+ strokeWidth: 0,
1956
+ cornerRadius: 16,
1957
+ fontFamily: Do,
1958
+ padding: 28
1959
+ }),
1960
+ A.geom({ shadow: "none" }, { state: "hovered" }),
1961
+ A.geom.bar({
1962
+ stroke: R.text,
1963
+ strokeWidth: 0,
1964
+ cornerRadius: "none"
1965
+ }),
1966
+ A.geom.bar({ strokeWidth: 1.5 }, { state: "hovered" }),
1967
+ A.geom.line({
1968
+ strokeWidth: 2.5,
1969
+ dashArray: [],
1970
+ lineCap: "round",
1971
+ lineJoin: "round"
1972
+ }),
1973
+ A.geom.area({
1974
+ fillAlpha: 0.55,
1975
+ strokeWidth: 2,
1976
+ dashArray: []
1977
+ }),
1978
+ A.geom.point({
1979
+ size: 9,
1980
+ stroke: R.text
1981
+ }),
1982
+ A.geom.tile({
1983
+ cornerRadius: 4,
1984
+ stroke: R.ground,
1985
+ strokeWidth: 2
1986
+ }),
1987
+ A.geom.tile({
1988
+ stroke: R.text,
1989
+ strokeWidth: 1.5
1990
+ }, { state: "hovered" }),
1991
+ A.geom.rule({
1992
+ stroke: R.silk,
1993
+ strokeWidth: 1,
1994
+ dashArray: []
1995
+ }),
1996
+ A.geom.rule.label({
1997
+ textColor: R.tagInk,
1998
+ fontWeight: 800,
1999
+ fontSize: 13
2000
+ }),
2001
+ A.gridLine({ dashArray: [] }),
2002
+ A.gridLine.x({ strokeWidth: 0 }),
2003
+ A.gridLine.y({ strokeWidth: 1 }),
2004
+ A.panelBorder({ strokeWidth: 0 }),
2005
+ A.panelBorder.bottom({
2006
+ stroke: R.baseline,
2007
+ strokeWidth: 1.5,
2008
+ dashArray: []
2009
+ }),
2010
+ A.tickLine({ strokeWidth: 0 }),
2011
+ A.tickLabel({
2012
+ ...J,
2013
+ fontWeight: 600,
2014
+ fontSize: 13,
2015
+ lineHeight: 1
2016
+ }),
2017
+ A.axisLabel({
2018
+ ...J,
2019
+ fontWeight: 700,
2020
+ fontSize: 13,
2021
+ lineHeight: 1
2022
+ }),
2023
+ A.heading({ ...U }),
2024
+ A.heading.h1({
2025
+ ...U,
2026
+ fontFamily: me,
2027
+ fontWeight: 400,
2028
+ fontSize: 30,
2029
+ lineHeight: 1.05,
2030
+ letterSpacing: 0.6
2031
+ }),
2032
+ A.heading.h2({
2033
+ ...J,
2034
+ fontWeight: 600,
2035
+ fontSize: 15,
2036
+ lineHeight: 1.25
2037
+ }),
2038
+ A.header({ margin: { bottom: No } }),
2039
+ A.caption({
2040
+ ...J,
2041
+ fontWeight: 400,
2042
+ fontSize: 13
2043
+ }),
2044
+ A.source({
2045
+ ...J,
2046
+ fontWeight: 400,
2047
+ fontSize: 12
2048
+ }),
2049
+ A.dataLabel({
2050
+ ...U,
2051
+ fontWeight: 700,
2052
+ fontSize: 13,
2053
+ fill: "transparent"
2054
+ }),
2055
+ A.legendItem({
2056
+ ...U,
2057
+ fontWeight: 700,
2058
+ fontSize: 13,
2059
+ fill: "transparent",
2060
+ stroke: "transparent"
2061
+ }),
2062
+ A.directLabel({
2063
+ fontWeight: 700,
2064
+ fontSize: 13
2065
+ }),
2066
+ A.headlineItem.number({
2067
+ ...U,
2068
+ fontFamily: me,
2069
+ fontWeight: 400,
2070
+ fontSize: 34
2071
+ }),
2072
+ A.tooltip({
2073
+ strokeWidth: 1,
2074
+ cornerRadius: 10,
2075
+ paddingInline: 12,
2076
+ paddingBlock: 9,
2077
+ shadow: "none"
2078
+ }),
2079
+ A.tooltip.heading({
2080
+ ...U,
2081
+ fontWeight: 800,
2082
+ fontSize: 14,
2083
+ lineHeight: 1.3
2084
+ }),
2085
+ A.tooltip.label({
2086
+ ...J,
2087
+ fontWeight: 600,
2088
+ fontSize: 13,
2089
+ lineHeight: 1.35
2090
+ }),
2091
+ A.tooltip.value({
2092
+ ...U,
2093
+ fontWeight: 700,
2094
+ fontSize: 13,
2095
+ lineHeight: 1.35
2096
+ }),
2097
+ A.legend.popover({
2098
+ cornerRadius: 10,
2099
+ shadow: "none"
2100
+ }),
2101
+ A.annotation.text({
2102
+ ...ut,
2103
+ paddingInline: 10,
2104
+ paddingBlock: 6
2105
+ }),
2106
+ A.annotation.pinnedNumber({
2107
+ fill: Ae.candle,
2108
+ stroke: R.ground,
2109
+ shadow: "none"
2110
+ }),
2111
+ A.annotation.pinnedNumber.label({ ...ut }),
2112
+ A.annotation.comment({
2113
+ fill: Ae.candle,
2114
+ stroke: R.ground,
2115
+ shadow: "none"
2116
+ }),
2117
+ A.annotation.comment.label({ ...ut }),
2118
+ A.annotation.differenceArrow({
2119
+ stroke: R.silk,
2120
+ strokeWidth: 1.25
2121
+ }),
2122
+ A.annotation.differenceArrow.label({ ...ut }),
2123
+ A.annotation.arrow({
2124
+ stroke: R.silk,
2125
+ strokeWidth: 1.25,
2126
+ dashArray: []
2127
+ }),
2128
+ A.annotation.arrow.outline({
2129
+ stroke: R.ground,
2130
+ strokeWidth: 1.5
2131
+ }),
2132
+ A.annotation.shape({
2133
+ fill: R.text,
2134
+ fillAlpha: 0.09,
2135
+ stroke: "transparent",
2136
+ strokeWidth: 0
2137
+ }),
2138
+ A.panelBorder.bottom({ strokeWidth: 0 }, { coord: "polar" }),
2139
+ A.tickLabel({
2140
+ ...U,
2141
+ fontWeight: 800,
2142
+ textOutlineColor: R.ground,
2143
+ textOutlineWidth: 3
2144
+ }, { coord: "polar" })
2145
+ ]
2146
+ }, Uo = {
2147
+ name: "halloween",
2148
+ styles: Fo,
2149
+ palette: Po,
2150
+ colormap: Wo,
2151
+ colorScheme: "dark",
2152
+ plugins: yo
2153
+ };
2154
+ export {
2155
+ Uo as halloween
2156
+ };