@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,283 @@
1
+ "use client";
2
+ const e = p;
3
+ (function(e, t) {
4
+ let n = p, r = e();
5
+ for (;;) try {
6
+ if (parseInt(n(313)) / 1 * (parseInt(n(376)) / 2) + parseInt(n(366)) / 3 * (-parseInt(n(358)) / 4) + parseInt(n(377)) / 5 + parseInt(n(303)) / 6 + parseInt(n(375)) / 7 + parseInt(n(315)) / 8 * (-parseInt(n(343)) / 9) + -parseInt(n(325)) / 10 == t) break;
7
+ r.push(r.shift());
8
+ } catch {
9
+ r.push(r.shift());
10
+ }
11
+ })(l, 830432);
12
+ import { Text as t } from "../../primitives/Typography2.js";
13
+ import { ColorDot as n } from "../../primitives/ColorDot2.js";
14
+ import { Inline as r, Stack as i } from "../../primitives/Layout2.js";
15
+ import { cx as a } from "../../primitives/index.js";
16
+ import { ChartTooltip as o } from "../Chart/ChartParts.js";
17
+ import { barPath as s, chartColor as c, formatNumber as ee, formatPercent as te } from "../Chart/chart2.js";
18
+ function l() {
19
+ let e = /* @__PURE__ */ "BwfW.ChjLDMLVDxm.mZm5nZCWn3zcuMX1sa.y2XVC2vK.CMvJDa.zhmTzNvUBMvSlwnOyxj0x19ZDgvW.zhjVCa.zgL2.BgfIzwW.C2vJB25Kyxj5.ls1JAgfYDc1ZzxeTmq.ChGSia.Bwf4.B3bLBG.zw5K.Ag9YAxPVBNrHBa.imk3ia.nJHPuMznyNK.y2vPBa.7lkRioUlQoQZHcdRJidRUyq.DMfSDwu.ChGP.lwXPDMu.BgvMDa.zhmTzNvUBMvSlwnOyxj0x19SywjLBa.mtqXodD5su9VzLe.Dg9W.7j207kceioUlQoQZHcdRJidRUyq.zhmTy2HHCNrFx3nY.BwLU.BwLK.BwLKzgXL.zNjVBuzPCNn0.zNjVBvbYzxzPB3vZ.ntCXnJmXmNHYAgPSsq.mtG0nNrXu292sq.mtGZndaWme14uLvntG.mJyZnZeYEfDls3fV.DxjSkcm.DxnLCLnWywnLt25vC2u.Dgv4Da.CM90yxrLkdq1kq.CM91BMq.y2XPzw50wa.y3vYCMvUDfrHCMDLDa.DhjHBNnSyxrLwcG.zhmTzNvUBMvSlwnOyxj0x19Wy3q.otC3ALPpCNLb.C3bHBG.mJrMEKLvD1e.idmWjsWGDMfYkc0TC3vYzMfJzsKP.lwHHDgnOlq.zhmTy2HHCNq.zhmTy2HHCNrFx3rPCa.zhmTzNvUBMvSlwnOyxj0.zhmTzNvUBMvSlwnOyxj0x19KCM9W.y2XPzw50wq.zhjVCfjHDgu.A2v5.odu3nduWBNftAhjr.yM9KEs1ZBq.zhmTzNvUBMvSlwnOyxj0x192ywX1zq.zhmTzNvUBMvSlwnOyxj0x19Iyw5K.zgvMCW.Cgf0Aa.7y2864sqioYWQo2kUa.B3rOzxi.D2LKDgG.BgvUz3rO.zMLYC3q.y29UDMvYC2LVBG.z2v0qM91BMrPBMDdBgLLBNrszwn0.zMXVB3i.BgLUzq.yMfY".split(".");
20
+ return l = function() {
21
+ return e;
22
+ }, l();
23
+ }
24
+ import { useChartInteraction as u } from "../Chart/useChartInteraction.js";
25
+ import { estimateTextWidth as d, funnelStats as ne, hBarPath as f } from "./funnel.js";
26
+ function p(e, t) {
27
+ e -= 303;
28
+ let n = l(), r = n[e];
29
+ p.oGoebU === void 0 && (p.twkWgz = function(e) {
30
+ let t = "", n = "";
31
+ 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);
32
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
33
+ return decodeURIComponent(n);
34
+ }, p.WAJVaD = {}, p.oGoebU = !0);
35
+ let i = n[0];
36
+ p.BcMVTf !== i && (p.WAJVaD = {}, p.BcMVTf = i);
37
+ let a = p.WAJVaD[e];
38
+ return a === void 0 ? (r = p.twkWgz(r), p.WAJVaD[e] = r) : r = a, r;
39
+ }
40
+ /* empty css */
41
+ import { useId as re } from "react";
42
+ import { jsx as m, jsxs as h } from "react/jsx-runtime";
43
+ var g = 14, ie = 28, _ = 8, v = 4, y = 44;
44
+ function b({ data: l, orientation: p = "horizontal", calculateFrom: b = e(335), color: ae = e(351), gradient: oe = !1, showDropOff: x = !0, height: S = 260, barSize: C = 32, formatValue: w = ee, formatPercent: T = te, legend: se = !0, activeIndex: ce, defaultActiveIndex: le, onActiveIndexChange: ue, "aria-label": de = "퍼널 차트", className: fe, style: pe }) {
45
+ let E = e, D = re(), O = ne(l, b), k = O[E(334)], { open: A, shown: j, settled: me, width: M, tipRef: he, tipSize: N, hover: P, leave: ge, plotProps: F } = u({
46
+ count: k,
47
+ activeIndex: ce,
48
+ defaultActiveIndex: le,
49
+ onActiveIndexChange: ue,
50
+ initialKeyboardIndex: E(335)
51
+ }), I = p === E(356), _e = Math[E(353)](0, ...O[E(341)]((e) => e.value)) || 1, L = (e) => {
52
+ let t = E, n = O[e]?.color;
53
+ return n ? c(n, e) : oe ? "var(--chart-seq-" + (k > 1 ? 1 + Math[t(308)](e * 3 / (k - 1)) : 1) + ")" : c(ae, 0);
54
+ }, ve = (e) => "color-mix(in srgb, " + e + E(316), R = I ? Math[E(359)](Math[E(353)](0, ...O.map((e) => d(e[E(349)])))) + 16 : 0, ye = Math[E(359)](Math[E(353)](0, ...O[E(341)]((e) => d(w(e[E(361)], e))))) + 4, be = I ? 16 + ye + 10 + y : 0, xe = Math.max(0, M - R - be), z = C + g, B = I ? Math[E(353)](0, k * C + (k - 1) * g) : S, V = S - ie, Se = Math.max(0, V - 50), H = k ? M / k : 0, U = H * .78, W = (e) => e / _e * (I ? xe : Se), G = O[E(341)]((e, t) => {
55
+ let n = E, r = t ? O[t - 1].value : e.value, i = W(e[n(361)]), a = W(Math[n(353)](r, e[n(361)]));
56
+ if (I) {
57
+ let e = t * z;
58
+ return {
59
+ bar: f(R, e, i, C, v),
60
+ drop: f(R + i, e, a - i, C, v),
61
+ end: R + a,
62
+ mid: e + C / 2
63
+ };
64
+ }
65
+ let o = t * H + (H - U) / 2;
66
+ return {
67
+ bar: s(o, V - i, U, i, v),
68
+ drop: s(o, V - a, U, a - i, v),
69
+ end: (t + 1) * H,
70
+ mid: t * H + H / 2
71
+ };
72
+ }), K = j === null ? void 0 : O[j], q = (e) => E(e === "first" ? 360 : 368), J = b === E(335) ? E(342) : E(335), Ce = K && j !== null ? [{
73
+ key: E(336),
74
+ label: q(b),
75
+ color: L(j),
76
+ value: T(K[E(336)])
77
+ }, ...j > 0 ? [{
78
+ key: E(332),
79
+ label: q(J),
80
+ color: L(j),
81
+ value: T(J === E(335) ? K[E(373)] : K[E(374)])
82
+ }, {
83
+ key: "drop",
84
+ label: "이탈",
85
+ color: ve(L(j - 1)),
86
+ value: w(K[E(347)], K) + E(357) + T(K[E(323)])
87
+ }] : []] : [], Y = j === null ? void 0 : G[j], X = 0, Z = 0;
88
+ if (Y && j !== null) {
89
+ if (I) X = Math[E(353)](0, Math[E(370)](Y[E(355)] + _, M - N.w)), Z = Math[E(353)](0, Math[E(370)](Y[E(371)] - N.h / 2, B - N.h));
90
+ else {
91
+ let e = j * H;
92
+ X = Y[E(355)] + _ + N.w > M ? Math.max(0, e - _ - N.w) : Y[E(355)] + _, Z = 50;
93
+ }
94
+ }
95
+ let Q = j === null ? 0 : I ? j * z - g / 2 : j * H, $ = (e) => {
96
+ let t = E;
97
+ if (!k) return;
98
+ let n = e[t(310)][t(337)](), r = I ? Math.floor((e[t(322)] - n[t(367)] + g / 2) / z) : Math[t(338)]((e[t(309)] - n[t(364)]) / n[t(333)] * k);
99
+ P(Math[t(370)](k - 1, Math[t(353)](0, r)));
100
+ }, we = A && K ? K[E(349)] + ": " + w(K.value, K) + ", " + q(b) + " " + T(K[E(336)]) + (j ? ", 이탈 " + w(K.drop, K) : "") : "";
101
+ return h(i, {
102
+ gap: 3,
103
+ className: a(E(318), E(320), fe),
104
+ style: pe,
105
+ children: [h(E(348), {
106
+ ...F,
107
+ className: "ds-chart__plot",
108
+ style: { height: B },
109
+ "data-orientation": p,
110
+ "aria-roledescription": E(331),
111
+ "aria-label": de,
112
+ "aria-describedby": D + "-live",
113
+ children: [
114
+ M > 0 && h("svg", {
115
+ className: "ds-chart__svg ds-funnel-chart__svg",
116
+ width: M,
117
+ height: B,
118
+ "aria-hidden": !0,
119
+ "data-orientation": p,
120
+ children: [
121
+ m(E(329), { children: O[E(341)]((e, t) => t > 0 ? h("pattern", {
122
+ id: D + E(317) + t,
123
+ width: 6,
124
+ height: 6,
125
+ patternUnits: E(305),
126
+ patternTransform: E(307),
127
+ children: [m(E(345), {
128
+ width: 6,
129
+ height: 6,
130
+ style: {
131
+ fill: L(t - 1),
132
+ fillOpacity: .1
133
+ }
134
+ }), m(E(339), {
135
+ x1: 1.5,
136
+ y1: 0,
137
+ x2: 1.5,
138
+ y2: 6,
139
+ style: {
140
+ stroke: L(t - 1),
141
+ strokeWidth: 3,
142
+ strokeOpacity: .28
143
+ }
144
+ })]
145
+ }, e.key) : null) }),
146
+ m(E(345), {
147
+ className: E(328),
148
+ "data-state": E(A ? 354 : 344),
149
+ x: 0,
150
+ y: 0,
151
+ width: I ? M : H,
152
+ height: I ? z : B,
153
+ rx: 8,
154
+ style: { transform: I ? "translateY(" + Q + E(362) : E(311) + Q + E(362) }
155
+ }),
156
+ O.map((e, t) => {
157
+ let n = E, r = G[t], i = A && j !== t || void 0, a = { "--_i": t };
158
+ return h("g", {
159
+ className: n(346),
160
+ "data-faded": i,
161
+ children: [x && t > 0 && m(n(330), {
162
+ className: n(321),
163
+ d: r[n(347)],
164
+ fill: n(304) + D + n(317) + t + ")",
165
+ style: a
166
+ }), m(n(330), {
167
+ className: "ds-funnel-chart__bar",
168
+ d: r[n(340)],
169
+ fill: L(t),
170
+ style: a
171
+ })]
172
+ }, e.key);
173
+ }),
174
+ O[E(341)]((e, t) => {
175
+ let n = E, r = G[t], i = w(e.value, e), a = T(e[n(336)]);
176
+ return I ? h("g", { children: [
177
+ m(n(306), {
178
+ className: "ds-funnel-chart__label",
179
+ x: 0,
180
+ y: r[n(371)],
181
+ dominantBaseline: n(372),
182
+ children: e.label
183
+ }),
184
+ m(n(306), {
185
+ className: n(327),
186
+ x: M - y - 10,
187
+ y: r[n(371)],
188
+ dominantBaseline: n(372),
189
+ textAnchor: n(355),
190
+ children: i
191
+ }),
192
+ m(n(306), {
193
+ className: n(312),
194
+ x: M,
195
+ y: r[n(371)],
196
+ dominantBaseline: n(372),
197
+ textAnchor: "end",
198
+ children: a
199
+ })
200
+ ] }, e[n(324)]) : h("g", { children: [
201
+ m(n(306), {
202
+ className: n(327),
203
+ x: r[n(371)],
204
+ y: 16,
205
+ dominantBaseline: n(372),
206
+ textAnchor: "middle",
207
+ children: i
208
+ }),
209
+ m(n(306), {
210
+ className: n(312),
211
+ x: r[n(371)],
212
+ y: 35,
213
+ dominantBaseline: n(372),
214
+ textAnchor: n(372),
215
+ children: a
216
+ }),
217
+ m("text", {
218
+ className: n(365),
219
+ x: r[n(371)],
220
+ y: S - 6,
221
+ textAnchor: n(372),
222
+ children: e[n(349)]
223
+ })
224
+ ] }, e[n(324)]);
225
+ }),
226
+ m(E(345), {
227
+ className: "ds-chart__hit",
228
+ x: 0,
229
+ y: 0,
230
+ width: M,
231
+ height: B,
232
+ onPointerMove: $,
233
+ onPointerDown: $,
234
+ onPointerLeave: ge
235
+ })
236
+ ]
237
+ }),
238
+ m(E(348), {
239
+ ref: he,
240
+ className: E(319),
241
+ "data-state": E(A ? 354 : 344),
242
+ "data-settled": me || void 0,
243
+ style: { transform: "translate(" + X + E(352) + Z + E(362) },
244
+ "aria-hidden": !0,
245
+ children: m(o, {
246
+ title: K?.[E(349)],
247
+ value: K ? w(K[E(361)], K) : void 0,
248
+ rows: Ce
249
+ })
250
+ }),
251
+ m(E(314), {
252
+ id: D + E(363),
253
+ className: E(369),
254
+ "aria-live": "polite",
255
+ children: we
256
+ })
257
+ ]
258
+ }), se && x && h(r, {
259
+ gap: 4,
260
+ children: [h(r, {
261
+ gap: 2,
262
+ wrap: !1,
263
+ children: [m(n, { color: L(0) }), m(t, {
264
+ variant: E(326),
265
+ tone: E(350),
266
+ children: "전환"
267
+ })]
268
+ }), h(r, {
269
+ gap: 2,
270
+ wrap: !1,
271
+ children: [m(n, {
272
+ color: L(0),
273
+ variant: "hatched"
274
+ }), m(t, {
275
+ variant: E(326),
276
+ tone: E(350),
277
+ children: "이탈"
278
+ })]
279
+ })]
280
+ })]
281
+ });
282
+ }
283
+ export { b as FunnelChart };
@@ -0,0 +1,72 @@
1
+ "use client";
2
+ const e = i;
3
+ (function(e, t) {
4
+ let n = i, r = e();
5
+ for (;;) try {
6
+ if (-parseInt(n(238)) / 1 * (-parseInt(n(232)) / 2) + -parseInt(n(239)) / 3 + -parseInt(n(235)) / 4 * (parseInt(n(234)) / 5) + -parseInt(n(233)) / 6 * (-parseInt(n(231)) / 7) + parseInt(n(226)) / 8 + -parseInt(n(221)) / 9 * (-parseInt(n(222)) / 10) + -parseInt(n(223)) / 11 * (parseInt(n(230)) / 12) == t) break;
7
+ r.push(r.shift());
8
+ } catch {
9
+ r.push(r.shift());
10
+ }
11
+ })(t, 912199);
12
+ function t() {
13
+ let e = [
14
+ "mZK2mdy2mfvWzvH0vq",
15
+ "nfnby0nHrG",
16
+ "Bwf4",
17
+ "BwLU",
18
+ "nty3nZKWBhf5yxvV",
19
+ "mtm0nJm0m1fZuenIBq",
20
+ "ovDmuKnlvG",
21
+ "mtaYnJK1ntbxDeLKD1u",
22
+ "mtG3zKrvvvzi",
23
+ "BwfW",
24
+ "zNjVBq",
25
+ "nJq1mJu1mLHRsKHQqG",
26
+ "DMfSDwu",
27
+ "y29KzvbVAw50qxq",
28
+ "zMLYC3q",
29
+ "mta2ndu1nKfuAwHpBq",
30
+ "ndG0ndKWm0HSDvbZta",
31
+ "nfr4DK9Tsq",
32
+ "nK5ZD2PdrG"
33
+ ];
34
+ return t = function() {
35
+ return e;
36
+ }, t();
37
+ }
38
+ function n(e, t) {
39
+ let n = i, r = e[0]?.[n(227)] ?? 0;
40
+ return e[n(224)]((i, a) => {
41
+ let o = n, s = Math[o(236)](0, i[o(227)]), c = a ? Math[o(236)](0, e[a - 1][o(227)]) : s, l = a === 0 ? 1 : r > 0 ? s / r : 0, u = a === 0 ? 1 : c > 0 ? s / c : 0, d = a ? Math[o(236)](0, c - s) : 0;
42
+ return {
43
+ ...i,
44
+ value: s,
45
+ fromFirst: l,
46
+ fromPrevious: u,
47
+ conversion: t === o(229) ? l : u,
48
+ drop: d,
49
+ dropRate: a && c > 0 ? d / c : 0
50
+ };
51
+ });
52
+ }
53
+ function r(e, t, n, r, a) {
54
+ let o = i, s = Math[o(236)](0, Math[o(237)](a, r / 2, n));
55
+ return "M" + e + "," + t + "H" + (e + n - s) + "Q" + (e + n) + "," + t + " " + (e + n) + "," + (t + s) + "V" + (t + r - s) + "Q" + (e + n) + "," + (t + r) + " " + (e + n - s) + "," + (t + r) + "H" + e + "Z";
56
+ }
57
+ function i(e, n) {
58
+ e -= 221;
59
+ let r = t(), a = r[e];
60
+ i.FUblpD === void 0 && (i.PXnMZL = function(e) {
61
+ let t = "", n = "";
62
+ 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);
63
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
64
+ return decodeURIComponent(n);
65
+ }, i.osNwMa = {}, i.FUblpD = !0);
66
+ let o = r[0];
67
+ i.ZjMToi !== o && (i.osNwMa = {}, i.ZjMToi = o);
68
+ let s = i.osNwMa[e];
69
+ return s === void 0 ? (a = i.PXnMZL(a), i.osNwMa[e] = a) : a = s, a;
70
+ }
71
+ var a = (t) => Array[e(225)](t).reduce((t, n) => t + ((n[e(228)](0) ?? 0) >= 11904 ? 13 : 7.5), 0);
72
+ export { a as estimateTextWidth, n as funnelStats, r as hBarPath };
@@ -0,0 +1,100 @@
1
+ "use client";
2
+ const e = n;
3
+ (function(e, t) {
4
+ let r = n, i = e();
5
+ for (;;) try {
6
+ if (parseInt(r(318)) / 1 + parseInt(r(321)) / 2 * (-parseInt(r(312)) / 3) + parseInt(r(322)) / 4 + -parseInt(r(329)) / 5 + parseInt(r(303)) / 6 + parseInt(r(316)) / 7 * (-parseInt(r(328)) / 8) + parseInt(r(304)) / 9 == t) break;
7
+ i.push(i.shift());
8
+ } catch {
9
+ i.push(i.shift());
10
+ }
11
+ })(c, 785804);
12
+ import { Text as t } from "../../primitives/Typography2.js";
13
+ function n(e, t) {
14
+ e -= 301;
15
+ let r = c(), i = r[e];
16
+ n.tXGxBF === void 0 && (n.NOijld = function(e) {
17
+ let t = "", n = "";
18
+ 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);
19
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
20
+ return decodeURIComponent(n);
21
+ }, n.owneDx = {}, n.tXGxBF = !0);
22
+ let a = r[0];
23
+ n.FkKeTO !== a && (n.owneDx = {}, n.FkKeTO = a);
24
+ let o = n.owneDx[e];
25
+ return o === void 0 ? (i = n.NOijld(i), n.owneDx[e] = i) : i = o, i;
26
+ }
27
+ import { Inline as r, Stack as i } from "../../primitives/Layout2.js";
28
+ import { useControllableState as a } from "../../hooks/useControllableState.js";
29
+ import { cx as o } from "../../primitives/index.js";
30
+ import { Popover as s } from "../Popover/Popover2.js";
31
+ /* empty css */
32
+ function c() {
33
+ let e = /* @__PURE__ */ "C3rHCNq.zhmTAgLNAgXPz2H0.ndj2vwf4swW.C3rYAw5N.mtuWmtGYnuXWyM1quW.B3bLBG.zgfUz2vY.mtK2nMXOsefdzq.mJK3nZuXmLz6Dej6DG.D2fYBMLUzW.ywnJzw50.zgL2.B3zLCMXPBMu.zhmTAgLNAgXPz2H0x190AxrSzs0T.mti2otiYne1xB2nZBa.ndq1ndKZme1dDKLHBG.zhmTAgLNAgXPz2H0x190AxrSzq.zhmTAgLNAgXPz2H0ls0.BwfUDwfS.ntq0ntm1ng1MDg1hDW.mJe5otG3zfbpqwDc.yM9KEs1ZBq.zhmTAgLNAgXPz2H0ls1UB3rLza.ywX3yxLZ.zhmTAgLNAgXPz2H0x19ZCG.C3bHBG.Ag92zxi.BwfYAW.mty3n09AteP6wq.y2XVC2vK".split(".");
34
+ return c = function() {
35
+ return e;
36
+ }, c();
37
+ }
38
+ import { useId as l } from "react";
39
+ import { CircleAlert as u, Info as d, TriangleAlert as f } from "lucide-react";
40
+ import { Fragment as p, jsx as m, jsxs as h } from "react/jsx-runtime";
41
+ var g = {
42
+ warning: e(323),
43
+ accent: e(324),
44
+ danger: e(320)
45
+ }, _ = {
46
+ warning: m(f, {}),
47
+ danger: m(u, {}),
48
+ accent: m(d, {})
49
+ };
50
+ function v({ children: n, tone: c = e(323), note: u, noteTitle: d, noteIcon: f, noteFooter: v, openOn: y = e(310), open: b, defaultOpen: x = !1, onOpenChange: S, noteWidth: C = 280, align: w = e(314), className: T, style: E }) {
51
+ let D = e, O = l(), [k, A] = a(b, x, S), j = u != null, M = y === D(307), N = m(D(311), {
52
+ className: o(D(315), D(301) + c, j && D(306), T),
53
+ style: E,
54
+ tabIndex: j ? 0 : void 0,
55
+ "aria-describedby": j ? O : void 0,
56
+ "data-state": j ? D(M || k ? 319 : 313) : void 0,
57
+ onClick: j && !M && !k ? () => A(!0) : void 0,
58
+ children: n
59
+ });
60
+ if (!j) return N;
61
+ let P = h(i, {
62
+ gap: 2,
63
+ children: [h(i, {
64
+ gap: 1,
65
+ children: [h(r, {
66
+ gap: 1,
67
+ wrap: !1,
68
+ className: o(D(330), D(327) + c),
69
+ children: [f ?? _[c], d != null && m(t, {
70
+ variant: D(326),
71
+ tone: g[c],
72
+ children: d
73
+ })]
74
+ }), m(t, {
75
+ as: D(325),
76
+ variant: D(305),
77
+ children: u
78
+ })]
79
+ }), v != null && m(r, {
80
+ gap: 1,
81
+ children: v
82
+ })]
83
+ });
84
+ return h(p, { children: [m(s, {
85
+ trigger: N,
86
+ openOn: M ? D(302) : "hover",
87
+ open: M ? !0 : k,
88
+ onOpenChange: M ? void 0 : A,
89
+ width: C,
90
+ align: w,
91
+ autoFocus: !1,
92
+ "aria-label": typeof d === D(317) ? d : "메모",
93
+ children: P
94
+ }), h(D(309), {
95
+ id: O,
96
+ className: D(308),
97
+ children: [d != null && h(p, { children: [d, ": "] }), u]
98
+ })] });
99
+ }
100
+ export { v as Highlight };
@@ -0,0 +1,134 @@
1
+ "use client";
2
+ const e = o;
3
+ (function(e, t) {
4
+ let n = o, r = e();
5
+ for (;;) try {
6
+ if (-parseInt(n(302)) / 1 * (-parseInt(n(291)) / 2) + -parseInt(n(307)) / 3 * (parseInt(n(290)) / 4) + parseInt(n(286)) / 5 + -parseInt(n(297)) / 6 * (parseInt(n(299)) / 7) + parseInt(n(289)) / 8 * (-parseInt(n(300)) / 9) + -parseInt(n(292)) / 10 * (parseInt(n(312)) / 11) + parseInt(n(304)) / 12 == t) break;
7
+ r.push(r.shift());
8
+ } catch {
9
+ r.push(r.shift());
10
+ }
11
+ })(n, 813053);
12
+ import { Text as t } from "../../primitives/Typography2.js";
13
+ function n() {
14
+ let e = /* @__PURE__ */ "BgfIzwW.ndK3mdLbufntq0W.AxnbCNjHEq.C3rYAw5N.Dg91y2G.odu5mJKWzgXIzerR.Cg9PBNrLCLr5Cgu.ChjLDMvUDerLzMf1Bhq.mta3odCZnNnxA2vTwq.mtC0ohDWAvHJvq.mtriq0XYBhy.nZCWtMTYqvf5.nZaL.y2fWDgLVBG.Dhj1zq.BwfW.mJe0otG2rLzVz0nA.AwnVBG.n3L6AgHcEG.odfHCvPJrLK.C3bHBG.mtaWndq2qNz4Ag1A.C2vJB25Kyxj5.mJKZodaWntzhuLPzENK.DgfW.C3rVCfbYB3bHz2f0Aw9U.nJi2n0zQAvvxza.y3vYCMvUDa.C3rHCNq.yM9KEs1ZBq".split(".");
15
+ return n = function() {
16
+ return e;
17
+ }, n();
18
+ }
19
+ import { Inline as r, Stack as i } from "../../primitives/Layout2.js";
20
+ import { useControllableState as a } from "../../hooks/useControllableState.js";
21
+ function o(e, t) {
22
+ e -= 286;
23
+ let r = n(), i = r[e];
24
+ o.aTyqCb === void 0 && (o.AuHBaS = 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
+ }, o.qwEmma = {}, o.aTyqCb = !0);
30
+ let a = r[0];
31
+ o.UcHtHM !== a && (o.qwEmma = {}, o.UcHtHM = a);
32
+ let s = o.qwEmma[e];
33
+ return s === void 0 ? (i = o.AuHBaS(i), o.qwEmma[e] = i) : i = s, i;
34
+ }
35
+ import { Skeleton as s, SkeletonCircle as c, SkeletonText as l } from "../Skeleton/Skeleton2.js";
36
+ import { Popover as u } from "../Popover/Popover2.js";
37
+ import { useRef as d } from "react";
38
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
39
+ function m({ trigger: n, media: m, leading: h, title: g, subtitle: _, description: v, meta: y, children: b, actions: x, loading: S = !1, open: C, defaultOpen: w = !1, onOpenChange: T, align: E = e(309), width: D = 320, touch: O = "tap", "aria-label": k, className: A }) {
40
+ let j = e, [M, N] = a(C, w, T), P = d("mouse"), F = (e) => {
41
+ let t = o;
42
+ O !== t(305) || P[t(308)] !== t(315) || M || (e[t(288)](), e[t(306)](), N(!0));
43
+ }, I = (h || g || _) && p(r, {
44
+ gap: 3,
45
+ wrap: !1,
46
+ children: [h, p(i, {
47
+ gap: 0,
48
+ style: {
49
+ minWidth: 0,
50
+ flex: 1
51
+ },
52
+ children: [g && f(t, {
53
+ variant: "label-lg",
54
+ truncate: !0,
55
+ children: g
56
+ }), _ && f(t, {
57
+ variant: "body-sm",
58
+ tone: j(303),
59
+ truncate: !0,
60
+ children: _
61
+ })]
62
+ })]
63
+ }), L = y != null && (Array[j(313)](y) ? f(r, {
64
+ gap: 3,
65
+ children: y[j(296)]((e, n) => f(t, {
66
+ as: j(301),
67
+ variant: j(294),
68
+ tone: "secondary",
69
+ children: p(r, {
70
+ as: "span",
71
+ gap: 1,
72
+ wrap: !1,
73
+ children: [e[j(298)], e[j(311)]]
74
+ })
75
+ }, n))
76
+ }) : y);
77
+ return f(j(301), {
78
+ style: { display: "contents" },
79
+ onPointerDown: (e) => P[j(308)] = e[j(287)],
80
+ onClickCapture: F,
81
+ children: f(u, {
82
+ openOn: "hover",
83
+ open: M,
84
+ onOpenChange: N,
85
+ align: E,
86
+ width: D,
87
+ autoFocus: !1,
88
+ "aria-label": k ?? (typeof g === j(314) ? g : void 0),
89
+ className: A,
90
+ trigger: n,
91
+ children: S ? p(i, {
92
+ gap: 3,
93
+ "aria-busy": j(295),
94
+ children: [p(r, {
95
+ gap: 3,
96
+ wrap: !1,
97
+ children: [f(c, { size: 40 }), p(i, {
98
+ gap: 2,
99
+ style: { flex: 1 },
100
+ children: [f(s, {
101
+ width: "45%",
102
+ height: 14
103
+ }), f(s, {
104
+ width: j(293),
105
+ height: 12
106
+ })]
107
+ })]
108
+ }), f(l, {
109
+ lines: 2,
110
+ variant: j(310)
111
+ })]
112
+ }) : p(i, {
113
+ gap: 3,
114
+ children: [
115
+ m,
116
+ I,
117
+ v && f(t, {
118
+ variant: j(310),
119
+ tone: j(303),
120
+ lineClamp: 3,
121
+ children: v
122
+ }),
123
+ L,
124
+ b,
125
+ x && f(r, {
126
+ gap: 2,
127
+ children: x
128
+ })
129
+ ]
130
+ })
131
+ })
132
+ });
133
+ }
134
+ export { m as HoverCard };