@pstdio/ui 0.19.0 → 0.20.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.
- package/dist/{MermaidComponent-BPiVFNYK.js → MermaidComponent-BVMyKttu.js} +3 -3
- package/dist/{MermaidComponent-BPiVFNYK.js.map → MermaidComponent-BVMyKttu.js.map} +1 -1
- package/dist/browser-storage-DPtOQJx0.js +127 -0
- package/dist/browser-storage-DPtOQJx0.js.map +1 -0
- package/dist/chat-ui.js +19 -20
- package/dist/chat-ui.js.map +1 -1
- package/dist/components/data-table/data-table-header.d.ts +3 -1
- package/dist/components/data-table/edit-mode-data-table-body.d.ts +29 -0
- package/dist/components/data-table/edit-mode-data-table-cell.d.ts +15 -0
- package/dist/components/data-table/edit-mode-data-table-editors.d.ts +19 -0
- package/dist/components/data-table/edit-mode-data-table-header.d.ts +23 -0
- package/dist/components/data-table/edit-mode-data-table-selection.d.ts +12 -0
- package/dist/components/data-table/edit-mode-data-table.d.ts +2 -0
- package/dist/components/data-table/edit-mode-story.d.ts +5 -0
- package/dist/components/data-table/index.d.ts +1 -1
- package/dist/components/data-table/pagination-footer.d.ts +8 -5
- package/dist/components/data-table/types.d.ts +24 -0
- package/dist/components/diff-viewer/code-editor.d.ts +2 -0
- package/dist/components/diff-viewer/file-change-badge.d.ts +3 -0
- package/dist/components/diff-viewer/file-list-panel.d.ts +0 -1
- package/dist/components/diff-viewer/index.d.ts +1 -0
- package/dist/components/param-editor/param-editor.types.d.ts +2 -0
- package/dist/components/rich-text/index.d.ts +2 -0
- package/dist/components/rich-text/markdown-editor/markdown-editor.d.ts +7 -0
- package/dist/components/rich-text/markdown-editor/markdown-table.story-fixture.d.ts +3 -0
- package/dist/components/rich-text/markdown-editor/plugins/MarkdownSectionNavigationPlugin.d.ts +8 -0
- package/dist/components/rich-text/markdown-editor/plugins/MarkdownSlashCommandPlugin.d.ts +1 -0
- package/dist/components/rich-text/markdown-editor/plugins/markdown-history-plugin.d.ts +1 -0
- package/dist/components/rich-text/markdown-editor/plugins/markdown-section-navigation.d.ts +20 -0
- package/dist/components/rich-text/rich-message/rich-message.d.ts +2 -0
- package/dist/components/rich-text/shared/markdown-ast.d.ts +6 -0
- package/dist/components/rich-text/shared/markdown-codec.d.ts +3 -0
- package/dist/components/rich-text/shared/markdown-export.d.ts +2 -0
- package/dist/components/rich-text/shared/markdown-import.d.ts +2 -0
- package/dist/components/rich-text/shared/markdown-inline.d.ts +5 -0
- package/dist/components/rich-text/shared/markdown-table.d.ts +41 -0
- package/dist/components/rich-text/shared/markdown-url-context.d.ts +9 -0
- package/dist/components/rich-text/shared/markdown-url.d.ts +3 -0
- package/dist/components/rich-text/shared/nodes/DataTableNode.d.ts +13 -11
- package/dist/components/rich-text/shared/nodes/MarkdownImageNode.d.ts +35 -0
- package/dist/components/rich-text/shared/nodes/MarkdownLinkNode.d.ts +18 -0
- package/dist/components/rich-text/shared/nodes/RawHtmlNode.d.ts +31 -0
- package/dist/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/floating-toolbar-buttons.d.ts +4 -2
- package/dist/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/resolve-block-type.d.ts +1 -1
- package/dist/components/rich-text/shared/plugins/LinkEditorPlugin/utils/setFloatingElemPos.d.ts +1 -1
- package/dist/components/rich-text/shared/plugins/MermaidPlugin/MermaidNode.d.ts +1 -0
- package/dist/components/rich-text/shared/transformers/markdown-transformers.d.ts +2 -3
- package/dist/components/tree-list/tree-list-background.d.ts +8 -0
- package/dist/components/tree-list/tree-list-drag.d.ts +7 -0
- package/dist/components/tree-list/tree-list-inline-creation-story.d.ts +3 -0
- package/dist/components/tree-list/tree-list-inline-input.d.ts +9 -0
- package/dist/components/tree-list/tree-list-move-surface.d.ts +7 -0
- package/dist/components/tree-list/tree-list-node-row.d.ts +1 -0
- package/dist/components/tree-list/tree-list.d.ts +2 -0
- package/dist/components/tree-list/tree-list.types.d.ts +13 -0
- package/dist/data-table.js +723 -923
- package/dist/data-table.js.map +1 -1
- package/dist/diff.js +796 -815
- package/dist/diff.js.map +1 -1
- package/dist/edit-mode-data-table-D6NeiDJx.js +775 -0
- package/dist/edit-mode-data-table-D6NeiDJx.js.map +1 -0
- package/dist/editor-config-D9OksZ93.js +2416 -0
- package/dist/editor-config-D9OksZ93.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +326 -353
- package/dist/index.js.map +1 -1
- package/dist/{kanban-renderer-toolbar-Bcj_N1qr.js → kanban-renderer-toolbar-CpegGbwq.js} +359 -361
- package/dist/kanban-renderer-toolbar-CpegGbwq.js.map +1 -0
- package/dist/kanban-renderer.js +28 -27
- package/dist/kanban-renderer.js.map +1 -1
- package/dist/{lazy-markdown-editor-DwhqQ-NN.js → lazy-markdown-editor-B7uP2ALS.js} +2 -2
- package/dist/{lazy-markdown-editor-DwhqQ-NN.js.map → lazy-markdown-editor-B7uP2ALS.js.map} +1 -1
- package/dist/{list-row-BtoVJpFs.js → list-row-9oxy-F0v.js} +229 -254
- package/dist/list-row-9oxy-F0v.js.map +1 -0
- package/dist/{mermaid-renderer-DZo3qj6D.js → mermaid-renderer-H3IhLqnQ.js} +3 -3
- package/dist/{mermaid-renderer-DZo3qj6D.js.map → mermaid-renderer-H3IhLqnQ.js.map} +1 -1
- package/dist/mermaid.js +1 -1
- package/dist/number-input-WUfejtNx.js +343 -0
- package/dist/number-input-WUfejtNx.js.map +1 -0
- package/dist/{param-editor-XRjSu6MT.js → param-editor-B8Ff9Nm8.js} +2 -2
- package/dist/{param-editor-XRjSu6MT.js.map → param-editor-B8Ff9Nm8.js.map} +1 -1
- package/dist/param-editor-field-Cu4pto_a.js +2845 -0
- package/dist/param-editor-field-Cu4pto_a.js.map +1 -0
- package/dist/rich-message-DdFYRzTo.js +658 -0
- package/dist/rich-message-DdFYRzTo.js.map +1 -0
- package/dist/rich-text.js +182 -110
- package/dist/rich-text.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/theme/recipes/button.d.ts +11 -0
- package/dist/theme/recipes/input.d.ts +32 -0
- package/dist/{theme-7PDdD9OD.js → theme-BH4fSst9.js} +44 -1
- package/dist/theme-BH4fSst9.js.map +1 -0
- package/dist/{theme-preference-DOzHx64J.js → theme-preference-DyymrYpR.js} +2 -2
- package/dist/{theme-preference-DOzHx64J.js.map → theme-preference-DyymrYpR.js.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/tree-list-uV4UFj0x.js +1116 -0
- package/dist/tree-list-uV4UFj0x.js.map +1 -0
- package/package.json +9 -1
- package/dist/browser-storage-BinyFNJX.js +0 -40
- package/dist/browser-storage-BinyFNJX.js.map +0 -1
- package/dist/checkbox-B2zYVemL.js +0 -70
- package/dist/checkbox-B2zYVemL.js.map +0 -1
- package/dist/components/data-table/editable-cells-story.d.ts +0 -9
- package/dist/kanban-renderer-toolbar-Bcj_N1qr.js.map +0 -1
- package/dist/list-row-BtoVJpFs.js.map +0 -1
- package/dist/markdown-DDd2ESoH.js +0 -743
- package/dist/markdown-DDd2ESoH.js.map +0 -1
- package/dist/markdown-editor-CYVkzt8t.js +0 -741
- package/dist/markdown-editor-CYVkzt8t.js.map +0 -1
- package/dist/param-editor-field-B9lEPq8c.js +0 -3028
- package/dist/param-editor-field-B9lEPq8c.js.map +0 -1
- package/dist/resource-badge-CuItchgL.js +0 -98
- package/dist/resource-badge-CuItchgL.js.map +0 -1
- package/dist/rich-message--eRzjWYK.js +0 -730
- package/dist/rich-message--eRzjWYK.js.map +0 -1
- package/dist/scroll-area-BMbg1WcD.js +0 -91
- package/dist/scroll-area-BMbg1WcD.js.map +0 -1
- package/dist/theme-7PDdD9OD.js.map +0 -1
- package/dist/tree-list-B2L0cTj2.js +0 -1033
- package/dist/tree-list-B2L0cTj2.js.map +0 -1
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
import { jsx as c, jsxs as T } from "react/jsx-runtime";
|
|
2
|
+
import { c as w } from "react/compiler-runtime";
|
|
3
|
+
import { Checkbox as z, chakra as D, Text as A, IconButton as P, Icon as R, Badge as B, Spinner as N, HStack as F, Box as X, NumberInput as W } from "@chakra-ui/react";
|
|
4
|
+
import * as E from "react";
|
|
5
|
+
import { FileSpreadsheet as q, FileCode as H, FileChartLine as M, FileJson as U, FileText as G, FileCog as Y, FileImage as Z, FileArchive as J, File as K, X as V, LoaderCircle as Q, CircleCheck as ee, CircleAlert as te, CircleStop as re, CirclePause as oe, ClockAlert as ne, CircleDot as ie, CircleDashed as le, ChevronDown as se, GitCommitIcon as ae, GitBranchIcon as ce } from "lucide-react";
|
|
6
|
+
import { T as $ } from "./browser-storage-DPtOQJx0.js";
|
|
7
|
+
const Fe = E.forwardRef(function(e, r) {
|
|
8
|
+
const t = w(33);
|
|
9
|
+
let i, n, l, s, d, b, u;
|
|
10
|
+
t[0] !== e ? ({
|
|
11
|
+
icon: n,
|
|
12
|
+
children: i,
|
|
13
|
+
inputProps: l,
|
|
14
|
+
rootRef: d,
|
|
15
|
+
disabled: b,
|
|
16
|
+
readOnly: u,
|
|
17
|
+
...s
|
|
18
|
+
} = e, t[0] = e, t[1] = i, t[2] = n, t[3] = l, t[4] = s, t[5] = d, t[6] = b, t[7] = u) : (i = t[1], n = t[2], l = t[3], s = t[4], d = t[5], b = t[6], u = t[7]);
|
|
19
|
+
const f = b === void 0 ? !1 : b, p = u === void 0 ? !1 : u, a = f ? "not-allowed" : p ? "default" : "pointer";
|
|
20
|
+
let y;
|
|
21
|
+
t[8] !== l || t[9] !== r ? (y = /* @__PURE__ */ c(z.HiddenInput, { ref: r, ...l }), t[8] = l, t[9] = r, t[10] = y) : y = t[10];
|
|
22
|
+
let _, k, S;
|
|
23
|
+
t[11] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (_ = {
|
|
24
|
+
borderColor: "border.accent-light"
|
|
25
|
+
}, k = {
|
|
26
|
+
borderColor: "border.accent-light"
|
|
27
|
+
}, S = {
|
|
28
|
+
borderColor: "border.accent-light",
|
|
29
|
+
outline: "none",
|
|
30
|
+
boxShadow: "none"
|
|
31
|
+
}, t[11] = _, t[12] = k, t[13] = S) : (_ = t[11], k = t[12], S = t[13]);
|
|
32
|
+
let v;
|
|
33
|
+
t[14] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (v = {
|
|
34
|
+
bg: "bg.button.primary.default",
|
|
35
|
+
borderColor: "bg.button.primary.default",
|
|
36
|
+
color: "fg.button.primary.default",
|
|
37
|
+
_hover: {
|
|
38
|
+
borderColor: "bg.button.primary.default"
|
|
39
|
+
},
|
|
40
|
+
_active: {
|
|
41
|
+
borderColor: "bg.button.primary.default"
|
|
42
|
+
}
|
|
43
|
+
}, t[14] = v) : v = t[14];
|
|
44
|
+
let x;
|
|
45
|
+
t[15] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (x = {
|
|
46
|
+
bg: "bg.button.primary.default",
|
|
47
|
+
borderColor: "bg.button.primary.default",
|
|
48
|
+
color: "fg.button.primary.default",
|
|
49
|
+
_hover: {
|
|
50
|
+
borderColor: "bg.button.primary.default"
|
|
51
|
+
},
|
|
52
|
+
_active: {
|
|
53
|
+
borderColor: "bg.button.primary.default"
|
|
54
|
+
}
|
|
55
|
+
}, t[15] = x) : x = t[15];
|
|
56
|
+
let g;
|
|
57
|
+
t[16] !== n ? (g = n ? /* @__PURE__ */ c(z.Indicator, { children: n }) : /* @__PURE__ */ c(z.Indicator, {}), t[16] = n, t[17] = g) : g = t[17];
|
|
58
|
+
let m;
|
|
59
|
+
t[18] !== a || t[19] !== g ? (m = /* @__PURE__ */ c(z.Control, { bg: "bg", borderColor: "border", borderRadius: "xs", color: "fg.button.primary.default", cursor: a, transition: "border-color 0.2s ease-in-out", boxShadow: "none", _hover: _, _active: k, _focusVisible: S, _checked: v, _indeterminate: x, children: g }), t[18] = a, t[19] = g, t[20] = m) : m = t[20];
|
|
60
|
+
let h;
|
|
61
|
+
t[21] !== i || t[22] !== a ? (h = i != null && /* @__PURE__ */ c(z.Label, { cursor: a, children: i }), t[21] = i, t[22] = a, t[23] = h) : h = t[23];
|
|
62
|
+
let C;
|
|
63
|
+
return t[24] !== f || t[25] !== a || t[26] !== p || t[27] !== s || t[28] !== d || t[29] !== h || t[30] !== y || t[31] !== m ? (C = /* @__PURE__ */ T(z.Root, { ref: d, disabled: f, readOnly: p, cursor: a, ...s, children: [
|
|
64
|
+
y,
|
|
65
|
+
m,
|
|
66
|
+
h
|
|
67
|
+
] }), t[24] = f, t[25] = a, t[26] = p, t[27] = s, t[28] = d, t[29] = h, t[30] = y, t[31] = m, t[32] = C) : C = t[32], C;
|
|
68
|
+
}), de = (o) => {
|
|
69
|
+
const e = o.split(".").pop()?.toLowerCase() ?? "";
|
|
70
|
+
return ["csv", "tsv", "xlsx", "xls", "parquet"].includes(e) ? q : ["sql", "py", "js", "ts", "jsx", "tsx", "java", "cpp", "c", "h", "css", "scss", "sass", "php", "rb", "go", "rs", "kt", "swift"].includes(e) ? H : ["json", "jsonl", "ndjson"].includes(e) ? o.includes("/visualizations/") ? M : U : ["md", "txt", "rst", "org", "pdf", "doc", "docx", "rtf"].includes(e) ? G : ["yaml", "yml", "toml", "ini", "conf", "config"].includes(e) ? Y : ["png", "jpg", "jpeg", "gif", "svg", "webp", "ico"].includes(e) ? Z : ["zip", "tar", "gz", "rar", "7z"].includes(e) ? J : K;
|
|
71
|
+
}, ue = {
|
|
72
|
+
sm: {
|
|
73
|
+
container: {
|
|
74
|
+
height: "5",
|
|
75
|
+
lineHeight: {
|
|
76
|
+
base: "5"
|
|
77
|
+
},
|
|
78
|
+
px: "xs"
|
|
79
|
+
},
|
|
80
|
+
iconSize: 12,
|
|
81
|
+
textStyle: "label/XS"
|
|
82
|
+
},
|
|
83
|
+
md: {
|
|
84
|
+
container: {
|
|
85
|
+
height: "6",
|
|
86
|
+
lineHeight: {
|
|
87
|
+
base: "6"
|
|
88
|
+
},
|
|
89
|
+
px: "xs"
|
|
90
|
+
},
|
|
91
|
+
iconSize: 14,
|
|
92
|
+
textStyle: "label/S/regular"
|
|
93
|
+
}
|
|
94
|
+
}, fe = {
|
|
95
|
+
neutral: {
|
|
96
|
+
color: "fg",
|
|
97
|
+
bg: "bg.subtle",
|
|
98
|
+
borderColor: "border",
|
|
99
|
+
_hover: {
|
|
100
|
+
bg: "bg.hover"
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
accent: {
|
|
104
|
+
color: "var(--schub-foreground-accent)",
|
|
105
|
+
bg: "var(--schub-accent-subtle)",
|
|
106
|
+
borderColor: "var(--schub-accent-subtle)",
|
|
107
|
+
_hover: {
|
|
108
|
+
bg: "var(--schub-accent-subtle)"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}, be = "md", pe = "neutral", Ee = (o) => {
|
|
112
|
+
const e = w(38);
|
|
113
|
+
let r, t, i, n, l, s, d;
|
|
114
|
+
e[0] !== o ? ({
|
|
115
|
+
fileName: r,
|
|
116
|
+
onSelect: n,
|
|
117
|
+
onRemove: i,
|
|
118
|
+
size: s,
|
|
119
|
+
tone: d,
|
|
120
|
+
icon: t,
|
|
121
|
+
...l
|
|
122
|
+
} = o, e[0] = o, e[1] = r, e[2] = t, e[3] = i, e[4] = n, e[5] = l, e[6] = s, e[7] = d) : (r = e[1], t = e[2], i = e[3], n = e[4], l = e[5], s = e[6], d = e[7]);
|
|
123
|
+
const b = s === void 0 ? be : s, u = d === void 0 ? pe : d;
|
|
124
|
+
let f;
|
|
125
|
+
e[8] !== r ? (f = de(r), e[8] = r, e[9] = f) : f = e[9];
|
|
126
|
+
const p = f, a = ue[b], y = fe[u], _ = n ? "pointer" : "default";
|
|
127
|
+
let k;
|
|
128
|
+
e[10] !== r || e[11] !== n ? (k = (I) => {
|
|
129
|
+
I.stopPropagation(), n?.(r);
|
|
130
|
+
}, e[10] = r, e[11] = n, e[12] = k) : k = e[12];
|
|
131
|
+
let S;
|
|
132
|
+
e[13] !== p || e[14] !== t || e[15] !== a.iconSize ? (S = t ?? /* @__PURE__ */ c(p, { size: a.iconSize }), e[13] = p, e[14] = t, e[15] = a.iconSize, e[16] = S) : S = e[16];
|
|
133
|
+
let v;
|
|
134
|
+
e[17] !== S ? (v = /* @__PURE__ */ c(D.span, { display: "inline-flex", flexShrink: 0, children: S }), e[17] = S, e[18] = v) : v = e[18];
|
|
135
|
+
let x;
|
|
136
|
+
e[19] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (x = {
|
|
137
|
+
base: "14rem"
|
|
138
|
+
}, e[19] = x) : x = e[19];
|
|
139
|
+
let g;
|
|
140
|
+
e[20] !== r || e[21] !== a.textStyle ? (g = /* @__PURE__ */ c(A, { maxW: x, textOverflow: "ellipsis", whiteSpace: "nowrap", overflow: "hidden", textStyle: a.textStyle, children: r }), e[20] = r, e[21] = a.textStyle, e[22] = g) : g = e[22];
|
|
141
|
+
let m;
|
|
142
|
+
e[23] !== r || e[24] !== g ? (m = /* @__PURE__ */ c($, { content: r, children: g }), e[23] = r, e[24] = g, e[25] = m) : m = e[25];
|
|
143
|
+
let h;
|
|
144
|
+
e[26] !== r || e[27] !== i ? (h = i && /* @__PURE__ */ c(P, { "aria-label": `Remove ${r}`, size: "2xs", variant: "ghost", _hover: {
|
|
145
|
+
bg: "transparent"
|
|
146
|
+
}, onClick: (I) => {
|
|
147
|
+
I.stopPropagation(), i?.(r);
|
|
148
|
+
}, children: /* @__PURE__ */ c(V, { size: 12 }) }), e[26] = r, e[27] = i, e[28] = h) : h = e[28];
|
|
149
|
+
let C;
|
|
150
|
+
return e[29] !== l || e[30] !== a.container || e[31] !== h || e[32] !== _ || e[33] !== k || e[34] !== v || e[35] !== m || e[36] !== y ? (C = /* @__PURE__ */ T(D.span, { display: "flex", flexDirection: "row", alignItems: "center", borderWidth: "1px", borderRadius: "xs", gap: "2xs", cursor: _, ...y, ...a.container, onClick: k, ...l, children: [
|
|
151
|
+
v,
|
|
152
|
+
m,
|
|
153
|
+
h
|
|
154
|
+
] }), e[29] = l, e[30] = a.container, e[31] = h, e[32] = _, e[33] = k, e[34] = v, e[35] = m, e[36] = y, e[37] = C) : C = e[37], C;
|
|
155
|
+
}, je = ["in_progress", "awaiting_input", "queued", "completed", "failed", "cancelled", "disconnected"], ge = (o) => o === "in_progress" ? Q : o === "completed" ? ee : o === "failed" ? te : o === "cancelled" ? re : o === "disconnected" ? oe : o === "queued" ? ne : o === "awaiting_input" ? ie : le, me = (o) => o === "in_progress" ? "fg.info" : o === "completed" ? "fg.success" : o === "failed" ? "fg.error" : o === "cancelled" || o === "disconnected" ? "fg.warning" : o === "queued" ? "fg.info" : o === "awaiting_input" ? "fg.warning" : "fg.muted", he = (o) => {
|
|
156
|
+
const e = w(11), {
|
|
157
|
+
status: r,
|
|
158
|
+
boxSize: t,
|
|
159
|
+
ariaLabel: i,
|
|
160
|
+
cursor: n,
|
|
161
|
+
onClick: l
|
|
162
|
+
} = o, s = t === void 0 ? "14px" : t, d = i === void 0 ? "Session status" : i;
|
|
163
|
+
let b;
|
|
164
|
+
e[0] !== r ? (b = ge(r), e[0] = r, e[1] = b) : b = e[1];
|
|
165
|
+
let u;
|
|
166
|
+
e[2] !== r ? (u = me(r), e[2] = r, e[3] = u) : u = e[3];
|
|
167
|
+
let f;
|
|
168
|
+
return e[4] !== d || e[5] !== s || e[6] !== n || e[7] !== l || e[8] !== b || e[9] !== u ? (f = /* @__PURE__ */ c(R, { as: b, boxSize: s, color: u, "aria-label": d, cursor: n, onClick: l }), e[4] = d, e[5] = s, e[6] = n, e[7] = l, e[8] = b, e[9] = u, e[10] = f) : f = e[10], f;
|
|
169
|
+
}, Se = {
|
|
170
|
+
amber: "yellow"
|
|
171
|
+
}, xe = /* @__PURE__ */ new Set(["gray", "red", "orange", "yellow", "green", "teal", "blue", "cyan", "purple", "pink"]), Ce = {
|
|
172
|
+
bg: {
|
|
173
|
+
_light: "bg.muted",
|
|
174
|
+
_dark: "bg.subtle"
|
|
175
|
+
},
|
|
176
|
+
color: "fg.muted",
|
|
177
|
+
_hover: {
|
|
178
|
+
bg: {
|
|
179
|
+
_light: "bg.subtle",
|
|
180
|
+
_dark: "bg.hover"
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}, ke = (o) => o === "current_branch" ? ae : ce, ve = (o) => {
|
|
184
|
+
if (o.startsWith("#") || o.startsWith("rgb") || o.startsWith("hsl") || o.startsWith("var("))
|
|
185
|
+
return o;
|
|
186
|
+
const e = Se[o] ?? o;
|
|
187
|
+
return xe.has(e) ? `var(--chakra-colors-${e}-500)` : e;
|
|
188
|
+
}, ye = (o) => o ? o.description ? `${o.name}: ${o.description}` : o.name : null, j = (o, e) => {
|
|
189
|
+
o.stopPropagation(), e?.();
|
|
190
|
+
}, _e = (o, e) => {
|
|
191
|
+
o.stopPropagation(), e?.();
|
|
192
|
+
}, Ie = (o) => {
|
|
193
|
+
const e = w(9), {
|
|
194
|
+
sessionStatus: r,
|
|
195
|
+
onSessionIndicatorClick: t
|
|
196
|
+
} = o;
|
|
197
|
+
if (!r)
|
|
198
|
+
return null;
|
|
199
|
+
const i = t ? "Open latest session" : "Latest session status";
|
|
200
|
+
let n;
|
|
201
|
+
e[0] !== t ? (n = t ? (d) => j(d, t) : void 0, e[0] = t, e[1] = n) : n = e[1];
|
|
202
|
+
let l;
|
|
203
|
+
e[2] !== r || e[3] !== i || e[4] !== n ? (l = /* @__PURE__ */ c(he, { status: r, boxSize: "12px", ariaLabel: i, cursor: "pointer", onClick: n }), e[2] = r, e[3] = i, e[4] = n, e[5] = l) : l = e[5];
|
|
204
|
+
let s;
|
|
205
|
+
return e[6] !== i || e[7] !== l ? (s = /* @__PURE__ */ c($, { content: i, children: l }), e[6] = i, e[7] = l, e[8] = s) : s = e[8], s;
|
|
206
|
+
}, we = (o) => {
|
|
207
|
+
const e = w(13), {
|
|
208
|
+
workspaceType: r,
|
|
209
|
+
initializing: t,
|
|
210
|
+
label: i,
|
|
211
|
+
shorthand: n
|
|
212
|
+
} = o;
|
|
213
|
+
let l;
|
|
214
|
+
e[0] !== r ? (l = ke(r), e[0] = r, e[1] = l) : l = e[1];
|
|
215
|
+
const s = l, d = i ?? n, b = r === "worktree" ? "Worktree" : "Current branch";
|
|
216
|
+
let u;
|
|
217
|
+
e[2] !== s || e[3] !== b ? (u = /* @__PURE__ */ c(R, { as: s, boxSize: "3.5", flexShrink: 0, "aria-label": b }), e[2] = s, e[3] = b, e[4] = u) : u = e[4];
|
|
218
|
+
let f;
|
|
219
|
+
e[5] !== t ? (f = t ? /* @__PURE__ */ c(N, { size: "xs", color: "fg.muted" }) : null, e[5] = t, e[6] = f) : f = e[6];
|
|
220
|
+
let p;
|
|
221
|
+
e[7] !== d ? (p = d ? /* @__PURE__ */ c(A, { as: "span", textStyle: "label/XS/medium", color: "fg.muted", minW: "0", maxW: "10rem", truncate: !0, children: d }) : null, e[7] = d, e[8] = p) : p = e[8];
|
|
222
|
+
let a;
|
|
223
|
+
return e[9] !== u || e[10] !== f || e[11] !== p ? (a = /* @__PURE__ */ T(F, { as: "span", gap: "2xs", alignItems: "center", color: "fg.muted", minW: "0", children: [
|
|
224
|
+
u,
|
|
225
|
+
f,
|
|
226
|
+
p
|
|
227
|
+
] }), e[9] = u, e[10] = f, e[11] = p, e[12] = a) : a = e[12], a;
|
|
228
|
+
}, Te = (o) => {
|
|
229
|
+
const e = w(10), {
|
|
230
|
+
attemptStatus: r
|
|
231
|
+
} = o;
|
|
232
|
+
if (!r)
|
|
233
|
+
return null;
|
|
234
|
+
let t;
|
|
235
|
+
e[0] !== r ? (t = ye(r), e[0] = r, e[1] = t) : t = e[1];
|
|
236
|
+
let i;
|
|
237
|
+
e[2] !== r.color ? (i = ve(r.color), e[2] = r.color, e[3] = i) : i = e[3];
|
|
238
|
+
const n = `Attempt status ${r.name}`;
|
|
239
|
+
let l;
|
|
240
|
+
e[4] !== i || e[5] !== n ? (l = /* @__PURE__ */ c(X, { as: "span", boxSize: "8px", borderRadius: "full", backgroundColor: i, flexShrink: 0, "aria-label": n, "data-testid": "workspace-attempt-status" }), e[4] = i, e[5] = n, e[6] = l) : l = e[6];
|
|
241
|
+
let s;
|
|
242
|
+
return e[7] !== t || e[8] !== l ? (s = /* @__PURE__ */ c($, { content: t, children: l }), e[7] = t, e[8] = l, e[9] = s) : s = e[9], s;
|
|
243
|
+
}, ze = (o) => {
|
|
244
|
+
const e = w(7), {
|
|
245
|
+
diffAdditions: r,
|
|
246
|
+
diffDeletions: t
|
|
247
|
+
} = o;
|
|
248
|
+
if (typeof r != "number" || typeof t != "number")
|
|
249
|
+
return null;
|
|
250
|
+
let i;
|
|
251
|
+
e[0] !== r ? (i = /* @__PURE__ */ T(A, { as: "span", textStyle: "label/XS/medium", color: "fg.success", children: [
|
|
252
|
+
"+",
|
|
253
|
+
r
|
|
254
|
+
] }), e[0] = r, e[1] = i) : i = e[1];
|
|
255
|
+
let n;
|
|
256
|
+
e[2] !== t ? (n = /* @__PURE__ */ T(A, { as: "span", textStyle: "label/XS/medium", color: "fg.error", children: [
|
|
257
|
+
"-",
|
|
258
|
+
t
|
|
259
|
+
] }), e[2] = t, e[3] = n) : n = e[3];
|
|
260
|
+
let l;
|
|
261
|
+
return e[4] !== i || e[5] !== n ? (l = /* @__PURE__ */ T(F, { as: "span", gap: "3xs", flexShrink: 0, children: [
|
|
262
|
+
i,
|
|
263
|
+
n
|
|
264
|
+
] }), e[4] = i, e[5] = n, e[6] = l) : l = e[6], l;
|
|
265
|
+
}, We = (o) => {
|
|
266
|
+
const e = w(5), {
|
|
267
|
+
hasMultipleWorkspaces: r,
|
|
268
|
+
onDropdownClick: t
|
|
269
|
+
} = o;
|
|
270
|
+
if (!r)
|
|
271
|
+
return null;
|
|
272
|
+
const i = t ? "pointer" : "default";
|
|
273
|
+
let n;
|
|
274
|
+
e[0] !== t ? (n = t ? (s) => j(s, t) : void 0, e[0] = t, e[1] = n) : n = e[1];
|
|
275
|
+
let l;
|
|
276
|
+
return e[2] !== i || e[3] !== n ? (l = /* @__PURE__ */ c(R, { as: se, boxSize: "12px", color: "fg.muted", cursor: i, "aria-label": "Workspace selector", onClick: n }), e[2] = i, e[3] = n, e[4] = l) : l = e[4], l;
|
|
277
|
+
}, Oe = (o) => {
|
|
278
|
+
const e = w(27), {
|
|
279
|
+
workspaceType: r,
|
|
280
|
+
initializing: t,
|
|
281
|
+
label: i,
|
|
282
|
+
shorthand: n,
|
|
283
|
+
attemptStatus: l,
|
|
284
|
+
sessionStatus: s,
|
|
285
|
+
showLeadingSessionIndicator: d,
|
|
286
|
+
diffAdditions: b,
|
|
287
|
+
diffDeletions: u,
|
|
288
|
+
hasMultipleWorkspaces: f,
|
|
289
|
+
onClick: p,
|
|
290
|
+
onDropdownClick: a,
|
|
291
|
+
onSessionIndicatorClick: y
|
|
292
|
+
} = o, _ = t === void 0 ? !1 : t, k = d === void 0 ? !0 : d, S = f === void 0 ? !1 : f, v = p || a || S ? "pointer" : "default";
|
|
293
|
+
let x;
|
|
294
|
+
e[0] !== p ? (x = p ? (O) => _e(O, p) : void 0, e[0] = p, e[1] = x) : x = e[1];
|
|
295
|
+
let g;
|
|
296
|
+
e[2] !== y || e[3] !== s || e[4] !== k ? (g = k ? /* @__PURE__ */ c(Ie, { sessionStatus: s, onSessionIndicatorClick: y }) : null, e[2] = y, e[3] = s, e[4] = k, e[5] = g) : g = e[5];
|
|
297
|
+
let m;
|
|
298
|
+
e[6] !== _ || e[7] !== i || e[8] !== n || e[9] !== r ? (m = /* @__PURE__ */ c(we, { workspaceType: r, initializing: _, label: i, shorthand: n }), e[6] = _, e[7] = i, e[8] = n, e[9] = r, e[10] = m) : m = e[10];
|
|
299
|
+
let h;
|
|
300
|
+
e[11] !== l ? (h = /* @__PURE__ */ c(Te, { attemptStatus: l }), e[11] = l, e[12] = h) : h = e[12];
|
|
301
|
+
let C;
|
|
302
|
+
e[13] !== b || e[14] !== u ? (C = /* @__PURE__ */ c(ze, { diffAdditions: b, diffDeletions: u }), e[13] = b, e[14] = u, e[15] = C) : C = e[15];
|
|
303
|
+
let I;
|
|
304
|
+
e[16] !== S || e[17] !== a ? (I = /* @__PURE__ */ c(We, { hasMultipleWorkspaces: S, onDropdownClick: a }), e[16] = S, e[17] = a, e[18] = I) : I = e[18];
|
|
305
|
+
let L;
|
|
306
|
+
return e[19] !== v || e[20] !== x || e[21] !== g || e[22] !== m || e[23] !== h || e[24] !== C || e[25] !== I ? (L = /* @__PURE__ */ T(B, { as: "span", display: "inline-flex", gap: "2xs", alignItems: "center", minW: "0", maxW: "100%", variant: "subtle", ...Ce, textStyle: "label/XS/medium", cursor: v, transition: "background-color 0.2s ease-in-out", onClick: x, "data-testid": "workspace-badge", children: [
|
|
307
|
+
g,
|
|
308
|
+
m,
|
|
309
|
+
h,
|
|
310
|
+
C,
|
|
311
|
+
I
|
|
312
|
+
] }), e[19] = v, e[20] = x, e[21] = g, e[22] = m, e[23] = h, e[24] = C, e[25] = I, e[26] = L) : L = e[26], L;
|
|
313
|
+
}, Pe = E.forwardRef(function(e, r) {
|
|
314
|
+
const t = w(8);
|
|
315
|
+
let i, n;
|
|
316
|
+
t[0] !== e ? ({
|
|
317
|
+
children: i,
|
|
318
|
+
...n
|
|
319
|
+
} = e, t[0] = e, t[1] = i, t[2] = n) : (i = t[1], n = t[2]);
|
|
320
|
+
let l;
|
|
321
|
+
t[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ T(W.Control, { children: [
|
|
322
|
+
/* @__PURE__ */ c(W.IncrementTrigger, {}),
|
|
323
|
+
/* @__PURE__ */ c(W.DecrementTrigger, {})
|
|
324
|
+
] }), t[3] = l) : l = t[3];
|
|
325
|
+
let s;
|
|
326
|
+
return t[4] !== i || t[5] !== r || t[6] !== n ? (s = /* @__PURE__ */ T(W.Root, { ref: r, variant: "outline", ...n, children: [
|
|
327
|
+
i,
|
|
328
|
+
l
|
|
329
|
+
] }), t[4] = i, t[5] = r, t[6] = n, t[7] = s) : s = t[7], s;
|
|
330
|
+
}), Be = W.Input;
|
|
331
|
+
export {
|
|
332
|
+
Fe as C,
|
|
333
|
+
Be as N,
|
|
334
|
+
Ee as R,
|
|
335
|
+
he as S,
|
|
336
|
+
Oe as W,
|
|
337
|
+
Pe as a,
|
|
338
|
+
ge as b,
|
|
339
|
+
de as g,
|
|
340
|
+
me as r,
|
|
341
|
+
je as s
|
|
342
|
+
};
|
|
343
|
+
//# sourceMappingURL=number-input-WUfejtNx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-input-WUfejtNx.js","sources":["../src/components/primitives/checkbox.tsx","../src/utils/get-file-type-icon.ts","../src/components/primitives/resource-badge.tsx","../src/components/primitives/session-indicator.tsx","../src/components/primitives/workspace-badge.tsx","../src/components/primitives/number-input.tsx"],"sourcesContent":["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\n bg=\"bg\"\n borderColor=\"border\"\n borderRadius=\"xs\"\n color=\"fg.button.primary.default\"\n cursor={interactiveCursor}\n transition=\"border-color 0.2s ease-in-out\"\n boxShadow=\"none\"\n _hover={{ borderColor: \"border.accent-light\" }}\n _active={{ borderColor: \"border.accent-light\" }}\n _focusVisible={{ borderColor: \"border.accent-light\", outline: \"none\", boxShadow: \"none\" }}\n _checked={{\n bg: \"bg.button.primary.default\",\n borderColor: \"bg.button.primary.default\",\n color: \"fg.button.primary.default\",\n _hover: { borderColor: \"bg.button.primary.default\" },\n _active: { borderColor: \"bg.button.primary.default\" },\n }}\n _indeterminate={{\n bg: \"bg.button.primary.default\",\n borderColor: \"bg.button.primary.default\",\n color: \"fg.button.primary.default\",\n _hover: { borderColor: \"bg.button.primary.default\" },\n _active: { borderColor: \"bg.button.primary.default\" },\n }}\n >\n {icon ? <ChakraCheckbox.Indicator>{icon}</ChakraCheckbox.Indicator> : <ChakraCheckbox.Indicator />}\n </ChakraCheckbox.Control>\n {children != null && <ChakraCheckbox.Label cursor={interactiveCursor}>{children}</ChakraCheckbox.Label>}\n </ChakraCheckbox.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","import type { HTMLChakraProps } from \"@chakra-ui/react\";\nimport { chakra, IconButton, Spacer, Text } from \"@chakra-ui/react\";\nimport type { LucideIcon } from \"lucide-react\";\nimport { AlertTriangle, X } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\nimport { Tooltip } from \"@/components/primitives/tooltip\";\nimport { getFileTypeIcon } from \"@/utils/get-file-type-icon\";\n\nconst SIZE_STYLES = {\n sm: {\n container: {\n height: \"5\",\n lineHeight: { base: \"5\" },\n px: \"xs\",\n },\n iconSize: 12,\n textStyle: \"label/XS\",\n },\n md: {\n container: {\n height: \"6\",\n lineHeight: { base: \"6\" },\n px: \"xs\",\n },\n iconSize: 14,\n textStyle: \"label/S/regular\",\n },\n} as const;\n\nconst TONE_STYLES = {\n neutral: {\n color: \"fg\",\n bg: \"bg.subtle\",\n borderColor: \"border\",\n _hover: {\n bg: \"bg.hover\",\n },\n },\n accent: {\n color: \"var(--schub-foreground-accent)\",\n bg: \"var(--schub-accent-subtle)\",\n borderColor: \"var(--schub-accent-subtle)\",\n _hover: {\n bg: \"var(--schub-accent-subtle)\",\n },\n },\n} as const;\n\nexport interface MissingResourceBadgeProps {\n referenceId: string;\n onRemove?: (referenceId: string) => void;\n}\n\n/**\n * Shown when a reference points to a resource that no longer exists\n */\nexport const MissingResourceBadge = (props: MissingResourceBadgeProps) => {\n const { referenceId, onRemove } = props;\n return (\n <chakra.span\n height=\"24px\"\n lineHeight={{ base: \"24px\" }}\n gap=\"2xs\"\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n paddingX=\"xs\"\n borderRadius=\"9999px\"\n color=\"blacks.50\"\n bg=\"red.500\"\n _hover={{\n bg: \"red.600\",\n }}\n >\n <chakra.span mr=\"xs\" display=\"inline-flex\">\n <AlertTriangle size={14} />\n </chakra.span>\n <Text maxW={{ base: \"17.5rem\" }} textOverflow=\"ellipsis\" whiteSpace=\"nowrap\" overflow=\"hidden\">\n Missing Reference\n </Text>\n <Spacer />\n {onRemove && (\n <IconButton\n color=\"blacks.50\"\n aria-label=\"Remove reference\"\n size=\"2xs\"\n ml=\"sm\"\n variant=\"ghost\"\n _hover={{\n bg: \"transparent\",\n }}\n onClick={(e) => {\n e.stopPropagation();\n onRemove?.(referenceId);\n }}\n >\n <X size={12} />\n </IconButton>\n )}\n </chakra.span>\n );\n};\n\nexport type ResourceBadgeSize = keyof typeof SIZE_STYLES;\nexport type ResourceBadgeTone = keyof typeof TONE_STYLES;\n\nexport interface ResourceBadgeProps extends Omit<HTMLChakraProps<\"span\">, \"onSelect\"> {\n fileName: string;\n onRemove?: (fileName: string) => void;\n onSelect?: (fileName: string) => void;\n size?: ResourceBadgeSize;\n tone?: ResourceBadgeTone;\n icon?: ReactNode;\n}\n\nconst DEFAULT_SIZE: ResourceBadgeSize = \"md\";\nconst DEFAULT_TONE: ResourceBadgeTone = \"neutral\";\n\nexport const ResourceBadge = (props: ResourceBadgeProps) => {\n const { fileName, onSelect, onRemove, size = DEFAULT_SIZE, tone = DEFAULT_TONE, icon, ...rest } = props;\n const IconComp: LucideIcon = getFileTypeIcon(fileName);\n const sizeStyles = SIZE_STYLES[size];\n const toneStyles = TONE_STYLES[tone];\n\n return (\n <chakra.span\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n borderWidth=\"1px\"\n borderRadius=\"xs\"\n gap=\"2xs\"\n cursor={onSelect ? \"pointer\" : \"default\"}\n {...toneStyles}\n {...sizeStyles.container}\n onClick={(e) => {\n e.stopPropagation();\n onSelect?.(fileName);\n }}\n {...rest}\n >\n <chakra.span display=\"inline-flex\" flexShrink={0}>\n {icon ?? <IconComp size={sizeStyles.iconSize} />}\n </chakra.span>\n <Tooltip content={fileName}>\n <Text\n maxW={{ base: \"14rem\" }}\n textOverflow=\"ellipsis\"\n whiteSpace=\"nowrap\"\n overflow=\"hidden\"\n textStyle={sizeStyles.textStyle}\n >\n {fileName}\n </Text>\n </Tooltip>\n {onRemove && (\n <IconButton\n aria-label={`Remove ${fileName}`}\n size=\"2xs\"\n variant=\"ghost\"\n _hover={{\n bg: \"transparent\",\n }}\n onClick={(e) => {\n e.stopPropagation();\n onRemove?.(fileName);\n }}\n >\n <X size={12} />\n </IconButton>\n )}\n </chakra.span>\n );\n};\n","import { Icon } from \"@chakra-ui/react\";\nimport {\n CircleAlert,\n CircleCheck,\n CircleDashed,\n CircleDot,\n CirclePause,\n CircleStop,\n ClockAlert,\n LoaderCircle,\n} from \"lucide-react\";\nimport type { ComponentProps } from \"react\";\n\nexport const sessionCompletionStatuses = [\n \"in_progress\",\n \"awaiting_input\",\n \"queued\",\n \"completed\",\n \"failed\",\n \"cancelled\",\n \"disconnected\",\n] as const;\n\nexport type SessionCompletionStatus = (typeof sessionCompletionStatuses)[number];\n\nexport const resolveSessionIndicatorIcon = (status: SessionCompletionStatus | undefined) => {\n if (status === \"in_progress\") return LoaderCircle;\n if (status === \"completed\") return CircleCheck;\n if (status === \"failed\") return CircleAlert;\n if (status === \"cancelled\") return CircleStop;\n if (status === \"disconnected\") return CirclePause;\n if (status === \"queued\") return ClockAlert;\n if (status === \"awaiting_input\") return CircleDot;\n return CircleDashed;\n};\n\nexport const resolveSessionIndicatorColor = (status: SessionCompletionStatus | undefined) => {\n if (status === \"in_progress\") return \"fg.info\";\n if (status === \"completed\") return \"fg.success\";\n if (status === \"failed\") return \"fg.error\";\n if (status === \"cancelled\") return \"fg.warning\";\n if (status === \"disconnected\") return \"fg.warning\";\n if (status === \"queued\") return \"fg.info\";\n if (status === \"awaiting_input\") return \"fg.warning\";\n return \"fg.muted\";\n};\n\ninterface SessionIndicatorProps {\n status?: SessionCompletionStatus;\n boxSize?: ComponentProps<typeof Icon>[\"boxSize\"];\n ariaLabel?: string;\n cursor?: ComponentProps<typeof Icon>[\"cursor\"];\n onClick?: ComponentProps<typeof Icon>[\"onClick\"];\n}\n\nexport const SessionIndicator = (props: SessionIndicatorProps) => {\n const { status, boxSize = \"14px\", ariaLabel = \"Session status\", cursor, onClick } = props;\n\n return (\n <Icon\n as={resolveSessionIndicatorIcon(status)}\n boxSize={boxSize}\n color={resolveSessionIndicatorColor(status)}\n aria-label={ariaLabel}\n cursor={cursor}\n onClick={onClick}\n />\n );\n};\n","import { Badge, Box, HStack, Icon, Spinner, Text } from \"@chakra-ui/react\";\nimport { ChevronDown, GitBranchIcon, GitCommitIcon } from \"lucide-react\";\nimport type { MouseEvent } from \"react\";\nimport { type SessionCompletionStatus, SessionIndicator } from \"@/components/primitives/session-indicator\";\nimport { Tooltip } from \"@/components/primitives/tooltip\";\n\ninterface WorkspaceAttemptStatus {\n name: string;\n color: string;\n description?: string | null;\n}\n\nconst ATTEMPT_STATUS_COLOR_ALIASES: Record<string, string> = {\n amber: \"yellow\",\n};\n\nconst CHAKRA_COLOR_PALETTES = new Set([\n \"gray\",\n \"red\",\n \"orange\",\n \"yellow\",\n \"green\",\n \"teal\",\n \"blue\",\n \"cyan\",\n \"purple\",\n \"pink\",\n]);\n\nconst workspaceBadgeSurfaceProps = {\n bg: { _light: \"bg.muted\", _dark: \"bg.subtle\" },\n color: \"fg.muted\",\n _hover: { bg: { _light: \"bg.subtle\", _dark: \"bg.hover\" } },\n} as const;\n\nexport interface WorkspaceBadgeProps {\n workspaceType: \"worktree\" | \"current_branch\";\n initializing?: boolean;\n label?: string;\n shorthand?: string;\n attemptStatus?: WorkspaceAttemptStatus;\n sessionStatus?: SessionCompletionStatus;\n showLeadingSessionIndicator?: boolean;\n diffAdditions?: number;\n diffDeletions?: number;\n hasMultipleWorkspaces?: boolean;\n onClick?: () => void;\n onDropdownClick?: () => void;\n onSessionIndicatorClick?: () => void;\n}\n\nconst resolveWorkspaceIcon = (workspaceType: WorkspaceBadgeProps[\"workspaceType\"]) => {\n if (workspaceType === \"current_branch\") {\n return GitCommitIcon;\n }\n\n return GitBranchIcon;\n};\n\nconst resolveAttemptStatusColor = (color: string) => {\n if (color.startsWith(\"#\") || color.startsWith(\"rgb\") || color.startsWith(\"hsl\") || color.startsWith(\"var(\")) {\n return color;\n }\n\n const resolvedColor = ATTEMPT_STATUS_COLOR_ALIASES[color] ?? color;\n if (CHAKRA_COLOR_PALETTES.has(resolvedColor)) {\n return `var(--chakra-colors-${resolvedColor}-500)`;\n }\n\n return resolvedColor;\n};\n\nconst buildAttemptStatusTooltip = (attemptStatus: WorkspaceAttemptStatus | undefined) => {\n if (!attemptStatus) return null;\n\n if (attemptStatus.description) {\n return `${attemptStatus.name}: ${attemptStatus.description}`;\n }\n\n return attemptStatus.name;\n};\n\nconst handleIconClick = (event: MouseEvent<SVGSVGElement>, onClick: (() => void) | undefined) => {\n event.stopPropagation();\n onClick?.();\n};\n\nconst handleBadgeClick = (event: MouseEvent<HTMLSpanElement>, onClick: (() => void) | undefined) => {\n event.stopPropagation();\n onClick?.();\n};\n\nconst LeadingSessionIndicator = (props: {\n sessionStatus?: SessionCompletionStatus;\n onSessionIndicatorClick?: () => void;\n}) => {\n const { sessionStatus, onSessionIndicatorClick } = props;\n\n if (!sessionStatus) {\n return null;\n }\n\n const sessionTooltip = onSessionIndicatorClick ? \"Open latest session\" : \"Latest session status\";\n\n return (\n <Tooltip content={sessionTooltip}>\n <SessionIndicator\n status={sessionStatus}\n boxSize=\"12px\"\n ariaLabel={sessionTooltip}\n cursor=\"pointer\"\n onClick={onSessionIndicatorClick ? (event) => handleIconClick(event, onSessionIndicatorClick) : undefined}\n />\n </Tooltip>\n );\n};\n\nconst WorkspaceTypeIndicator = (props: {\n workspaceType: WorkspaceBadgeProps[\"workspaceType\"];\n initializing: boolean;\n label?: string;\n shorthand?: string;\n}) => {\n const { workspaceType, initializing, label, shorthand } = props;\n const WorkspaceTypeIcon = resolveWorkspaceIcon(workspaceType);\n const displayLabel = label ?? shorthand;\n\n return (\n <HStack as=\"span\" gap=\"2xs\" alignItems=\"center\" color=\"fg.muted\" minW=\"0\">\n <Icon\n as={WorkspaceTypeIcon}\n boxSize=\"3.5\"\n flexShrink={0}\n aria-label={workspaceType === \"worktree\" ? \"Worktree\" : \"Current branch\"}\n />\n {initializing ? <Spinner size=\"xs\" color=\"fg.muted\" /> : null}\n {displayLabel ? (\n <Text as=\"span\" textStyle=\"label/XS/medium\" color=\"fg.muted\" minW=\"0\" maxW=\"10rem\" truncate>\n {displayLabel}\n </Text>\n ) : null}\n </HStack>\n );\n};\n\nconst WorkspaceAttemptStatusIndicator = (props: { attemptStatus?: WorkspaceAttemptStatus }) => {\n const { attemptStatus } = props;\n\n if (!attemptStatus) {\n return null;\n }\n\n return (\n <Tooltip content={buildAttemptStatusTooltip(attemptStatus)}>\n <Box\n as=\"span\"\n boxSize=\"8px\"\n borderRadius=\"full\"\n backgroundColor={resolveAttemptStatusColor(attemptStatus.color)}\n flexShrink={0}\n aria-label={`Attempt status ${attemptStatus.name}`}\n data-testid=\"workspace-attempt-status\"\n />\n </Tooltip>\n );\n};\n\nconst WorkspaceDiffTotals = (props: { diffAdditions?: number; diffDeletions?: number }) => {\n const { diffAdditions, diffDeletions } = props;\n\n if (typeof diffAdditions !== \"number\" || typeof diffDeletions !== \"number\") {\n return null;\n }\n\n return (\n <HStack as=\"span\" gap=\"3xs\" flexShrink={0}>\n <Text as=\"span\" textStyle=\"label/XS/medium\" color=\"fg.success\">\n +{diffAdditions}\n </Text>\n <Text as=\"span\" textStyle=\"label/XS/medium\" color=\"fg.error\">\n -{diffDeletions}\n </Text>\n </HStack>\n );\n};\n\nconst WorkspaceDropdownTrigger = (props: { hasMultipleWorkspaces: boolean; onDropdownClick?: () => void }) => {\n const { hasMultipleWorkspaces, onDropdownClick } = props;\n\n if (!hasMultipleWorkspaces) {\n return null;\n }\n\n return (\n <Icon\n as={ChevronDown}\n boxSize=\"12px\"\n color=\"fg.muted\"\n cursor={onDropdownClick ? \"pointer\" : \"default\"}\n aria-label=\"Workspace selector\"\n onClick={onDropdownClick ? (event) => handleIconClick(event, onDropdownClick) : undefined}\n />\n );\n};\n\nexport const WorkspaceBadge = (props: WorkspaceBadgeProps) => {\n const {\n workspaceType,\n initializing = false,\n label,\n shorthand,\n attemptStatus,\n sessionStatus,\n showLeadingSessionIndicator = true,\n diffAdditions,\n diffDeletions,\n hasMultipleWorkspaces = false,\n onClick,\n onDropdownClick,\n onSessionIndicatorClick,\n } = props;\n\n return (\n <Badge\n as=\"span\"\n display=\"inline-flex\"\n gap=\"2xs\"\n alignItems=\"center\"\n minW=\"0\"\n maxW=\"100%\"\n variant=\"subtle\"\n {...workspaceBadgeSurfaceProps}\n textStyle=\"label/XS/medium\"\n cursor={onClick || onDropdownClick || hasMultipleWorkspaces ? \"pointer\" : \"default\"}\n transition=\"background-color 0.2s ease-in-out\"\n onClick={onClick ? (event) => handleBadgeClick(event, onClick) : undefined}\n data-testid=\"workspace-badge\"\n >\n {showLeadingSessionIndicator ? (\n <LeadingSessionIndicator sessionStatus={sessionStatus} onSessionIndicatorClick={onSessionIndicatorClick} />\n ) : null}\n <WorkspaceTypeIndicator\n workspaceType={workspaceType}\n initializing={initializing}\n label={label}\n shorthand={shorthand}\n />\n <WorkspaceAttemptStatusIndicator attemptStatus={attemptStatus} />\n <WorkspaceDiffTotals diffAdditions={diffAdditions} diffDeletions={diffDeletions} />\n <WorkspaceDropdownTrigger hasMultipleWorkspaces={hasMultipleWorkspaces} onDropdownClick={onDropdownClick} />\n </Badge>\n );\n};\n","import { NumberInput as ChakraNumberInput } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\nexport interface NumberInputProps extends ChakraNumberInput.RootProps {}\n\nexport const NumberInputRoot = React.forwardRef<HTMLDivElement, NumberInputProps>(function NumberInput(props, ref) {\n const { children, ...rest } = props;\n return (\n <ChakraNumberInput.Root ref={ref} variant=\"outline\" {...rest}>\n {children}\n <ChakraNumberInput.Control>\n <ChakraNumberInput.IncrementTrigger />\n <ChakraNumberInput.DecrementTrigger />\n </ChakraNumberInput.Control>\n </ChakraNumberInput.Root>\n );\n});\n\nexport const NumberInputField = ChakraNumberInput.Input;\n"],"names":["Checkbox","React","forwardRef","props","ref","$","_c","children","icon","inputProps","rest","rootRef","t0","t1","disabled","readOnly","undefined","interactiveCursor","t2","t3","t4","t5","Symbol","for","borderColor","outline","boxShadow","t6","bg","color","_hover","_active","t7","t8","jsx","ChakraCheckbox","t9","t10","t11","jsxs","getFileTypeIcon","filename","extension","split","pop","toLowerCase","includes","FileSpreadsheet","FileCode","FileChartLine","FileJson","FileText","FileCog","FileImage","FileArchive","File","SIZE_STYLES","sm","container","height","lineHeight","base","px","iconSize","textStyle","md","TONE_STYLES","neutral","accent","DEFAULT_SIZE","DEFAULT_TONE","ResourceBadge","fileName","onRemove","onSelect","size","tone","IconComp","sizeStyles","toneStyles","e","stopPropagation","chakra","Text","Tooltip","IconButton","e_0","X","sessionCompletionStatuses","resolveSessionIndicatorIcon","status","LoaderCircle","CircleCheck","CircleAlert","CircleStop","CirclePause","ClockAlert","CircleDot","CircleDashed","resolveSessionIndicatorColor","SessionIndicator","boxSize","ariaLabel","cursor","onClick","Icon","ATTEMPT_STATUS_COLOR_ALIASES","amber","CHAKRA_COLOR_PALETTES","Set","workspaceBadgeSurfaceProps","_light","_dark","resolveWorkspaceIcon","workspaceType","GitCommitIcon","GitBranchIcon","resolveAttemptStatusColor","startsWith","resolvedColor","has","buildAttemptStatusTooltip","attemptStatus","description","name","handleIconClick","event","handleBadgeClick","LeadingSessionIndicator","sessionStatus","onSessionIndicatorClick","sessionTooltip","WorkspaceTypeIndicator","initializing","label","shorthand","WorkspaceTypeIcon","displayLabel","Spinner","HStack","WorkspaceAttemptStatusIndicator","Box","WorkspaceDiffTotals","diffAdditions","diffDeletions","WorkspaceDropdownTrigger","hasMultipleWorkspaces","onDropdownClick","ChevronDown","WorkspaceBadge","showLeadingSessionIndicator","Badge","NumberInputRoot","ChakraNumberInput","NumberInputField","Input"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { c as E } from "react/compiler-runtime";
|
|
|
3
3
|
import { Box as j, Collapsible as _, Stack as T, Flex as k, Icon as z, Button as H, Text as w } from "@chakra-ui/react";
|
|
4
4
|
import { ChevronDown as I } from "lucide-react";
|
|
5
5
|
import { useState as A } from "react";
|
|
6
|
-
import { P as D } from "./param-editor-field-
|
|
6
|
+
import { P as D } from "./param-editor-field-Cu4pto_a.js";
|
|
7
7
|
const M = (v) => {
|
|
8
8
|
const e = E(13), {
|
|
9
9
|
param: n,
|
|
@@ -158,4 +158,4 @@ export {
|
|
|
158
158
|
M as a,
|
|
159
159
|
V as b
|
|
160
160
|
};
|
|
161
|
-
//# sourceMappingURL=param-editor-
|
|
161
|
+
//# sourceMappingURL=param-editor-B8Ff9Nm8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"param-editor-XRjSu6MT.js","sources":["../src/components/param-editor/param-editor-row.tsx","../src/components/param-editor/param-editor-section.tsx","../src/components/param-editor/param-editor.tsx"],"sourcesContent":["import { Box } from \"@chakra-ui/react\";\nimport type { Param, ParamValue, ParamValueMap, ResourceRefValue } from \"./param-editor.types\";\nimport { ParamEditorField } from \"./param-editor-field\";\n\nexport interface ParamEditorRowProps {\n param: Param;\n values?: ParamValueMap;\n onChange?: (id: string, value: ParamValue) => void;\n onOpenResource?: (ref: ResourceRefValue) => void;\n readOnly?: boolean;\n fullWidth?: boolean;\n variant?: \"default\" | \"small\";\n}\n\n/**\n * The padded field row every param surface is built from. Surfaces that compose\n * their own list of fields — a command dialog mixing built-in and host-supplied\n * controls — stack these instead of nesting one editor per field, so the whole\n * form keeps a single rhythm.\n */\nexport const ParamEditorRow = (props: ParamEditorRowProps) => {\n const { param, values = {}, onChange, onOpenResource, readOnly, fullWidth, variant = \"default\" } = props;\n const small = variant === \"small\";\n\n return (\n <Box px=\"sm\" py={small ? \"2xs\" : \"xs\"}>\n <ParamEditorField\n param={param}\n defaultValues={values}\n onChange={onChange ?? (() => undefined)}\n onOpenResource={onOpenResource}\n readOnly={readOnly}\n fullWidth={fullWidth}\n size={small ? \"xs\" : \"sm\"}\n />\n </Box>\n );\n};\n","import { Button, Collapsible, Flex, Icon, Stack, Text } from \"@chakra-ui/react\";\nimport { ChevronDown } from \"lucide-react\";\nimport { useState } from \"react\";\nimport type { Param, ParamValue, ParamValueMap, ResourceRefValue } from \"./param-editor.types\";\nimport { ParamEditorRow } from \"./param-editor-row\";\n\ninterface ParamEditorSectionProps {\n title?: string;\n description?: string;\n params: Param[];\n defaultValues: ParamValueMap;\n onChange: (id: string, value: ParamValue) => void;\n onOpenResource?: (ref: ResourceRefValue) => void;\n readOnly?: boolean;\n fullWidth?: boolean;\n collapsible?: boolean;\n defaultCollapsed?: boolean;\n isFirst?: boolean;\n variant?: \"default\" | \"small\";\n}\n\nconst ParamEditorSectionTitle = (props: { title: string; description?: string }) => {\n const { title, description } = props;\n\n return (\n <Stack gap=\"2xs\" minW=\"0\" textAlign=\"left\">\n <Text textStyle=\"label/M/medium\" color=\"fg\" truncate>\n {title}\n </Text>\n {description ? (\n <Text textStyle=\"label/XS/regular\" color=\"fg.muted\" lineClamp={2}>\n {description}\n </Text>\n ) : null}\n </Stack>\n );\n};\n\nconst ParamEditorSectionHeader = (props: {\n title: string;\n description?: string;\n open: boolean;\n collapsible?: boolean;\n onToggle: () => void;\n}) => {\n const { title, description, open, collapsible, onToggle } = props;\n\n if (!collapsible) {\n return (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" minHeight=\"2.25rem\" px=\"sm\" py=\"xs\">\n <ParamEditorSectionTitle title={title} description={description} />\n </Flex>\n );\n }\n\n return (\n <Button\n aria-expanded={open}\n borderRadius=\"0\"\n height=\"auto\"\n justifyContent=\"space-between\"\n minHeight=\"2.25rem\"\n onClick={onToggle}\n px=\"sm\"\n py=\"xs\"\n size=\"xs\"\n variant=\"ghost\"\n width=\"full\"\n _expanded={{ bg: \"transparent\" }}\n >\n <ParamEditorSectionTitle title={title} description={description} />\n <Icon\n as={ChevronDown}\n boxSize=\"14px\"\n color=\"fg.muted\"\n flexShrink={0}\n transform={open ? \"rotate(0deg)\" : \"rotate(-90deg)\"}\n transition=\"transform 120ms ease\"\n />\n </Button>\n );\n};\n\nconst ParamEditorSectionBody = (props: Omit<ParamEditorSectionProps, \"title\" | \"description\" | \"collapsible\">) => {\n const { params, defaultValues, onChange, onOpenResource, readOnly, fullWidth, defaultCollapsed, isFirst, variant } =\n props;\n let sectionPadding = defaultCollapsed || isFirst ? \"2xs\" : \"xs\";\n if (variant === \"small\") sectionPadding = \"none\";\n\n return (\n <Stack gap=\"0\" py={sectionPadding}>\n {params.map((param) => (\n <ParamEditorRow\n key={param.id}\n param={param}\n values={defaultValues}\n onChange={onChange}\n onOpenResource={onOpenResource}\n readOnly={readOnly}\n fullWidth={fullWidth}\n variant={variant}\n />\n ))}\n </Stack>\n );\n};\n\nexport const ParamEditorSection = (props: ParamEditorSectionProps) => {\n const {\n title,\n description,\n params,\n defaultValues,\n onChange,\n onOpenResource,\n readOnly,\n fullWidth,\n collapsible,\n defaultCollapsed = false,\n isFirst = false,\n variant = \"default\",\n } = props;\n const [open, setOpen] = useState(!defaultCollapsed);\n const hasTitle = Boolean(title);\n const canCollapse = Boolean(hasTitle && collapsible);\n const contentOpen = canCollapse ? open : true;\n\n return (\n <Stack as=\"section\" gap=\"0\" borderTopWidth={isFirst ? \"0\" : \"1px\"} borderColor=\"border.subtle\" minW=\"0\">\n {title ? (\n <ParamEditorSectionHeader\n title={title}\n description={description}\n open={contentOpen}\n collapsible={canCollapse}\n onToggle={() => setOpen((current) => !current)}\n />\n ) : null}\n <Collapsible.Root open={contentOpen}>\n <Collapsible.Content>\n <ParamEditorSectionBody\n params={params}\n defaultValues={defaultValues}\n onChange={onChange}\n onOpenResource={onOpenResource}\n readOnly={readOnly}\n fullWidth={fullWidth}\n defaultCollapsed={defaultCollapsed}\n isFirst={isFirst}\n variant={variant}\n />\n </Collapsible.Content>\n </Collapsible.Root>\n </Stack>\n );\n};\n","import { Stack } from \"@chakra-ui/react\";\nimport type { InputGroup, Param, ParamValue, ParamValueMap, ResourceRefValue } from \"./param-editor.types\";\nimport { ParamEditorSection } from \"./param-editor-section\";\n\nexport interface ParamEditorProps {\n params?: Param[];\n groups?: InputGroup[];\n defaultValues?: ParamValueMap;\n onChange?: (id: string, value: ParamValue) => void;\n onOpenResource?: (ref: ResourceRefValue) => void;\n readOnly?: boolean;\n fullWidth?: boolean;\n variant?: \"default\" | \"small\";\n}\n\nexport const ParamEditor = (props: ParamEditorProps) => {\n const {\n params = [],\n groups = [],\n defaultValues = {},\n onChange,\n onOpenResource,\n readOnly,\n fullWidth = false,\n variant = \"default\",\n } = props;\n const handleChange = onChange ?? (() => undefined);\n\n return (\n <Stack flex=\"1\" maxW=\"full\" gap=\"0\">\n {params.length > 0 ? (\n <ParamEditorSection\n params={params}\n defaultValues={defaultValues}\n onChange={handleChange}\n onOpenResource={onOpenResource}\n readOnly={readOnly}\n fullWidth={fullWidth}\n variant={variant}\n isFirst\n />\n ) : null}\n {groups.map((group, index) => (\n <ParamEditorSection\n key={group.id}\n title={group.title}\n description={group.description}\n params={group.params}\n defaultValues={defaultValues}\n onChange={handleChange}\n onOpenResource={onOpenResource}\n readOnly={readOnly}\n fullWidth={fullWidth}\n variant={variant}\n collapsible={group.collapsible}\n defaultCollapsed={group.defaultCollapsed}\n isFirst={params.length === 0 && index === 0}\n />\n ))}\n </Stack>\n );\n};\n"],"names":["ParamEditorRow","props","$","_c","param","values","t0","onChange","onOpenResource","readOnly","fullWidth","variant","t1","t2","undefined","small","t3","t4","_temp","t5","t6","ParamEditorField","t7","Box","ParamEditorSectionTitle","title","description","jsx","Text","Stack","ParamEditorSectionHeader","open","collapsible","onToggle","Flex","Symbol","for","bg","Icon","ChevronDown","jsxs","Button","ParamEditorSectionBody","params","defaultValues","defaultCollapsed","isFirst","sectionPadding","id","map","ParamEditorSection","setOpen","useState","canCollapse","Boolean","contentOpen","Collapsible","current","ParamEditor","groups","handleChange","t8","length","t9","t10","group","index"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"param-editor-B8Ff9Nm8.js","sources":["../src/components/param-editor/param-editor-row.tsx","../src/components/param-editor/param-editor-section.tsx","../src/components/param-editor/param-editor.tsx"],"sourcesContent":["import { Box } from \"@chakra-ui/react\";\nimport type { Param, ParamValue, ParamValueMap, ResourceRefValue } from \"./param-editor.types\";\nimport { ParamEditorField } from \"./param-editor-field\";\n\nexport interface ParamEditorRowProps {\n param: Param;\n values?: ParamValueMap;\n onChange?: (id: string, value: ParamValue) => void;\n onOpenResource?: (ref: ResourceRefValue) => void;\n readOnly?: boolean;\n fullWidth?: boolean;\n variant?: \"default\" | \"small\";\n}\n\n/**\n * The padded field row every param surface is built from. Surfaces that compose\n * their own list of fields — a command dialog mixing built-in and host-supplied\n * controls — stack these instead of nesting one editor per field, so the whole\n * form keeps a single rhythm.\n */\nexport const ParamEditorRow = (props: ParamEditorRowProps) => {\n const { param, values = {}, onChange, onOpenResource, readOnly, fullWidth, variant = \"default\" } = props;\n const small = variant === \"small\";\n\n return (\n <Box px=\"sm\" py={small ? \"2xs\" : \"xs\"}>\n <ParamEditorField\n param={param}\n defaultValues={values}\n onChange={onChange ?? (() => undefined)}\n onOpenResource={onOpenResource}\n readOnly={readOnly}\n fullWidth={fullWidth}\n size={small ? \"xs\" : \"sm\"}\n />\n </Box>\n );\n};\n","import { Button, Collapsible, Flex, Icon, Stack, Text } from \"@chakra-ui/react\";\nimport { ChevronDown } from \"lucide-react\";\nimport { useState } from \"react\";\nimport type { Param, ParamValue, ParamValueMap, ResourceRefValue } from \"./param-editor.types\";\nimport { ParamEditorRow } from \"./param-editor-row\";\n\ninterface ParamEditorSectionProps {\n title?: string;\n description?: string;\n params: Param[];\n defaultValues: ParamValueMap;\n onChange: (id: string, value: ParamValue) => void;\n onOpenResource?: (ref: ResourceRefValue) => void;\n readOnly?: boolean;\n fullWidth?: boolean;\n collapsible?: boolean;\n defaultCollapsed?: boolean;\n isFirst?: boolean;\n variant?: \"default\" | \"small\";\n}\n\nconst ParamEditorSectionTitle = (props: { title: string; description?: string }) => {\n const { title, description } = props;\n\n return (\n <Stack gap=\"2xs\" minW=\"0\" textAlign=\"left\">\n <Text textStyle=\"label/M/medium\" color=\"fg\" truncate>\n {title}\n </Text>\n {description ? (\n <Text textStyle=\"label/XS/regular\" color=\"fg.muted\" lineClamp={2}>\n {description}\n </Text>\n ) : null}\n </Stack>\n );\n};\n\nconst ParamEditorSectionHeader = (props: {\n title: string;\n description?: string;\n open: boolean;\n collapsible?: boolean;\n onToggle: () => void;\n}) => {\n const { title, description, open, collapsible, onToggle } = props;\n\n if (!collapsible) {\n return (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" minHeight=\"2.25rem\" px=\"sm\" py=\"xs\">\n <ParamEditorSectionTitle title={title} description={description} />\n </Flex>\n );\n }\n\n return (\n <Button\n aria-expanded={open}\n borderRadius=\"0\"\n height=\"auto\"\n justifyContent=\"space-between\"\n minHeight=\"2.25rem\"\n onClick={onToggle}\n px=\"sm\"\n py=\"xs\"\n size=\"xs\"\n variant=\"ghost\"\n width=\"full\"\n _expanded={{ bg: \"transparent\" }}\n >\n <ParamEditorSectionTitle title={title} description={description} />\n <Icon\n as={ChevronDown}\n boxSize=\"14px\"\n color=\"fg.muted\"\n flexShrink={0}\n transform={open ? \"rotate(0deg)\" : \"rotate(-90deg)\"}\n transition=\"transform 120ms ease\"\n />\n </Button>\n );\n};\n\nconst ParamEditorSectionBody = (props: Omit<ParamEditorSectionProps, \"title\" | \"description\" | \"collapsible\">) => {\n const { params, defaultValues, onChange, onOpenResource, readOnly, fullWidth, defaultCollapsed, isFirst, variant } =\n props;\n let sectionPadding = defaultCollapsed || isFirst ? \"2xs\" : \"xs\";\n if (variant === \"small\") sectionPadding = \"none\";\n\n return (\n <Stack gap=\"0\" py={sectionPadding}>\n {params.map((param) => (\n <ParamEditorRow\n key={param.id}\n param={param}\n values={defaultValues}\n onChange={onChange}\n onOpenResource={onOpenResource}\n readOnly={readOnly}\n fullWidth={fullWidth}\n variant={variant}\n />\n ))}\n </Stack>\n );\n};\n\nexport const ParamEditorSection = (props: ParamEditorSectionProps) => {\n const {\n title,\n description,\n params,\n defaultValues,\n onChange,\n onOpenResource,\n readOnly,\n fullWidth,\n collapsible,\n defaultCollapsed = false,\n isFirst = false,\n variant = \"default\",\n } = props;\n const [open, setOpen] = useState(!defaultCollapsed);\n const hasTitle = Boolean(title);\n const canCollapse = Boolean(hasTitle && collapsible);\n const contentOpen = canCollapse ? open : true;\n\n return (\n <Stack as=\"section\" gap=\"0\" borderTopWidth={isFirst ? \"0\" : \"1px\"} borderColor=\"border.subtle\" minW=\"0\">\n {title ? (\n <ParamEditorSectionHeader\n title={title}\n description={description}\n open={contentOpen}\n collapsible={canCollapse}\n onToggle={() => setOpen((current) => !current)}\n />\n ) : null}\n <Collapsible.Root open={contentOpen}>\n <Collapsible.Content>\n <ParamEditorSectionBody\n params={params}\n defaultValues={defaultValues}\n onChange={onChange}\n onOpenResource={onOpenResource}\n readOnly={readOnly}\n fullWidth={fullWidth}\n defaultCollapsed={defaultCollapsed}\n isFirst={isFirst}\n variant={variant}\n />\n </Collapsible.Content>\n </Collapsible.Root>\n </Stack>\n );\n};\n","import { Stack } from \"@chakra-ui/react\";\nimport type { InputGroup, Param, ParamValue, ParamValueMap, ResourceRefValue } from \"./param-editor.types\";\nimport { ParamEditorSection } from \"./param-editor-section\";\n\nexport interface ParamEditorProps {\n params?: Param[];\n groups?: InputGroup[];\n defaultValues?: ParamValueMap;\n onChange?: (id: string, value: ParamValue) => void;\n onOpenResource?: (ref: ResourceRefValue) => void;\n readOnly?: boolean;\n fullWidth?: boolean;\n variant?: \"default\" | \"small\";\n}\n\nexport const ParamEditor = (props: ParamEditorProps) => {\n const {\n params = [],\n groups = [],\n defaultValues = {},\n onChange,\n onOpenResource,\n readOnly,\n fullWidth = false,\n variant = \"default\",\n } = props;\n const handleChange = onChange ?? (() => undefined);\n\n return (\n <Stack flex=\"1\" maxW=\"full\" gap=\"0\">\n {params.length > 0 ? (\n <ParamEditorSection\n params={params}\n defaultValues={defaultValues}\n onChange={handleChange}\n onOpenResource={onOpenResource}\n readOnly={readOnly}\n fullWidth={fullWidth}\n variant={variant}\n isFirst\n />\n ) : null}\n {groups.map((group, index) => (\n <ParamEditorSection\n key={group.id}\n title={group.title}\n description={group.description}\n params={group.params}\n defaultValues={defaultValues}\n onChange={handleChange}\n onOpenResource={onOpenResource}\n readOnly={readOnly}\n fullWidth={fullWidth}\n variant={variant}\n collapsible={group.collapsible}\n defaultCollapsed={group.defaultCollapsed}\n isFirst={params.length === 0 && index === 0}\n />\n ))}\n </Stack>\n );\n};\n"],"names":["ParamEditorRow","props","$","_c","param","values","t0","onChange","onOpenResource","readOnly","fullWidth","variant","t1","t2","undefined","small","t3","t4","_temp","t5","t6","ParamEditorField","t7","Box","ParamEditorSectionTitle","title","description","jsx","Text","Stack","ParamEditorSectionHeader","open","collapsible","onToggle","Flex","Symbol","for","bg","Icon","ChevronDown","jsxs","Button","ParamEditorSectionBody","params","defaultValues","defaultCollapsed","isFirst","sectionPadding","id","map","ParamEditorSection","setOpen","useState","canCollapse","Boolean","contentOpen","Collapsible","current","ParamEditor","groups","handleChange","t8","length","t9","t10","group","index"],"mappings":"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"}
|