@pstdio/ui 0.43.0 → 0.43.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +11 -0
  2. package/dist/{MermaidComponent-X7N-8w2S.js → MermaidComponent-_cmVeKKR.js} +3 -3
  3. package/dist/{MermaidComponent-X7N-8w2S.js.map → MermaidComponent-_cmVeKKR.js.map} +1 -1
  4. package/dist/chat-ui.d.ts +85 -57
  5. package/dist/chat-ui.js +1168 -1183
  6. package/dist/chat-ui.js.map +1 -1
  7. package/dist/{collection-view-fields-CajuwtKF.d.ts → collection-view-fields-B3fhsgn7.d.ts} +2 -0
  8. package/dist/{collection-view-grouping-DnuJ1U4R.js → collection-view-grouping-jIqOrBG8.js} +2 -2
  9. package/dist/{collection-view-grouping-DnuJ1U4R.js.map → collection-view-grouping-jIqOrBG8.js.map} +1 -1
  10. package/dist/{collection-view-search-D_7Qvz7p.js → collection-view-search-KbQpKHdn.js} +767 -630
  11. package/dist/collection-view-search-KbQpKHdn.js.map +1 -0
  12. package/dist/collection-view.d.ts +1 -1
  13. package/dist/collection-view.js +2 -2
  14. package/dist/{data-table-stats-row-C8CtvdDt.js → data-table-stats-row-83mX8b1B.js} +2 -2
  15. package/dist/{data-table-stats-row-C8CtvdDt.js.map → data-table-stats-row-83mX8b1B.js.map} +1 -1
  16. package/dist/data-table.d.ts +2 -2
  17. package/dist/data-table.js +8 -8
  18. package/dist/{diff-drawer-BGQhxyOh.js → diff-drawer-BMl0zobj.js} +2 -2
  19. package/dist/{diff-drawer-BGQhxyOh.js.map → diff-drawer-BMl0zobj.js.map} +1 -1
  20. package/dist/{diff-viewer-DYcswG6O.js → diff-viewer-C5KXwq7E.js} +5 -5
  21. package/dist/{diff-viewer-DYcswG6O.js.map → diff-viewer-C5KXwq7E.js.map} +1 -1
  22. package/dist/diff.js +2 -2
  23. package/dist/{display-sort-control-n3L5WvkJ.js → display-sort-control-BCkgKET1.js} +194 -183
  24. package/dist/display-sort-control-BCkgKET1.js.map +1 -0
  25. package/dist/{edit-mode-data-table-BclZ-pWe.js → edit-mode-data-table-ScVJJT9F.js} +8 -8
  26. package/dist/{edit-mode-data-table-BclZ-pWe.js.map → edit-mode-data-table-ScVJJT9F.js.map} +1 -1
  27. package/dist/{index-5Lw7YMKy.d.ts → index-Bc2BsdD1.d.ts} +6 -0
  28. package/dist/{index-DjZsR4Ey.d.ts → index-DXpADqIg.d.ts} +8 -4
  29. package/dist/index.d.ts +49 -49
  30. package/dist/index.js +453 -455
  31. package/dist/index.js.map +1 -1
  32. package/dist/kanban-renderer.d.ts +3 -3
  33. package/dist/kanban-renderer.js +935 -745
  34. package/dist/kanban-renderer.js.map +1 -1
  35. package/dist/{list-row-CmFG_jCC.js → list-row-F8kBQGB-.js} +394 -384
  36. package/dist/list-row-F8kBQGB-.js.map +1 -0
  37. package/dist/{markdown-editor-CN4qOKky.js → markdown-editor-Dm4Fi3sX.js} +6 -6
  38. package/dist/{markdown-editor-CN4qOKky.js.map → markdown-editor-Dm4Fi3sX.js.map} +1 -1
  39. package/dist/{mermaid-renderer-DybQ_2Cp.js → mermaid-renderer-BtW_13Sz.js} +2 -2
  40. package/dist/{mermaid-renderer-DybQ_2Cp.js.map → mermaid-renderer-BtW_13Sz.js.map} +1 -1
  41. package/dist/mermaid.js +1 -1
  42. package/dist/{number-input-CyrMrDxB.js → number-input-QDqWYzTR.js} +2 -2
  43. package/dist/{number-input-CyrMrDxB.js.map → number-input-QDqWYzTR.js.map} +1 -1
  44. package/dist/{param-editor-28dBRSV4.js → param-editor-B9ASM5Lv.js} +2 -2
  45. package/dist/{param-editor-28dBRSV4.js.map → param-editor-B9ASM5Lv.js.map} +1 -1
  46. package/dist/{param-editor-field-GxhFb86w.js → param-editor-field-BmNUziwI.js} +7 -5
  47. package/dist/param-editor-field-BmNUziwI.js.map +1 -0
  48. package/dist/param-editor.js +3 -3
  49. package/dist/{prism-CnkSh-ZG.js → prism-EZSmZh-a.js} +2 -2
  50. package/dist/{prism-CnkSh-ZG.js.map → prism-EZSmZh-a.js.map} +1 -1
  51. package/dist/{rich-text-DOK4dDeb.js → rich-text-Dx5F8Zm1.js} +384 -363
  52. package/dist/rich-text-Dx5F8Zm1.js.map +1 -0
  53. package/dist/rich-text.d.ts +1 -1
  54. package/dist/rich-text.js +3 -3
  55. package/dist/{scroll-area-crJfiiuF.js → scroll-area-IeoRS73V.js} +3 -5
  56. package/dist/scroll-area-IeoRS73V.js.map +1 -0
  57. package/dist/terminal.js +1 -1
  58. package/dist/{theme-Bd_a7sU8.js → theme-CWDvF5Yn.js} +185 -73
  59. package/dist/theme-CWDvF5Yn.js.map +1 -0
  60. package/dist/theme.js +1 -1
  61. package/dist/{tree-list-B_qqiIoM.js → tree-list-Ces1hpRd.js} +2 -2
  62. package/dist/{tree-list-B_qqiIoM.js.map → tree-list-Ces1hpRd.js.map} +1 -1
  63. package/dist/{workspace-badge-oFp29Gbe.d.ts → workspace-badge-De6OQjb5.d.ts} +2 -1
  64. package/dist/{workspace-badge-BfSkiGP_.js → workspace-badge-DqQKSUJw.js} +12 -12
  65. package/dist/workspace-badge-DqQKSUJw.js.map +1 -0
  66. package/package.json +2 -2
  67. package/dist/collection-view-search-D_7Qvz7p.js.map +0 -1
  68. package/dist/display-sort-control-n3L5WvkJ.js.map +0 -1
  69. package/dist/list-row-CmFG_jCC.js.map +0 -1
  70. package/dist/param-editor-field-GxhFb86w.js.map +0 -1
  71. package/dist/rich-text-DOK4dDeb.js.map +0 -1
  72. package/dist/scroll-area-crJfiiuF.js.map +0 -1
  73. package/dist/theme-Bd_a7sU8.js.map +0 -1
  74. package/dist/workspace-badge-BfSkiGP_.js.map +0 -1
@@ -42,8 +42,9 @@ declare const ResourceContextMenu: (props: ResourceContextMenuProps) => import("
42
42
  declare const sessionCompletionStatuses: readonly ["in_progress", "awaiting_input", "queued", "completed", "failed", "cancelled", "disconnected"];
43
43
  type SessionCompletionStatus = (typeof sessionCompletionStatuses)[number];
44
44
  declare const resolveSessionIndicatorIcon: (status: SessionCompletionStatus | undefined) => import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
45
- declare const resolveSessionIndicatorColor: (status: SessionCompletionStatus | undefined) => "fg.info" | "fg.success" | "fg.error" | "fg.warning" | "fg.muted";
45
+ declare const resolveSessionIndicatorColor: (status: SessionCompletionStatus | undefined) => "fg.muted" | "fg.error" | "fg.warning" | "fg.success" | "fg.info";
46
46
  interface SessionIndicatorProps {
47
+ color?: ComponentProps<typeof Icon>["color"];
47
48
  status?: SessionCompletionStatus;
48
49
  boxSize?: ComponentProps<typeof Icon>["boxSize"];
49
50
  ariaLabel?: string;
@@ -1,4 +1,4 @@
1
- import { n as e } from "./scroll-area-crJfiiuF.js";
1
+ import { n as e } from "./scroll-area-IeoRS73V.js";
2
2
  import { Badge as t, Box as n, HStack as r, Icon as i, Spinner as a, Text as o } from "@chakra-ui/react";
3
3
  import { c as s } from "react/compiler-runtime";
4
4
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
@@ -15,19 +15,19 @@ var S = (e, t, n = !0) => {
15
15
  "cancelled",
16
16
  "disconnected"
17
17
  ], w = (e) => e === "in_progress" ? x : e === "completed" ? f : e === "failed" ? d : e === "cancelled" ? g : e === "disconnected" ? h : e === "queued" ? _ : e === "awaiting_input" ? m : p, T = (e) => e === "in_progress" ? "fg.info" : e === "completed" ? "fg.success" : e === "failed" ? "fg.error" : e === "cancelled" || e === "disconnected" ? "fg.warning" : e === "queued" ? "fg.info" : e === "awaiting_input" ? "fg.warning" : "fg.muted", E = (e) => {
18
- let t = s(11), { status: n, boxSize: r, ariaLabel: a, cursor: o, onClick: l } = e, u = r === void 0 ? "14px" : r, d = a === void 0 ? "Session status" : a, f;
19
- t[0] === n ? f = t[1] : (f = w(n), t[0] = n, t[1] = f);
20
- let p;
21
- t[2] === n ? p = t[3] : (p = T(n), t[2] = n, t[3] = p);
18
+ let t = s(12), { status: n, boxSize: r, ariaLabel: a, cursor: o, onClick: l, color: u } = e, d = r === void 0 ? "14px" : r, f = a === void 0 ? "Session status" : a, p;
19
+ t[0] === n ? p = t[1] : (p = w(n), t[0] = n, t[1] = p);
22
20
  let m;
23
- return t[4] !== d || t[5] !== u || t[6] !== o || t[7] !== l || t[8] !== f || t[9] !== p ? (m = /* @__PURE__ */ c(i, {
24
- as: f,
25
- boxSize: u,
26
- color: p,
27
- "aria-label": d,
21
+ t[2] !== u || t[3] !== n ? (m = u ?? T(n), t[2] = u, t[3] = n, t[4] = m) : m = t[4];
22
+ let h;
23
+ return t[5] !== f || t[6] !== d || t[7] !== o || t[8] !== l || t[9] !== p || t[10] !== m ? (h = /* @__PURE__ */ c(i, {
24
+ as: p,
25
+ boxSize: d,
26
+ color: m,
27
+ "aria-label": f,
28
28
  cursor: o,
29
29
  onClick: l
30
- }), t[4] = d, t[5] = u, t[6] = o, t[7] = l, t[8] = f, t[9] = p, t[10] = m) : m = t[10], m;
30
+ }), t[5] = f, t[6] = d, t[7] = o, t[8] = l, t[9] = p, t[10] = m, t[11] = h) : h = t[11], h;
31
31
  }, D = { amber: "yellow" }, O = /* @__PURE__ */ new Set([
32
32
  "gray",
33
33
  "red",
@@ -238,4 +238,4 @@ var S = (e, t, n = !0) => {
238
238
  //#endregion
239
239
  export { C as a, w as i, E as n, S as o, T as r, B as t };
240
240
 
241
- //# sourceMappingURL=workspace-badge-BfSkiGP_.js.map
241
+ //# sourceMappingURL=workspace-badge-DqQKSUJw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-badge-DqQKSUJw.js","names":["DialogAcceptShortcutEvent","key","ctrlKey","metaKey","shiftKey","altKey","defaultPrevented","preventDefault","stopPropagation","handleDialogAcceptShortcut","event","accept","enabled","Icon","CircleAlert","CircleCheck","CircleDashed","CircleDot","CirclePause","CircleStop","ClockAlert","LoaderCircle","ComponentProps","sessionCompletionStatuses","const","SessionCompletionStatus","resolveSessionIndicatorIcon","status","resolveSessionIndicatorColor","SessionIndicatorProps","color","boxSize","ariaLabel","cursor","onClick","SessionIndicator","props","$","_c","t0","t1","undefined","t2","t3","t4","_c","Badge","Box","HStack","Icon","Spinner","Text","ChevronDown","CloudIcon","FolderIcon","GitBranchIcon","MouseEvent","SessionCompletionStatus","SessionIndicator","Tooltip","WorkspaceAttemptStatus","name","color","description","ATTEMPT_STATUS_COLOR_ALIASES","Record","amber","CHAKRA_COLOR_PALETTES","Set","workspaceBadgeSurfaceProps","bg","_light","_dark","_hover","const","WorkspaceBadgeProps","workspaceType","initializing","label","shorthand","attemptStatus","sessionStatus","showLeadingSessionIndicator","diffAdditions","diffDeletions","hasMultipleWorkspaces","onClick","onDropdownClick","onSessionIndicatorClick","WORKSPACE_TYPE_INDICATORS","folder","icon","remote","worktree","resolveAttemptStatusColor","startsWith","resolvedColor","has","buildAttemptStatusTooltip","handleIconClick","event","SVGSVGElement","stopPropagation","handleBadgeClick","HTMLSpanElement","LeadingSessionIndicator","props","$","_c","sessionTooltip","t0","undefined","t1","t2","WorkspaceTypeIndicator","WorkspaceTypeIcon","workspaceTypeLabel","displayLabel","t3","WorkspaceAttemptStatusIndicator","t4","WorkspaceDiffTotals","WorkspaceDropdownTrigger","WorkspaceBadge","t5","t6","t7","t8","t9","t10","_c","Tooltip","Tooltip$1","handleDialogAcceptShortcut","enabled","event","accept","sessionCompletionStatuses","resolveSessionIndicatorIcon","status","LoaderCircle","CircleCheck","CircleAlert","CircleStop","CirclePause","ClockAlert","CircleDot","CircleDashed","resolveSessionIndicatorColor","SessionIndicator","$","c","t0","t1","props","boxSize","ariaLabel","t2","t3","color","t4","cursor","onClick","Icon","ATTEMPT_STATUS_COLOR_ALIASES","CHAKRA_COLOR_PALETTES","workspaceBadgeSurfaceProps","WORKSPACE_TYPE_INDICATORS","FolderIcon","CloudIcon","GitBranchIcon","resolveAttemptStatusColor","resolvedColor","buildAttemptStatusTooltip","attemptStatus","handleIconClick","handleBadgeClick","LeadingSessionIndicator","sessionStatus","sessionTooltip","onSessionIndicatorClick","WorkspaceTypeIndicator","WorkspaceTypeIcon","workspaceTypeLabel","workspaceType","displayLabel","label","shorthand","initializing","Spinner","Text","HStack","WorkspaceAttemptStatusIndicator","Box","WorkspaceDiffTotals","diffAdditions","diffDeletions","WorkspaceDropdownTrigger","hasMultipleWorkspaces","onDropdownClick","ChevronDown","WorkspaceBadge","showLeadingSessionIndicator","t5","t6","t7","t8","t9","t10","Badge"],"sources":["../src/components/overlays/dialog-accept-shortcut.ts","../src/components/primitives/session-indicator.tsx","../src/components/primitives/workspace-badge.tsx"],"sourcesContent":["interface DialogAcceptShortcutEvent {\n key: string;\n ctrlKey: boolean;\n metaKey: boolean;\n shiftKey: boolean;\n altKey: boolean;\n defaultPrevented: boolean;\n preventDefault: () => void;\n stopPropagation: () => void;\n}\n\nexport const handleDialogAcceptShortcut = (event: DialogAcceptShortcutEvent, accept: () => void, enabled = true) => {\n if (!enabled || event.defaultPrevented) return;\n if (event.key !== \"Enter\") return;\n if ((!event.ctrlKey && !event.metaKey) || event.shiftKey || event.altKey) return;\n\n event.preventDefault();\n event.stopPropagation();\n accept();\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 color?: ComponentProps<typeof Icon>[\"color\"];\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, color } = props;\n\n return (\n <Icon\n as={resolveSessionIndicatorIcon(status)}\n boxSize={boxSize}\n color={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, CloudIcon, FolderIcon, GitBranchIcon } 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\" | \"folder\" | \"remote\";\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 WORKSPACE_TYPE_INDICATORS = {\n folder: { icon: FolderIcon, label: \"Project folder\" },\n remote: { icon: CloudIcon, label: \"Remote workspace\" },\n worktree: { icon: GitBranchIcon, label: \"Git worktree\" },\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 { icon: WorkspaceTypeIcon, label: workspaceTypeLabel } = WORKSPACE_TYPE_INDICATORS[workspaceType];\n const displayLabel = label ?? shorthand;\n\n return (\n <HStack as=\"span\" gap=\"2xs\" alignItems=\"center\" color=\"fg.muted\" minW=\"0\">\n <Icon as={WorkspaceTypeIcon} boxSize=\"3.5\" flexShrink={0} aria-label={workspaceTypeLabel} />\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"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pstdio/ui",
3
- "version": "0.43.0",
3
+ "version": "0.43.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/pufflyai/prompt-studio"
@@ -100,7 +100,7 @@
100
100
  "@lexical/utils": "^0.40.0",
101
101
  "@lexical/yjs": "^0.40.0",
102
102
  "@monaco-editor/react": "^4.7.0",
103
- "@pstdio/sdk": "0.43.0",
103
+ "@pstdio/sdk": "0.43.1",
104
104
  "@tanstack/react-table": "^8.21.3",
105
105
  "@tanstack/react-virtual": "^3.13.19",
106
106
  "@types/mdast": "^4.0.4",