@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,215 @@
1
+ "use client";
2
+ const e = u;
3
+ (function(e, t) {
4
+ let n = u, r = e();
5
+ for (;;) try {
6
+ if (parseInt(n(389)) / 1 + -parseInt(n(377)) / 2 + -parseInt(n(432)) / 3 * (-parseInt(n(402)) / 4) + parseInt(n(424)) / 5 * (parseInt(n(376)) / 6) + -parseInt(n(420)) / 7 * (-parseInt(n(395)) / 8) + parseInt(n(412)) / 9 * (-parseInt(n(382)) / 10) + -parseInt(n(397)) / 11 == t) break;
7
+ r.push(r.shift());
8
+ } catch {
9
+ r.push(r.shift());
10
+ }
11
+ })(m, 550812);
12
+ import { Text as t } from "../../primitives/Typography2.js";
13
+ import { Inline as n } from "../../primitives/Layout2.js";
14
+ import { Button as r, cx as i } from "../../primitives/index.js";
15
+ import { Popover as a } from "../Popover/Popover2.js";
16
+ import { useDiffReview as o } from "./useDiffReview.js";
17
+ /* empty css */
18
+ import { useEffect as s, useId as c, useState as l } from "react";
19
+ function u(e, t) {
20
+ e -= 368;
21
+ let n = m(), r = n[e];
22
+ u.yhuPPU === void 0 && (u.AchHiu = function(e) {
23
+ let t = "", n = "";
24
+ 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);
25
+ for (let e = 0, r = t.length; e < r; e++) n += "%" + ("00" + t.charCodeAt(e).toString(16)).slice(-2);
26
+ return decodeURIComponent(n);
27
+ }, u.HYSrBA = {}, u.yhuPPU = !0);
28
+ let i = n[0];
29
+ u.eobZHk !== i && (u.HYSrBA = {}, u.eobZHk = i);
30
+ let a = u.HYSrBA[e];
31
+ return a === void 0 ? (r = u.AchHiu(r), u.HYSrBA[e] = r) : r = a, r;
32
+ }
33
+ import { Check as d, Undo2 as f, X as p } from "lucide-react";
34
+ function m() {
35
+ let e = /* @__PURE__ */ "DhLWzq.BgvUz3rO.zgvJAwrL.ntr3wezht2K.C3bHBG.67oa6Rk9ioQYGo2gOa.BwfW.CgvUzgLUzW.7lAu6RcaoIa.w2rHDgeTy3vYCMvUDf0.zNjVBq.mtmYmJu3m2TzAKXwCq.w2rHDgeTy2HHBMDLlwLKxq.CgfYDhm.zhmTzgLMzL9FCgfYDc0T.nxrKDMzHtW.y2HHBMDL.z2v0rwXLBwvUDej5swq.C2v0q3vYCMvUDa.zgvSzxrL.sg9Tzq.zgLHBg9N.zgvJAxnPB25Z.ntDUDfnktNC.C2nYB2XSsw50B1zPzxC.ChjPBwfYEq.qxjYB3DsAwDODa.DgfYz2v0.CxvLCNLtzwXLy3rVCG.BgfIzwWTC20.qxjYB3DeB3DU.yNv0Dg9U.7iIy65297zwO.7ikT7kcCoIa.zgvS.7iIy65297zAi7jA07jQu.Dgv4Da.nJq2nZmYmMDAB1P5qq.mtm0odiYmMTIwgzIta.Aw5Zzxj0.A2v5.CMvQzwn0zwq.BMvHCMvZDa.mte1otG1mg1ntg9MAG.zhmTzgLMzL9FDgv4Da.6RgW7kci7zwO.AgLKzgvU.yM9KEs1Tza.qxjYB3Dmzwz0.y29UDgfPBNm.mtaWmdu5nMvyugf1wq.AxndB21WB3nPBMC.zhmTC3iTB25SEq.z2HVC3q.ChvZAa.zxf1ywW.mZjVs3P2uuO.zhmTzgLMzI0TCMv2Awv3.mte5ndGZmJfZv01jvfO.ChjLDMvUDerLzMf1Bhq.C2vJB25Kyxj5.y2XVC2vZDa.y2HHBMDLswq.mZyZodbes0TLA08.ywnJzxb0zwq.A2LUza.qxjYB3DvCa.zhmTzgLMzL9FCgfYDa.y2HHBMDLCW.y3vYCMvUDfrHCMDLDa".split(".");
36
+ return m = function() {
37
+ return e;
38
+ }, m();
39
+ }
40
+ import { jsx as h, jsxs as g } from "react/jsx-runtime";
41
+ var _ = {
42
+ accepted: e(371),
43
+ rejected: e(384)
44
+ }, v = (t, n) => t === e(428) && n === "accepted" || t === e(378) && n === e(380);
45
+ function y({ changes: m, before: _, after: v, review: y, reviewable: x, decisions: S, defaultDecisions: C, onDecisionsChange: w, variant: T = e(386), as: E = "p", "aria-label": D, className: O, style: k }) {
46
+ let A = e, j = o({
47
+ changes: m,
48
+ before: _,
49
+ after: v,
50
+ decisions: S,
51
+ defaultDecisions: C,
52
+ onDecisionsChange: w
53
+ }), M = y ?? j, N = x ?? y != null, P = c(), [F, I] = l(null), [L, R] = l(0), { segments: z, current: B, navToken: V } = M;
54
+ s(() => {
55
+ let e = u;
56
+ V && document[e(426)](P)?.[e(437)](e(418))?.[e(433)]({
57
+ block: e(381),
58
+ inline: "nearest",
59
+ behavior: "smooth"
60
+ });
61
+ }, [V, P]), s(() => {
62
+ let e = u;
63
+ L && document[e(426)](P)?.[e(437)]("[data-current]")?.focus({ preventScroll: !0 });
64
+ }, [L, P]);
65
+ let H = [];
66
+ for (let e of z) {
67
+ let t = H[H.length - 1];
68
+ e[A(409)] === A(394) || e[A(401)] == null ? H[A(393)]({
69
+ kind: A(375),
70
+ text: e.text
71
+ }) : t?.[A(404)] === "change" && t.id === e[A(401)] ? t[A(422)].push(e) : H[A(393)]({
72
+ kind: A(425),
73
+ id: e[A(401)],
74
+ parts: [e]
75
+ });
76
+ }
77
+ let U = B ?? M[A(407)][0]?.id, W = (e) => {
78
+ let t = A;
79
+ if (!N || e.nativeEvent[t(390)] || !e[t(408)][t(388)](e[t(436)])) return;
80
+ let n = e[t(436)][t(400)](t(421))?.dataset.changeId, r = M[t(407)][t(415)]((e) => e.id), i = n == null ? -1 : r.indexOf(n);
81
+ if (n == null || i < 0) return;
82
+ let a;
83
+ switch (e[t(379)]) {
84
+ case t(435):
85
+ case t(369):
86
+ a = r[(i + 1) % r[t(410)]];
87
+ break;
88
+ case t(387):
89
+ case t(405):
90
+ a = r[(i - 1 + r.length) % r.length];
91
+ break;
92
+ case t(429):
93
+ a = r[0];
94
+ break;
95
+ case "End":
96
+ a = r[r.length - 1];
97
+ break;
98
+ case "Enter":
99
+ case " ":
100
+ e[t(398)](), M[t(427)](n), I(n);
101
+ return;
102
+ default: return;
103
+ }
104
+ e[t(398)](), M.goTo(a), R((e) => e + 1);
105
+ }, G = (e, t, n) => {
106
+ M[A(411)](e, t), n(), R((e) => e + 1);
107
+ };
108
+ return h(t, {
109
+ as: E,
110
+ id: P,
111
+ variant: T,
112
+ "aria-label": D,
113
+ className: i("ds-diff", N && A(396), O),
114
+ style: k,
115
+ onKeyDown: N ? W : void 0,
116
+ children: H[A(415)]((e, i) => {
117
+ let o = A;
118
+ if (e[o(404)] === o(375)) return h(o(413), { children: e.text }, "t" + i);
119
+ let s = M[o(431)][e.id], c = h(b, {
120
+ id: e.id,
121
+ parts: e[o(422)],
122
+ decision: s,
123
+ current: e.id === B,
124
+ interactive: N,
125
+ tabbable: e.id === U,
126
+ onFocus: () => M[o(427)](e.id)
127
+ });
128
+ return N ? h(a, {
129
+ trigger: c,
130
+ open: F === e.id,
131
+ onOpenChange: (t) => {
132
+ let n = o;
133
+ I(t ? e.id : null), t && M[n(427)](e.id);
134
+ },
135
+ padding: "sm",
136
+ "aria-label": o(414),
137
+ children: (i) => s ? g(n, {
138
+ gap: 2,
139
+ wrap: !1,
140
+ children: [h(t, {
141
+ variant: o(368),
142
+ tone: o(399),
143
+ children: s === o(403) ? o(374) : "거절했어요"
144
+ }), h(r, {
145
+ size: "sm",
146
+ variant: o(392),
147
+ icon: h(f, {}),
148
+ onClick: () => G(e.id, null, i),
149
+ children: "되돌리기"
150
+ })]
151
+ }) : g(n, {
152
+ gap: 1,
153
+ wrap: !1,
154
+ children: [h(r, {
155
+ size: "sm",
156
+ variant: "secondary",
157
+ icon: h(p, {}),
158
+ onClick: () => G(e.id, "rejected", i),
159
+ children: "거절"
160
+ }), h(r, {
161
+ size: "sm",
162
+ variant: o(434),
163
+ icon: h(d, {}),
164
+ onClick: () => G(e.id, o(403), i),
165
+ children: "수락"
166
+ })]
167
+ })
168
+ }, "c" + i) : h(o(413), { children: c }, "c" + i);
169
+ })
170
+ });
171
+ }
172
+ function b({ id: t, parts: n, decision: r, current: a, interactive: o, tabbable: s, onFocus: c }) {
173
+ let u = e, [d, f] = l({
174
+ from: r,
175
+ to: r
176
+ });
177
+ d.to !== r && f({
178
+ from: d.to,
179
+ to: r
180
+ });
181
+ let p = d.to === r ? d[u(419)] : d.to;
182
+ return g(u(413), {
183
+ className: "ds-diff__change",
184
+ "data-change-id": t,
185
+ "data-decision": r ?? u(416),
186
+ "data-current": a || void 0,
187
+ role: o ? u(370) : void 0,
188
+ tabIndex: o ? s ? 0 : -1 : void 0,
189
+ "aria-haspopup": o ? u(430) : void 0,
190
+ onFocus: o ? c : void 0,
191
+ children: [n[u(415)]((e, t) => {
192
+ let n = u, a = e.type === n(428) ? n(373) : "ins", o = v(e[n(409)], r), s = v(e[n(409)], p), c = o ? s ? n(385) : "out" : s ? "in" : void 0;
193
+ return h(a, {
194
+ className: i(n(406), n(423) + e[n(409)]),
195
+ "data-motion": c,
196
+ "aria-hidden": o || void 0,
197
+ children: g(n(413), {
198
+ className: n(383),
199
+ children: [!r && h("span", {
200
+ className: n(391),
201
+ children: e[n(409)] === n(428) ? n(372) : n(417)
202
+ }), e[n(375)]]
203
+ })
204
+ }, t);
205
+ }), r && g(u(413), {
206
+ className: u(391),
207
+ children: [
208
+ " (",
209
+ _[r],
210
+ ")"
211
+ ]
212
+ })]
213
+ });
214
+ }
215
+ export { y as InlineDiff };
@@ -0,0 +1,126 @@
1
+ "use client";
2
+ const e = t;
3
+ function t(e, n) {
4
+ e -= 338;
5
+ let r = u(), i = r[e];
6
+ t.vOFrpo === void 0 && (t.zkBfaL = 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.nskbXD = {}, t.vOFrpo = !0);
12
+ let a = r[0];
13
+ t.ehzmZZ !== a && (t.nskbXD = {}, t.ehzmZZ = a);
14
+ let o = t.nskbXD[e];
15
+ return o === void 0 ? (i = t.zkBfaL(i), t.nskbXD[e] = i) : i = o, i;
16
+ }
17
+ (function(e, n) {
18
+ let r = t, i = e();
19
+ for (;;) try {
20
+ if (parseInt(r(338)) / 1 + parseInt(r(353)) / 2 * (-parseInt(r(355)) / 3) + -parseInt(r(341)) / 4 + parseInt(r(347)) / 5 + -parseInt(r(345)) / 6 * (-parseInt(r(357)) / 7) + -parseInt(r(348)) / 8 * (parseInt(r(361)) / 9) + parseInt(r(339)) / 10 == n) break;
21
+ i.push(i.shift());
22
+ } catch {
23
+ i.push(i.shift());
24
+ }
25
+ })(u, 296103);
26
+ var n = /\s+|[\p{L}\p{N}_]+|[^\s\p{L}\p{N}_]/gu;
27
+ function r(e) {
28
+ return e[t(354)](n) ?? [];
29
+ }
30
+ var i = (t) => /^\s+$/[e(363)](t);
31
+ function a(t, n) {
32
+ let i = e, a = r(t), s = r(n), c = 0;
33
+ for (; c < a.length && c < s[i(344)] && a[c] === s[c];) c++;
34
+ let l = a[i(344)], u = s[i(344)];
35
+ for (; l > c && u > c && a[l - 1] === s[u - 1];) l--, u--;
36
+ let d = [], f = (e, t) => {
37
+ let n = i, r = d[d.length - 1];
38
+ r && r.type === e ? r[n(356)] += t : d[n(362)]({
39
+ type: e,
40
+ text: t
41
+ });
42
+ };
43
+ for (let e = 0; e < c; e++) f(i(350), a[e]);
44
+ let p = a[i(351)](c, l), m = s[i(351)](c, u), h = p[i(344)], g = m.length, _ = g + 1, v = new Int32Array((h + 1) * _);
45
+ for (let e = h - 1; e >= 0; e--) for (let t = g - 1; t >= 0; t--) v[e * _ + t] = p[e] === m[t] ? v[(e + 1) * _ + t + 1] + 1 : Math[i(340)](v[(e + 1) * _ + t], v[e * _ + t + 1]);
46
+ let y = 0, b = 0;
47
+ for (; y < h && b < g;) p[y] === m[b] ? (f(i(350), p[y]), y++, b++) : v[(y + 1) * _ + b] >= v[y * _ + b + 1] ? (f(i(359), p[y]), y++) : (f(i(346), m[b]), b++);
48
+ for (; y < h; y++) f(i(359), p[y]);
49
+ for (; b < g; b++) f("insert", m[b]);
50
+ for (let e = l; e < a[i(344)]; e++) f(i(350), a[e]);
51
+ return o(d);
52
+ }
53
+ function o(n) {
54
+ let r = e, a = [], o = "", s = "", c = () => {
55
+ let e = t;
56
+ o && a.push({
57
+ type: e(359),
58
+ text: o
59
+ }), s && a[e(362)]({
60
+ type: e(346),
61
+ text: s
62
+ }), o = "", s = "";
63
+ };
64
+ for (let e = 0; e < n[r(344)]; e++) {
65
+ let t = n[e];
66
+ if (t[r(352)] === r(359)) o += t[r(356)];
67
+ else if (t[r(352)] === r(346)) s += t[r(356)];
68
+ else {
69
+ let l = o !== "" || s !== "", u = e + 1 < n[r(344)] && n[e + 1].type !== r(350);
70
+ if (l && u && i(t[r(356)])) {
71
+ o += t[r(356)], s += t.text;
72
+ continue;
73
+ }
74
+ c(), a[r(362)]({
75
+ type: r(350),
76
+ text: t[r(356)]
77
+ });
78
+ }
79
+ }
80
+ return c(), a;
81
+ }
82
+ function s(t) {
83
+ let n = e, r = 0, i;
84
+ return t[n(358)]((e) => {
85
+ let t = n, a;
86
+ return a = e.type === t(350) ? {
87
+ type: t(350),
88
+ text: e[t(356)]
89
+ } : e.changeId == null ? i && i.type !== t(350) && i.changeId != null ? {
90
+ ...e,
91
+ changeId: i[t(364)]
92
+ } : {
93
+ ...e,
94
+ changeId: t(342) + ++r
95
+ } : { ...e }, i = a, a;
96
+ });
97
+ }
98
+ function c(t) {
99
+ let n = e, r = /* @__PURE__ */ new Map();
100
+ for (let e of t) {
101
+ if (e[n(352)] === "equal" || e.changeId == null) continue;
102
+ let t = r[n(343)](e[n(364)]);
103
+ !t && (t = {
104
+ id: e[n(364)],
105
+ deleted: "",
106
+ inserted: ""
107
+ }, r[n(366)](e[n(364)], t)), e.type === "delete" ? t.deleted += e.text : t[n(360)] += e[n(356)];
108
+ }
109
+ return [...r.values()];
110
+ }
111
+ function l(t, n, r = "after") {
112
+ let i = e;
113
+ return s(t)[i(358)]((e) => {
114
+ let t = i;
115
+ if (e[t(352)] === "equal") return e[t(356)];
116
+ let a = e[t(364)] == null ? void 0 : n[e[t(364)]], o = a ? a === t(349) : r === "after";
117
+ return e[t(352)] === "insert" === o ? e[t(356)] : "";
118
+ })[i(365)]("");
119
+ }
120
+ export { l as applyDiffDecisions, a as diffWords, c as listDiffChanges, s as resolveDiffSegments, r as tokenizeWords };
121
+ function u() {
122
+ let e = /* @__PURE__ */ "mJGWt0PwBNPV.ywnJzxb0zwq.zxf1ywW.C2XPy2u.DhLWzq.mtaYv29zC1fc.Bwf0y2G.mJq3odn6v1PuA2G.Dgv4Da.mtKZmtqWnwXSC2HIwq.BwfW.zgvSzxrL.Aw5Zzxj0zwq.mtq3ndu2rhfwywHh.ChvZAa.DgvZDa.y2HHBMDLswq.AM9PBG.C2v0.ntqXntq4CvbzBNfO.mJy0oduXmhPXCLDhCG.Bwf4.mtaXmtCYnhzIuNfHsa.y2HHBMDLlq.z2v0.BgvUz3rO.nMnktujTEa.Aw5Zzxj0.mJmWnZm1nxHUBMT3wq".split(".");
123
+ return u = function() {
124
+ return e;
125
+ }, u();
126
+ }
@@ -0,0 +1,109 @@
1
+ "use client";
2
+ (function(e, n) {
3
+ let r = t, i = e();
4
+ for (;;) try {
5
+ if (parseInt(r(289)) / 1 + parseInt(r(287)) / 2 + parseInt(r(291)) / 3 + -parseInt(r(294)) / 4 * (parseInt(r(292)) / 5) + -parseInt(r(297)) / 6 + -parseInt(r(290)) / 7 * (parseInt(r(295)) / 8) + parseInt(r(286)) / 9 * (-parseInt(r(296)) / 10) == n) break;
6
+ i.push(i.shift());
7
+ } catch {
8
+ i.push(i.shift());
9
+ }
10
+ })(n, 452805);
11
+ import { useControllableState as e } from "../../hooks/useControllableState.js";
12
+ function t(e, r) {
13
+ e -= 283;
14
+ let i = n(), a = i[e];
15
+ t.nMTRgq === void 0 && (t.Aumktn = 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.OPMeUP = {}, t.nMTRgq = !0);
21
+ let o = i[0];
22
+ t.rOvKmH !== o && (t.OPMeUP = {}, t.rOvKmH = o);
23
+ let s = t.OPMeUP[e];
24
+ return s === void 0 ? (a = t.Aumktn(a), t.OPMeUP[e] = a) : a = s, a;
25
+ }
26
+ function n() {
27
+ let e = [
28
+ "nJaXmtbXv21PDxO",
29
+ "BgvUz3rO",
30
+ "ntzsCw5KD3i",
31
+ "odHSt3f3A20",
32
+ "mteXmJK3nZbTtgLpwfG",
33
+ "mJy4otu2wfDzEff5",
34
+ "Aw5KzxHpzG",
35
+ "Aw5JBhvKzxm",
36
+ "BwfW",
37
+ "ywnJzxb0zwq",
38
+ "owXvteTwAW",
39
+ "mteYndaYnLHcsMD4qW",
40
+ "CMvQzwn0zwq",
41
+ "nZG2mda2qvbtAwPb",
42
+ "mZq5nZLsDwTjDem",
43
+ "mtq1nZu5mM93runzAq"
44
+ ];
45
+ return n = function() {
46
+ return e;
47
+ }, n();
48
+ }
49
+ import { applyDiffDecisions as r, diffWords as i, listDiffChanges as a, resolveDiffSegments as o } from "./diff.js";
50
+ import { useMemo as s, useState as c } from "react";
51
+ var l = {}, u = (e, t) => (e % t + t) % t;
52
+ function d({ changes: n, before: d, after: f, decisions: p, defaultDecisions: m = l, onDecisionsChange: h, advance: g = !0 } = {}) {
53
+ let _ = t, v = s(() => o(n ?? (d != null || f != null ? i(d ?? "", f ?? "") : [])), [
54
+ n,
55
+ d,
56
+ f
57
+ ]), y = s(() => a(v), [v]), b = y[_(284)]((e) => e.id), [x, S] = e(p, m, h), [C, w] = c(null), [T, E] = c(0), D = C != null && b[_(283)](C) ? C : null, O = (e) => b.filter((t) => !e[t]), k = O(x), A = (e) => {
58
+ w(e), E((e) => e + 1);
59
+ }, j = (e, t, n) => {
60
+ let r = _;
61
+ if (!b[r(293)] || !n.length) return;
62
+ let i = e == null ? t > 0 ? -1 : b[r(293)] : b[r(298)](e);
63
+ for (let e = 1; e <= b[r(293)]; e++) {
64
+ let a = b[u(i + t * e, b[r(293)])];
65
+ if (n.includes(a)) return a;
66
+ }
67
+ }, M = (e) => {
68
+ let t = j(D, e, k[_(293)] ? k : b);
69
+ t != null && A(t);
70
+ }, N = (e, t) => {
71
+ let n = { ...x };
72
+ if (t ? n[e] = t : delete n[e], S(n), !t || !g) return;
73
+ let r = j(e, 1, O(n));
74
+ r != null && A(r);
75
+ }, P = (e) => {
76
+ if (!k[_(293)]) return;
77
+ let t = { ...x };
78
+ for (let n of k) t[n] = e;
79
+ S(t);
80
+ };
81
+ return {
82
+ segments: v,
83
+ changes: y,
84
+ decisions: x,
85
+ remaining: k[_(293)],
86
+ total: b.length,
87
+ current: D,
88
+ currentIndex: D == null ? -1 : b[_(298)](D),
89
+ text: r(v, x),
90
+ navToken: T,
91
+ getDecision: (e) => x[e] ?? "pending",
92
+ setCurrent: w,
93
+ goTo: A,
94
+ next: () => M(1),
95
+ prev: () => M(-1),
96
+ decide: N,
97
+ accept: (e = D ?? void 0) => {
98
+ e != null && N(e, "accepted");
99
+ },
100
+ reject: (e = D ?? void 0) => {
101
+ e != null && N(e, _(288));
102
+ },
103
+ acceptAll: () => P(_(285)),
104
+ rejectAll: () => P(_(288)),
105
+ setDecisions: S,
106
+ reset: () => S(l)
107
+ };
108
+ }
109
+ export { d as useDiffReview };