@pstdio/ui 0.13.0 → 0.15.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 (79) hide show
  1. package/dist/MermaidComponent-DBJsTOmj.js +60 -0
  2. package/dist/MermaidComponent-DBJsTOmj.js.map +1 -0
  3. package/dist/chat-ui.js +1222 -1147
  4. package/dist/chat-ui.js.map +1 -1
  5. package/dist/components/bubble-button.d.ts +1 -1
  6. package/dist/components/chat-ui/components/chat-input-attachments.d.ts +12 -0
  7. package/dist/components/chat-ui/components/chat-input.d.ts +3 -0
  8. package/dist/components/chat-ui/components/chat-panel.d.ts +2 -0
  9. package/dist/components/chat-ui/components/message-parts-renderer.d.ts +1 -1
  10. package/dist/components/chat-ui/components/message-types.d.ts +90 -3
  11. package/dist/components/chat-ui/index.d.ts +2 -2
  12. package/dist/components/chat-ui/mocks/library/index.d.ts +2 -2
  13. package/dist/components/chat-ui/performance/chat-performance-fixtures.d.ts +1 -1
  14. package/dist/components/chat-ui/performance/chat-performance-story-utils.d.ts +1 -1
  15. package/dist/components/chat-ui/tool-rendering/build-timeline.d.ts +3 -3
  16. package/dist/components/chat-ui/tool-rendering/question-renderer.d.ts +1 -1
  17. package/dist/components/chat-ui/tool-rendering/shared.d.ts +2 -2
  18. package/dist/components/chat-ui/tool-rendering/todowrite-renderer.d.ts +1 -1
  19. package/dist/components/chat-ui/tool-rendering/types.d.ts +1 -1
  20. package/dist/components/data-renderer/data-renderer-board-column-header.d.ts +8 -0
  21. package/dist/components/data-renderer/data-renderer-board-group-section.d.ts +17 -0
  22. package/dist/components/data-renderer/data-renderer-board-move.d.ts +21 -0
  23. package/dist/components/data-renderer/data-renderer-board.d.ts +3 -2
  24. package/dist/components/data-renderer/data-renderer-content.d.ts +7 -2
  25. package/dist/components/data-renderer/data-renderer-enum-helpers.d.ts +3 -3
  26. package/dist/components/data-renderer/data-renderer-helpers.d.ts +2 -0
  27. package/dist/components/data-renderer/data-renderer.d.ts +2 -2
  28. package/dist/components/diff-viewer/diff-card-body.d.ts +16 -0
  29. package/dist/components/diff-viewer/diff-card.d.ts +1 -0
  30. package/dist/components/diff-viewer/diff-size.d.ts +1 -1
  31. package/dist/components/diff-viewer/diff-viewer-options-menu.d.ts +16 -0
  32. package/dist/components/icon-color-picker.d.ts +2 -6
  33. package/dist/components/list-row/list-row.types.d.ts +1 -1
  34. package/dist/components/mermaid-renderer/download-png.d.ts +7 -0
  35. package/dist/components/mermaid-renderer/index.d.ts +2 -0
  36. package/dist/components/mermaid-renderer/mermaid-error-state.d.ts +6 -0
  37. package/dist/components/mermaid-renderer/mermaid-fixtures.d.ts +9 -0
  38. package/dist/components/mermaid-renderer/mermaid-fullscreen.d.ts +10 -0
  39. package/dist/components/mermaid-renderer/mermaid-renderer.d.ts +8 -0
  40. package/dist/components/mermaid-renderer/mermaid-svg-view.d.ts +12 -0
  41. package/dist/components/mermaid-renderer/mermaid-toolbar.d.ts +12 -0
  42. package/dist/components/mermaid-renderer/mermaid-zoom.d.ts +6 -0
  43. package/dist/components/mermaid-renderer/svg-data-url.d.ts +6 -0
  44. package/dist/components/mermaid-renderer/use-mermaid-render.d.ts +5 -0
  45. package/dist/components/notification-center/index.d.ts +2 -0
  46. package/dist/components/notification-center/notification-center.d.ts +2 -0
  47. package/dist/components/notification-center/notification-center.types.d.ts +37 -0
  48. package/dist/components/palette-shortcut.d.ts +8 -0
  49. package/dist/components/search-modal-content.d.ts +20 -0
  50. package/dist/components/style-guide-data.d.ts +0 -6
  51. package/dist/components/tab-strip/tab-visibility-filter.d.ts +4 -2
  52. package/dist/components/tree-list/tree-list-visibility-filter.d.ts +11 -3
  53. package/dist/components/tree-list/tree-list.types.d.ts +7 -2
  54. package/dist/index.d.ts +9 -2
  55. package/dist/index.js +4641 -4326
  56. package/dist/index.js.map +1 -1
  57. package/dist/mermaid-renderer-CPGj6vsb.js +570 -0
  58. package/dist/mermaid-renderer-CPGj6vsb.js.map +1 -0
  59. package/dist/resource-badge-CeJTOn8F.js +188 -0
  60. package/dist/resource-badge-CeJTOn8F.js.map +1 -0
  61. package/dist/{rich-message-CEOSsdR2.js → rich-message-DNSEhxXh.js} +431 -519
  62. package/dist/rich-message-DNSEhxXh.js.map +1 -0
  63. package/dist/rich-text.js +405 -399
  64. package/dist/rich-text.js.map +1 -1
  65. package/dist/style.css +1 -1
  66. package/dist/theme/shadowless-default-config.d.ts +2 -0
  67. package/dist/{theme-D2LYEa0j.js → theme-25P7ij4C.js} +211 -241
  68. package/dist/theme-25P7ij4C.js.map +1 -0
  69. package/dist/theme.js +1 -1
  70. package/package.json +3 -2
  71. package/dist/MermaidComponent-Cz_Iob5U.js +0 -127
  72. package/dist/MermaidComponent-Cz_Iob5U.js.map +0 -1
  73. package/dist/components/chat-ui/agent-types.d.ts +0 -220
  74. package/dist/components/sidebar/sidebar-project-menu.d.ts +0 -7
  75. package/dist/get-file-type-icon-ufFb0IkR.js +0 -102
  76. package/dist/get-file-type-icon-ufFb0IkR.js.map +0 -1
  77. package/dist/rich-message-CEOSsdR2.js.map +0 -1
  78. package/dist/theme/tokens/shadows.d.ts +0 -64
  79. package/dist/theme-D2LYEa0j.js.map +0 -1
@@ -1,220 +0,0 @@
1
- export type AgentId = "opencode" | "claude-code";
2
- export type SessionMessageRole = "user" | "assistant" | "tool" | "system" | "developer";
3
- export type TextPart = {
4
- type: "text";
5
- text: string;
6
- };
7
- export type ReasoningPart = {
8
- type: "reasoning";
9
- text: string;
10
- };
11
- export type ToolPartActionType = "read" | "write" | "execute" | "network" | "other";
12
- export type ToolPartStatus = "pending" | "running" | "completed" | "failed" | "denied";
13
- export type ToolPart = {
14
- type: "tool";
15
- tool: string;
16
- callId?: string;
17
- actionType?: ToolPartActionType;
18
- status?: ToolPartStatus;
19
- state?: {
20
- status?: string;
21
- input?: unknown;
22
- output?: unknown;
23
- errorText?: string;
24
- metadata?: unknown;
25
- };
26
- };
27
- export type StepStartPart = {
28
- type: "step-start";
29
- snapshot?: string;
30
- };
31
- export type StepFinishPart = {
32
- type: "step-finish";
33
- reason?: string;
34
- snapshot?: string;
35
- cost?: number;
36
- tokens?: unknown;
37
- };
38
- export type PatchPart = {
39
- type: "patch";
40
- hash?: string;
41
- files?: unknown;
42
- };
43
- export type FilePart = {
44
- type: "file";
45
- mediaType?: string;
46
- filename?: string;
47
- url: string;
48
- };
49
- export type LoadingPart = {
50
- type: "loading";
51
- };
52
- export type ErrorPart = {
53
- type: "error";
54
- errorType: "timeout" | "crash" | "permission" | "other";
55
- message?: string;
56
- };
57
- export type TokenUsagePart = {
58
- type: "token_usage";
59
- inputTokens: number;
60
- outputTokens: number;
61
- cacheReadTokens?: number;
62
- cacheWriteTokens?: number;
63
- };
64
- export type AlertPart = {
65
- type: "alert";
66
- status: "info" | "warning" | "error" | "success" | "loading";
67
- title: string;
68
- message?: string;
69
- };
70
- export type SessionMessagePart = TextPart | ReasoningPart | ToolPart | StepStartPart | StepFinishPart | PatchPart | FilePart | LoadingPart | ErrorPart | TokenUsagePart | AlertPart;
71
- export type SessionMessage = {
72
- id: string;
73
- role: SessionMessageRole;
74
- parts: SessionMessagePart[];
75
- index?: number;
76
- createdAt?: number;
77
- modelId?: string;
78
- providerId?: string;
79
- tokens?: {
80
- input?: number;
81
- output?: number;
82
- reasoning?: number;
83
- cache?: {
84
- read?: number;
85
- write?: number;
86
- };
87
- };
88
- };
89
- export type SessionStartInput = {
90
- prompt: string;
91
- title?: string;
92
- model?: string | null;
93
- cwd?: string;
94
- eventStore?: EventStore;
95
- };
96
- export type SessionStartResult = {
97
- sessionId: string;
98
- process?: SpawnedProcess;
99
- };
100
- export type SessionMessageInput = {
101
- sessionId: string;
102
- prompt: string;
103
- model?: string | null;
104
- cwd?: string;
105
- messageOffset?: number;
106
- questionResponse?: QuestionResponse;
107
- };
108
- export type QuestionResponse = {
109
- answers: string[][];
110
- };
111
- export type SessionMessagesInput = {
112
- cwd?: string | null;
113
- };
114
- export type AvailabilityInfo = {
115
- type: "INSTALLED" | "NOT_FOUND";
116
- };
117
- export type AgentModel = {
118
- id: string;
119
- };
120
- export type AgentCapability = "SessionFork" | "ContextUsage" | "Approvals";
121
- export type SessionListEntry = {
122
- id: string;
123
- title: string;
124
- directory: string;
125
- updatedAt: string;
126
- };
127
- export type SessionExport = {
128
- session: SessionListEntry;
129
- messages: SessionMessage[];
130
- };
131
- export type LaunchInput = {
132
- prompt: string;
133
- title?: string;
134
- model?: string | null;
135
- cwd?: string;
136
- };
137
- export type LaunchResult = {
138
- pid?: number;
139
- sessionId?: string;
140
- };
141
- export type RawLogEvent = {
142
- type: "stdout";
143
- data: string;
144
- } | {
145
- type: "stderr";
146
- data: string;
147
- } | {
148
- type: "session_id";
149
- sessionId: string;
150
- } | {
151
- type: "message_id";
152
- messageId: string;
153
- } | {
154
- type: "ready";
155
- } | {
156
- type: "finished";
157
- };
158
- export type JsonPatch = {
159
- op: "add" | "replace" | "remove";
160
- path: string;
161
- value?: unknown;
162
- };
163
- export type EventStore = {
164
- push(patch: JsonPatch): void;
165
- getHistory(): JsonPatch[];
166
- subscribe(): AsyncIterable<JsonPatch>;
167
- historyPlusStream(): AsyncIterable<JsonPatch>;
168
- snapshotAndSubscribe(): {
169
- history: JsonPatch[];
170
- stream: AsyncIterable<JsonPatch>;
171
- };
172
- };
173
- export type SpawnedProcess = {
174
- sessionId: string;
175
- stdin: import('node:stream').Writable;
176
- kill(): void;
177
- onExit: Promise<{
178
- code: number | null;
179
- signal: string | null;
180
- }>;
181
- };
182
- export type ResumeResult = {
183
- process?: SpawnedProcess;
184
- };
185
- export type ApprovalRequest = {
186
- id: string;
187
- toolName: string;
188
- toolInput: unknown;
189
- toolUseId: string;
190
- };
191
- export type ApprovalResponse = {
192
- id: string;
193
- decision: "approve" | "deny" | "timeout";
194
- };
195
- export type ApprovalService = {
196
- requestApproval(request: ApprovalRequest): Promise<ApprovalResponse>;
197
- handleResponse(response: ApprovalResponse): void;
198
- dispose(): void;
199
- };
200
- export type AgentService = {
201
- id: AgentId;
202
- name: string;
203
- capabilities(): AgentCapability[];
204
- checkAvailability(): AvailabilityInfo;
205
- listModels(): AgentModel[];
206
- startSession(input: SessionStartInput): Promise<SessionStartResult>;
207
- resumeSession(input: SessionMessageInput, eventStore: EventStore, approvalService?: ApprovalService): Promise<ResumeResult>;
208
- getMessages(sessionId: string, input?: SessionMessagesInput): Promise<SessionMessage[]>;
209
- listSessions(input?: {
210
- cwd?: string;
211
- }): Promise<SessionListEntry[]>;
212
- exportSession(sessionId: string): Promise<SessionExport>;
213
- launchSession(input: LaunchInput): Promise<LaunchResult>;
214
- setSessionTitle?(sessionId: string, title: string): Promise<void>;
215
- };
216
- export type AgentRegistry = {
217
- get(id: AgentId): AgentService | null;
218
- list(): AgentService[];
219
- checkAll(): Record<AgentId, AvailabilityInfo>;
220
- };
@@ -1,7 +0,0 @@
1
- interface SidebarProjectMenuProps {
2
- name: string;
3
- projectsLabel: string;
4
- onSelectProjects: () => void;
5
- }
6
- export declare const SidebarProjectMenu: (props: SidebarProjectMenuProps) => import("react/jsx-runtime").JSX.Element;
7
- export {};
@@ -1,102 +0,0 @@
1
- import { jsx as g, jsxs as $ } from "react/jsx-runtime";
2
- import { c as q } from "react/compiler-runtime";
3
- import { Tooltip as F, Portal as D, ScrollArea as R } from "@chakra-ui/react";
4
- import * as V from "react";
5
- import { FileSpreadsheet as E, FileCode as H, FileChartLine as I, FileJson as L, FileText as _, FileCog as k, FileImage as J, FileArchive as W, File as B } from "lucide-react";
6
- const U = V.forwardRef(function(t, v) {
7
- const e = q(26);
8
- let l, r, i, d, s, a, f, u;
9
- e[0] !== t ? ({
10
- showArrow: f,
11
- children: l,
12
- disabled: d,
13
- portalled: u,
14
- content: r,
15
- contentProps: i,
16
- portalRef: s,
17
- ...a
18
- } = t, e[0] = t, e[1] = l, e[2] = r, e[3] = i, e[4] = d, e[5] = s, e[6] = a, e[7] = f, e[8] = u) : (l = e[1], r = e[2], i = e[3], d = e[4], s = e[5], a = e[6], f = e[7], u = e[8]);
19
- const x = u === void 0 ? !0 : u;
20
- if (d || K(r))
21
- return l;
22
- let n;
23
- e[9] !== l ? (n = /* @__PURE__ */ g(F.Trigger, { asChild: !0, children: l }), e[9] = l, e[10] = n) : n = e[10];
24
- const h = !x;
25
- let p;
26
- e[11] !== f ? (p = f && /* @__PURE__ */ g(F.Arrow, { children: /* @__PURE__ */ g(F.ArrowTip, {}) }), e[11] = f, e[12] = p) : p = e[12];
27
- let o;
28
- e[13] !== r || e[14] !== i || e[15] !== v || e[16] !== p ? (o = /* @__PURE__ */ g(F.Positioner, { children: /* @__PURE__ */ $(F.Content, { ref: v, ...i, children: [
29
- p,
30
- r
31
- ] }) }), e[13] = r, e[14] = i, e[15] = v, e[16] = p, e[17] = o) : o = e[17];
32
- let m;
33
- e[18] !== s || e[19] !== h || e[20] !== o ? (m = /* @__PURE__ */ g(D, { disabled: h, container: s, children: o }), e[18] = s, e[19] = h, e[20] = o, e[21] = m) : m = e[21];
34
- let w;
35
- return e[22] !== a || e[23] !== n || e[24] !== m ? (w = /* @__PURE__ */ $(F.Root, { openDelay: 100, closeDelay: 100, ...a, children: [
36
- n,
37
- m
38
- ] }), e[22] = a, e[23] = n, e[24] = m, e[25] = w) : w = e[25], w;
39
- });
40
- function G(c) {
41
- return typeof c == "string" ? c.trim().length === 0 : !1;
42
- }
43
- function K(c) {
44
- if (c == null || c === !1)
45
- return !0;
46
- const t = V.Children.toArray(c);
47
- return t.length === 0 ? !0 : t.every(G);
48
- }
49
- const X = V.forwardRef(function(t, v) {
50
- const e = q(40);
51
- let l, r, i, d, s, a, f, u, x, b, n, h;
52
- e[0] !== t ? ({
53
- children: l,
54
- viewportRef: h,
55
- contentRef: i,
56
- viewportProps: n,
57
- contentProps: r,
58
- verticalScrollbarProps: b,
59
- horizontalScrollbarProps: d,
60
- showVerticalScrollbar: a,
61
- showHorizontalScrollbar: f,
62
- showCorner: u,
63
- size: x,
64
- ...s
65
- } = t, e[0] = t, e[1] = l, e[2] = r, e[3] = i, e[4] = d, e[5] = s, e[6] = a, e[7] = f, e[8] = u, e[9] = x, e[10] = b, e[11] = n, e[12] = h) : (l = e[1], r = e[2], i = e[3], d = e[4], s = e[5], a = e[6], f = e[7], u = e[8], x = e[9], b = e[10], n = e[11], h = e[12]);
66
- const p = a === void 0 ? !0 : a, o = f === void 0 ? !1 : f, m = u === void 0 ? p && o : u, w = x === void 0 ? "xs" : x;
67
- let A;
68
- e[13] !== r || e[14] !== o ? (A = o ? r : {
69
- ...r,
70
- style: {
71
- minWidth: 0,
72
- ...r?.style
73
- }
74
- }, e[13] = r, e[14] = o, e[15] = A) : A = e[15];
75
- const P = A;
76
- let C;
77
- e[16] !== l || e[17] !== i || e[18] !== P ? (C = /* @__PURE__ */ g(R.Content, { ...P, ref: i, children: l }), e[16] = l, e[17] = i, e[18] = P, e[19] = C) : C = e[19];
78
- let S;
79
- e[20] !== C || e[21] !== n || e[22] !== h ? (S = /* @__PURE__ */ g(R.Viewport, { ...n, ref: h, children: C }), e[20] = C, e[21] = n, e[22] = h, e[23] = S) : S = e[23];
80
- let y;
81
- e[24] !== p || e[25] !== b ? (y = p ? /* @__PURE__ */ g(R.Scrollbar, { ...b, borderRadius: "xs" }) : null, e[24] = p, e[25] = b, e[26] = y) : y = e[26];
82
- let j;
83
- e[27] !== d || e[28] !== o ? (j = o ? /* @__PURE__ */ g(R.Scrollbar, { orientation: "horizontal", ...d, borderRadius: "xs" }) : null, e[27] = d, e[28] = o, e[29] = j) : j = e[29];
84
- let z;
85
- e[30] !== m ? (z = m ? /* @__PURE__ */ g(R.Corner, {}) : null, e[30] = m, e[31] = z) : z = e[31];
86
- let T;
87
- return e[32] !== v || e[33] !== s || e[34] !== w || e[35] !== S || e[36] !== y || e[37] !== j || e[38] !== z ? (T = /* @__PURE__ */ $(R.Root, { ref: v, size: w, ...s, children: [
88
- S,
89
- y,
90
- j,
91
- z
92
- ] }), e[32] = v, e[33] = s, e[34] = w, e[35] = S, e[36] = y, e[37] = j, e[38] = z, e[39] = T) : T = e[39], T;
93
- }), Y = (c) => {
94
- const t = c.split(".").pop()?.toLowerCase() ?? "";
95
- return ["csv", "tsv", "xlsx", "xls", "parquet"].includes(t) ? E : ["sql", "py", "js", "ts", "jsx", "tsx", "java", "cpp", "c", "h", "css", "scss", "sass", "php", "rb", "go", "rs", "kt", "swift"].includes(t) ? H : ["json", "jsonl", "ndjson"].includes(t) ? c.includes("/visualizations/") ? I : L : ["md", "txt", "rst", "org", "pdf", "doc", "docx", "rtf"].includes(t) ? _ : ["yaml", "yml", "toml", "ini", "conf", "config"].includes(t) ? k : ["png", "jpg", "jpeg", "gif", "svg", "webp", "ico"].includes(t) ? J : ["zip", "tar", "gz", "rar", "7z"].includes(t) ? W : B;
96
- };
97
- export {
98
- X as S,
99
- U as T,
100
- Y as g
101
- };
102
- //# sourceMappingURL=get-file-type-icon-ufFb0IkR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-file-type-icon-ufFb0IkR.js","sources":["../src/components/tooltip.tsx","../src/components/scroll-area.tsx","../src/utils/get-file-type-icon.ts"],"sourcesContent":["import { Tooltip as ChakraTooltip, Portal } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\nexport interface TooltipProps extends ChakraTooltip.RootProps {\n children?: React.ReactElement;\n showArrow?: boolean;\n portalled?: boolean;\n portalRef?: React.RefObject<HTMLElement>;\n content: React.ReactNode;\n contentProps?: ChakraTooltip.ContentProps;\n disabled?: boolean;\n}\n\nexport const Tooltip = React.forwardRef<HTMLDivElement, TooltipProps>(function Tooltip(props, ref) {\n const { showArrow, children, disabled, portalled = true, content, contentProps, portalRef, ...rest } = props;\n\n const isEmptyContent = (node: React.ReactNode): boolean => {\n if (node === null || node === undefined || node === false) return true;\n const arr = React.Children.toArray(node);\n if (arr.length === 0) return true;\n return arr.every((child) => (typeof child === \"string\" ? child.trim().length === 0 : false));\n };\n\n if (disabled || isEmptyContent(content)) return children;\n\n return (\n <ChakraTooltip.Root openDelay={100} closeDelay={100} {...rest}>\n <ChakraTooltip.Trigger asChild>{children}</ChakraTooltip.Trigger>\n <Portal disabled={!portalled} container={portalRef}>\n <ChakraTooltip.Positioner>\n <ChakraTooltip.Content ref={ref} {...contentProps}>\n {showArrow && (\n <ChakraTooltip.Arrow>\n <ChakraTooltip.ArrowTip />\n </ChakraTooltip.Arrow>\n )}\n {content}\n </ChakraTooltip.Content>\n </ChakraTooltip.Positioner>\n </Portal>\n </ChakraTooltip.Root>\n );\n});\n","import { ScrollArea as ChakraScrollArea } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\ntype VerticalScrollbarProps = Omit<ChakraScrollArea.ScrollbarProps, \"orientation\">;\ntype HorizontalScrollbarProps = Omit<ChakraScrollArea.ScrollbarProps, \"orientation\">;\n\nexport interface ScrollAreaProps extends ChakraScrollArea.RootProps {\n viewportRef?: React.Ref<HTMLDivElement>;\n contentRef?: React.Ref<HTMLDivElement>;\n viewportProps?: ChakraScrollArea.ViewportProps;\n contentProps?: ChakraScrollArea.ContentProps;\n verticalScrollbarProps?: VerticalScrollbarProps;\n horizontalScrollbarProps?: HorizontalScrollbarProps;\n showVerticalScrollbar?: boolean;\n showHorizontalScrollbar?: boolean;\n showCorner?: boolean;\n}\n\nexport const ScrollArea = React.forwardRef<HTMLDivElement, ScrollAreaProps>(function ScrollArea(props, ref) {\n const {\n children,\n viewportRef,\n contentRef,\n viewportProps,\n contentProps,\n verticalScrollbarProps,\n horizontalScrollbarProps,\n showVerticalScrollbar = true,\n showHorizontalScrollbar = false,\n showCorner = showVerticalScrollbar && showHorizontalScrollbar,\n size = \"xs\",\n ...rest\n } = props;\n\n const mergedContentProps = showHorizontalScrollbar\n ? contentProps\n : { ...contentProps, style: { minWidth: 0, ...contentProps?.style } };\n\n return (\n <ChakraScrollArea.Root ref={ref} size={size} {...rest}>\n <ChakraScrollArea.Viewport {...viewportProps} ref={viewportRef}>\n <ChakraScrollArea.Content {...mergedContentProps} ref={contentRef}>\n {children}\n </ChakraScrollArea.Content>\n </ChakraScrollArea.Viewport>\n {showVerticalScrollbar ? <ChakraScrollArea.Scrollbar {...verticalScrollbarProps} borderRadius={\"xs\"} /> : null}\n {showHorizontalScrollbar ? (\n <ChakraScrollArea.Scrollbar orientation=\"horizontal\" {...horizontalScrollbarProps} borderRadius={\"xs\"} />\n ) : null}\n {showCorner ? <ChakraScrollArea.Corner /> : null}\n </ChakraScrollArea.Root>\n );\n});\n","import type { LucideIcon } from \"lucide-react\";\nimport {\n File,\n FileArchive,\n FileChartLine,\n FileCode,\n FileCog,\n FileImage,\n FileJson,\n FileSpreadsheet,\n FileText,\n} from \"lucide-react\";\n\nexport const getFileTypeIcon = (filename: string): LucideIcon => {\n const extension = filename.split(\".\").pop()?.toLowerCase() ?? \"\";\n\n if ([\"csv\", \"tsv\", \"xlsx\", \"xls\", \"parquet\"].includes(extension)) return FileSpreadsheet;\n if (\n [\n \"sql\",\n \"py\",\n \"js\",\n \"ts\",\n \"jsx\",\n \"tsx\",\n \"java\",\n \"cpp\",\n \"c\",\n \"h\",\n \"css\",\n \"scss\",\n \"sass\",\n \"php\",\n \"rb\",\n \"go\",\n \"rs\",\n \"kt\",\n \"swift\",\n ].includes(extension)\n ) {\n return FileCode;\n }\n if ([\"json\", \"jsonl\", \"ndjson\"].includes(extension)) {\n if (filename.includes(\"/visualizations/\")) return FileChartLine;\n return FileJson;\n }\n if ([\"md\", \"txt\", \"rst\", \"org\", \"pdf\", \"doc\", \"docx\", \"rtf\"].includes(extension)) return FileText;\n if ([\"yaml\", \"yml\", \"toml\", \"ini\", \"conf\", \"config\"].includes(extension)) return FileCog;\n if ([\"png\", \"jpg\", \"jpeg\", \"gif\", \"svg\", \"webp\", \"ico\"].includes(extension)) return FileImage;\n if ([\"zip\", \"tar\", \"gz\", \"rar\", \"7z\"].includes(extension)) return FileArchive;\n return File;\n};\n"],"names":["Tooltip","React","forwardRef","props","ref","$","_c","children","content","contentProps","disabled","portalRef","rest","showArrow","t0","portalled","undefined","_temp2","t1","ChakraTooltip","t2","t3","jsx","t4","jsxs","t5","Portal","t6","_temp","child","trim","length","node","arr","Children","toArray","every","ScrollArea","contentRef","horizontalScrollbarProps","verticalScrollbarProps","viewportProps","viewportRef","showVerticalScrollbar","showHorizontalScrollbar","showCorner","size","style","minWidth","mergedContentProps","ChakraScrollArea","t7","t8","t9","t10","getFileTypeIcon","filename","extension","split","pop","toLowerCase","includes","FileSpreadsheet","FileCode","FileChartLine","FileJson","FileText","FileCog","FileImage","FileArchive","File"],"mappings":"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"}