@iamfiro/design 0.1.0 → 0.3.1

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 (160) hide show
  1. package/AGENTS.md +1 -0
  2. package/agents/INDEX.md +1 -0
  3. package/agents/brand-icon/AGENTS.md +2 -2
  4. package/agents/social-login-button/AGENTS.md +156 -0
  5. package/lib/components/Accordion/Accordion2.js +135 -0
  6. package/lib/components/ActionBar/ActionBar2.js +66 -0
  7. package/lib/components/Alert/Alert2.js +131 -0
  8. package/lib/components/AppShell/AppShell2.js +94 -0
  9. package/lib/components/AreaChart/AreaChart.js +59 -0
  10. package/lib/components/BarChart/BarChart2.js +243 -0
  11. package/lib/components/BarList/BarList2.js +172 -0
  12. package/lib/components/Breadcrumb/Breadcrumb2.js +90 -0
  13. package/lib/components/Calendar/Calendar2.js +309 -0
  14. package/lib/components/Calendar/DatePicker2.js +228 -0
  15. package/lib/components/Calendar/date.js +118 -0
  16. package/lib/components/Card/Card2.js +103 -0
  17. package/lib/components/CardFrame/CardFrame2.js +67 -0
  18. package/lib/components/Chart/ChartParts.js +150 -0
  19. package/lib/components/Chart/chart2.js +96 -0
  20. package/lib/components/Chart/useChartInteraction.js +94 -0
  21. package/lib/components/ChatBubble/ChatBubble2.js +174 -0
  22. package/lib/components/ChatBubble/formatChatTime.js +48 -0
  23. package/lib/components/ChatComposer/ChatComposer2.js +153 -0
  24. package/lib/components/CodeBlock/CodeBlock2.js +93 -0
  25. package/lib/components/CodeBlock/highlight.js +111 -0
  26. package/lib/components/ColorPicker/ColorPicker2.js +609 -0
  27. package/lib/components/ColorPicker/color.js +180 -0
  28. package/lib/components/ColorPicker/presets.js +70 -0
  29. package/lib/components/Combobox/Combobox2.js +228 -0
  30. package/lib/components/CommandMenu/CommandMenu.js +267 -0
  31. package/lib/components/Comment/Comment2.js +110 -0
  32. package/lib/components/ContextMenu/ContextMenu2.js +168 -0
  33. package/lib/components/DataGrid/DataGrid2.js +1998 -0
  34. package/lib/components/DataGrid/GridPopover.js +154 -0
  35. package/lib/components/DataGrid/anchor.js +50 -0
  36. package/lib/components/DataGrid/model.js +557 -0
  37. package/lib/components/DataGrid/panels.js +701 -0
  38. package/lib/components/DataGrid/typeMeta.js +75 -0
  39. package/lib/components/DataGrid/types.js +53 -0
  40. package/lib/components/DescriptionList/DescriptionList2.js +180 -0
  41. package/lib/components/Dialog/AlertDialog.js +119 -0
  42. package/lib/components/Dialog/Dialog2.js +110 -0
  43. package/lib/components/Dialog/modal.js +92 -0
  44. package/lib/components/Drawer/Drawer2.js +244 -0
  45. package/lib/components/DropdownMenu/DropdownMenu2.js +393 -0
  46. package/lib/components/DropdownMenu/menuCore.js +63 -0
  47. package/lib/components/Dropzone/Dropzone2.js +145 -0
  48. package/lib/components/EmptyState/EmptyState2.js +70 -0
  49. package/lib/components/FileChip/FileChip2.js +94 -0
  50. package/lib/components/FileUpload/FileUpload.js +259 -0
  51. package/lib/components/FilterChips/FilterChips2.js +101 -0
  52. package/lib/components/FunnelChart/FunnelChart2.js +283 -0
  53. package/lib/components/FunnelChart/funnel.js +72 -0
  54. package/lib/components/Highlight/Highlight2.js +100 -0
  55. package/lib/components/HoverCard/HoverCard.js +134 -0
  56. package/lib/components/InlineDiff/InlineDiff2.js +215 -0
  57. package/lib/components/InlineDiff/diff.js +126 -0
  58. package/lib/components/InlineDiff/useDiffReview.js +110 -0
  59. package/lib/components/Kanban/Kanban2.js +691 -0
  60. package/lib/components/Kanban/KanbanCard.js +159 -0
  61. package/lib/components/Kanban/move.js +69 -0
  62. package/lib/components/LineChart/LineChart2.js +342 -0
  63. package/lib/components/List/List2.js +132 -0
  64. package/lib/components/Listbox/Listbox2.js +163 -0
  65. package/lib/components/Marker/Marker2.js +82 -0
  66. package/lib/components/Menubar/Menubar2.js +222 -0
  67. package/lib/components/MultiSelect/MultiSelect2.js +204 -0
  68. package/lib/components/NavigationMenu/NavigationMenu2.js +481 -0
  69. package/lib/components/NoticeStack/NoticeStack2.js +178 -0
  70. package/lib/components/NumberStepper/NumberStepper2.js +128 -0
  71. package/lib/components/OtpInput/OtpInput2.js +122 -0
  72. package/lib/components/Pagination/Pagination2.js +210 -0
  73. package/lib/components/Pagination/paginationRange.js +52 -0
  74. package/lib/components/PhoneInput/PhoneInput.js +175 -0
  75. package/lib/components/PieChart/PieChart2.js +246 -0
  76. package/lib/components/PieChart/arc.js +90 -0
  77. package/lib/components/PieChart/useArcTween.js +92 -0
  78. package/lib/components/Popover/Popover2.js +111 -0
  79. package/lib/components/ProgressTracker/ProgressTracker2.js +226 -0
  80. package/lib/components/Rating/Rating2.js +186 -0
  81. package/lib/components/Resizable/Resizable2.js +238 -0
  82. package/lib/components/Resizable/layout.js +115 -0
  83. package/lib/components/ScaledPreview/ScaledPreview2.js +99 -0
  84. package/lib/components/ScatterChart/ScatterChart2.js +355 -0
  85. package/lib/components/ScatterChart/scatter.js +85 -0
  86. package/lib/components/ScrollArea/ScrollArea2.js +217 -0
  87. package/lib/components/Select/Select2.js +153 -0
  88. package/lib/components/Sidebar/Sidebar2.js +127 -0
  89. package/lib/components/Skeleton/Skeleton2.js +91 -0
  90. package/lib/components/Slider/Slider2.js +142 -0
  91. package/lib/components/SocialLoginButton/SocialLoginButton.js +84 -0
  92. package/lib/components/SparkChart/SparkChart2.js +217 -0
  93. package/lib/components/SparkChart/spark.js +71 -0
  94. package/lib/components/Sparkbar/Sparkbar2.js +111 -0
  95. package/lib/components/SplitView/SplitView2.js +95 -0
  96. package/lib/components/Stat/Stat2.js +164 -0
  97. package/lib/components/StepList/StepList2.js +131 -0
  98. package/lib/components/Table/Table2.js +104 -0
  99. package/lib/components/Tabs/Tabs2.js +131 -0
  100. package/lib/components/TagInput/TagInput2.js +357 -0
  101. package/lib/components/TimePicker/TimePicker2.js +388 -0
  102. package/lib/components/TimePicker/time.js +81 -0
  103. package/lib/components/Timeline/Timeline2.js +369 -0
  104. package/lib/components/Timeline/scale.js +81 -0
  105. package/lib/components/Toast/Toaster.js +213 -0
  106. package/lib/components/Toast/store.js +128 -0
  107. package/lib/components/ToggleGroup/ToggleGroup2.js +125 -0
  108. package/lib/components/Toolbar/Toolbar2.js +283 -0
  109. package/lib/components/Tracker/Tracker2.js +172 -0
  110. package/lib/components/TreeDiagram/TreeDiagram2.js +223 -0
  111. package/lib/components/TreeView/TreeView2.js +286 -0
  112. package/lib/hooks/timing.js +57 -0
  113. package/lib/hooks/useControllableState.js +49 -0
  114. package/lib/hooks/useCountdown.js +75 -0
  115. package/lib/hooks/useDigitInput.js +103 -0
  116. package/lib/hooks/useDismiss.js +69 -0
  117. package/lib/hooks/useElapsed.js +85 -0
  118. package/lib/hooks/useFloating.js +70 -0
  119. package/lib/hooks/useFocusTrap.js +85 -0
  120. package/lib/hooks/usePresence.js +58 -0
  121. package/lib/hooks/usePressToOpen.js +70 -0
  122. package/lib/hooks/useScrollLock.js +71 -0
  123. package/lib/hooks/useSelection.js +65 -0
  124. package/lib/index.js +176 -17911
  125. package/lib/primitives/AspectRatio2.js +76 -0
  126. package/lib/primitives/BrandIcon.js +245 -0
  127. package/lib/primitives/ColorDot2.js +71 -0
  128. package/lib/primitives/CopyButton2.js +86 -0
  129. package/lib/primitives/CountBadge2.js +80 -0
  130. package/lib/primitives/Countdown2.js +61 -0
  131. package/lib/primitives/Delta2.js +92 -0
  132. package/lib/primitives/Elapsed.js +62 -0
  133. package/lib/primitives/FileIcon2.js +125 -0
  134. package/lib/primitives/Flag2.js +263 -0
  135. package/lib/primitives/IconStack2.js +85 -0
  136. package/lib/primitives/IconTile2.js +69 -0
  137. package/lib/primitives/Kbd2.js +88 -0
  138. package/lib/primitives/Layout2.js +118 -0
  139. package/lib/primitives/Link2.js +55 -0
  140. package/lib/primitives/MaskedText2.js +121 -0
  141. package/lib/primitives/Progress2.js +137 -0
  142. package/lib/primitives/RelativeTime.js +82 -0
  143. package/lib/primitives/SearchInput2.js +85 -0
  144. package/lib/primitives/SelectorButton2.js +96 -0
  145. package/lib/primitives/Spinner2.js +94 -0
  146. package/lib/primitives/StatusIcon2.js +126 -0
  147. package/lib/primitives/Swatch2.js +79 -0
  148. package/lib/primitives/Tooltip2.js +132 -0
  149. package/lib/primitives/Typography2.js +97 -0
  150. package/lib/primitives/formatCountdown.js +54 -0
  151. package/lib/primitives/formatElapsed.js +63 -0
  152. package/lib/primitives/formatRelativeTime.js +64 -0
  153. package/lib/primitives/hotkey.js +94 -0
  154. package/lib/primitives/index.js +351 -0
  155. package/lib/primitives/maskValue.js +69 -0
  156. package/lib/style.css +1 -1
  157. package/lib/types/components/SocialLoginButton/SocialLoginButton.d.ts +10 -0
  158. package/lib/types/components/index.d.ts +2 -0
  159. package/lib/types/primitives/BrandIcon.d.ts +1 -1
  160. package/package.json +2 -1
@@ -0,0 +1,115 @@
1
+ "use client";
2
+ const e = l;
3
+ (function(e, t) {
4
+ let n = l, r = e();
5
+ for (;;) try {
6
+ if (-parseInt(n(131)) / 1 * (parseInt(n(136)) / 2) + -parseInt(n(122)) / 3 * (parseInt(n(110)) / 4) + -parseInt(n(134)) / 5 + -parseInt(n(106)) / 6 * (-parseInt(n(118)) / 7) + -parseInt(n(123)) / 8 * (parseInt(n(113)) / 9) + -parseInt(n(114)) / 10 + parseInt(n(112)) / 11 == t) break;
7
+ r.push(r.shift());
8
+ } catch {
9
+ r.push(r.shift());
10
+ }
11
+ })(u, 126173);
12
+ var t = .01, n = (t, n, r) => Math[e(127)](r, Math[e(133)](n, t)), r = (n, r, i) => r[i][e(109)] && n[i] <= r[i][e(111)] + t, i = (t) => t[e(105)]((e, t) => e + t, 0), a = (t, n) => [...Array[e(132)]({ length: t - n - 1 }, (e, t) => n + 1 + t), ...Array[e(132)]({ length: n }, (e, t) => n - 1 - t)];
13
+ function o(r, a) {
14
+ let o = e, s = i(r[o(128)]((e) => e[o(121)] ?? 0)), c = r[o(126)]((e) => e[o(121)] === void 0)[o(115)], l = c ? Math[o(133)](0, 100 - s) / c : 0, u = r[o(128)]((e, t) => a[t] && e[o(109)] ? e[o(111)] : n(e.defaultSize ?? l, e[o(127)], e[o(133)])), d = 100 - i(u), f = [...r[o(128)]((e, t) => t)[o(126)]((e) => r[e][o(121)] === void 0), ...r.map((e, t) => t)[o(126)]((e) => r[e].defaultSize !== void 0)].filter((e) => !(a[e] && r[e].collapsible));
15
+ for (let e of f) {
16
+ if (Math[o(125)](d) <= t) break;
17
+ let i = n(u[e] + d, r[e][o(127)], r[e].max);
18
+ d -= i - u[e], u[e] = i;
19
+ }
20
+ return Math[o(125)](d) > t && f[o(115)] && (u[f[f.length - 1]] += d), u;
21
+ }
22
+ function s(n, i, a, o, s = .5) {
23
+ let c = e;
24
+ if (Math[c(125)](o) < t) return n;
25
+ let l = i.length, u = n[c(130)](), d = o > 0 ? a : a + 1, f = o > 0 ? Array[c(132)]({ length: l - a - 1 }, (e, t) => a + 1 + t) : Array[c(132)]({ length: a + 1 }, (e, t) => a - t), p = i[d], m = Math[c(125)](o), h = 0;
26
+ if (r(n, i, d)) {
27
+ let e = p.min - p[c(111)];
28
+ if (m < e * s) return n;
29
+ m = Math.max(m, e), h = e;
30
+ }
31
+ let g = p[c(133)] - n[d];
32
+ if (m = Math.min(m, g), m <= t) return n;
33
+ let _ = 0;
34
+ for (let e of f) {
35
+ let a = m - _;
36
+ if (a <= t) break;
37
+ let o = i[e];
38
+ if (r(n, i, e)) continue;
39
+ let l = Math[c(133)](0, u[e] - o[c(127)]);
40
+ if (o[c(109)] && a > l + (o[c(127)] - o.collapsedSize) * s && _ + u[e] - o[c(111)] <= g + t) _ += u[e] - o[c(111)], u[e] = o[c(111)];
41
+ else {
42
+ let t = Math[c(127)](l, a);
43
+ u[e] -= t, _ += t;
44
+ }
45
+ }
46
+ return _ < h - t || _ <= t ? n : (u[d] += _, u);
47
+ }
48
+ function c(n, i, o) {
49
+ let s = e, c = i[o];
50
+ if (!c[s(109)] || r(n, i, o)) return n;
51
+ let l = n[s(130)](), u = l[o] - c.collapsedSize;
52
+ l[o] = c[s(111)];
53
+ for (let e of a(i[s(115)], o)) {
54
+ if (u <= t) break;
55
+ if (r(n, i, e)) continue;
56
+ let a = Math.min(u, Math[s(133)](0, i[e][s(133)] - l[e]));
57
+ l[e] += a, u -= a;
58
+ }
59
+ return u > t ? n : l;
60
+ }
61
+ function l(e, t) {
62
+ e -= 105;
63
+ let n = u(), r = n[e];
64
+ l.PAHjYi === void 0 && (l.TlEife = function(e) {
65
+ let t = "", n = "";
66
+ for (let n = 0, r, i, a = 0; i = e.charAt(a++); ~i && (r = n % 4 ? r * 64 + i : i, n++ % 4) && (t += String.fromCharCode(255 & r >> (-2 * n & 6)))) i = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(i);
67
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
68
+ return decodeURIComponent(n);
69
+ }, l.ZjqsPk = {}, l.PAHjYi = !0);
70
+ let i = n[0];
71
+ l.LOvpdW !== i && (l.ZjqsPk = {}, l.LOvpdW = i);
72
+ let a = l.ZjqsPk[e];
73
+ return a === void 0 ? (r = l.TlEife(r), l.ZjqsPk[e] = r) : r = a, r;
74
+ }
75
+ function u() {
76
+ let e = /* @__PURE__ */ "mtbMEevZAhm.CMvKDwnL.nMLXze52yW.CgfYC2u.BNvTyMvY.y29SBgfWC2LIBgu.nffusuTnBW.y29SBgfWC2vKu2L6zq.odqZmZaWn1DoBgHHva.mtiZntm0rgPjzgTm.mtiZndeWmfbOCefztW.BgvUz3rO.C2v0sxrLBq.AxngAw5PDgu.mJCXodmXDNv6t3fZ.Bg9JywXtDg9YywDL.AxnbCNjHEq.zgvMyxvSDfnPEMu.mta5ndeZwgvPzLni.otzIrKTnzwu.CM91BMq.ywjZ.zMLSDgvY.BwLU.BwfW.zxzLCNK.C2XPy2u.mJi0odzUDhbzqwi.zNjVBq.Bwf4.mtiXmtm3mhnTsvrgrq.C3rYAw5NAwz5".split(".");
77
+ return u = function() {
78
+ return e;
79
+ }, u();
80
+ }
81
+ function d(i, o, s, c) {
82
+ let l = e, u = o[s], d = i[l(130)](), f = n(c, u[l(127)], u[l(133)]) - d[s];
83
+ if (f <= t) return i;
84
+ let p = 0;
85
+ for (let e of a(o[l(115)], s)) {
86
+ if (f - p <= t) break;
87
+ if (r(i, o, e)) continue;
88
+ let n = Math[l(127)](f - p, Math[l(133)](0, d[e] - o[e][l(127)]));
89
+ d[e] -= n, p += n;
90
+ }
91
+ return d[s] + p < u[l(127)] - t ? i : (d[s] += p, d);
92
+ }
93
+ function f(r, i, a, o) {
94
+ let s = e, c = a, l = a + 1, u = r[c] + r[l], d = n(u * (o[c] / Math.max(t, o[c] + o[l])), Math.max(i[c][s(127)], u - i[l].max), Math.min(i[c][s(133)], u - i[l][s(127)])), f = r[s(130)]();
95
+ return f[c] = d, f[l] = u - d, f;
96
+ }
97
+ var p = (n, r) => n.length === r[e(115)] && n[e(129)]((n, i) => Math[e(125)](n - r[i]) <= t), m = "lumen:resizable:";
98
+ function h(t, n) {
99
+ let r = e;
100
+ try {
101
+ let e = window[r(119)].getItem(m + t);
102
+ if (!e) return null;
103
+ let a = JSON[r(107)](e);
104
+ return !Array[r(120)](a) || a[r(115)] !== n || !a.every((e) => typeof e === r(108) && Number[r(117)](e) && e >= 0) || Math[r(125)](i(a) - 100) > .5 ? null : a;
105
+ } catch {
106
+ return null;
107
+ }
108
+ }
109
+ function g(t, n) {
110
+ let r = e;
111
+ try {
112
+ window[r(119)][r(116)](m + t, JSON[r(135)](n.map((e) => Math[r(124)](e * 100) / 100)));
113
+ } catch {}
114
+ }
115
+ export { c as collapseLayout, d as expandLayout, o as initialLayout, r as isCollapsed, h as loadLayout, f as resetPair, s as resizeLayout, p as sameLayout, g as saveLayout };
@@ -0,0 +1,99 @@
1
+ "use client";
2
+ (function(e, t) {
3
+ let n = s, r = e();
4
+ for (;;) try {
5
+ if (-parseInt(n(265)) / 1 + -parseInt(n(260)) / 2 + parseInt(n(267)) / 3 + parseInt(n(255)) / 4 + parseInt(n(250)) / 5 + -parseInt(n(258)) / 6 * (parseInt(n(276)) / 7) + -parseInt(n(261)) / 8 * (-parseInt(n(275)) / 9) == t) break;
6
+ r.push(r.shift());
7
+ } catch {
8
+ r.push(r.shift());
9
+ }
10
+ })(l, 706132);
11
+ import { cx as e } from "../../primitives/index.js";
12
+ import { Skeleton as t } from "../Skeleton/Skeleton2.js";
13
+ /* empty css */
14
+ import { useEffect as n, useRef as r, useState as i } from "react";
15
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
16
+ function s(e, t) {
17
+ e -= 249;
18
+ let n = l(), r = n[e];
19
+ s.UzlXwD === void 0 && (s.leyIYK = function(e) {
20
+ let t = "", n = "";
21
+ for (let n = 0, r, i, a = 0; i = e.charAt(a++); ~i && (r = n % 4 ? r * 64 + i : i, n++ % 4) && (t += String.fromCharCode(255 & r >> (-2 * n & 6)))) i = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(i);
22
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
23
+ return decodeURIComponent(n);
24
+ }, s.KHrxei = {}, s.UzlXwD = !0);
25
+ let i = n[0];
26
+ s.kSrhhD !== i && (s.KHrxei = {}, s.kSrhhD = i);
27
+ let a = s.KHrxei[e];
28
+ return a === void 0 ? (r = s.leyIYK(r), s.KHrxei[e] = r) : r = a, r;
29
+ }
30
+ function c({ children: c, height: l = 320, contentWidth: u = 520, maxScale: d = .8, minScale: f = .3, inset: p = 24, label: m, meta: h, lazy: g, fallback: _, tone: v = "subtle", className: y, style: b }) {
31
+ let x = s, S = r(null), C = r(null), [w, T] = i(!1), [E, D] = i(null), O = !g || typeof IntersectionObserver === x(257) || w;
32
+ return n(() => {
33
+ let e = x, t = S[e(256)];
34
+ if (!g || !t || typeof IntersectionObserver === e(257)) return;
35
+ let n = new IntersectionObserver(([t]) => T(t[e(278)]), { rootMargin: e(259) });
36
+ return n[e(266)](t), () => n[e(277)]();
37
+ }, [g]), n(() => {
38
+ let e = x, t = S[e(256)], n = C[e(256)];
39
+ if (!O || !t || !n) return;
40
+ let r = () => {
41
+ let r = e, i = n[r(274)], a = n[r(263)];
42
+ if (!i || !a) return;
43
+ let o = Math[r(272)]((t[r(269)] - p * 2) / i, (t.clientHeight - p * 2) / a);
44
+ D(Math[r(262)](f, Math.min(d, o)));
45
+ };
46
+ if (r(), typeof ResizeObserver === e(257)) return;
47
+ let i = new ResizeObserver(r);
48
+ return i[e(266)](t), i[e(266)](n), () => i[e(277)]();
49
+ }, [
50
+ O,
51
+ p,
52
+ d,
53
+ f,
54
+ u
55
+ ]), o(x(264), {
56
+ ref: S,
57
+ className: e(x(268), x(254) + v, y),
58
+ style: {
59
+ height: l,
60
+ ...b
61
+ },
62
+ children: [
63
+ O ? a("div", {
64
+ ref: C,
65
+ className: x(270),
66
+ "data-ready": E !== null || void 0,
67
+ style: {
68
+ width: u,
69
+ transform: x(251) + (E ?? d) + ")"
70
+ },
71
+ inert: !0,
72
+ "aria-hidden": !0,
73
+ children: c
74
+ }) : a(x(264), {
75
+ className: x(252),
76
+ children: _ ?? a(t, {
77
+ width: x(253),
78
+ height: x(271),
79
+ radius: "md"
80
+ })
81
+ }),
82
+ m != null && a("span", {
83
+ className: "ds-scaled-preview__chip ds-scaled-preview__chip--label",
84
+ children: m
85
+ }),
86
+ h != null && a(x(249), {
87
+ className: x(273),
88
+ children: h
89
+ })
90
+ ]
91
+ });
92
+ }
93
+ export { c as ScaledPreview };
94
+ function l() {
95
+ let e = /* @__PURE__ */ "C3bHBG.nJy5mZuWy3vtEgrS.DhjHBNnSyxrLkc01mcuSic01mcuPihnJywXLka.zhmTC2nHBgvKlxbYzxzPzxDFx2zHBgXIywnR.ntyL.zhmTC2nHBgvKlxbYzxzPzxCTlq.mZG0nty0CNv2zwLO.y3vYCMvUDa.Dw5KzwzPBMvK.nM1qBKvVvW.mJaWChGGmhb4.mty1mZeWnhnWrKf4CW.mtiYmdC2mdHSrMn1CM0.Bwf4.B2zMC2v0sgvPz2H0.zgL2.mJu4mJGZqvfWu3Ph.B2jZzxj2zq.ndK4mtKYDLnOyKTQ.zhmTC2nHBgvKlxbYzxzPzxC.y2XPzw50v2LKDgG.zhmTC2nHBgvKlxbYzxzPzxDFx2nVBNrLBNq.ndqL.BwLU.zhmTC2nHBgvKlxbYzxzPzxDFx2nOAxaGzhmTC2nHBgvKlxbYzxzPzxDFx2nOAxaTlw1LDge.B2zMC2v0v2LKDgG.oxjUtKvkAG.ote3ndeZDKLrqM5O.zgLZy29UBMvJDa.AxnjBNrLCNnLy3rPBMC".split(".");
96
+ return l = function() {
97
+ return e;
98
+ }, l();
99
+ }
@@ -0,0 +1,355 @@
1
+ "use client";
2
+ (function(e, t) {
3
+ let n = s, r = e();
4
+ for (;;) try {
5
+ if (parseInt(n(208)) / 1 * (-parseInt(n(273)) / 2) + parseInt(n(203)) / 3 * (parseInt(n(201)) / 4) + -parseInt(n(207)) / 5 * (parseInt(n(272)) / 6) + parseInt(n(276)) / 7 * (parseInt(n(235)) / 8) + parseInt(n(211)) / 9 + parseInt(n(241)) / 10 + -parseInt(n(275)) / 11 * (parseInt(n(252)) / 12) == t) break;
6
+ r.push(r.shift());
7
+ } catch {
8
+ r.push(r.shift());
9
+ }
10
+ })(m, 451767);
11
+ import { Text as e } from "../../primitives/Typography2.js";
12
+ import { ColorDot as t } from "../../primitives/ColorDot2.js";
13
+ import { Inline as n, Stack as r } from "../../primitives/Layout2.js";
14
+ import { useControllableState as i } from "../../hooks/useControllableState.js";
15
+ import { cx as a } from "../../primitives/index.js";
16
+ import { ChartTooltip as o } from "../Chart/ChartParts.js";
17
+ function s(e, t) {
18
+ e -= 194;
19
+ let n = m(), r = n[e];
20
+ s.tMzKlm === void 0 && (s.IYKvmI = function(e) {
21
+ let t = "", n = "";
22
+ for (let n = 0, r, i, a = 0; i = e.charAt(a++); ~i && (r = n % 4 ? r * 64 + i : i, n++ % 4) && (t += String.fromCharCode(255 & r >> (-2 * n & 6)))) i = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(i);
23
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
24
+ return decodeURIComponent(n);
25
+ }, s.GvaSVF = {}, s.tMzKlm = !0);
26
+ let i = n[0];
27
+ s.agDUvF !== i && (s.GvaSVF = {}, s.agDUvF = i);
28
+ let a = s.GvaSVF[e];
29
+ return a === void 0 ? (r = s.IYKvmI(r), s.GvaSVF[e] = r) : r = a, r;
30
+ }
31
+ import { CHART_TONE_STRONG as c, axisGutter as ee, chartColor as l, formatCompact as te, formatNumber as ne, labelStep as re, numberAt as u } from "../Chart/chart2.js";
32
+ import { useChartInteraction as ie } from "../Chart/useChartInteraction.js";
33
+ import { linearRegression as ae, niceRangeTicks as oe } from "./scatter.js";
34
+ /* empty css */
35
+ import { useId as se, useMemo as d, useRef as ce, useState as le } from "react";
36
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
37
+ var ue = 12, de = 10, fe = 28, pe = 14, me = 560, he = [];
38
+ function m() {
39
+ let e = /* @__PURE__ */ "C3bHBG.ndKWmMHqAM9gAq.ndmYmKfLtKnWrW.BMv1DhjHBa.mtfdswrPCui.mte3mdGYthHgqwrT.B3bLBG.Dg9W.zhmTy2HHCNrFx3n2zW.zgL2.C29YDa.zhmTC2nHDhrLCI1JAgfYDf9Fzg90.yM9KEs1ZBq.y2XVC2vK.zhmTy2HHCNrFx2HPDa.C29MDa.DhjHBNnWyxjLBNq.AgfZ.mti1mKLmqKTkCq.zMLSDgvY.nZG2oxHKsu9uDW.zhmTC2nHDhrLCI1JAgfYDf9Fywn0AxzL.CM93.DhjHBNnSyxrLka.ndi0nu51q2rOAW.mZqXs2vhEezJ.zhmTy2HHCNrFx2DYAwq.DhjHBNnSyxrLwcG.mJa4ndqZnLbkwxjkyW.zM9YrwfJAa.zhmTC2nHDhrLCI1JAgfYDf9FCg9PBNrZ.Aw5KzxG.ChvZAa.ChGSia.Cgf0Aa.zhmTy2HHCNq.Bwf4.BgvUz3rO.zhmTy2HHCNrFx2f4AxmGzhmTC2nHDhrLCI1JAgfYDf9FDgL0Bgu.BgfIzwW.zhmTC2nHDhrLCI1JAgfYDa.CMvJDa.zMXHDe1HCa.y2XPzw50wq.A2v5.Dg9Uzq.Dgv4Da.y3vYCMvUDa.zhmTC2nHDhrLCI1JAgfYDf9FCg9PBNq.Aw50zxjJzxb0.BwLU.z2v0qM91BMrPBMDdBgLLBNrszwn0.mJmYDwzdrern.DgvYDgLHCNK.C2vJB25Kyxj5.C3zN.Cg9SAxrL.lwnSAxa.nJCXmtyYmgjvyNnNuG.DxjSkcm.lwnSAxaP.BwLKzgXL.y2LYy2XL.y2f0.AhLWB3q.zMLYC3q.C3rHCNq.zhmTy2HHCNrFx2f4Axm.y29SB3i.mZKXodiXnKP1zKLLuG.BgLUzq.lwXPDMu.zw5K.zhmTC2nHDhrLCI1JAgfYDf9FCMvM.yxHPCW.z2v0.7ikW7kcq64+e.y2f0zwDVCNK.y2XPzw50wa.B2zM.zhmTy2HHCNrFx3bSB3q.BwfW.yNv0Dg9U.zhmTC2nHDhrLCI1JAgfYDf9FCg9W.ChGP.C2XVCgu.DMfSDwu.zhmTy2HHCNrFx3rPCa".split(".");
40
+ return m = function() {
41
+ return e;
42
+ }, m();
43
+ }
44
+ function h({ data: m, xKey: h, yKey: g, sizeKey: _, categoryKey: v, categories: ge, labelKey: y, height: b = 280, xLabel: x, yLabel: S, sizeLabel: _e, xTickCount: ve = 5, yTickCount: ye = 4, xDomain: C, yDomain: w, sizeRange: be = [4, 22], pointRadius: xe = 5, trendLine: Se = !1, referenceLines: T, formatX: Ce = ne, formatY: we = ne, formatSize: Te = ne, formatAxisX: Ee = te, formatAxisY: De = te, legend: Oe = !0, hiddenCategories: ke, defaultHiddenCategories: Ae = he, onHiddenCategoriesChange: je, activeIndex: Me, defaultActiveIndex: Ne, onActiveIndexChange: Pe, "aria-label": Fe = "산점도", className: Ie, style: Le }) {
45
+ let E = s, D = se(), [O, Re] = i(ke, Ae, je), k = new Set(O), [A, ze] = le(null), j = d(() => {
46
+ let e = s;
47
+ if (ge) return ge;
48
+ if (!v) return [{
49
+ key: "",
50
+ label: S ?? g
51
+ }];
52
+ let t = [];
53
+ for (let n of m) {
54
+ let r = String(n[v] ?? "");
55
+ t.includes(r) || t[e(215)](r);
56
+ }
57
+ return t[e(264)]((e) => ({
58
+ key: e,
59
+ label: e
60
+ }));
61
+ }, [
62
+ ge,
63
+ v,
64
+ m,
65
+ S,
66
+ g
67
+ ]), M = d(() => {
68
+ let e = s, t = new Map(j.map((e, t) => [e.key, t]));
69
+ return m[e(225)]((n, r) => {
70
+ let i = e, a = u(n, h), o = u(n, g);
71
+ if (a === null || o === null) return [];
72
+ let s = v ? String(n[v] ?? "") : "", c = t[i(258)](s);
73
+ return c === void 0 ? [] : [{
74
+ index: r,
75
+ row: n,
76
+ x: a,
77
+ y: o,
78
+ s: _ ? u(n, _) : null,
79
+ cat: s,
80
+ ci: c
81
+ }];
82
+ })[e(281)]((e, t) => e.x - t.x || e.y - t.y);
83
+ }, [
84
+ m,
85
+ h,
86
+ g,
87
+ _,
88
+ v,
89
+ j
90
+ ]), Be = M[E(202)]((e) => !k[E(200)](e[E(246)]))[E(220)], { open: Ve, shown: He, settled: Ue, width: N, tipRef: We, tipSize: P, hover: Ge, leave: Ke, plotProps: qe } = ie({
91
+ count: Be,
92
+ activeIndex: Me,
93
+ defaultActiveIndex: Ne,
94
+ onActiveIndexChange: Pe,
95
+ initialKeyboardIndex: E(248)
96
+ }), F = d(() => {
97
+ let e = E, t = [...M[e(264)]((e) => e.x), ...T?.[e(202)]((t) => t[e(257)] === "x")[e(264)]((t) => t[e(269)]) ?? []], [n, r] = C ?? (t.length ? [Math[e(233)](...t), Math.max(...t)] : [0, 1]);
98
+ return oe(n, r, ve, !C);
99
+ }, [
100
+ M,
101
+ T,
102
+ C,
103
+ ve
104
+ ]), I = d(() => {
105
+ let e = E, t = [...M[e(264)]((e) => e.y), ...T?.[e(202)]((t) => t[e(257)] === "y")[e(264)]((t) => t[e(269)]) ?? []], [n, r] = w ?? (t[e(220)] ? [Math[e(233)](...t), Math.max(...t)] : [0, 1]);
106
+ return oe(n, r, ye, !w);
107
+ }, [
108
+ M,
109
+ T,
110
+ w,
111
+ ye
112
+ ]), Je = Math[E(219)](0, ...M.map((e) => e.s ?? 0)), L = S ? 28 : 10, Ye = 28 + (x ? 20 : 0), Xe = ee(I[E(264)](De)), R = Xe, z = Math[E(219)](0, N - Xe - ue), B = Math.max(0, b - L - Ye), V = L + B, [H, U] = [F[0], F[F[E(220)] - 1]], [Ze, Qe] = [I[0], I[I[E(220)] - 1]], W = (e) => R + (e - H) / (U - H || 1) * z, G = (e) => V - (e - Ze) / (Qe - Ze || 1) * B, $e = (e) => _ && e !== null && Je > 0 ? Math[E(219)](be[0], be[1] * Math.sqrt(Math[E(219)](0, e) / Je)) : xe, et = re(F[E(220)], z, 64), K = M.map((e) => ({
113
+ ...e,
114
+ cx: W(e.x),
115
+ cy: G(e.y),
116
+ r: $e(e.s),
117
+ color: l(j[e.ci][E(251)], e.ci)
118
+ })), q = K[E(202)]((e) => !k.has(e[E(246)])), J = He === null ? void 0 : q[He], Y = Ve && J !== void 0, tt = (e) => {
119
+ let t = E, n = ae(e);
120
+ return n ? "M" + W(H) + "," + G(n.intercept + n.slope * H) + "L" + W(U) + "," + G(n[t(232)] + n[t(268)] * U) : null;
121
+ }, nt = Se === E(260) ? j[E(264)]((e, t) => ({
122
+ key: e[E(227)],
123
+ d: tt(K[E(202)]((t) => t[E(246)] === e[E(227)])),
124
+ color: l(e[E(251)], t),
125
+ off: k[E(200)](e[E(227)])
126
+ })) : Se ? [{
127
+ key: "__all",
128
+ d: tt(q),
129
+ color: "var(--chart-axis)",
130
+ off: !1
131
+ }] : [], X = ce(!1), rt = (e) => {
132
+ let t = E, n = e.currentTarget[t(234)](), r = e[t(261)] - n.left, i = e[t(226)] - n[t(278)], a = -1, o = Infinity;
133
+ q[t(212)]((e, n) => {
134
+ let s = Math[t(247)](e.cx - r, e.cy - i) - e.r;
135
+ s < o && (o = s, a = n);
136
+ }), a >= 0 && o <= fe ? (X[t(230)] = !0, Ge(a)) : X[t(230)] && (X[t(230)] = !1, Ke());
137
+ }, it = () => {
138
+ let e = E;
139
+ X[e(230)] = !1, Ke();
140
+ }, at = (e) => {
141
+ let t = E, n = k[t(200)](e);
142
+ !n && A === e && ze(null), Re(n ? O[t(202)]((t) => t !== e) : [...O, e]);
143
+ }, Z = J ? j[J.ci] : void 0, ot = x ?? h, st = S ?? g, ct = _e ?? _ ?? "", lt = J ? y ? String(J[E(205)][y] ?? "") : Z?.[E(222)] : null, ut = J ? [
144
+ {
145
+ key: "x",
146
+ label: ot,
147
+ color: J[E(251)],
148
+ value: Ce(J.x, J[E(205)])
149
+ },
150
+ {
151
+ key: "y",
152
+ label: st,
153
+ color: J[E(251)],
154
+ value: we(J.y, J[E(205)])
155
+ },
156
+ ..._ && J.s !== null ? [{
157
+ key: "size",
158
+ label: ct,
159
+ color: J[E(251)],
160
+ value: Te(J.s, J.row)
161
+ }] : []
162
+ ] : [], Q = J?.cx ?? 0, dt = J?.cy ?? 0, $ = J?.r ?? 0, ft = Q + $ + de + P.w > N ? Math[E(219)](0, Q - $ - de - P.w) : Q + $ + de, pt = Math.min(Math[E(219)](0, dt - P.h / 2), Math[E(219)](0, b - P.h)), mt = Y && J ? "" + (lt ?? "") + (y && v && Z ? " (" + Z.label + ")" : "") + ": " + ut[E(264)]((e) => e[E(222)] + " " + e.value).join(", ") : "", ht = E(242) + D + E(243);
163
+ return p(r, {
164
+ gap: 3,
165
+ className: a(E(218), E(223), Ie),
166
+ style: Le,
167
+ children: [p("div", {
168
+ ...qe,
169
+ className: E(263),
170
+ style: { height: b },
171
+ "aria-roledescription": E(259),
172
+ "aria-label": Fe,
173
+ "aria-describedby": D + E(254),
174
+ children: [
175
+ N > 0 && p(E(238), {
176
+ className: E(279),
177
+ width: N,
178
+ height: b,
179
+ "aria-hidden": !0,
180
+ children: [
181
+ f("defs", { children: f("clipPath", {
182
+ id: D + E(240),
183
+ children: f(E(224), {
184
+ x: R,
185
+ y: L,
186
+ width: z,
187
+ height: B
188
+ })
189
+ }) }),
190
+ S && f(E(229), {
191
+ className: "ds-chart__axis ds-scatter-chart__title",
192
+ x: 0,
193
+ y: 12,
194
+ dominantBaseline: "middle",
195
+ children: S
196
+ }),
197
+ x && f(E(229), {
198
+ className: E(221),
199
+ x: R + z,
200
+ y: b - 4,
201
+ textAnchor: "end",
202
+ children: x
203
+ }),
204
+ I.map((e) => p("g", { children: [f("line", {
205
+ className: E(209),
206
+ x1: R,
207
+ x2: R + z,
208
+ y1: G(e),
209
+ y2: G(e)
210
+ }), f(E(229), {
211
+ className: E(250),
212
+ x: 0,
213
+ y: G(e),
214
+ dominantBaseline: E(244),
215
+ children: De(e)
216
+ })] }, e)),
217
+ F[E(264)]((e, t) => t % et === 0 || t === F[E(220)] - 1 ? f("text", {
218
+ className: "ds-chart__axis",
219
+ x: W(e),
220
+ y: V + 20,
221
+ textAnchor: t === F[E(220)] - 1 ? E(255) : E(244),
222
+ children: Ee(e)
223
+ }, e) : null),
224
+ T?.map((e, t) => {
225
+ let n = E, r = c[e[n(228)] ?? n(274)], i = e[n(257)] === "y";
226
+ return p("g", {
227
+ className: n(256),
228
+ style: { transform: i ? "translateY(" + G(e[n(269)]) + n(267) : n(210) + W(e[n(269)]) + n(267) },
229
+ children: [i ? f(n(253), {
230
+ x1: R,
231
+ x2: R + z,
232
+ y1: 0,
233
+ y2: 0,
234
+ style: { stroke: r }
235
+ }) : f(n(253), {
236
+ x1: 0,
237
+ x2: 0,
238
+ y1: L,
239
+ y2: V,
240
+ style: { stroke: r }
241
+ }), e[n(222)] && f(n(229), {
242
+ className: "ds-chart__axis",
243
+ x: i ? R + z : 5,
244
+ y: i ? -5 : L + 10,
245
+ textAnchor: n(i ? 255 : 249),
246
+ style: { fill: r },
247
+ children: e[n(222)]
248
+ })]
249
+ }, t);
250
+ }),
251
+ nt.length > 0 && f("g", {
252
+ clipPath: ht,
253
+ children: nt.map((e) => e.d ? f(E(217), {
254
+ className: "ds-scatter-chart__trend",
255
+ d: e.d,
256
+ style: { stroke: e[E(251)] },
257
+ "data-hidden": e[E(262)] || void 0
258
+ }, e.key) : null)
259
+ }),
260
+ f("g", {
261
+ className: E(213),
262
+ children: K[E(264)]((e, t) => {
263
+ let n = E, r = k[n(200)](e.cat), i = !r && (Y && J?.index !== e[n(214)] || A !== null && A !== e[n(246)]);
264
+ return f("g", {
265
+ className: n(231),
266
+ "data-hidden": r || void 0,
267
+ "data-dimmed": i || void 0,
268
+ style: { transform: n(206) + e.cx + n(216) + e.cy + "px)" },
269
+ children: f("g", {
270
+ className: n(266),
271
+ style: { animationDelay: Math[n(233)](t * pe, me) + "ms" },
272
+ children: f(n(245), {
273
+ className: n(194),
274
+ r: e.r,
275
+ fill: e[n(251)],
276
+ "data-bubble": _ ? "" : void 0
277
+ })
278
+ })
279
+ }, e[n(214)]);
280
+ })
281
+ }),
282
+ f("g", {
283
+ className: E(204),
284
+ "data-state": Y ? E(277) : "closed",
285
+ "data-settled": Ue || void 0,
286
+ style: { transform: E(206) + Q + E(216) + dt + E(267) },
287
+ children: f(E(245), {
288
+ r: $ * 1.2 + 2,
289
+ fill: J?.[E(251)] ?? E(199)
290
+ })
291
+ }),
292
+ f(E(224), {
293
+ className: E(197),
294
+ x: 0,
295
+ y: 0,
296
+ width: N,
297
+ height: b,
298
+ onPointerMove: rt,
299
+ onPointerDown: rt,
300
+ onPointerLeave: it
301
+ })
302
+ ]
303
+ }),
304
+ f(E(280), {
305
+ ref: We,
306
+ className: E(270),
307
+ "data-state": E(Y ? 277 : 196),
308
+ "data-settled": Ue || void 0,
309
+ style: { transform: E(206) + ft + "px, " + pt + E(267) },
310
+ "aria-hidden": !0,
311
+ children: f(o, {
312
+ title: lt,
313
+ value: y && v && Z ? f(e, {
314
+ as: "span",
315
+ variant: E(195),
316
+ tone: "secondary",
317
+ children: Z[E(222)]
318
+ }) : void 0,
319
+ rows: ut
320
+ })
321
+ }),
322
+ f(E(271), {
323
+ id: D + E(254),
324
+ className: "ds-chart__sr",
325
+ "aria-live": E(239),
326
+ children: mt
327
+ })
328
+ ]
329
+ }), Oe && v && f(n, {
330
+ gap: 4,
331
+ onPointerLeave: () => ze(null),
332
+ children: j[E(264)]((n, r) => {
333
+ let i = E, a = k[i(200)](n[i(227)]);
334
+ return p(i(265), {
335
+ type: "button",
336
+ className: "ds-scatter-chart__legend-item",
337
+ "aria-pressed": !a,
338
+ "data-off": a || void 0,
339
+ onClick: () => at(n[i(227)]),
340
+ onPointerEnter: () => ze(a ? null : n[i(227)]),
341
+ children: [f(t, {
342
+ color: l(n[i(251)], r),
343
+ variant: a ? i(198) : "solid"
344
+ }), f(e, {
345
+ as: i(271),
346
+ variant: i(195),
347
+ tone: a || A !== null && A !== n[i(227)] ? i(236) : i(237),
348
+ children: n[i(222)]
349
+ })]
350
+ }, n[i(227)]);
351
+ })
352
+ })]
353
+ });
354
+ }
355
+ export { h as ScatterChart };
@@ -0,0 +1,85 @@
1
+ "use client";
2
+ const e = n;
3
+ (function(e, t) {
4
+ let r = n, i = e();
5
+ for (;;) try {
6
+ if (parseInt(r(468)) / 1 * (-parseInt(r(473)) / 2) + parseInt(r(474)) / 3 * (parseInt(r(470)) / 4) + parseInt(r(462)) / 5 * (parseInt(r(467)) / 6) + parseInt(r(469)) / 7 + -parseInt(r(464)) / 8 + -parseInt(r(477)) / 9 + parseInt(r(476)) / 10 == t) break;
7
+ i.push(i.shift());
8
+ } catch {
9
+ i.push(i.shift());
10
+ }
11
+ })(a, 679005);
12
+ var t = [
13
+ 1,
14
+ 1.5,
15
+ 2,
16
+ 2.5,
17
+ 3,
18
+ 5,
19
+ 10
20
+ ];
21
+ function n(e, t) {
22
+ e -= 460;
23
+ let r = a(), i = r[e];
24
+ n.YzGGOk === void 0 && (n.ITScTU = function(e) {
25
+ let t = "", n = "";
26
+ for (let n = 0, r, i, a = 0; i = e.charAt(a++); ~i && (r = n % 4 ? r * 64 + i : i, n++ % 4) && (t += String.fromCharCode(255 & r >> (-2 * n & 6)))) i = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(i);
27
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
28
+ return decodeURIComponent(n);
29
+ }, n.bVSYDo = {}, n.YzGGOk = !0);
30
+ let o = r[0];
31
+ n.YDrxOO !== o && (n.bVSYDo = {}, n.YDrxOO = o);
32
+ let s = n.bVSYDo[e];
33
+ return s === void 0 ? (i = n.ITScTU(i), n.bVSYDo[e] = i) : i = s, i;
34
+ }
35
+ function r(e, r, a, o = !0) {
36
+ let s = n, c = Math.max(1, a - 1), l = Math[s(472)](e, r), u = Math[s(479)](e, r);
37
+ if (o && l >= 0 && l <= u * .5 && (l = 0), u === l) {
38
+ if (u === 0) return Array[s(461)]({ length: c + 1 }, (e, t) => t);
39
+ l = l > 0 ? 0 : l * 2, u = u > 0 ? u : 0;
40
+ }
41
+ let d = (u - l) / c, f = 10 ** Math[s(465)](Math[s(463)](d)), p = (t[s(471)]((e) => e * f >= d) ?? 10) * f, m = Math.floor(l / p + 1e-9) * p, h = [i(m)];
42
+ for (; h[h[s(460)] - 1] < u - 1e-9;) h[s(475)](i(m + h[s(460)] * p));
43
+ return h[s(460)] < 2 && h.push(i(m + p)), h;
44
+ }
45
+ var i = (t) => Math[e(466)](t * 1e9) / 1e9;
46
+ function a() {
47
+ let e = [
48
+ "nJuZnZu1nvfnyNPowa",
49
+ "CMvKDwnL",
50
+ "Bwf4",
51
+ "BgvUz3rO",
52
+ "zNjVBq",
53
+ "mtq2odC2nxzewuThBG",
54
+ "Bg9Nmta",
55
+ "mJC5nJy0mgTWA0riDW",
56
+ "zMXVB3i",
57
+ "CM91BMq",
58
+ "nMj2De9XDW",
59
+ "mJi2mdyXCuPsy0Xq",
60
+ "mZy1mduYmxDitLDvEG",
61
+ "mte1odKXnMfpzw5Ruq",
62
+ "zMLUza",
63
+ "BwLU",
64
+ "nMjMAfPLCa",
65
+ "m1LOrgzbuq",
66
+ "ChvZAa",
67
+ "mtmYode3odbUBe11uMe"
68
+ ];
69
+ return a = function() {
70
+ return e;
71
+ }, a();
72
+ }
73
+ function o(t) {
74
+ let n = e, r = t[n(460)];
75
+ if (r < 2) return null;
76
+ let i = t.reduce((e, t) => e + t.x, 0) / r, a = t[n(478)]((e, t) => e + t.y, 0) / r, o = 0, s = 0;
77
+ for (let e of t) o += (e.x - i) * (e.y - a), s += (e.x - i) ** 2;
78
+ if (s === 0) return null;
79
+ let c = o / s;
80
+ return {
81
+ slope: c,
82
+ intercept: a - c * i
83
+ };
84
+ }
85
+ export { o as linearRegression, r as niceRangeTicks };