@moda-chart/core 0.1.2

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.
Files changed (60) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +25 -0
  3. package/dist/conformance.d.ts +40 -0
  4. package/dist/conformance.d.ts.map +1 -0
  5. package/dist/conformance.js +1608 -0
  6. package/dist/conformance.js.map +1 -0
  7. package/dist/core.d.ts +448 -0
  8. package/dist/core.d.ts.map +1 -0
  9. package/dist/core.js +6026 -0
  10. package/dist/core.js.map +1 -0
  11. package/dist/geo.d.ts +85 -0
  12. package/dist/geo.d.ts.map +1 -0
  13. package/dist/geo.js +264 -0
  14. package/dist/geo.js.map +1 -0
  15. package/dist/geometry.d.ts +29 -0
  16. package/dist/geometry.d.ts.map +1 -0
  17. package/dist/geometry.js +92 -0
  18. package/dist/geometry.js.map +1 -0
  19. package/dist/hierarchy.d.ts +142 -0
  20. package/dist/hierarchy.d.ts.map +1 -0
  21. package/dist/hierarchy.js +422 -0
  22. package/dist/hierarchy.js.map +1 -0
  23. package/dist/index.d.ts +18 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +12 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/maps/world.d.ts +9 -0
  28. package/dist/maps/world.d.ts.map +1 -0
  29. package/dist/maps/world.js +9 -0
  30. package/dist/maps/world.js.map +1 -0
  31. package/dist/mount.d.ts +75 -0
  32. package/dist/mount.d.ts.map +1 -0
  33. package/dist/mount.js +795 -0
  34. package/dist/mount.js.map +1 -0
  35. package/dist/scales.d.ts +22 -0
  36. package/dist/scales.d.ts.map +1 -0
  37. package/dist/scales.js +118 -0
  38. package/dist/scales.js.map +1 -0
  39. package/dist/sparkline.d.ts +4 -0
  40. package/dist/sparkline.d.ts.map +1 -0
  41. package/dist/sparkline.js +62 -0
  42. package/dist/sparkline.js.map +1 -0
  43. package/dist/styles.css +989 -0
  44. package/dist/svg.d.ts +21 -0
  45. package/dist/svg.d.ts.map +1 -0
  46. package/dist/svg.js +1022 -0
  47. package/dist/svg.js.map +1 -0
  48. package/dist/text.d.ts +23 -0
  49. package/dist/text.d.ts.map +1 -0
  50. package/dist/text.js +67 -0
  51. package/dist/text.js.map +1 -0
  52. package/dist/types.d.ts +1881 -0
  53. package/dist/types.d.ts.map +1 -0
  54. package/dist/types.js +8 -0
  55. package/dist/types.js.map +1 -0
  56. package/dist/xml.d.ts +13 -0
  57. package/dist/xml.d.ts.map +1 -0
  58. package/dist/xml.js +109 -0
  59. package/dist/xml.js.map +1 -0
  60. package/package.json +44 -0
@@ -0,0 +1,422 @@
1
+ /**
2
+ * 계층/플로우 차트 레이아웃 — 외부 의존성 없는 순수 함수.
3
+ *
4
+ * - normalizeTree: ChartTreeNode 입력을 값 해소·인덱스 부여된 TreeDatum으로
5
+ * - layoutTreemap: squarified treemap (리프 rect 목록)
6
+ * - layoutSunburst: partition (깊이별 링 + 값 비례 각도)
7
+ * - layoutSankey: 최장 경로 열 배정 + 균일 두께 베지어 리본
8
+ * - layoutChord: 그룹 아크 서브디비전 + 중심 통과 리본
9
+ *
10
+ * 모든 결과는 svg 좌표계. 각도는 라디안, 0 = 12시 방향(-π/2 기준은
11
+ * polar()가 처리한다).
12
+ */
13
+ const r2 = (n) => Number(n.toFixed(2));
14
+ /**
15
+ * 입력 트리를 정규화 — value 없는 노드는 children 합계,
16
+ * 둘 다 없는 리프는 0. DFS 순서로 index를 부여한다.
17
+ */
18
+ export function normalizeTree(nodes) {
19
+ let index = 0;
20
+ const walk = (n, depth, root, path) => {
21
+ const i = index++;
22
+ const p = `${path}/${i}`;
23
+ const children = (n.children ?? []).map((c) => walk(c, depth + 1, root, p));
24
+ const value = n.value ?? children.reduce((s, c) => s + c.value, 0);
25
+ return { name: n.name, value, children, index: i, depth, root, path: p };
26
+ };
27
+ return nodes.map((n, i) => walk(n, 0, i, ""));
28
+ }
29
+ /** 모든 노드를 DFS 순서로 평탄화한다 */
30
+ export function flattenTree(roots) {
31
+ const out = [];
32
+ const walk = (n) => {
33
+ out.push(n);
34
+ for (const c of n.children)
35
+ walk(c);
36
+ };
37
+ for (const r of roots)
38
+ walk(r);
39
+ return out;
40
+ }
41
+ /** 행의 최악 종횡비 — 값이 클수록 나쁨 (squarified 판단 기준) */
42
+ function worstRatio(row, sum, short, scale) {
43
+ const t = (sum * scale) / short;
44
+ if (t <= 0)
45
+ return Infinity;
46
+ let worst = 0;
47
+ for (const it of row) {
48
+ const side = (it.v * scale) / t;
49
+ if (side <= 0)
50
+ continue;
51
+ const r = Math.max(t / side, side / t);
52
+ if (r > worst)
53
+ worst = r;
54
+ }
55
+ return worst;
56
+ }
57
+ /** 한 레벨의 자식들을 rect 안에 squarified 배치하고 재귀한다 */
58
+ function squarifyLevel(children, rect, out) {
59
+ const items = children
60
+ .map((node) => ({ node, v: Math.max(0, node.value) }))
61
+ .filter((it) => it.v > 0)
62
+ .sort((a, b) => b.v - a.v);
63
+ let { x, y, w, h } = rect;
64
+ let i = 0;
65
+ while (i < items.length) {
66
+ const total = items.slice(i).reduce((s, t) => s + t.v, 0);
67
+ if (total <= 0 || w <= 0 || h <= 0)
68
+ break;
69
+ const scale = (w * h) / total;
70
+ const short = Math.min(w, h);
71
+ const row = [items[i++]];
72
+ let sum = row[0].v;
73
+ // 다음 항목을 넣어도 최악 종횡비가 나빠지지 않으면 같은 행에 추가
74
+ while (i < items.length &&
75
+ worstRatio([...row, items[i]], sum + items[i].v, short, scale) <=
76
+ worstRatio(row, sum, short, scale)) {
77
+ sum += items[i].v;
78
+ row.push(items[i++]);
79
+ }
80
+ const t = (sum * scale) / short;
81
+ if (w <= h) {
82
+ // 짧은 변 = 너비 → 행은 가로 밴드, 아이템은 x 방향으로 나열
83
+ let cx = x;
84
+ for (const it of row) {
85
+ const iw = (it.v * scale) / t;
86
+ out.push({ node: it.node, rect: { x: cx, y, w: iw, h: t } });
87
+ cx += iw;
88
+ }
89
+ y += t;
90
+ h -= t;
91
+ }
92
+ else {
93
+ // 짧은 변 = 높이 → 행은 세로 밴드, 아이템은 y 방향으로 나열
94
+ let cy = y;
95
+ for (const it of row) {
96
+ const ih = (it.v * scale) / t;
97
+ out.push({ node: it.node, rect: { x, y: cy, w: t, h: ih } });
98
+ cy += ih;
99
+ }
100
+ x += t;
101
+ w -= t;
102
+ }
103
+ }
104
+ // 자식이 있는 노드는 자기 rect 안으로 재귀
105
+ for (const it of items) {
106
+ const cell = out.find((o) => o.node === it.node);
107
+ if (cell && it.node.children.length)
108
+ squarifyLevel(it.node.children, cell.rect, out);
109
+ }
110
+ }
111
+ /**
112
+ * squarified treemap — 리프 노드의 rect만 반환한다.
113
+ * 내부 노드 rect는 자식들의 합집합이라 별도 렌더하지 않는다.
114
+ */
115
+ export function layoutTreemap(roots, rect) {
116
+ const out = [];
117
+ squarifyLevel(roots, rect, out);
118
+ return out.filter((o) => !o.node.children.length);
119
+ }
120
+ /** 극좌표 → svg 좌표 — 0 rad = 12시 방향 */
121
+ export function polar(cx, cy, r, a) {
122
+ return [r2(cx + r * Math.sin(a)), r2(cy - r * Math.cos(a))];
123
+ }
124
+ /** 환형 섹터 path — r0>0이면 도넛 조각, 0이면 부채꼴 */
125
+ export function arcSector(cx, cy, r0, r1, a0, a1) {
126
+ const [x0, y0] = polar(cx, cy, r1, a0);
127
+ const [x1, y1] = polar(cx, cy, r1, a1);
128
+ const large = a1 - a0 > Math.PI ? 1 : 0;
129
+ if (r0 <= 0)
130
+ return `M${cx} ${cy} L${x0} ${y0} A${r2(r1)} ${r2(r1)} 0 ${large} 1 ${x1} ${y1} Z`;
131
+ const [x2, y2] = polar(cx, cy, r0, a1);
132
+ const [x3, y3] = polar(cx, cy, r0, a0);
133
+ return (`M${x0} ${y0} A${r2(r1)} ${r2(r1)} 0 ${large} 1 ${x1} ${y1} ` +
134
+ `L${x2} ${y2} A${r2(r0)} ${r2(r0)} 0 ${large} 0 ${x3} ${y3} Z`);
135
+ }
136
+ /**
137
+ * sunburst partition — 깊이 d 노드는 링 [d*th, (d+1)*th],
138
+ * 각도는 부모 범위 안에서 자식 값 비례로 분할한다.
139
+ */
140
+ export function layoutSunburst(roots, cx, cy, maxR) {
141
+ const flat = flattenTree(roots);
142
+ const maxDepth = flat.reduce((m, n) => Math.max(m, n.depth), 0);
143
+ const th = maxR / (maxDepth + 1);
144
+ const out = [];
145
+ const walk = (node, a0, a1) => {
146
+ out.push({ node, a0, a1, r0: node.depth * th, r1: (node.depth + 1) * th });
147
+ const total = node.children.reduce((s, c) => s + c.value, 0);
148
+ if (!total)
149
+ return;
150
+ let a = a0;
151
+ for (const c of node.children) {
152
+ const span = (a1 - a0) * (c.value / total);
153
+ walk(c, a, a + span);
154
+ a += span;
155
+ }
156
+ };
157
+ const total = roots.reduce((s, n) => s + n.value, 0);
158
+ if (total <= 0)
159
+ return [];
160
+ let a = 0;
161
+ for (const n of roots) {
162
+ const span = (Math.PI * 2 * n.value) / total;
163
+ walk(n, a, a + span);
164
+ a += span;
165
+ }
166
+ return out;
167
+ }
168
+ /**
169
+ * sankey 레이아웃 — 노드 열은 source로부터의 최장 경로,
170
+ * 노드 높이는 유량 비례(전 열 균일 스케일), 리본은 3차 베지어.
171
+ * 순환 참조는 n회 완화 후 자연스럽게 수렴하지 않는 열에 배치된다.
172
+ */
173
+ export function layoutSankey(links, rect, nodeWidth = 12, nodeGap = 12) {
174
+ // 노드 수집 — 등장 순서 유지
175
+ const names = [];
176
+ const idx = new Map();
177
+ const idOf = (name) => {
178
+ let i = idx.get(name);
179
+ if (i === undefined) {
180
+ i = names.length;
181
+ idx.set(name, i);
182
+ names.push(name);
183
+ }
184
+ return i;
185
+ };
186
+ const edges = links
187
+ .filter((l) => l.value > 0)
188
+ .map((l, i) => ({
189
+ s: idOf(l.source),
190
+ t: idOf(l.target),
191
+ v: l.value,
192
+ i,
193
+ }));
194
+ if (!names.length || !edges.length)
195
+ return { nodes: [], links: [] };
196
+ // 유량 — 노드 크기 = max(유입, 유출)
197
+ const inflow = names.map(() => 0);
198
+ const outflow = names.map(() => 0);
199
+ for (const e of edges) {
200
+ outflow[e.s] = (outflow[e.s] ?? 0) + e.v;
201
+ inflow[e.t] = (inflow[e.t] ?? 0) + e.v;
202
+ }
203
+ const value = names.map((_, i) => Math.max(inflow[i], outflow[i]));
204
+ // 열 배정 — 최장 경로 완화 (사이클은 names.length회로 상한)
205
+ const layer = names.map(() => 0);
206
+ for (let pass = 0; pass < names.length; pass++) {
207
+ let changed = false;
208
+ for (const e of edges) {
209
+ if (e.t === e.s)
210
+ continue; // 자기 루프는 열에 영향 없음
211
+ const nl = layer[e.s] + 1;
212
+ if (nl > layer[e.t]) {
213
+ layer[e.t] = nl;
214
+ changed = true;
215
+ }
216
+ }
217
+ if (!changed)
218
+ break;
219
+ }
220
+ const cols = Math.max(...layer) + 1;
221
+ const byLayer = Array.from({ length: cols }, () => []);
222
+ layer.forEach((l, i) => byLayer[Math.min(l, cols - 1)].push(i));
223
+ // 균일 스케일 — 가장 빡빡한 열이 rect.h를 넘지 않도록
224
+ let scale = Infinity;
225
+ for (const col of byLayer) {
226
+ const colSum = col.reduce((s, i) => s + value[i], 0);
227
+ const avail = rect.h - nodeGap * Math.max(0, col.length - 1);
228
+ scale = Math.min(scale, colSum > 0 ? avail / colSum : 0);
229
+ }
230
+ if (!isFinite(scale) || scale <= 0)
231
+ scale = 1;
232
+ const nodes = names.map((name, i) => ({
233
+ name,
234
+ index: i,
235
+ value: value[i],
236
+ layer: layer[i],
237
+ x: 0,
238
+ y: 0,
239
+ w: nodeWidth,
240
+ h: Math.max(1, value[i] * scale),
241
+ }));
242
+ const xStep = cols > 1 ? (rect.w - nodeWidth) / (cols - 1) : 0;
243
+ for (const [l, col] of byLayer.entries()) {
244
+ const colSum = col.reduce((s, i) => s + nodes[i].h, 0);
245
+ const used = colSum + nodeGap * Math.max(0, col.length - 1);
246
+ let y = rect.y + Math.max(0, (rect.h - used) / 2);
247
+ const x = cols > 1 ? rect.x + l * xStep : rect.x + (rect.w - nodeWidth) / 2;
248
+ for (const i of col) {
249
+ nodes[i].x = r2(x);
250
+ nodes[i].y = r2(y);
251
+ nodes[i].h = r2(nodes[i].h);
252
+ y += nodes[i].h + nodeGap;
253
+ }
254
+ }
255
+ // 리본 — 노드 양쪽의 누적 오프셋으로 두께만큼 위를 나눈다
256
+ const srcOff = nodes.map(() => 0);
257
+ const tgtOff = nodes.map(() => 0);
258
+ const out = [];
259
+ for (const e of edges) {
260
+ if (e.s === e.t)
261
+ continue;
262
+ const s = nodes[e.s];
263
+ const t = nodes[e.t];
264
+ const th = e.v * scale;
265
+ const y1 = s.y + srcOff[e.s];
266
+ const y2 = t.y + tgtOff[e.t];
267
+ srcOff[e.s] = (srcOff[e.s] ?? 0) + th;
268
+ tgtOff[e.t] = (tgtOff[e.t] ?? 0) + th;
269
+ const x1 = s.x + s.w;
270
+ const x2 = t.x;
271
+ const mx = (x1 + x2) / 2;
272
+ out.push({
273
+ index: e.i,
274
+ sourceIndex: e.s,
275
+ targetIndex: e.t,
276
+ value: e.v,
277
+ path: `M${r2(x1)} ${r2(y1)} C${r2(mx)} ${r2(y1)} ${r2(mx)} ${r2(y2)} ${r2(x2)} ${r2(y2)} ` +
278
+ `L${r2(x2)} ${r2(y2 + th)} C${r2(mx)} ${r2(y2 + th)} ${r2(mx)} ${r2(y1 + th)} ${r2(x1)} ${r2(y1 + th)} Z`,
279
+ });
280
+ }
281
+ return { nodes, links: out };
282
+ }
283
+ /**
284
+ * chord 레이아웃 — 그룹 아크는 행 합 비례, 각 그룹 안에서
285
+ * matrix[i][j] 비례 서브아크를 만들고 (i,j) 리본은 그룹 i의 j-서브아크와
286
+ * 그룹 j의 i-서브아크를 중심을 지나는 2차 곡선으로 잇는다.
287
+ */
288
+ export function layoutChord(matrix, labels, cx, cy, r, groupThickness = 14, padAngle = 0.04) {
289
+ const n = matrix.length;
290
+ if (!n || r <= groupThickness)
291
+ return { groups: [], ribbons: [] };
292
+ const rowSum = matrix.map((row) => (row ?? []).reduce((s, v) => s + Math.max(0, v ?? 0), 0));
293
+ const total = rowSum.reduce((a, b) => a + b, 0);
294
+ if (total <= 0)
295
+ return { groups: [], ribbons: [] };
296
+ const ri = r - groupThickness;
297
+ const angleScale = (Math.PI * 2 - n * padAngle) / total;
298
+ const groups = [];
299
+ // 서브아크 기록 — ribbons에서 (i,j) 쌍이 공유
300
+ const sub = matrix.map(() => []);
301
+ let a = 0;
302
+ for (let i = 0; i < n; i++) {
303
+ const span = rowSum[i] * angleScale;
304
+ const a0 = a;
305
+ let sa = a0;
306
+ for (let j = 0; j < n; j++) {
307
+ const v = Math.max(0, matrix[i]?.[j] ?? 0);
308
+ const w = v * angleScale;
309
+ sub[i][j] = { a0: sa, a1: sa + w };
310
+ sa += w;
311
+ }
312
+ a += span + padAngle;
313
+ if (span <= 0)
314
+ continue; // 유량 없는(숨겨진) 그룹은 렌더하지 않는다
315
+ const mid = (a0 + a0 + span) / 2;
316
+ const [lx, ly] = polar(cx, cy, r + 10, mid);
317
+ groups.push({
318
+ index: i,
319
+ name: labels[i] ?? `G${i}`,
320
+ value: rowSum[i],
321
+ a0,
322
+ a1: a0 + span,
323
+ path: arcSector(cx, cy, ri, r, a0, a0 + span),
324
+ lx,
325
+ ly,
326
+ });
327
+ }
328
+ const ribbons = [];
329
+ let ri_i = 0;
330
+ for (let i = 0; i < n; i++) {
331
+ for (let j = i + 1; j < n; j++) {
332
+ const fwd = Math.max(0, matrix[i]?.[j] ?? 0);
333
+ const back = Math.max(0, matrix[j]?.[i] ?? 0);
334
+ if (fwd <= 0 && back <= 0)
335
+ continue;
336
+ const s = sub[i][j];
337
+ const t = sub[j][i];
338
+ const [x1, y1] = polar(cx, cy, ri, s.a0);
339
+ const [x2, y2] = polar(cx, cy, ri, s.a1);
340
+ const [x3, y3] = polar(cx, cy, ri, t.a0);
341
+ const [x4, y4] = polar(cx, cy, ri, t.a1);
342
+ ribbons.push({
343
+ index: ri_i++,
344
+ sourceIndex: i,
345
+ targetIndex: j,
346
+ value: fwd,
347
+ valueBack: back,
348
+ path: `M${x1} ${y1} A${r2(ri)} ${r2(ri)} 0 0 1 ${x2} ${y2} ` +
349
+ `Q${r2(cx)} ${r2(cy)} ${x3} ${y3} ` +
350
+ `A${r2(ri)} ${r2(ri)} 0 0 1 ${x4} ${y4} ` +
351
+ `Q${r2(cx)} ${r2(cy)} ${x1} ${y1} Z`,
352
+ });
353
+ }
354
+ }
355
+ return { groups, ribbons };
356
+ }
357
+ /**
358
+ * 조직도 레이아웃 — 리프를 DFS 순서로 균등 배치하고 부모는 자식의
359
+ * 중심 위에 둔다 (tidy tree). 깊이별로 같은 y 행을 공유한다.
360
+ */
361
+ export function layoutOrganization(roots, rect) {
362
+ const leaves = [];
363
+ let maxDepth = 0;
364
+ const count = (n) => {
365
+ maxDepth = Math.max(maxDepth, n.depth);
366
+ if (!n.children.length)
367
+ leaves.push(n);
368
+ for (const c of n.children)
369
+ count(c);
370
+ };
371
+ for (const r of roots)
372
+ count(r);
373
+ const leafN = Math.max(1, leaves.length);
374
+ const slotW = rect.w / leafN;
375
+ const rowH = rect.h / Math.max(1, maxDepth + 1);
376
+ const nw = Math.min(slotW * 0.82, 120);
377
+ const nh = Math.min(rowH * 0.5, 30);
378
+ // 리프 x 슬롯 — DFS 순서
379
+ const slotOf = new Map();
380
+ leaves.forEach((l, i) => slotOf.set(l.index, i));
381
+ const cxOf = new Map();
382
+ const place = (n) => {
383
+ // 부모 x = 자식 중심의 평균 — 리프는 자기 슬롯 중심
384
+ const cx = n.children.length
385
+ ? n.children.reduce((s, c) => s + place(c), 0) / n.children.length
386
+ : rect.x + (slotOf.get(n.index) + 0.5) * slotW;
387
+ cxOf.set(n.index, cx);
388
+ return cx;
389
+ };
390
+ for (const r of roots)
391
+ place(r);
392
+ const nodes = [];
393
+ const links = [];
394
+ const walk = (n) => {
395
+ const cx = cxOf.get(n.index);
396
+ const cy = rect.y + n.depth * rowH + rowH / 2;
397
+ nodes.push({
398
+ node: n,
399
+ x: r2(cx - nw / 2),
400
+ y: r2(cy - nh / 2),
401
+ w: r2(nw),
402
+ h: r2(nh),
403
+ cx: r2(cx),
404
+ cy: r2(cy),
405
+ });
406
+ for (const c of n.children) {
407
+ const ccx = cxOf.get(c.index);
408
+ const ccy = rect.y + c.depth * rowH + rowH / 2;
409
+ const midY = cy + nh / 2 + (ccy - nh / 2 - (cy + nh / 2)) / 2;
410
+ links.push({
411
+ from: n.index,
412
+ to: c.index,
413
+ path: `M${r2(cx)} ${r2(cy + nh / 2)} V${r2(midY)} H${r2(ccx)} V${r2(ccy - nh / 2)}`,
414
+ });
415
+ walk(c);
416
+ }
417
+ };
418
+ for (const r of roots)
419
+ walk(r);
420
+ return { nodes, links };
421
+ }
422
+ //# sourceMappingURL=hierarchy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../src/hierarchy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export { ChartCore, DEFAULT_PALETTE } from "./core.js";
2
+ export type { Chart } from "./core.js";
3
+ export { applyMorph, attachChartView, bindChart, captureMorph, downloadPNG, downloadSVG, mountChart, mountSparkline, observeSize, renderInto, skeletonHtml, } from "./mount.js";
4
+ export type { MountedChart, MountChartOptions } from "./mount.js";
5
+ export { svgInner, svgString, seriesColor } from "./svg.js";
6
+ export { decodeMapFeatures, fitMapData, fitMapFeatures, pointInRing, } from "./geo.js";
7
+ export type { Coord, FittedMapFeature, MapFeature, MapFeatureKey, } from "./geo.js";
8
+ export { WORLD_TOPOLOGY } from "./maps/world.js";
9
+ export { flattenTree, layoutChord, layoutOrganization, layoutSankey, layoutSunburst, layoutTreemap, normalizeTree, } from "./hierarchy.js";
10
+ export type { OrgLinkLayout, OrgNodeLayout, SankeyLinkLayout, SankeyNodeLayout, SunburstCell, TreeDatum, } from "./hierarchy.js";
11
+ export { parseText } from "./text.js";
12
+ export { parseDataXml } from "./xml.js";
13
+ export type { XmlDataResult } from "./xml.js";
14
+ export { sparklineMarkup } from "./sparkline.js";
15
+ export { linearScale, logScale, logTicks, niceDomain, niceStep, niceTicks, timeTicks, formatNumber, formatTimeTick, } from "./scales.js";
16
+ export { linePath, stepPath, splinePath, areaPath, arcPath, bandPath, } from "./geometry.js";
17
+ export type { AnnotationInput, AnnotationView, AxisPosition, AxisView, BarView, CandleView, CategoryValue, ChartBoxInput, ChartAnimationOptions, ChartAxisOptions, ChartCoreOptions, ChartDirection, ChartEventHandlers, ChartEventMap, ChartEventType, ChartChordOptions, ChartFlowLink, ChartGaugeOptions, ChartHeatmapOptions, ChartLegendOptions, ChartLocale, ChartPadding, ChartPointInput, ChartSankeyOptions, ChartSeriesInput, ChartSnapshot, ChartTheme, ChartTooltipOptions, ChartTreeNode, BoxPlotView, ChordGroupView, ChordRibbonView, ChartDrawingOptions, ChartSearchOptions, ChartType, DataLabelView, DomainWindow, DrawingInput, DrawingView, DrawTool, DrilldownLevel, ErrorBarView, FocusPoint, GeometryView, GroupTickView, HeatCellView, HoverInfo, ItemStyle, ItemStyleContext, LegendItemView, LegendPosition, LinearGaugeView, MapProjection, ChartMapDatum, ChartMapLine, ChartMapOptions, ChartMapPoint, ChartMenuItem, ChartContextMenuOptions, ChartPictogramOptions, ChartPyramidPopOptions, MapClusterView, MapLineView, MapMarkerView, MapRegionView, MapScaleView, MarkBandInput, MarkBandView, MarkLineInput, MarkLineView, MenuItemView, MenuView, NavigatorView, OrgLinkView, OrgNodeView, PictoIconView, PictoRowView, PointView, PolarSectorView, GaugeView, RadarGridView, RangeBarView, Rect, SankeyLinkView, SankeyNodeView, ScaleKind, SearchLoadArgs, SelectionView, SeriesView, SliceView, SparklineOptions, SunburstNodeView, TickView, TreemapNodeView, ChartState, TooltipFormatContext, TooltipMode, TooltipRenderContext, TooltipRowView, TooltipView, TrendLineView, WordView, ChartZoomOptions, ZoomWindowInput, } from "./types.js";
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,12 @@
1
+ export { ChartCore, DEFAULT_PALETTE } from "./core.js";
2
+ export { applyMorph, attachChartView, bindChart, captureMorph, downloadPNG, downloadSVG, mountChart, mountSparkline, observeSize, renderInto, skeletonHtml, } from "./mount.js";
3
+ export { svgInner, svgString, seriesColor } from "./svg.js";
4
+ export { decodeMapFeatures, fitMapData, fitMapFeatures, pointInRing, } from "./geo.js";
5
+ export { WORLD_TOPOLOGY } from "./maps/world.js";
6
+ export { flattenTree, layoutChord, layoutOrganization, layoutSankey, layoutSunburst, layoutTreemap, normalizeTree, } from "./hierarchy.js";
7
+ export { parseText } from "./text.js";
8
+ export { parseDataXml } from "./xml.js";
9
+ export { sparklineMarkup } from "./sparkline.js";
10
+ export { linearScale, logScale, logTicks, niceDomain, niceStep, niceTicks, timeTicks, formatNumber, formatTimeTick, } from "./scales.js";
11
+ export { linePath, stepPath, splinePath, areaPath, arcPath, bandPath, } from "./geometry.js";
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEvD,OAAO,EACL,UAAU,EACV,eAAe,EACf,SAAS,EACT,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,cAAc,EACd,WAAW,EACX,UAAU,EACV,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,WAAW,GACZ,MAAM,UAAU,CAAC;AAOlB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,gBAAgB,CAAC;AASxB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,SAAS,EACT,SAAS,EACT,YAAY,EACZ,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,GACT,MAAM,eAAe,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 내장 세계 지도 — Natural Earth 110m 국가 경계 (world-atlas@2).
3
+ *
4
+ * TopoJSON Topology. 피처 id는 ISO 3166-1 numeric 코드 문자열
5
+ * (예: "410"=South Korea, "840"=USA), properties.name이 표시 이름이다.
6
+ * mapData.code는 이 id·name(대소문자 무시)과 조인된다.
7
+ */
8
+ export declare const WORLD_TOPOLOGY: unknown;
9
+ //# sourceMappingURL=world.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/maps/world.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,OAAyvyG,CAAC"}