@pstdio/ui 0.5.0 → 0.5.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 (44) hide show
  1. package/dist/{MermaidComponent-DwEDwpo2.js → MermaidComponent-x3aKzNXm.js} +2 -2
  2. package/dist/{MermaidComponent-DwEDwpo2.js.map → MermaidComponent-x3aKzNXm.js.map} +1 -1
  3. package/dist/chat-ui.js +1335 -870
  4. package/dist/chat-ui.js.map +1 -1
  5. package/dist/components/chat-ui/agent-types.d.ts +4 -0
  6. package/dist/components/chat-ui/components/chat-input-question-prompt.d.ts +33 -0
  7. package/dist/components/chat-ui/components/chat-input.d.ts +3 -1
  8. package/dist/components/chat-ui/components/chat-panel-sticky-user-message.d.ts +9 -0
  9. package/dist/components/chat-ui/components/chat-panel.d.ts +3 -1
  10. package/dist/components/chat-ui/components/message-parts-renderer.d.ts +1 -0
  11. package/dist/components/chat-ui/components/timeline-tool-blocks.d.ts +14 -0
  12. package/dist/components/chat-ui/components/timeline.d.ts +22 -0
  13. package/dist/components/chat-ui/components/tool-invocation-timeline.d.ts +2 -1
  14. package/dist/components/chat-ui/index.d.ts +1 -0
  15. package/dist/components/chat-ui/tool-rendering/build-timeline.d.ts +2 -2
  16. package/dist/components/chat-ui/tool-rendering/default-renderers.d.ts +2 -0
  17. package/dist/components/chat-ui/tool-rendering/question-renderer.d.ts +10 -0
  18. package/dist/components/chat-ui/tool-rendering/shared.d.ts +1 -1
  19. package/dist/components/chat-ui/tool-rendering/todowrite-renderer.d.ts +10 -0
  20. package/dist/components/chat-ui/utils/get-icon.d.ts +2 -0
  21. package/dist/components/chat-ui/utils/tool-name.d.ts +2 -0
  22. package/dist/components/radio.d.ts +8 -0
  23. package/dist/components/tickets/ticket-board.d.ts +6 -2
  24. package/dist/components/tickets/ticket-list.d.ts +3 -0
  25. package/dist/components/tickets/tickets-workspace.d.ts +2 -0
  26. package/dist/components/tickets/workspace-helpers.d.ts +6 -1
  27. package/dist/index.d.ts +2 -0
  28. package/dist/index.js +1593 -1524
  29. package/dist/index.js.map +1 -1
  30. package/dist/radio-C42qncrD.js +236 -0
  31. package/dist/radio-C42qncrD.js.map +1 -0
  32. package/dist/{rich-message-BVRk9BSD.js → rich-message-CoXTd5kw.js} +364 -355
  33. package/dist/rich-message-CoXTd5kw.js.map +1 -0
  34. package/dist/rich-text.js +2 -2
  35. package/dist/theme/recipes/button.d.ts +6 -0
  36. package/dist/{theme-D0VvFB1Y.js → theme-BLGUwVOD.js} +7 -1
  37. package/dist/theme-BLGUwVOD.js.map +1 -0
  38. package/dist/theme.js +1 -1
  39. package/package.json +1 -1
  40. package/dist/components/chat-ui/tool-rendering/todo-write-renderer.d.ts +0 -2
  41. package/dist/empty-state-yGspgiPl.js +0 -185
  42. package/dist/empty-state-yGspgiPl.js.map +0 -1
  43. package/dist/rich-message-BVRk9BSD.js.map +0 -1
  44. package/dist/theme-D0VvFB1Y.js.map +0 -1
@@ -0,0 +1,236 @@
1
+ import { jsx as u, jsxs as R } from "react/jsx-runtime";
2
+ import { c as L } from "react/compiler-runtime";
3
+ import { Alert as C, Checkbox as D, Span as E, Box as N, EmptyState as k, VStack as V, RadioGroup as $ } from "@chakra-ui/react";
4
+ import * as I from "react";
5
+ import { DiffModeEnum as T, DiffView as B } from "@git-diff-view/react";
6
+ import "@git-diff-view/react/styles/diff-view.css";
7
+ import { generateDiffFile as z } from "@git-diff-view/file";
8
+ const Q = I.forwardRef(function(t, d) {
9
+ const e = L(19);
10
+ let i, l, n, r, o, s;
11
+ e[0] !== t ? ({
12
+ title: s,
13
+ children: i,
14
+ icon: n,
15
+ startElement: o,
16
+ endElement: l,
17
+ ...r
18
+ } = t, e[0] = t, e[1] = i, e[2] = l, e[3] = n, e[4] = r, e[5] = o, e[6] = s) : (i = e[1], l = e[2], n = e[3], r = e[4], o = e[5], s = e[6]);
19
+ let c;
20
+ e[7] !== n || e[8] !== o ? (c = o || /* @__PURE__ */ u(C.Indicator, { children: n }), e[7] = n, e[8] = o, e[9] = c) : c = e[9];
21
+ let a;
22
+ e[10] !== i || e[11] !== s ? (a = i ? /* @__PURE__ */ R(C.Content, { children: [
23
+ /* @__PURE__ */ u(C.Title, { children: s }),
24
+ /* @__PURE__ */ u(C.Description, { children: i })
25
+ ] }) : /* @__PURE__ */ u(C.Title, { flex: "1", children: s }), e[10] = i, e[11] = s, e[12] = a) : a = e[12];
26
+ let f;
27
+ return e[13] !== l || e[14] !== d || e[15] !== r || e[16] !== c || e[17] !== a ? (f = /* @__PURE__ */ R(C.Root, { ref: d, ...r, children: [
28
+ c,
29
+ a,
30
+ l
31
+ ] }), e[13] = l, e[14] = d, e[15] = r, e[16] = c, e[17] = a, e[18] = f) : f = e[18], f;
32
+ }), Z = I.forwardRef(function(t, d) {
33
+ const e = L(28);
34
+ let i, l, n, r, o, s, c;
35
+ e[0] !== t ? ({
36
+ icon: l,
37
+ children: i,
38
+ inputProps: n,
39
+ rootRef: o,
40
+ disabled: s,
41
+ readOnly: c,
42
+ ...r
43
+ } = t, e[0] = t, e[1] = i, e[2] = l, e[3] = n, e[4] = r, e[5] = o, e[6] = s, e[7] = c) : (i = e[1], l = e[2], n = e[3], r = e[4], o = e[5], s = e[6], c = e[7]);
44
+ const a = s === void 0 ? !1 : s, f = c === void 0 ? !1 : c, m = a ? "not-allowed" : f ? "default" : "pointer";
45
+ let b;
46
+ e[8] !== n || e[9] !== d ? (b = /* @__PURE__ */ u(D.HiddenInput, { ref: d, ...n }), e[8] = n, e[9] = d, e[10] = b) : b = e[10];
47
+ let x;
48
+ e[11] !== l ? (x = l || /* @__PURE__ */ u(D.Indicator, {}), e[11] = l, e[12] = x) : x = e[12];
49
+ let h;
50
+ e[13] !== m || e[14] !== x ? (h = /* @__PURE__ */ u(D.Control, { borderRadius: "xs", cursor: m, children: x }), e[13] = m, e[14] = x, e[15] = h) : h = e[15];
51
+ let g;
52
+ e[16] !== i || e[17] !== m ? (g = i != null && /* @__PURE__ */ u(D.Label, { cursor: m, children: i }), e[16] = i, e[17] = m, e[18] = g) : g = e[18];
53
+ let y;
54
+ return e[19] !== a || e[20] !== m || e[21] !== f || e[22] !== r || e[23] !== o || e[24] !== b || e[25] !== h || e[26] !== g ? (y = /* @__PURE__ */ R(D.Root, { ref: o, disabled: a, readOnly: f, cursor: m, ...r, children: [
55
+ b,
56
+ h,
57
+ g
58
+ ] }), e[19] = a, e[20] = m, e[21] = f, e[22] = r, e[23] = o, e[24] = b, e[25] = h, e[26] = g, e[27] = y) : y = e[27], y;
59
+ }), ee = (p) => {
60
+ const t = L(20), {
61
+ fileName: d,
62
+ additions: e,
63
+ deletions: i,
64
+ label: l,
65
+ variant: n,
66
+ size: r,
67
+ onClick: o,
68
+ onClickFileLink: s
69
+ } = p, c = n === void 0 ? "outline" : n, f = (r === void 0 ? "default" : r) === "small", m = c === "outline" ? "1px solid" : "none", b = c === "outline" ? f ? "3xs" : "2xs" : "2px", x = f ? "label/S/regular" : void 0, h = o ? "pointer" : "default", g = o ? "bg.muted" : "none";
70
+ let y;
71
+ t[0] !== g ? (y = {
72
+ background: g
73
+ }, t[0] = g, t[1] = y) : y = t[1];
74
+ let v;
75
+ t[2] !== d || t[3] !== s ? (v = d && /* @__PURE__ */ u(E, { display: "inline-block", maxW: "24ch", truncate: !0, mr: "xs", title: d, onClick: (j) => {
76
+ j.stopPropagation(), s?.();
77
+ }, cursor: s ? "pointer" : "default", _hover: {
78
+ textDecoration: s ? "underline" : "none",
79
+ color: s ? "fg.blue-dark" : "fg.muted"
80
+ }, children: d }), t[2] = d, t[3] = s, t[4] = v) : v = t[4];
81
+ const _ = `+${e}`;
82
+ let w;
83
+ t[5] !== _ ? (w = /* @__PURE__ */ u(E, { color: "fg.success", children: _ }), t[5] = _, t[6] = w) : w = t[6];
84
+ const F = `-${i}`;
85
+ let S;
86
+ t[7] !== F ? (S = /* @__PURE__ */ u(E, { color: "fg.error", children: F }), t[7] = F, t[8] = S) : S = t[8];
87
+ let A;
88
+ return t[9] !== l || t[10] !== o || t[11] !== w || t[12] !== S || t[13] !== m || t[14] !== b || t[15] !== x || t[16] !== h || t[17] !== y || t[18] !== v ? (A = /* @__PURE__ */ R(E, { display: "inline-flex", alignItems: "center", gap: "2xs", border: m, borderColor: "border.muted", color: "fg.muted", paddingX: b, paddingY: "1px", borderRadius: "xs", textStyle: x, cursor: h, onClick: o, _hover: y, children: [
89
+ l,
90
+ v,
91
+ w,
92
+ S
93
+ ] }), t[9] = l, t[10] = o, t[11] = w, t[12] = S, t[13] = m, t[14] = b, t[15] = x, t[16] = h, t[17] = y, t[18] = v, t[19] = A) : A = t[19], A;
94
+ }, H = "before.txt", W = "after.txt", G = {
95
+ ts: "typescript",
96
+ tsx: "typescript",
97
+ js: "javascript",
98
+ jsx: "javascript",
99
+ json: "json",
100
+ md: "markdown",
101
+ py: "python",
102
+ go: "go",
103
+ rs: "rust",
104
+ css: "css",
105
+ html: "html",
106
+ sh: "shell",
107
+ yml: "yaml",
108
+ yaml: "yaml"
109
+ }, M = (p) => (p.split(/[\\/]/).pop() ?? p).split(".").pop()?.toLowerCase(), O = ({
110
+ language: p,
111
+ oldPath: t,
112
+ newPath: d
113
+ }) => {
114
+ if (p)
115
+ return p;
116
+ const e = M(d ?? t ?? "");
117
+ return e ? G[e] ?? "plaintext" : "plaintext";
118
+ }, P = ({
119
+ original: p,
120
+ modified: t,
121
+ language: d,
122
+ oldPath: e,
123
+ newPath: i
124
+ }) => {
125
+ const l = e ?? i ?? H, n = i ?? e ?? W, r = O({
126
+ language: d,
127
+ oldPath: e,
128
+ newPath: i
129
+ }), o = z(l, p, n, t, r, r, {
130
+ context: 3
131
+ }, "pstdio-diff-view");
132
+ return {
133
+ oldFile: {
134
+ fileName: l,
135
+ fileLang: r,
136
+ content: p
137
+ },
138
+ newFile: {
139
+ fileName: n,
140
+ fileLang: r,
141
+ content: t
142
+ },
143
+ hunks: o._diffList
144
+ };
145
+ };
146
+ function te(p) {
147
+ const t = L(13), {
148
+ original: d,
149
+ modified: e,
150
+ language: i,
151
+ oldPath: l,
152
+ newPath: n,
153
+ sideBySide: r,
154
+ disableScroll: o
155
+ } = p, s = r === void 0 ? !1 : r, c = o === void 0 ? !0 : o;
156
+ let a;
157
+ t[0] !== i || t[1] !== e || t[2] !== n || t[3] !== l || t[4] !== d ? (a = P({
158
+ original: d,
159
+ modified: e,
160
+ language: i,
161
+ oldPath: l,
162
+ newPath: n
163
+ }), t[0] = i, t[1] = e, t[2] = n, t[3] = l, t[4] = d, t[5] = a) : a = t[5];
164
+ const f = a, m = s ? T.Split : T.Unified, b = c ? "hidden" : "auto";
165
+ let x;
166
+ t[6] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (x = {
167
+ "& .gdv-root": {
168
+ border: "none",
169
+ borderRadius: "0"
170
+ },
171
+ "& .gdv-line-number": {
172
+ fontSize: "11px"
173
+ }
174
+ }, t[6] = x) : x = t[6];
175
+ let h;
176
+ t[7] !== f || t[8] !== m ? (h = /* @__PURE__ */ u(B, { data: f, diffViewMode: m, diffViewTheme: "dark", diffViewHighlight: !0, diffViewWrap: !0, diffViewFontSize: 11 }), t[7] = f, t[8] = m, t[9] = h) : h = t[9];
177
+ let g;
178
+ return t[10] !== b || t[11] !== h ? (g = /* @__PURE__ */ u(N, { height: "100%", width: "100%", overflow: b, css: x, children: h }), t[10] = b, t[11] = h, t[12] = g) : g = t[12], g;
179
+ }
180
+ const ie = I.forwardRef(function(t, d) {
181
+ const e = L(19);
182
+ let i, l, n, r, o;
183
+ e[0] !== t ? ({
184
+ title: o,
185
+ description: l,
186
+ icon: n,
187
+ children: i,
188
+ ...r
189
+ } = t, e[0] = t, e[1] = i, e[2] = l, e[3] = n, e[4] = r, e[5] = o) : (i = e[1], l = e[2], n = e[3], r = e[4], o = e[5]);
190
+ let s;
191
+ e[6] !== n ? (s = n && /* @__PURE__ */ u(k.Indicator, { children: n }), e[6] = n, e[7] = s) : s = e[7];
192
+ let c;
193
+ e[8] !== l || e[9] !== o ? (c = l ? /* @__PURE__ */ R(V, { textAlign: "center", children: [
194
+ /* @__PURE__ */ u(k.Title, { fontWeight: "normal", children: o }),
195
+ /* @__PURE__ */ u(k.Description, { children: l })
196
+ ] }) : /* @__PURE__ */ u(k.Title, { fontWeight: "normal", children: o }), e[8] = l, e[9] = o, e[10] = c) : c = e[10];
197
+ let a;
198
+ e[11] !== i || e[12] !== s || e[13] !== c ? (a = /* @__PURE__ */ R(k.Content, { children: [
199
+ s,
200
+ c,
201
+ i
202
+ ] }), e[11] = i, e[12] = s, e[13] = c, e[14] = a) : a = e[14];
203
+ let f;
204
+ return e[15] !== d || e[16] !== r || e[17] !== a ? (f = /* @__PURE__ */ u(k.Root, { ref: d, ...r, children: a }), e[15] = d, e[16] = r, e[17] = a, e[18] = f) : f = e[18], f;
205
+ }), le = I.forwardRef(function(t, d) {
206
+ const e = L(16);
207
+ let i, l, n, r;
208
+ e[0] !== t ? ({
209
+ children: i,
210
+ inputProps: l,
211
+ rootRef: r,
212
+ ...n
213
+ } = t, e[0] = t, e[1] = i, e[2] = l, e[3] = n, e[4] = r) : (i = e[1], l = e[2], n = e[3], r = e[4]);
214
+ let o;
215
+ e[5] !== l || e[6] !== d ? (o = /* @__PURE__ */ u($.ItemHiddenInput, { ref: d, ...l }), e[5] = l, e[6] = d, e[7] = o) : o = e[7];
216
+ let s;
217
+ e[8] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (s = /* @__PURE__ */ u($.ItemIndicator, {}), e[8] = s) : s = e[8];
218
+ let c;
219
+ e[9] !== i ? (c = i ? /* @__PURE__ */ u($.ItemText, { children: i }) : null, e[9] = i, e[10] = c) : c = e[10];
220
+ let a;
221
+ return e[11] !== n || e[12] !== r || e[13] !== o || e[14] !== c ? (a = /* @__PURE__ */ R($.Item, { ref: r, ...n, children: [
222
+ o,
223
+ s,
224
+ c
225
+ ] }), e[11] = n, e[12] = r, e[13] = o, e[14] = c, e[15] = a) : a = e[15], a;
226
+ }), oe = $.Root;
227
+ export {
228
+ Q as A,
229
+ Z as C,
230
+ te as D,
231
+ ie as E,
232
+ le as R,
233
+ oe as a,
234
+ ee as b
235
+ };
236
+ //# sourceMappingURL=radio-C42qncrD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-C42qncrD.js","sources":["../src/components/alert.tsx","../src/components/checkbox.tsx","../src/components/diff-bubble.tsx","../src/components/diff-view-adapter.ts","../src/components/diff-editor.tsx","../src/components/empty-state.tsx","../src/components/radio.tsx"],"sourcesContent":["import { Alert as ChakraAlert } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\nexport interface AlertProps extends Omit<ChakraAlert.RootProps, \"title\"> {\n startElement?: React.ReactNode;\n endElement?: React.ReactNode;\n title?: React.ReactNode;\n icon?: React.ReactElement;\n}\n\nexport const AlertMessage = React.forwardRef<HTMLDivElement, AlertProps>(function Alert(props, ref) {\n const { title, children, icon, startElement, endElement, ...rest } = props;\n return (\n <ChakraAlert.Root ref={ref} {...rest}>\n {startElement || <ChakraAlert.Indicator>{icon}</ChakraAlert.Indicator>}\n {children ? (\n <ChakraAlert.Content>\n <ChakraAlert.Title>{title}</ChakraAlert.Title>\n <ChakraAlert.Description>{children}</ChakraAlert.Description>\n </ChakraAlert.Content>\n ) : (\n <ChakraAlert.Title flex=\"1\">{title}</ChakraAlert.Title>\n )}\n {endElement}\n </ChakraAlert.Root>\n );\n});\n","import { Checkbox as ChakraCheckbox } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\nexport interface CheckboxProps extends ChakraCheckbox.RootProps {\n icon?: React.ReactNode;\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n rootRef?: React.RefObject<HTMLLabelElement | null>;\n}\n\nexport const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(function Checkbox(props, ref) {\n const { icon, children, inputProps, rootRef, disabled = false, readOnly = false, ...rest } = props;\n const interactiveCursor = disabled ? \"not-allowed\" : readOnly ? \"default\" : \"pointer\";\n\n return (\n <ChakraCheckbox.Root ref={rootRef} disabled={disabled} readOnly={readOnly} cursor={interactiveCursor} {...rest}>\n <ChakraCheckbox.HiddenInput ref={ref} {...inputProps} />\n <ChakraCheckbox.Control borderRadius=\"xs\" cursor={interactiveCursor}>\n {icon || <ChakraCheckbox.Indicator />}\n </ChakraCheckbox.Control>\n {children != null && <ChakraCheckbox.Label cursor={interactiveCursor}>{children}</ChakraCheckbox.Label>}\n </ChakraCheckbox.Root>\n );\n});\n","import { Span } from \"@chakra-ui/react\";\nimport type React from \"react\";\nimport type { ComponentProps, MouseEvent } from \"react\";\n\ninterface DiffBubbleProps extends Omit<ComponentProps<typeof Span>, \"onClick\"> {\n fileName?: string;\n additions: number;\n deletions: number;\n label?: React.ReactNode;\n variant?: \"outline\" | \"ghost\";\n size?: \"default\" | \"small\";\n onClick?: (event: MouseEvent<HTMLSpanElement>) => void;\n onClickFileLink?: () => void;\n}\n\nexport const DiffBubble = (props: DiffBubbleProps) => {\n const {\n fileName,\n additions,\n deletions,\n label,\n variant = \"outline\",\n size = \"default\",\n onClick,\n onClickFileLink,\n } = props;\n\n const isSmall = size === \"small\";\n\n return (\n <Span\n display=\"inline-flex\"\n alignItems=\"center\"\n gap={\"2xs\"}\n border={variant === \"outline\" ? \"1px solid\" : \"none\"}\n borderColor=\"border.muted\"\n color=\"fg.muted\"\n paddingX={variant === \"outline\" ? (isSmall ? \"3xs\" : \"2xs\") : \"2px\"}\n paddingY=\"1px\"\n borderRadius=\"xs\"\n textStyle={isSmall ? \"label/S/regular\" : undefined}\n cursor={onClick ? \"pointer\" : \"default\"}\n onClick={onClick}\n _hover={{\n background: onClick ? \"bg.muted\" : \"none\",\n }}\n >\n {label}\n {fileName && (\n <Span\n display=\"inline-block\"\n maxW=\"24ch\"\n truncate\n mr=\"xs\"\n title={fileName}\n onClick={(e) => {\n e.stopPropagation();\n onClickFileLink?.();\n }}\n cursor={onClickFileLink ? \"pointer\" : \"default\"}\n _hover={{\n textDecoration: onClickFileLink ? \"underline\" : \"none\",\n color: onClickFileLink ? \"fg.blue-dark\" : \"fg.muted\",\n }}\n >\n {fileName}\n </Span>\n )}\n <Span color=\"fg.success\">{`+${additions}`}</Span>\n <Span color=\"fg.error\">{`-${deletions}`}</Span>\n </Span>\n );\n};\n","import { generateDiffFile } from \"@git-diff-view/file\";\nimport type { DiffViewProps } from \"@git-diff-view/react\";\n\nconst FALLBACK_OLD_PATH = \"before.txt\";\nconst FALLBACK_NEW_PATH = \"after.txt\";\n\ninterface ResolveDiffLanguageInput {\n language?: string;\n oldPath?: string;\n newPath?: string;\n}\n\ninterface BuildDiffViewDataInput extends ResolveDiffLanguageInput {\n original: string;\n modified: string;\n}\n\ntype DiffViewData = NonNullable<DiffViewProps<unknown>[\"data\"]>;\n\nconst extToLanguage: Record<string, string> = {\n ts: \"typescript\",\n tsx: \"typescript\",\n js: \"javascript\",\n jsx: \"javascript\",\n json: \"json\",\n md: \"markdown\",\n py: \"python\",\n go: \"go\",\n rs: \"rust\",\n css: \"css\",\n html: \"html\",\n sh: \"shell\",\n yml: \"yaml\",\n yaml: \"yaml\",\n};\n\nconst getExtension = (path: string) => {\n const fileName = path.split(/[\\\\/]/).pop() ?? path;\n const ext = fileName.split(\".\").pop();\n\n return ext?.toLowerCase();\n};\n\nexport const resolveDiffLanguage = ({ language, oldPath, newPath }: ResolveDiffLanguageInput) => {\n if (language) {\n return language;\n }\n\n const extension = getExtension(newPath ?? oldPath ?? \"\");\n\n if (!extension) {\n return \"plaintext\";\n }\n\n return extToLanguage[extension] ?? \"plaintext\";\n};\n\nexport const buildDiffViewData = ({\n original,\n modified,\n language,\n oldPath,\n newPath,\n}: BuildDiffViewDataInput): DiffViewData => {\n const oldFileName = oldPath ?? newPath ?? FALLBACK_OLD_PATH;\n const newFileName = newPath ?? oldPath ?? FALLBACK_NEW_PATH;\n const fileLanguage = resolveDiffLanguage({ language, oldPath, newPath });\n\n const diffFile = generateDiffFile(\n oldFileName,\n original,\n newFileName,\n modified,\n fileLanguage,\n fileLanguage,\n { context: 3 },\n \"pstdio-diff-view\",\n );\n\n return {\n oldFile: {\n fileName: oldFileName,\n fileLang: fileLanguage,\n content: original,\n },\n newFile: {\n fileName: newFileName,\n fileLang: fileLanguage,\n content: modified,\n },\n hunks: diffFile._diffList,\n };\n};\n","import { DiffModeEnum, DiffView } from \"@git-diff-view/react\";\nimport \"@git-diff-view/react/styles/diff-view.css\";\nimport { Box } from \"@chakra-ui/react\";\nimport { buildDiffViewData } from \"./diff-view-adapter\";\n\ninterface DiffEditorProps {\n original: string;\n modified: string;\n language?: string;\n oldPath?: string;\n newPath?: string;\n sideBySide?: boolean;\n disableScroll?: boolean;\n}\n\nexport function DiffEditor(props: DiffEditorProps) {\n const { original, modified, language, oldPath, newPath, sideBySide = false, disableScroll = true } = props;\n\n const data = buildDiffViewData({\n original,\n modified,\n language,\n oldPath,\n newPath,\n });\n\n const mode = sideBySide ? DiffModeEnum.Split : DiffModeEnum.Unified;\n\n return (\n <Box\n height=\"100%\"\n width=\"100%\"\n overflow={disableScroll ? \"hidden\" : \"auto\"}\n css={{\n \"& .gdv-root\": {\n border: \"none\",\n borderRadius: \"0\",\n },\n \"& .gdv-line-number\": {\n fontSize: \"11px\",\n },\n }}\n >\n <DiffView\n data={data}\n diffViewMode={mode}\n diffViewTheme=\"dark\"\n diffViewHighlight={true}\n diffViewWrap={true}\n diffViewFontSize={11}\n />\n </Box>\n );\n}\n","import { EmptyState as ChakraEmptyState, VStack } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\nexport interface EmptyStateProps extends ChakraEmptyState.RootProps {\n title: string;\n description?: string;\n icon?: React.ReactNode;\n}\n\nexport const EmptyState = React.forwardRef<HTMLDivElement, EmptyStateProps>(function EmptyState(props, ref) {\n const { title, description, icon, children, ...rest } = props;\n return (\n <ChakraEmptyState.Root ref={ref} {...rest}>\n <ChakraEmptyState.Content>\n {icon && <ChakraEmptyState.Indicator>{icon}</ChakraEmptyState.Indicator>}\n {description ? (\n <VStack textAlign=\"center\">\n <ChakraEmptyState.Title fontWeight=\"normal\">{title}</ChakraEmptyState.Title>\n <ChakraEmptyState.Description>{description}</ChakraEmptyState.Description>\n </VStack>\n ) : (\n <ChakraEmptyState.Title fontWeight=\"normal\">{title}</ChakraEmptyState.Title>\n )}\n {children}\n </ChakraEmptyState.Content>\n </ChakraEmptyState.Root>\n );\n});\n","import { RadioGroup as ChakraRadioGroup } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\nexport interface RadioProps extends ChakraRadioGroup.ItemProps {\n rootRef?: React.RefObject<HTMLDivElement | null>;\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n}\n\nexport const Radio = React.forwardRef<HTMLInputElement, RadioProps>(function Radio(props, ref) {\n const { children, inputProps, rootRef, ...rest } = props;\n\n return (\n <ChakraRadioGroup.Item ref={rootRef} {...rest}>\n <ChakraRadioGroup.ItemHiddenInput ref={ref} {...inputProps} />\n <ChakraRadioGroup.ItemIndicator />\n {children ? <ChakraRadioGroup.ItemText>{children}</ChakraRadioGroup.ItemText> : null}\n </ChakraRadioGroup.Item>\n );\n});\n\nexport const RadioGroup = ChakraRadioGroup.Root;\n"],"names":["AlertMessage","React","forwardRef","props","ref","$","_c","children","endElement","icon","rest","startElement","title","t0","jsx","ChakraAlert","t1","jsxs","t2","Checkbox","inputProps","rootRef","disabled","readOnly","undefined","interactiveCursor","t3","ChakraCheckbox","t4","t5","t6","DiffBubble","fileName","additions","deletions","label","variant","size","onClick","onClickFileLink","isSmall","t7","background","t8","Span","e","stopPropagation","textDecoration","color","t9","t10","t11","t12","t13","FALLBACK_OLD_PATH","FALLBACK_NEW_PATH","extToLanguage","ts","tsx","js","json","md","py","go","rs","css","html","sh","yml","yaml","getExtension","path","split","pop","toLowerCase","resolveDiffLanguage","language","oldPath","newPath","extension","buildDiffViewData","original","modified","oldFileName","newFileName","fileLanguage","diffFile","generateDiffFile","context","oldFile","fileLang","content","newFile","hunks","_diffList","DiffEditor","sideBySide","disableScroll","data","mode","DiffModeEnum","Split","Unified","Symbol","for","border","borderRadius","fontSize","DiffView","Box","EmptyState","description","ChakraEmptyState","VStack","Radio","ChakraRadioGroup","RadioGroup","Root"],"mappings":"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"}