@pstdio/ui 0.4.0 → 0.5.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 (111) hide show
  1. package/dist/MermaidComponent-DwEDwpo2.js +124 -0
  2. package/dist/MermaidComponent-DwEDwpo2.js.map +1 -0
  3. package/dist/chat-ui.js +609 -505
  4. package/dist/chat-ui.js.map +1 -1
  5. package/dist/components/chat-ui/components/chat-input-actions.d.ts +10 -0
  6. package/dist/components/chat-ui/components/chat-panel.d.ts +1 -0
  7. package/dist/components/chat-ui/tool-rendering/apply-patch-renderer.d.ts +2 -0
  8. package/dist/components/chat-ui/tool-rendering/default-renderers.d.ts +8 -7
  9. package/dist/components/chat-ui/tool-rendering/edit-renderer.d.ts +2 -0
  10. package/dist/components/chat-ui/tool-rendering/shared.d.ts +52 -0
  11. package/dist/components/chat-ui/tool-rendering/standard-renderers.d.ts +6 -0
  12. package/dist/components/chat-ui/tool-rendering/todo-write-renderer.d.ts +2 -0
  13. package/dist/components/menu-item.d.ts +2 -1
  14. package/dist/components/resource-context-menu.d.ts +20 -0
  15. package/dist/components/rich-text/prompt-input/plugins/ReferencePlugin/nodes/ReferenceNode/ReferenceNode.d.ts +2 -1
  16. package/dist/components/rich-text/shared/plugins/CodePlugin/CodeBlockActionsPlugin.d.ts +4 -0
  17. package/dist/components/rich-text/shared/plugins/CodePlugin/CodeBlockPlugin.d.ts +2 -0
  18. package/dist/components/rich-text/shared/plugins/CodePlugin/CodeHighlightingPlugin.d.ts +1 -0
  19. package/dist/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/should-show-floating-toolbar.d.ts +11 -0
  20. package/dist/components/rich-text/shared/plugins/MermaidPlugin/MermaidComponent.d.ts +6 -0
  21. package/dist/components/rich-text/shared/plugins/MermaidPlugin/MermaidNode.d.ts +23 -0
  22. package/dist/components/rich-text/shared/plugins/MermaidPlugin/index.d.ts +1 -0
  23. package/dist/components/rich-text/utils/markdown.d.ts +1 -0
  24. package/dist/components/session-indicator.d.ts +1 -1
  25. package/dist/components/sidebar-tree/sidebar-tree.types.d.ts +5 -1
  26. package/dist/components/tickets/tag-badge.d.ts +10 -0
  27. package/dist/components/tickets/tag-option-icon.d.ts +2 -0
  28. package/dist/components/tickets/ticket-board.d.ts +2 -0
  29. package/dist/components/tickets/ticket-card.d.ts +10 -0
  30. package/dist/components/tickets/ticket-grouping.d.ts +2 -2
  31. package/dist/components/tickets/ticket-list.d.ts +6 -1
  32. package/dist/components/tickets/tickets-workspace.d.ts +9 -3
  33. package/dist/components/tickets/types.d.ts +22 -5
  34. package/dist/components/tickets/workspace-helpers.d.ts +13 -0
  35. package/dist/get-file-type-icon-Bwqf1WXA.js +101 -0
  36. package/dist/get-file-type-icon-Bwqf1WXA.js.map +1 -0
  37. package/dist/index.d.ts +4 -2
  38. package/dist/index.js +1876 -1642
  39. package/dist/index.js.map +1 -1
  40. package/dist/rich-message-BVRk9BSD.js +1503 -0
  41. package/dist/rich-message-BVRk9BSD.js.map +1 -0
  42. package/dist/rich-text.js +414 -255
  43. package/dist/rich-text.js.map +1 -1
  44. package/dist/style.css +1 -1
  45. package/package.json +3 -1
  46. package/dist/components/attached-panel.utils.test.d.ts +0 -1
  47. package/dist/components/breadcrumb.stories.d.ts +0 -25
  48. package/dist/components/button.stories.d.ts +0 -18
  49. package/dist/components/chat-ui/components/ai-conversation.stories.d.ts +0 -6
  50. package/dist/components/chat-ui/components/ai-message.stories.d.ts +0 -6
  51. package/dist/components/chat-ui/components/ai-response.stories.d.ts +0 -7
  52. package/dist/components/chat-ui/components/attachment-list.stories.d.ts +0 -6
  53. package/dist/components/chat-ui/components/chat-input.stories.d.ts +0 -7
  54. package/dist/components/chat-ui/components/chat-panel-alerts.stories.d.ts +0 -9
  55. package/dist/components/chat-ui/components/chat-panel.stories.d.ts +0 -10
  56. package/dist/components/chat-ui/components/message-parts-renderer.stories.d.ts +0 -9
  57. package/dist/components/chat-ui/components/model-swap-separator.stories.d.ts +0 -6
  58. package/dist/components/chat-ui/components/tool-invocation-timeline.stories.d.ts +0 -6
  59. package/dist/components/chat-ui/components/workspace-hub.stories.d.ts +0 -6
  60. package/dist/components/checkbox.stories.d.ts +0 -15
  61. package/dist/components/column-file-browser.stories.d.ts +0 -15
  62. package/dist/components/data-table/data-table.stories.d.ts +0 -33
  63. package/dist/components/delete-confirmation-modal.stories.d.ts +0 -11
  64. package/dist/components/diff-bubble.stories.d.ts +0 -13
  65. package/dist/components/diff-drawer.stories.d.ts +0 -8
  66. package/dist/components/diff-view-adapter.test.d.ts +0 -1
  67. package/dist/components/drawer-inline.stories.d.ts +0 -8
  68. package/dist/components/empty-state.stories.d.ts +0 -34
  69. package/dist/components/file-selector.stories.d.ts +0 -17
  70. package/dist/components/folder-picker-dialog.stories.d.ts +0 -11
  71. package/dist/components/info-card.stories.d.ts +0 -41
  72. package/dist/components/item-section.stories.d.ts +0 -17
  73. package/dist/components/layout.stories.d.ts +0 -11
  74. package/dist/components/menu-item.stories.d.ts +0 -72
  75. package/dist/components/open-source-notices-screen.stories.d.ts +0 -12
  76. package/dist/components/param-editor-horizontal.stories.d.ts +0 -19
  77. package/dist/components/param-editor.stories.d.ts +0 -24
  78. package/dist/components/properties.stories.d.ts +0 -17
  79. package/dist/components/resource-badge.stories.d.ts +0 -7
  80. package/dist/components/rich-text/collaborative-markdown-editor/collaborative-markdown-editor.stories.d.ts +0 -9
  81. package/dist/components/rich-text/markdown-editor/markdown-editor.stories.d.ts +0 -7
  82. package/dist/components/rich-text/prompt-input/prompt-input.stories.d.ts +0 -8
  83. package/dist/components/rich-text/rich-message/rich-message.stories.d.ts +0 -6
  84. package/dist/components/rich-text/shared/nodes/DataTableNode.stories.d.ts +0 -7
  85. package/dist/components/rich-text/shared/plugins/CodePlugin/CodeNode.d.ts +0 -21
  86. package/dist/components/rich-text/shared/plugins/CodePlugin/CodeNode.test.d.ts +0 -1
  87. package/dist/components/rich-text/shared/transformers/markdown-transformers.test.d.ts +0 -1
  88. package/dist/components/scroll-area.stories.d.ts +0 -7
  89. package/dist/components/searchable-menu.stories.d.ts +0 -8
  90. package/dist/components/session-indicator.stories.d.ts +0 -12
  91. package/dist/components/sidebar/sidebar.store.test.d.ts +0 -1
  92. package/dist/components/sidebar/sidebar.stories.d.ts +0 -11
  93. package/dist/components/sidebar-tree/sidebar-tree-searchable-action-menu.stories.d.ts +0 -6
  94. package/dist/components/sidebar-tree/sidebar-tree.stories.d.ts +0 -13
  95. package/dist/components/slider.stories.d.ts +0 -15
  96. package/dist/components/style-guide.stories.d.ts +0 -23
  97. package/dist/components/switch.stories.d.ts +0 -16
  98. package/dist/components/tickets/display-menu.stories.d.ts +0 -6
  99. package/dist/components/tickets/filter-menu.stories.d.ts +0 -6
  100. package/dist/components/tickets/ticket-board.stories.d.ts +0 -5
  101. package/dist/components/tickets/ticket-card.stories.d.ts +0 -18
  102. package/dist/components/tickets/ticket-grouping.test.d.ts +0 -1
  103. package/dist/components/tickets/ticket-list.stories.d.ts +0 -10
  104. package/dist/components/tickets/tickets-workspace.stories.d.ts +0 -10
  105. package/dist/components/tickets/use-workspace-store.test.d.ts +0 -1
  106. package/dist/components/toaster.stories.d.ts +0 -11
  107. package/dist/components/workspace-badge.stories.d.ts +0 -13
  108. package/dist/get-file-type-icon-CirIyuE8.js +0 -92
  109. package/dist/get-file-type-icon-CirIyuE8.js.map +0 -1
  110. package/dist/rich-message-Bad4GxH2.js +0 -1423
  111. package/dist/rich-message-Bad4GxH2.js.map +0 -1
@@ -1,13 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { WorkspaceBadge } from './workspace-badge';
3
- declare const meta: Meta<typeof WorkspaceBadge>;
4
- export default meta;
5
- type Story = StoryObj<typeof WorkspaceBadge>;
6
- export declare const Initializing: Story;
7
- export declare const SingleWorkspaceNoShorthand: Story;
8
- export declare const MultiWorkspaceWithShorthandAndDropdown: Story;
9
- export declare const WithDiffs: Story;
10
- export declare const WithoutDiffs: Story;
11
- export declare const WithAttemptStatus: Story;
12
- export declare const FallbackSessionStatus: Story;
13
- export declare const StateMatrix: Story;
@@ -1,92 +0,0 @@
1
- import { jsx as g, jsxs as A } from "react/jsx-runtime";
2
- import { c as z } from "react/compiler-runtime";
3
- import { Tooltip as j, Portal as P, ScrollArea as F } from "@chakra-ui/react";
4
- import * as T from "react";
5
- import { FileSpreadsheet as $, FileCode as V, FileChartLine as q, FileJson as D, FileText as E, FileCog as H, FileImage as I, FileArchive as L, File as _ } from "lucide-react";
6
- const N = T.forwardRef(function(t, b) {
7
- const e = z(26);
8
- let r, l, o, u, i, a, f, d;
9
- e[0] !== t ? ({
10
- showArrow: f,
11
- children: r,
12
- disabled: u,
13
- portalled: d,
14
- content: l,
15
- contentProps: o,
16
- portalRef: i,
17
- ...a
18
- } = t, e[0] = t, e[1] = r, e[2] = l, e[3] = o, e[4] = u, e[5] = i, e[6] = a, e[7] = f, e[8] = d) : (r = e[1], l = e[2], o = e[3], u = e[4], i = e[5], a = e[6], f = e[7], d = e[8]);
19
- const w = d === void 0 ? !0 : d;
20
- if (u || J(l))
21
- return r;
22
- let n;
23
- e[9] !== r ? (n = /* @__PURE__ */ g(j.Trigger, { asChild: !0, children: r }), e[9] = r, e[10] = n) : n = e[10];
24
- const v = !w;
25
- let p;
26
- e[11] !== f ? (p = f && /* @__PURE__ */ g(j.Arrow, { children: /* @__PURE__ */ g(j.ArrowTip, {}) }), e[11] = f, e[12] = p) : p = e[12];
27
- let m;
28
- e[13] !== l || e[14] !== o || e[15] !== b || e[16] !== p ? (m = /* @__PURE__ */ g(j.Positioner, { children: /* @__PURE__ */ A(j.Content, { ref: b, ...o, children: [
29
- p,
30
- l
31
- ] }) }), e[13] = l, e[14] = o, e[15] = b, e[16] = p, e[17] = m) : m = e[17];
32
- let s;
33
- e[18] !== i || e[19] !== v || e[20] !== m ? (s = /* @__PURE__ */ g(P, { disabled: v, container: i, children: m }), e[18] = i, e[19] = v, e[20] = m, e[21] = s) : s = e[21];
34
- let h;
35
- return e[22] !== a || e[23] !== n || e[24] !== s ? (h = /* @__PURE__ */ A(j.Root, { openDelay: 100, closeDelay: 100, ...a, children: [
36
- n,
37
- s
38
- ] }), e[22] = a, e[23] = n, e[24] = s, e[25] = h) : h = e[25], h;
39
- });
40
- function k(c) {
41
- return typeof c == "string" ? c.trim().length === 0 : !1;
42
- }
43
- function J(c) {
44
- if (c == null || c === !1)
45
- return !0;
46
- const t = T.Children.toArray(c);
47
- return t.length === 0 ? !0 : t.every(k);
48
- }
49
- const O = T.forwardRef(function(t, b) {
50
- const e = z(35);
51
- let r, l, o, u, i, a, f, d, w, x, n;
52
- e[0] !== t ? ({
53
- children: r,
54
- viewportRef: n,
55
- contentRef: o,
56
- viewportProps: x,
57
- contentProps: l,
58
- verticalScrollbarProps: w,
59
- horizontalScrollbarProps: u,
60
- showVerticalScrollbar: a,
61
- showHorizontalScrollbar: f,
62
- showCorner: d,
63
- ...i
64
- } = t, e[0] = t, e[1] = r, e[2] = l, e[3] = o, e[4] = u, e[5] = i, e[6] = a, e[7] = f, e[8] = d, e[9] = w, e[10] = x, e[11] = n) : (r = e[1], l = e[2], o = e[3], u = e[4], i = e[5], a = e[6], f = e[7], d = e[8], w = e[9], x = e[10], n = e[11]);
65
- const v = a === void 0 ? !0 : a, p = f === void 0 ? !1 : f, m = d === void 0 ? v && p : d;
66
- let s;
67
- e[12] !== r || e[13] !== l || e[14] !== o ? (s = /* @__PURE__ */ g(F.Content, { ...l, ref: o, children: r }), e[12] = r, e[13] = l, e[14] = o, e[15] = s) : s = e[15];
68
- let h;
69
- e[16] !== s || e[17] !== x || e[18] !== n ? (h = /* @__PURE__ */ g(F.Viewport, { ...x, ref: n, children: s }), e[16] = s, e[17] = x, e[18] = n, e[19] = h) : h = e[19];
70
- let S;
71
- e[20] !== v || e[21] !== w ? (S = v ? /* @__PURE__ */ g(F.Scrollbar, { ...w, borderRadius: "xs" }) : null, e[20] = v, e[21] = w, e[22] = S) : S = e[22];
72
- let C;
73
- e[23] !== u || e[24] !== p ? (C = p ? /* @__PURE__ */ g(F.Scrollbar, { orientation: "horizontal", ...u, borderRadius: "xs" }) : null, e[23] = u, e[24] = p, e[25] = C) : C = e[25];
74
- let y;
75
- e[26] !== m ? (y = m ? /* @__PURE__ */ g(F.Corner, {}) : null, e[26] = m, e[27] = y) : y = e[27];
76
- let R;
77
- return e[28] !== b || e[29] !== i || e[30] !== h || e[31] !== S || e[32] !== C || e[33] !== y ? (R = /* @__PURE__ */ A(F.Root, { ref: b, ...i, children: [
78
- h,
79
- S,
80
- C,
81
- y
82
- ] }), e[28] = b, e[29] = i, e[30] = h, e[31] = S, e[32] = C, e[33] = y, e[34] = R) : R = e[34], R;
83
- }), Q = (c) => {
84
- const t = c.split(".").pop()?.toLowerCase() ?? "";
85
- return ["csv", "tsv", "xlsx", "xls", "parquet"].includes(t) ? $ : ["sql", "py", "js", "ts", "jsx", "tsx", "java", "cpp", "c", "h", "css", "scss", "sass", "php", "rb", "go", "rs", "kt", "swift"].includes(t) ? V : ["json", "jsonl", "ndjson"].includes(t) ? c.includes("/visualizations/") ? q : D : ["md", "txt", "rst", "org", "pdf", "doc", "docx", "rtf"].includes(t) ? E : ["yaml", "yml", "toml", "ini", "conf", "config"].includes(t) ? H : ["png", "jpg", "jpeg", "gif", "svg", "webp", "ico"].includes(t) ? I : ["zip", "tar", "gz", "rar", "7z"].includes(t) ? L : _;
86
- };
87
- export {
88
- O as S,
89
- N as T,
90
- Q as g
91
- };
92
- //# sourceMappingURL=get-file-type-icon-CirIyuE8.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-file-type-icon-CirIyuE8.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 ...rest\n } = props;\n\n return (\n <ChakraScrollArea.Root ref={ref} {...rest}>\n <ChakraScrollArea.Viewport {...viewportProps} ref={viewportRef}>\n <ChakraScrollArea.Content {...contentProps} 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","ChakraScrollArea","t7","t8","getFileTypeIcon","filename","extension","split","pop","toLowerCase","includes","FileSpreadsheet","FileCode","FileChartLine","FileJson","FileText","FileCog","FileImage","FileArchive","File"],"mappings":"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"}