@iamfiro/design 0.1.0 → 0.3.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.
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 +65 -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 +87 -0
  13. package/lib/components/Calendar/Calendar2.js +309 -0
  14. package/lib/components/Calendar/DatePicker2.js +229 -0
  15. package/lib/components/Calendar/date.js +121 -0
  16. package/lib/components/Card/Card2.js +104 -0
  17. package/lib/components/CardFrame/CardFrame2.js +72 -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 +53 -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 +114 -0
  26. package/lib/components/ColorPicker/ColorPicker2.js +610 -0
  27. package/lib/components/ColorPicker/color.js +180 -0
  28. package/lib/components/ColorPicker/presets.js +75 -0
  29. package/lib/components/Combobox/Combobox2.js +229 -0
  30. package/lib/components/CommandMenu/CommandMenu.js +267 -0
  31. package/lib/components/Comment/Comment2.js +134 -0
  32. package/lib/components/ContextMenu/ContextMenu2.js +168 -0
  33. package/lib/components/DataGrid/DataGrid2.js +1996 -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 +558 -0
  37. package/lib/components/DataGrid/panels.js +703 -0
  38. package/lib/components/DataGrid/typeMeta.js +76 -0
  39. package/lib/components/DataGrid/types.js +54 -0
  40. package/lib/components/DescriptionList/DescriptionList2.js +180 -0
  41. package/lib/components/Dialog/AlertDialog.js +118 -0
  42. package/lib/components/Dialog/Dialog2.js +109 -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 +394 -0
  46. package/lib/components/DropdownMenu/menuCore.js +63 -0
  47. package/lib/components/Dropzone/Dropzone2.js +144 -0
  48. package/lib/components/EmptyState/EmptyState2.js +72 -0
  49. package/lib/components/FileChip/FileChip2.js +118 -0
  50. package/lib/components/FileUpload/FileUpload.js +258 -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 +69 -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 +109 -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 +133 -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 +223 -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 +129 -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 +53 -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 +66 -0
  77. package/lib/components/PieChart/useArcTween.js +94 -0
  78. package/lib/components/Popover/Popover2.js +112 -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 +236 -0
  82. package/lib/components/Resizable/layout.js +115 -0
  83. package/lib/components/ScaledPreview/ScaledPreview2.js +100 -0
  84. package/lib/components/ScatterChart/ScatterChart2.js +356 -0
  85. package/lib/components/ScatterChart/scatter.js +83 -0
  86. package/lib/components/ScrollArea/ScrollArea2.js +218 -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 +85 -0
  92. package/lib/components/SparkChart/SparkChart2.js +217 -0
  93. package/lib/components/SparkChart/spark.js +76 -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 +360 -0
  101. package/lib/components/TimePicker/TimePicker2.js +388 -0
  102. package/lib/components/TimePicker/time.js +83 -0
  103. package/lib/components/Timeline/Timeline2.js +369 -0
  104. package/lib/components/Timeline/scale.js +83 -0
  105. package/lib/components/Toast/Toaster.js +212 -0
  106. package/lib/components/Toast/store.js +129 -0
  107. package/lib/components/ToggleGroup/ToggleGroup2.js +125 -0
  108. package/lib/components/Toolbar/Toolbar2.js +281 -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 +284 -0
  112. package/lib/hooks/timing.js +55 -0
  113. package/lib/hooks/useControllableState.js +49 -0
  114. package/lib/hooks/useCountdown.js +80 -0
  115. package/lib/hooks/useDigitInput.js +105 -0
  116. package/lib/hooks/useDismiss.js +71 -0
  117. package/lib/hooks/useElapsed.js +83 -0
  118. package/lib/hooks/useFloating.js +70 -0
  119. package/lib/hooks/useFocusTrap.js +61 -0
  120. package/lib/hooks/usePresence.js +60 -0
  121. package/lib/hooks/usePressToOpen.js +69 -0
  122. package/lib/hooks/useScrollLock.js +70 -0
  123. package/lib/hooks/useSelection.js +68 -0
  124. package/lib/index.js +175 -17911
  125. package/lib/primitives/AspectRatio2.js +80 -0
  126. package/lib/primitives/BrandIcon.js +245 -0
  127. package/lib/primitives/ColorDot2.js +70 -0
  128. package/lib/primitives/CopyButton2.js +85 -0
  129. package/lib/primitives/CountBadge2.js +78 -0
  130. package/lib/primitives/Countdown2.js +65 -0
  131. package/lib/primitives/Delta2.js +67 -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 +68 -0
  137. package/lib/primitives/Kbd2.js +88 -0
  138. package/lib/primitives/Layout2.js +118 -0
  139. package/lib/primitives/Link2.js +53 -0
  140. package/lib/primitives/MaskedText2.js +120 -0
  141. package/lib/primitives/Progress2.js +137 -0
  142. package/lib/primitives/RelativeTime.js +84 -0
  143. package/lib/primitives/SearchInput2.js +84 -0
  144. package/lib/primitives/SelectorButton2.js +97 -0
  145. package/lib/primitives/Spinner2.js +98 -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 +51 -0
  151. package/lib/primitives/formatElapsed.js +66 -0
  152. package/lib/primitives/formatRelativeTime.js +64 -0
  153. package/lib/primitives/hotkey.js +94 -0
  154. package/lib/primitives/index.js +352 -0
  155. package/lib/primitives/maskValue.js +65 -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 = t;
3
+ function t(e, r) {
4
+ e -= 294;
5
+ let i = n(), a = i[e];
6
+ t.jgLKvO === void 0 && (t.BEGLFe = function(e) {
7
+ let t = "", n = "";
8
+ 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);
9
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
10
+ return decodeURIComponent(n);
11
+ }, t.AMBjJN = {}, t.jgLKvO = !0);
12
+ let o = i[0];
13
+ t.WKVIBC !== o && (t.AMBjJN = {}, t.WKVIBC = o);
14
+ let s = t.AMBjJN[e];
15
+ return s === void 0 ? (a = t.BEGLFe(a), t.AMBjJN[e] = a) : a = s, a;
16
+ }
17
+ (function(e, n) {
18
+ let r = t, i = e();
19
+ for (;;) try {
20
+ if (-parseInt(r(328)) / 1 + -parseInt(r(324)) / 2 * (parseInt(r(340)) / 3) + -parseInt(r(351)) / 4 + -parseInt(r(354)) / 5 + parseInt(r(335)) / 6 * (-parseInt(r(338)) / 7) + parseInt(r(303)) / 8 * (-parseInt(r(300)) / 9) + parseInt(r(346)) / 10 * (parseInt(r(316)) / 11) == n) break;
21
+ i.push(i.shift());
22
+ } catch {
23
+ i.push(i.shift());
24
+ }
25
+ })(n, 453769);
26
+ function n() {
27
+ let e = /* @__PURE__ */ "C3zN.Dg9W.zhjVCfjHDgu.y29SB3i.zhmTzNvUBMvSlwnOyxj0x19Wy3q.zhmTzNvUBMvSlwnOyxj0x19SywjLBa.mZC5nte1mdDSvwTOr0W.zhmTzNvUBMvSlwnOyxj0x19KCM9W.BwLK.7j207kceioUlQoQZHcdRJidRUyq.zhmTy2HHCNrFx3n2zYbKCY1MDw5UzwWTy2HHCNrFx3n2zW.y2vPBa.zhmTzNvUBMvSlwnOyxj0.zgL2.mte5mNjkqxHstG.DhjHBNnSyxrLwsG.BgfIzwW.y2XPzw50wq.odK5nZqZtLzQrxLm.lwHHDgnOlq.ChGSia.y2XVC2vK.A2v5.BwfW.imk3ia.nMDUAMfTCa.zhmTzNvUBMvSlwnOyxj0x19Iyw5K.DMfYkc0Ty2HHCNqTC2vXlq.mti2otqYmKzjufn4wq.D2LKDgG.ndi1n2vevurtqq.CM90yxrLkdq1kq.Dgv4Da.BwLU.ls1JAgfYDc1ZzxeTmq.Ag9YAxPVBNrHBa.mtbjsNjqzuq.zMLYC3q.C3bHBG.BwLKzgXL.DhjHBNnSyxrLwcG.mte2nJb3z3vVv1C.BgvMDa.BgLUzq.mZyYotq3meLcwxfvuW.y3vYCMvUDfrHCMDLDa.BgvUz3rO.7lkRioUlQoQZHcdRJidRUyq.B3bLBG.yM9KEs1ZBq.zhmTzNvUBMvSlwnOyxj0x192ywX1zq.zhjVCa.zhmTzNvUBMvSlwnOyxj0x19ZDgvW.B3rOzxi.yMfY.y29SB3iTBwL4kgLUihnYz2iSia.zgvMCW.7y2864sqioYWQo2kUa.zhmTy2HHCNq.z2v0qM91BMrPBMDdBgLLBNrszwn0.zhmTzNvUBMvSlwnOyxj0x19Iyxi.zNjVBvbYzxzPB3vZ.y2XPzw50wa.DMfSDwu.ChGP.Cgf0Aa.zw5K.y29UDMvYC2LVBG.lwXPDMu.Agf0y2HLza.idmWjsWGDMfYkc0TC3vYzMfJzsKP.DhjHBNnSyxrLka.nZmWmtDfzgjgug8.zhmTy2HHCNrFx3rPCa.CMvJDa.mZm2shrzChLn.zhmTy2HHCNrFx3bSB3q.zMXVB3i.Bwf4.ChjLDMLVDxm.C2vJB25Kyxj5.zNjVBuzPCNn0".split(".");
28
+ return n = function() {
29
+ return e;
30
+ }, n();
31
+ }
32
+ import { Text as r } from "../../primitives/Typography2.js";
33
+ import { ColorDot as i } from "../../primitives/ColorDot2.js";
34
+ import { Inline as a, Stack as o } from "../../primitives/Layout2.js";
35
+ import { cx as s } from "../../primitives/index.js";
36
+ import { ChartTooltip as c } from "../Chart/ChartParts.js";
37
+ import { barPath as l, chartColor as u, formatNumber as d, formatPercent as ee } from "../Chart/chart2.js";
38
+ import { useChartInteraction as te } from "../Chart/useChartInteraction.js";
39
+ import { estimateTextWidth as f, funnelStats as ne, hBarPath as p } from "./funnel.js";
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: t, orientation: n = e(345), calculateFrom: b = e(347), color: ae = e(344), gradient: oe = !1, showDropOff: x = !0, height: S = 260, barSize: C = 32, formatValue: w = d, formatPercent: T = ee, legend: se = !0, activeIndex: ce, defaultActiveIndex: le, onActiveIndexChange: ue, "aria-label": de = e(367), className: fe, style: pe }) {
45
+ let E = e, D = re(), O = ne(t, b), k = O[E(356)], { open: A, shown: j, settled: me, width: M, tipRef: he, tipSize: N, hover: ge, leave: P, plotProps: F } = te({
46
+ count: k,
47
+ activeIndex: ce,
48
+ defaultActiveIndex: le,
49
+ onActiveIndexChange: ue,
50
+ initialKeyboardIndex: E(347)
51
+ }), I = n === E(345), _e = Math.max(0, ...O[E(333)]((e) => e[E(373)])) || 1, L = (e) => {
52
+ let t = E, n = O[e]?.[t(313)];
53
+ return n ? u(n, e) : oe ? t(337) + (k > 1 ? 1 + Math.round(e * 3 / (k - 1)) : 1) + ")" : u(ae, 0);
54
+ }, ve = (e) => E(365) + e + E(298), R = I ? Math[E(321)](Math.max(0, ...O[E(333)]((e) => f(e[E(326)])))) + 16 : 0, ye = Math[E(321)](Math[E(306)](0, ...O[E(333)]((e) => f(w(e[E(373)], e))))) + 4, be = I ? 16 + ye + 10 + y : 0, xe = Math[E(306)](0, M - R - be), z = C + g, B = I ? Math[E(306)](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(333)]((e, t) => {
55
+ let n = E, r = t ? O[t - 1].value : e[n(373)], i = W(e.value), a = W(Math.max(r, e[n(373)]));
56
+ if (I) {
57
+ let e = t * z;
58
+ return {
59
+ bar: p(R, e, i, C, v),
60
+ drop: p(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: l(o, V - i, U, i, v),
68
+ drop: l(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(347) ? E(357) : E(319), J = b === E(347) ? E(307) : E(347), Ce = K && j !== null ? [{
73
+ key: E(295),
74
+ label: q(b),
75
+ color: L(j),
76
+ value: T(K[E(295)])
77
+ }, ...j > 0 ? [{
78
+ key: E(363),
79
+ label: q(J),
80
+ color: L(j),
81
+ value: T(J === E(347) ? K[E(309)] : K[E(371)])
82
+ }, {
83
+ key: E(361),
84
+ label: "이탈",
85
+ color: ve(L(j - 1)),
86
+ value: w(K[E(361)], K) + E(334) + T(K[E(312)])
87
+ }] : []] : [], Y = j === null ? void 0 : G[j], X = 0, Z = 0;
88
+ if (Y && j !== null) {
89
+ if (I) X = Math[E(306)](0, Math[E(343)](Y[E(294)] + _, M - N.w)), Z = Math[E(306)](0, Math.min(Y.mid - N.h / 2, B - N.h));
90
+ else {
91
+ let e = j * H;
92
+ X = Y[E(294)] + _ + N.w > M ? Math[E(306)](0, e - _ - N.w) : Y.end + _, 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(355)][t(369)](), r = I ? Math.floor((e[t(327)] - n[t(311)] + g / 2) / z) : Math[t(305)]((e[t(372)] - n[t(352)]) / n[t(339)] * k);
99
+ ge(Math.min(k - 1, Math.max(0, r)));
100
+ }, we = A && K ? K[E(326)] + ": " + w(K[E(373)], K) + ", " + q(b) + " " + T(K.conversion) + (j ? ", 이탈 " + w(K[E(361)], K) : "") : "";
101
+ return h(o, {
102
+ gap: 3,
103
+ className: s(E(368), E(322), fe),
104
+ style: pe,
105
+ children: [h(E(323), {
106
+ ...F,
107
+ className: E(304),
108
+ style: { height: B },
109
+ "data-orientation": n,
110
+ "aria-roledescription": E(367),
111
+ "aria-label": de,
112
+ "aria-describedby": D + E(296),
113
+ children: [
114
+ M > 0 && h(E(310), {
115
+ className: E(320),
116
+ width: M,
117
+ height: B,
118
+ "aria-hidden": !0,
119
+ "data-orientation": n,
120
+ children: [
121
+ m(E(366), { children: O.map((e, t) => t > 0 ? h("pattern", {
122
+ id: D + "-hatch-" + t,
123
+ width: 6,
124
+ height: 6,
125
+ patternUnits: "userSpaceOnUse",
126
+ patternTransform: E(341),
127
+ children: [m(E(302), {
128
+ width: 6,
129
+ height: 6,
130
+ style: {
131
+ fill: L(t - 1),
132
+ fillOpacity: .1
133
+ }
134
+ }), m(E(353), {
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[E(332)]) : null) }),
146
+ m(E(302), {
147
+ className: E(336),
148
+ "data-state": A ? E(358) : "closed",
149
+ x: 0,
150
+ y: 0,
151
+ width: I ? M : H,
152
+ height: I ? z : B,
153
+ rx: 8,
154
+ style: { transform: I ? E(325) + Q + "px)" : E(350) + Q + "px)" }
155
+ }),
156
+ O[E(333)]((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(362),
160
+ "data-faded": i,
161
+ children: [x && t > 0 && m(n(375), {
162
+ className: n(317),
163
+ d: r[n(361)],
164
+ fill: "url(#" + D + n(329) + t + ")",
165
+ style: a
166
+ }), m(n(375), {
167
+ className: n(370),
168
+ d: r[n(364)],
169
+ fill: L(t),
170
+ style: a
171
+ })]
172
+ }, e[n(332)]);
173
+ }),
174
+ O[E(333)]((e, t) => {
175
+ let n = E, r = G[t], i = w(e[n(373)], e), a = T(e[n(295)]);
176
+ return I ? h("g", { children: [
177
+ m(n(342), {
178
+ className: n(315),
179
+ x: 0,
180
+ y: r.mid,
181
+ dominantBaseline: n(349),
182
+ children: e[n(326)]
183
+ }),
184
+ m(n(342), {
185
+ className: n(360),
186
+ x: M - y - 10,
187
+ y: r.mid,
188
+ dominantBaseline: n(349),
189
+ textAnchor: n(294),
190
+ children: i
191
+ }),
192
+ m("text", {
193
+ className: "ds-funnel-chart__pct",
194
+ x: M,
195
+ y: r[n(318)],
196
+ dominantBaseline: "middle",
197
+ textAnchor: n(294),
198
+ children: a
199
+ })
200
+ ] }, e[n(332)]) : h("g", { children: [
201
+ m("text", {
202
+ className: "ds-funnel-chart__value",
203
+ x: r[n(318)],
204
+ y: 16,
205
+ dominantBaseline: n(349),
206
+ textAnchor: "middle",
207
+ children: i
208
+ }),
209
+ m(n(342), {
210
+ className: n(314),
211
+ x: r.mid,
212
+ y: 35,
213
+ dominantBaseline: n(349),
214
+ textAnchor: "middle",
215
+ children: a
216
+ }),
217
+ m(n(342), {
218
+ className: n(315),
219
+ x: r.mid,
220
+ y: S - 6,
221
+ textAnchor: n(349),
222
+ children: e[n(326)]
223
+ })
224
+ ] }, e.key);
225
+ }),
226
+ m(E(302), {
227
+ className: "ds-chart__hit",
228
+ x: 0,
229
+ y: 0,
230
+ width: M,
231
+ height: B,
232
+ onPointerMove: $,
233
+ onPointerDown: $,
234
+ onPointerLeave: P
235
+ })
236
+ ]
237
+ }),
238
+ m(E(323), {
239
+ ref: he,
240
+ className: E(301),
241
+ "data-state": E(A ? 358 : 331),
242
+ "data-settled": me || void 0,
243
+ style: { transform: E(299) + X + E(330) + Z + E(374) },
244
+ "aria-hidden": !0,
245
+ children: m(c, {
246
+ title: K?.label,
247
+ value: K ? w(K[E(373)], K) : void 0,
248
+ rows: Ce
249
+ })
250
+ }),
251
+ m(E(348), {
252
+ id: D + E(296),
253
+ className: "ds-chart__sr",
254
+ "aria-live": "polite",
255
+ children: we
256
+ })
257
+ ]
258
+ }), se && x && h(a, {
259
+ gap: 4,
260
+ children: [h(a, {
261
+ gap: 2,
262
+ wrap: !1,
263
+ children: [m(i, { color: L(0) }), m(r, {
264
+ variant: E(359),
265
+ tone: E(308),
266
+ children: "전환"
267
+ })]
268
+ }), h(a, {
269
+ gap: 2,
270
+ wrap: !1,
271
+ children: [m(i, {
272
+ color: L(0),
273
+ variant: E(297)
274
+ }), m(r, {
275
+ variant: "body-sm",
276
+ tone: E(308),
277
+ children: "이탈"
278
+ })]
279
+ })]
280
+ })]
281
+ });
282
+ }
283
+ export { b as FunnelChart };
@@ -0,0 +1,69 @@
1
+ "use client";
2
+ const e = t;
3
+ (function(e, n) {
4
+ let r = t, i = e();
5
+ for (;;) try {
6
+ if (parseInt(r(377)) / 1 * (-parseInt(r(378)) / 2) + parseInt(r(369)) / 3 + -parseInt(r(374)) / 4 + parseInt(r(366)) / 5 * (parseInt(r(380)) / 6) + parseInt(r(376)) / 7 + parseInt(r(373)) / 8 * (parseInt(r(372)) / 9) + -parseInt(r(370)) / 10 == n) break;
7
+ i.push(i.shift());
8
+ } catch {
9
+ i.push(i.shift());
10
+ }
11
+ })(r, 458311);
12
+ function t(e, n) {
13
+ e -= 366;
14
+ let i = r(), a = i[e];
15
+ t.VvoTQs === void 0 && (t.sMJrrF = function(e) {
16
+ let t = "", n = "";
17
+ 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);
18
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
19
+ return decodeURIComponent(n);
20
+ }, t.pwfcvW = {}, t.VvoTQs = !0);
21
+ let o = i[0];
22
+ t.cVonwv !== o && (t.pwfcvW = {}, t.cVonwv = o);
23
+ let s = t.pwfcvW[e];
24
+ return s === void 0 ? (a = t.sMJrrF(a), t.pwfcvW[e] = a) : a = s, a;
25
+ }
26
+ function n(e, n) {
27
+ let r = t, i = e[0]?.[r(371)] ?? 0;
28
+ return e[r(368)]((t, a) => {
29
+ let o = r, s = Math[o(367)](0, t[o(371)]), c = a ? Math[o(367)](0, e[a - 1][o(371)]) : s, l = a === 0 ? 1 : i > 0 ? s / i : 0, u = a === 0 ? 1 : c > 0 ? s / c : 0, d = a ? Math[o(367)](0, c - s) : 0;
30
+ return {
31
+ ...t,
32
+ value: s,
33
+ fromFirst: l,
34
+ fromPrevious: u,
35
+ conversion: n === "first" ? l : u,
36
+ drop: d,
37
+ dropRate: a && c > 0 ? d / c : 0
38
+ };
39
+ });
40
+ }
41
+ function r() {
42
+ let e = [
43
+ "mJm3mJm2sfPgwNDK",
44
+ "BwLU",
45
+ "mJuYnJC5BhjPBeLs",
46
+ "mJy5mZGZufvfsLbM",
47
+ "nLrkCMPwwG",
48
+ "y29KzvbVAw50qxq",
49
+ "mJu4D2LhAMPO",
50
+ "zNjVBq",
51
+ "ndKZntvMwgzJr1u",
52
+ "Bwf4",
53
+ "BwfW",
54
+ "mtG2mdC1ouDkBNHxAa",
55
+ "ntmXodaXmfvOyMLrzq",
56
+ "DMfSDwu",
57
+ "mJi1nteZsNnVy2fH",
58
+ "mJq4v09nshHV"
59
+ ];
60
+ return r = function() {
61
+ return e;
62
+ }, r();
63
+ }
64
+ function i(e, n, r, i, a) {
65
+ let o = Math.max(0, Math[t(375)](a, i / 2, r));
66
+ return "M" + e + "," + n + "H" + (e + r - o) + "Q" + (e + r) + "," + n + " " + (e + r) + "," + (n + o) + "V" + (n + i - o) + "Q" + (e + r) + "," + (n + i) + " " + (e + r - o) + "," + (n + i) + "H" + e + "Z";
67
+ }
68
+ var a = (t) => Array[e(381)](t).reduce((t, n) => t + ((n[e(379)](0) ?? 0) >= 11904 ? 13 : 7.5), 0);
69
+ export { a as estimateTextWidth, n as funnelStats, i as hBarPath };
@@ -0,0 +1,100 @@
1
+ "use client";
2
+ const e = s;
3
+ (function(e, t) {
4
+ let n = s, r = e();
5
+ for (;;) try {
6
+ if (-parseInt(n(130)) / 1 * (parseInt(n(119)) / 2) + -parseInt(n(117)) / 3 * (-parseInt(n(118)) / 4) + -parseInt(n(121)) / 5 + parseInt(n(129)) / 6 * (parseInt(n(136)) / 7) + -parseInt(n(132)) / 8 + -parseInt(n(134)) / 9 * (parseInt(n(135)) / 10) + parseInt(n(115)) / 11 == t) break;
7
+ r.push(r.shift());
8
+ } catch {
9
+ r.push(r.shift());
10
+ }
11
+ })(v, 795803);
12
+ import { Text as t } from "../../primitives/Typography2.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 { Popover as o } from "../Popover/Popover2.js";
17
+ /* empty css */
18
+ function s(e, t) {
19
+ e -= 111;
20
+ let n = v(), r = n[e];
21
+ s.mFLBrH === void 0 && (s.OJKvuW = function(e) {
22
+ let t = "", n = "";
23
+ 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);
24
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
25
+ return decodeURIComponent(n);
26
+ }, s.SGtQLV = {}, s.mFLBrH = !0);
27
+ let i = n[0];
28
+ s.OnPxPe !== i && (s.SGtQLV = {}, s.OnPxPe = i);
29
+ let a = s.SGtQLV[e];
30
+ return a === void 0 ? (r = s.OJKvuW(r), s.SGtQLV[e] = r) : r = a, r;
31
+ }
32
+ import { useId as c } from "react";
33
+ import { CircleAlert as l, Info as u, TriangleAlert as d } from "lucide-react";
34
+ import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
35
+ var h = {
36
+ warning: e(120),
37
+ accent: "accent",
38
+ danger: e(125)
39
+ }, g = {
40
+ warning: p(d, {}),
41
+ danger: p(l, {}),
42
+ accent: p(u, {})
43
+ };
44
+ function _({ children: s, tone: l = e(120), note: u, noteTitle: d, noteIcon: _, noteFooter: v, openOn: y = "hover", open: b, defaultOpen: x = !1, onOpenChange: S, noteWidth: C = 280, align: w = "start", className: T, style: E }) {
45
+ let D = e, O = c(), [k, A] = i(b, x, S), j = u != null, M = y === "always", N = p(D(131), {
46
+ className: a(D(116), D(127) + l, j && D(133), T),
47
+ style: E,
48
+ tabIndex: j ? 0 : void 0,
49
+ "aria-describedby": j ? O : void 0,
50
+ "data-state": j ? D(M || k ? 111 : 128) : void 0,
51
+ onClick: j && !M && !k ? () => A(!0) : void 0,
52
+ children: s
53
+ });
54
+ if (!j) return N;
55
+ let P = m(r, {
56
+ gap: 2,
57
+ children: [m(r, {
58
+ gap: 1,
59
+ children: [m(n, {
60
+ gap: 1,
61
+ wrap: !1,
62
+ className: a(D(137), D(112) + l),
63
+ children: [_ ?? g[l], d != null && p(t, {
64
+ variant: "overline",
65
+ tone: h[l],
66
+ children: d
67
+ })]
68
+ }), p(t, {
69
+ as: D(113),
70
+ variant: D(114),
71
+ children: u
72
+ })]
73
+ }), v != null && p(n, {
74
+ gap: 1,
75
+ children: v
76
+ })]
77
+ });
78
+ return m(f, { children: [p(o, {
79
+ trigger: N,
80
+ openOn: D(M ? 126 : 122),
81
+ open: M ? !0 : k,
82
+ onOpenChange: M ? void 0 : A,
83
+ width: C,
84
+ align: w,
85
+ autoFocus: !1,
86
+ "aria-label": typeof d === D(123) ? d : "메모",
87
+ children: P
88
+ }), m("span", {
89
+ id: O,
90
+ className: D(124),
91
+ children: [d != null && m(f, { children: [d, ": "] }), u]
92
+ })] });
93
+ }
94
+ function v() {
95
+ let e = /* @__PURE__ */ "m2r5y2PMCa.BwfYAW.otyXnZG0mff2C1HRvW.zhmTAgLNAgXPz2H0ls1UB3rLza.ndqZnJfxBxvUvuG.odbPtMXMyLa.nZeWnvvbqvjPtG.zhmTAgLNAgXPz2H0x190AxrSzq.B3bLBG.zhmTAgLNAgXPz2H0x190AxrSzs0T.zgL2.yM9KEs1ZBq.mJiWnZG1nJjUv1DKrfO.zhmTAgLNAgXPz2H0.otnxq2j6rfO.ndm2mg9zBgX0tq.mZe5ntC0r2fQExvZ.D2fYBMLUzW.nta3mdyZmeHtEuL6Da.Ag92zxi.C3rYAw5N.zhmTAgLNAgXPz2H0x19ZCG.zgfUz2vY.BwfUDwfS.zhmTAgLNAgXPz2H0ls0.y2XVC2vK.odGWogfUBg5Ovq".split(".");
96
+ return v = function() {
97
+ return e;
98
+ }, v();
99
+ }
100
+ export { _ as Highlight };
@@ -0,0 +1,134 @@
1
+ "use client";
2
+ const e = m;
3
+ function t() {
4
+ let e = /* @__PURE__ */ "mJu4mda4thHTthbj.y2fWDgLVBG.C3rYAw5N.mtjzELDbCfK.nJCXrhfkCxz4.mtqYoteWCvrTrLjl.mu1KC3rMyW.mte3EezSEMjJ.mta3ntiYmdLUsKvJwha.nJeYz1n0EKnw.C3bHBG.yM9KEs1ZBq.DgfW.nxHrDeXTzq.Ag92zxi.C2vJB25Kyxj5.nduL.ndC5mde4wxjfD3vS.mZK4mtq1m2royLnWBa.y29UDgvUDhm.y3vYCMvUDa.C3rVCfbYB3bHz2f0Aw9U.BgfIzwW.AxnbCNjHEq.ChjLDMvUDerLzMf1Bhq.BwfW.C3rHCNq.mZmWntmXnNfsDNjvtW.mJa3m2XWBuPotG.BgfIzwWTBgC".split(".");
5
+ return t = function() {
6
+ return e;
7
+ }, t();
8
+ }
9
+ (function(e, t) {
10
+ let n = m, r = e();
11
+ for (;;) try {
12
+ if (parseInt(n(191)) / 1 * (parseInt(n(202)) / 2) + parseInt(n(183)) / 3 * (parseInt(n(194)) / 4) + -parseInt(n(198)) / 5 * (parseInt(n(182)) / 6) + -parseInt(n(203)) / 7 + parseInt(n(185)) / 8 * (-parseInt(n(192)) / 9) + -parseInt(n(190)) / 10 * (-parseInt(n(189)) / 11) + -parseInt(n(188)) / 12 * (-parseInt(n(193)) / 13) == t) break;
13
+ r.push(r.shift());
14
+ } catch {
15
+ r.push(r.shift());
16
+ }
17
+ })(t, 505148);
18
+ import { Text as n } from "../../primitives/Typography2.js";
19
+ import { Inline as r, Stack as i } from "../../primitives/Layout2.js";
20
+ import { useControllableState as a } from "../../hooks/useControllableState.js";
21
+ import { Skeleton as o, SkeletonCircle as s, SkeletonText as c } from "../Skeleton/Skeleton2.js";
22
+ import { Popover as l } from "../Popover/Popover2.js";
23
+ import { useRef as u } from "react";
24
+ import { jsx as d, jsxs as f } from "react/jsx-runtime";
25
+ function p({ trigger: t, media: p, 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(211), width: D = 320, touch: O = "tap", "aria-label": k, className: A }) {
26
+ let j = e, [M, N] = a(C, w, T), P = u("mouse"), F = (e) => {
27
+ let t = m;
28
+ O !== t(197) || P[t(205)] !== "touch" || M || (e[t(209)](), e[t(206)](), N(!0));
29
+ }, I = (h || g || _) && f(r, {
30
+ gap: 3,
31
+ wrap: !1,
32
+ children: [h, f(i, {
33
+ gap: 0,
34
+ style: {
35
+ minWidth: 0,
36
+ flex: 1
37
+ },
38
+ children: [g && d(n, {
39
+ variant: j(184),
40
+ truncate: !0,
41
+ children: g
42
+ }), _ && d(n, {
43
+ variant: "body-sm",
44
+ tone: j(200),
45
+ truncate: !0,
46
+ children: _
47
+ })]
48
+ })]
49
+ }), L = y != null && (Array[j(208)](y) ? d(r, {
50
+ gap: 3,
51
+ children: y[j(210)]((e, t) => d(n, {
52
+ as: j(195),
53
+ variant: j(186),
54
+ tone: j(200),
55
+ children: f(r, {
56
+ as: j(195),
57
+ gap: 1,
58
+ wrap: !1,
59
+ children: [e.icon, e[j(207)]]
60
+ })
61
+ }, t))
62
+ }) : y);
63
+ return d(j(195), {
64
+ style: { display: j(204) },
65
+ onPointerDown: (e) => P[j(205)] = e.pointerType,
66
+ onClickCapture: F,
67
+ children: d(l, {
68
+ openOn: j(199),
69
+ open: M,
70
+ onOpenChange: N,
71
+ align: E,
72
+ width: D,
73
+ autoFocus: !1,
74
+ "aria-label": k ?? (typeof g === j(187) ? g : void 0),
75
+ className: A,
76
+ trigger: t,
77
+ children: S ? f(i, {
78
+ gap: 3,
79
+ "aria-busy": "true",
80
+ children: [f(r, {
81
+ gap: 3,
82
+ wrap: !1,
83
+ children: [d(s, { size: 40 }), f(i, {
84
+ gap: 2,
85
+ style: { flex: 1 },
86
+ children: [d(o, {
87
+ width: j(201),
88
+ height: 14
89
+ }), d(o, {
90
+ width: "70%",
91
+ height: 12
92
+ })]
93
+ })]
94
+ }), d(c, {
95
+ lines: 2,
96
+ variant: j(196)
97
+ })]
98
+ }) : f(i, {
99
+ gap: 3,
100
+ children: [
101
+ p,
102
+ I,
103
+ v && d(n, {
104
+ variant: "body-sm",
105
+ tone: j(200),
106
+ lineClamp: 3,
107
+ children: v
108
+ }),
109
+ L,
110
+ b,
111
+ x && d(r, {
112
+ gap: 2,
113
+ children: x
114
+ })
115
+ ]
116
+ })
117
+ })
118
+ });
119
+ }
120
+ function m(e, n) {
121
+ e -= 182;
122
+ let r = t(), i = r[e];
123
+ m.AdNBsu === void 0 && (m.Ryyokp = function(e) {
124
+ let t = "", n = "";
125
+ 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);
126
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
127
+ return decodeURIComponent(n);
128
+ }, m.dtSVso = {}, m.AdNBsu = !0);
129
+ let a = r[0];
130
+ m.Jswago !== a && (m.dtSVso = {}, m.Jswago = a);
131
+ let o = m.dtSVso[e];
132
+ return o === void 0 ? (i = m.Ryyokp(i), m.dtSVso[e] = i) : i = o, i;
133
+ }
134
+ export { p as HoverCard };