@pstdio/ui 0.20.1 → 0.22.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 (116) hide show
  1. package/dist/{MermaidComponent-BVMyKttu.js → MermaidComponent-D92GMhht.js} +3 -3
  2. package/dist/{MermaidComponent-BVMyKttu.js.map → MermaidComponent-D92GMhht.js.map} +1 -1
  3. package/dist/chat-ui.d.ts +2 -0
  4. package/dist/chat-ui.js +3 -7
  5. package/dist/chat-ui.js.map +1 -1
  6. package/dist/components/data-table/build-columns.d.ts +2 -0
  7. package/dist/components/data-table/data-table-column-menu.d.ts +2 -0
  8. package/dist/components/data-table/data-table-row-display.d.ts +11 -0
  9. package/dist/components/data-table/data-table-table-parts.d.ts +1 -0
  10. package/dist/components/data-table/edit-mode-data-table-body.d.ts +1 -0
  11. package/dist/components/data-table/edit-mode-data-table-cell.d.ts +1 -0
  12. package/dist/components/data-table/edit-mode-data-table-header.d.ts +1 -0
  13. package/dist/components/data-table/types.d.ts +1 -0
  14. package/dist/components/diff-viewer/code-editor.d.ts +8 -2
  15. package/dist/components/diff-viewer/index.d.ts +1 -0
  16. package/dist/components/kanban-renderer/collection-badge.d.ts +7 -0
  17. package/dist/components/kanban-renderer/index.d.ts +1 -1
  18. package/dist/components/kanban-renderer/kanban-renderer-helpers.d.ts +2 -1
  19. package/dist/components/kanban-renderer/types.d.ts +20 -1
  20. package/dist/components/list-row/list-row-content.d.ts +1 -0
  21. package/dist/components/param-editor/param-editor-presentation.d.ts +1 -1
  22. package/dist/components/param-editor/param-editor.types.d.ts +5 -193
  23. package/dist/components/rich-text/shared/markdown-ast.d.ts +1 -0
  24. package/dist/components/rich-text/shared/markdown-source-document.d.ts +7 -0
  25. package/dist/components/rich-text/shared/markdown-source-links.d.ts +11 -0
  26. package/dist/components/rich-text/shared/markdown-source-map.d.ts +10 -0
  27. package/dist/components/rich-text/utils/inferResourceType.d.ts +1 -1
  28. package/dist/components/tag-editor/tag-editor-row.d.ts +2 -1
  29. package/dist/components/tag-editor/tag-editor.types.d.ts +13 -0
  30. package/dist/components/tag-editor/tag-settings-panel.d.ts +1 -1
  31. package/dist/components/tree-list/tree-list-drag-provider.d.ts +13 -0
  32. package/dist/components/tree-list/tree-list-order.store.d.ts +4 -1
  33. package/dist/components/tree-list/tree-list-reorder.d.ts +14 -3
  34. package/dist/components/tree-list/tree-list-sortable.d.ts +2 -0
  35. package/dist/components/tree-list/tree-list-visibility-filter.d.ts +2 -2
  36. package/dist/components/tree-list/tree-list.d.ts +3 -0
  37. package/dist/components/tree-list/tree-list.types.d.ts +4 -0
  38. package/dist/data-table.d.ts +2 -0
  39. package/dist/data-table.js +740 -704
  40. package/dist/data-table.js.map +1 -1
  41. package/dist/diff.d.ts +2 -0
  42. package/dist/diff.js +532 -533
  43. package/dist/diff.js.map +1 -1
  44. package/dist/edit-mode-data-table-DGgRuSW3.js +846 -0
  45. package/dist/edit-mode-data-table-DGgRuSW3.js.map +1 -0
  46. package/dist/index.d.ts +2 -0
  47. package/dist/index.js +1603 -1492
  48. package/dist/index.js.map +1 -1
  49. package/dist/{kanban-renderer-toolbar-CpegGbwq.js → kanban-renderer-toolbar-Bl8xXdwU.js} +527 -469
  50. package/dist/kanban-renderer-toolbar-Bl8xXdwU.js.map +1 -0
  51. package/dist/kanban-renderer.d.ts +2 -0
  52. package/dist/kanban-renderer.js +21 -21
  53. package/dist/kanban-renderer.js.map +1 -1
  54. package/dist/lazy-markdown-editor-CCOchoJX.js +235 -0
  55. package/dist/lazy-markdown-editor-CCOchoJX.js.map +1 -0
  56. package/dist/list-row-DCgdza1i.js +812 -0
  57. package/dist/list-row-DCgdza1i.js.map +1 -0
  58. package/dist/markdown-CASvn1Z2.js +1643 -0
  59. package/dist/markdown-CASvn1Z2.js.map +1 -0
  60. package/dist/markdown-editor-C4GCyebp.js +1019 -0
  61. package/dist/markdown-editor-C4GCyebp.js.map +1 -0
  62. package/dist/{mermaid-renderer-H3IhLqnQ.js → mermaid-renderer-CVnuKs-A.js} +2 -2
  63. package/dist/{mermaid-renderer-H3IhLqnQ.js.map → mermaid-renderer-CVnuKs-A.js.map} +1 -1
  64. package/dist/mermaid.d.ts +2 -0
  65. package/dist/mermaid.js +1 -1
  66. package/dist/monaco-browser-CgvlArN7.js +21 -0
  67. package/dist/monaco-browser-CgvlArN7.js.map +1 -0
  68. package/dist/{param-editor-B8Ff9Nm8.js → param-editor-CkDq623X.js} +2 -2
  69. package/dist/{param-editor-B8Ff9Nm8.js.map → param-editor-CkDq623X.js.map} +1 -1
  70. package/dist/param-editor-field-DRgbnL7-.js +2809 -0
  71. package/dist/param-editor-field-DRgbnL7-.js.map +1 -0
  72. package/dist/rich-message-DARuDVOX.js +628 -0
  73. package/dist/{rich-message-DdFYRzTo.js.map → rich-message-DARuDVOX.js.map} +1 -1
  74. package/dist/rich-text.d.ts +2 -0
  75. package/dist/rich-text.js +48 -47
  76. package/dist/rich-text.js.map +1 -1
  77. package/dist/style.css +1 -1
  78. package/dist/terminal.d.ts +2 -0
  79. package/dist/terminal.js +1 -1
  80. package/dist/terminal.js.map +1 -1
  81. package/dist/theme/primitives/sizes.d.ts +9 -0
  82. package/dist/{theme-BH4fSst9.js → theme-B-l5_a6F.js} +69 -50
  83. package/dist/theme-B-l5_a6F.js.map +1 -0
  84. package/dist/theme-preference-Bpobguh4.js +114 -0
  85. package/dist/theme-preference-Bpobguh4.js.map +1 -0
  86. package/dist/theme.d.ts +2 -0
  87. package/dist/theme.js +1 -1
  88. package/dist/tree-list-AlO5ZmxQ.js +1262 -0
  89. package/dist/tree-list-AlO5ZmxQ.js.map +1 -0
  90. package/dist/utils/theme-preference.d.ts +4 -1
  91. package/dist/workspace-badge-BR_GgsAG.js +175 -0
  92. package/dist/workspace-badge-BR_GgsAG.js.map +1 -0
  93. package/package.json +5 -42
  94. package/dist/dialog-accept-shortcut-DAEBsoWW.js +0 -7
  95. package/dist/dialog-accept-shortcut-DAEBsoWW.js.map +0 -1
  96. package/dist/edit-mode-data-table-D6NeiDJx.js +0 -775
  97. package/dist/edit-mode-data-table-D6NeiDJx.js.map +0 -1
  98. package/dist/editor-config-D9OksZ93.js +0 -2416
  99. package/dist/editor-config-D9OksZ93.js.map +0 -1
  100. package/dist/kanban-renderer-toolbar-CpegGbwq.js.map +0 -1
  101. package/dist/lazy-markdown-editor-B7uP2ALS.js +0 -26
  102. package/dist/lazy-markdown-editor-B7uP2ALS.js.map +0 -1
  103. package/dist/list-row-9oxy-F0v.js +0 -796
  104. package/dist/list-row-9oxy-F0v.js.map +0 -1
  105. package/dist/monaco-browser-CO0NxK_Z.js +0 -19
  106. package/dist/monaco-browser-CO0NxK_Z.js.map +0 -1
  107. package/dist/number-input-WUfejtNx.js +0 -343
  108. package/dist/number-input-WUfejtNx.js.map +0 -1
  109. package/dist/param-editor-field-Cu4pto_a.js +0 -2845
  110. package/dist/param-editor-field-Cu4pto_a.js.map +0 -1
  111. package/dist/rich-message-DdFYRzTo.js +0 -658
  112. package/dist/theme-BH4fSst9.js.map +0 -1
  113. package/dist/theme-preference-DyymrYpR.js +0 -123
  114. package/dist/theme-preference-DyymrYpR.js.map +0 -1
  115. package/dist/tree-list-uV4UFj0x.js +0 -1116
  116. package/dist/tree-list-uV4UFj0x.js.map +0 -1
@@ -1 +0,0 @@
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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"}