@pstdio/ui 0.40.0 → 0.41.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 (83) hide show
  1. package/dist/{MermaidComponent-81jr28u4.js → MermaidComponent-BCiI63_G.js} +3 -3
  2. package/dist/{MermaidComponent-81jr28u4.js.map → MermaidComponent-BCiI63_G.js.map} +1 -1
  3. package/dist/chat-question-bubble-w2vMbFsS.js +68 -0
  4. package/dist/chat-question-bubble-w2vMbFsS.js.map +1 -0
  5. package/dist/chat-ui.d.ts +96 -21
  6. package/dist/chat-ui.js +2091 -1441
  7. package/dist/chat-ui.js.map +1 -1
  8. package/dist/{data-table-stats-row-CpRe_xK2.js → data-table-stats-row-EiTEONdY.js} +2 -2
  9. package/dist/{data-table-stats-row-CpRe_xK2.js.map → data-table-stats-row-EiTEONdY.js.map} +1 -1
  10. package/dist/data-table.d.ts +27 -7
  11. package/dist/data-table.js +1035 -872
  12. package/dist/data-table.js.map +1 -1
  13. package/dist/diff-bubble-DewUd_2w.js +61 -0
  14. package/dist/diff-bubble-DewUd_2w.js.map +1 -0
  15. package/dist/{diff-drawer-45rpk3aq.js → diff-drawer-BwZBOObe.js} +106 -85
  16. package/dist/diff-drawer-BwZBOObe.js.map +1 -0
  17. package/dist/diff-viewer-kOOd7C7h.js +574 -0
  18. package/dist/diff-viewer-kOOd7C7h.js.map +1 -0
  19. package/dist/diff.d.ts +11 -0
  20. package/dist/diff.js +107 -98
  21. package/dist/diff.js.map +1 -1
  22. package/dist/display-sort-control-DPxc0e5z.js +587 -0
  23. package/dist/display-sort-control-DPxc0e5z.js.map +1 -0
  24. package/dist/{workspace-badge-Brm3Xr3m.d.ts → host-storage-DP0RLj4i.d.ts} +15 -1
  25. package/dist/{index-Bfddrlz8.d.ts → index-C9mywhyX.d.ts} +50 -14
  26. package/dist/index-D3UJyWWh.d.ts +501 -0
  27. package/dist/{index-CbtbcvKm.d.ts → index-DlmvvQ6x.d.ts} +1 -1
  28. package/dist/index.d.ts +44 -19
  29. package/dist/index.js +941 -908
  30. package/dist/index.js.map +1 -1
  31. package/dist/kanban-renderer.d.ts +2 -326
  32. package/dist/kanban-renderer.js +991 -610
  33. package/dist/kanban-renderer.js.map +1 -1
  34. package/dist/list-row-DM0DiIrN.js +1167 -0
  35. package/dist/list-row-DM0DiIrN.js.map +1 -0
  36. package/dist/{mermaid-renderer-DImi0fDp.js → mermaid-renderer-0PmNkOXI.js} +29 -29
  37. package/dist/mermaid-renderer-0PmNkOXI.js.map +1 -0
  38. package/dist/mermaid.js +1 -1
  39. package/dist/param-editor.js +2 -3
  40. package/dist/prism-JVIsQMoJ.js +1029 -0
  41. package/dist/prism-JVIsQMoJ.js.map +1 -0
  42. package/dist/{resource-badge-95WPVlZf.d.ts → resource-badge-nOWPqxFU.d.ts} +1 -0
  43. package/dist/rich-text-DM24VNQZ.js +10447 -0
  44. package/dist/rich-text-DM24VNQZ.js.map +1 -0
  45. package/dist/rich-text.d.ts +2 -2
  46. package/dist/rich-text.js +2 -2
  47. package/dist/style.css +1 -1
  48. package/dist/terminal.d.ts +5 -63
  49. package/dist/terminal.js +102 -122
  50. package/dist/terminal.js.map +1 -1
  51. package/dist/{theme-CbmSEbRF.js → theme-at0rtSnX.js} +435 -245
  52. package/dist/theme-at0rtSnX.js.map +1 -0
  53. package/dist/theme-kKuLN2jb.js +80 -0
  54. package/dist/theme-kKuLN2jb.js.map +1 -0
  55. package/dist/theme-preference-BV4cbJNB.js +115 -0
  56. package/dist/theme-preference-BV4cbJNB.js.map +1 -0
  57. package/dist/theme.js +3 -2
  58. package/dist/{tree-list-BNZwjQZA.js → tree-list-Cqgl8mnN.js} +255 -250
  59. package/dist/tree-list-Cqgl8mnN.js.map +1 -0
  60. package/package.json +4 -4
  61. package/dist/diff-bubble-DZsarmSG.js +0 -61
  62. package/dist/diff-bubble-DZsarmSG.js.map +0 -1
  63. package/dist/diff-drawer-45rpk3aq.js.map +0 -1
  64. package/dist/diff-viewer-BP_mI6Wx.js +0 -558
  65. package/dist/diff-viewer-BP_mI6Wx.js.map +0 -1
  66. package/dist/list-row-uqD-q4gv.js +0 -1018
  67. package/dist/list-row-uqD-q4gv.js.map +0 -1
  68. package/dist/mermaid-renderer-DImi0fDp.js.map +0 -1
  69. package/dist/param-editor-BQd4AOUP.js +0 -225
  70. package/dist/param-editor-BQd4AOUP.js.map +0 -1
  71. package/dist/param-editor-field-BJ_rLUnV.js +0 -2385
  72. package/dist/param-editor-field-BJ_rLUnV.js.map +0 -1
  73. package/dist/prism-BStPsJSB.js +0 -658
  74. package/dist/prism-BStPsJSB.js.map +0 -1
  75. package/dist/rich-text-VYAmEigU.js +0 -6979
  76. package/dist/rich-text-VYAmEigU.js.map +0 -1
  77. package/dist/slider-hwHYe98I.js +0 -423
  78. package/dist/slider-hwHYe98I.js.map +0 -1
  79. package/dist/theme-CbmSEbRF.js.map +0 -1
  80. package/dist/theme-preference-pzfuK5cH.js +0 -101
  81. package/dist/theme-preference-pzfuK5cH.js.map +0 -1
  82. package/dist/tree-list-BNZwjQZA.js.map +0 -1
  83. package/dist/types-DWA3enV6.d.ts +0 -182
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prism-JVIsQMoJ.js","names":["Avatar","Box","ReactNode","ActivityActor","ActivityAvatarProps","actor","icon","color","background","ActivityAvatar","props","$","_c","t0","t1","undefined","t2","avatarSrc","t3","avatarAlt","name","t4","t5","t6","t7","_c","defineSlotRecipe","activityCommentSlotRecipe","className","slots","base","root","width","borderWidth","borderRadius","overflow","body","display","flexDirection","content","color","overflowWrap","whiteSpace","variants","tone","default","background","borderColor","attention","size","comfortable","gap","padding","textStyle","compact","defaultVariants","HTMLChakraProps","RecipeVariantProps","Box","createSlotRecipeContext","HStack","Stack","Text","Children","ReactNode","activityCommentSlotRecipe","recipe","ActivityActor","ActivityAvatar","withContext","withProvider","ActivityCommentVariantProps","ActivityCommentHeaderProps","actor","icon","iconColor","iconBackground","timestamp","actions","ActivityCommentRootProps","ActivityCommentProps","Omit","replies","composer","children","ActivityReplyProps","TimestampSeparator","$","_c","t0","Symbol","for","ActivityCommentHeader","props","t1","name","t2","t3","t4","ActivityCommentRoot","HTMLDivElement","ActivityCommentBody","ActivityCommentContent","ActivityReply","rootProps","ActivityComment","hasReplies","count","t5","_c","_Fragment","TimelineItemProps","Box","Text","Timeline","ReactNode","ActivityActor","ActivityAvatar","ActivityEventProps","Omit","actor","icon","iconColor","iconBackground","timestamp","children","EventSeparator","$","_c","t0","Symbol","for","ActivityEvent","props","rootProps","t1","undefined","t2","t3","t4","name","t5","t6","t7","t8","_c","_Fragment","StackProps","HStack","Stack","Text","ReactNode","ActivityRootProps","children","ActivityHeaderProps","Omit","title","actions","ActivityFeedProps","ActivityRoot","props","$","_c","rootProps","t0","ActivityHeader","undefined","t1","t2","t3","ActivityFeed","_c","TimelineRootProps","Timeline","ReactNode","ActivityTimelineProps","children","ActivityTimeline","props","$","_c","rootProps","t0","Symbol","for","t1","_c","Alert","ChakraAlert","HStack","IconButton","X","React","AlertProps","Omit","RootProps","startElement","ReactNode","endElement","title","icon","ReactElement","onClose","AlertMessage","forwardRef","HTMLDivElement","props","ref","$","_c","children","rest","t0","t1","t2","t3","Alert","_c","ChakraAlert","Badge","chakra","IconButton","Image","Popover","Text","X","useEffect","useState","AttachmentChipProps","file","File","removeLabel","disabled","onRemove","isImage","type","startsWith","formatSize","bytes","toString","Math","round","toFixed","AttachmentChip","props","$","_c","previewUrl","setPreviewUrl","t0","t1","url","URL","createObjectURL","revokeObjectURL","t2","name","t3","placement","t4","size","t5","t6","Symbol","for","t7","t8","_c","BadgeProps","Badge","ChipProps","Omit","Chip","props","$","_c","t0","_c","chakra","ComponentType","HTMLAttributes","generatedGlyphStyles","GLYPH_RULE","glyphContent","Map","Array","from","matchAll","name","content","GLYPH_OPTICAL_SIZE","GLYPH_BASELINE_OFFSET","GlyphRoot","glyphStyles","fontSize","position","display","verticalAlign","flexShrink","boxSize","lineHeight","containerType","inset","fontFamily","fontStyle","fontWeight","textAlign","transform","GlyphIconProps","Omit","HTMLSpanElement","GlyphIconOptions","scale","createGlyphIcon","glyph","options","styles","get","toFixed","GlyphIcon","props","$","_c","t0","displayName","generatedGlyphStyles","_c","Archive","Ban","Bell","Bookmark","BookOpen","Bot","Bug","Circle","Code","Component","Cpu","Eye","Feather","FileText","Flag","Flame","Folder","GitBranch","GitCommitHorizontal","Hash","Heart","History","Inbox","Kanban","Layers","Lightbulb","Link","ListChecks","MessageSquare","Pause","Pencil","Play","Puzzle","Rocket","Scale","Settings","Shield","Sparkles","SquareKanban","Star","Tag","Target","Terminal","Ticket","Timer","Trash2","Users","Workflow","Wrench","Zap","ComponentType","createGlyphIcon","IconColorPickerIconOption","value","label","icon","optionColors","const","glyph","name","levelGlyph","scale","optionIcons","actionIcons","Record","pause","pencil","getIconComponent","iconOptions","normalizedName","replace","toLowerCase","entry","find","Tag","Code","Component","Link","LucideIcon","File","FileArchive","FileChartLine","FileCode","FileCog","FileImage","FileJson","FileSpreadsheet","FileText","getFileTypeIcon","filename","extension","split","pop","toLowerCase","includes","HTMLChakraProps","chakra","IconButton","Spacer","Text","LucideIcon","AlertTriangle","X","ReactNode","Tooltip","getFileTypeIcon","SIZE_STYLES","sm","container","height","lineHeight","base","px","iconSize","textStyle","md","const","TONE_STYLES","neutral","color","bg","borderColor","_hover","accent","MissingResourceBadgeProps","referenceId","onRemove","MissingResourceBadge","props","$","_c","t0","Symbol","for","t1","t2","t3","t4","t5","e","stopPropagation","t6","ResourceBadgeSize","ResourceBadgeTone","ResourceBadgeProps","Omit","fileName","onSelect","size","tone","icon","tooltip","DEFAULT_SIZE","DEFAULT_TONE","ResourceBadge","rest","undefined","IconComp","sizeStyles","toneStyles","t7","t8","t9","t10","t11","e_0","t12","_c","Tooltip","Slider","ChakraSlider","React","SliderProps","RootProps","forwardRef","HTMLDivElement","props","ref","$","_c","children","rest","t0","Symbol","for","t1","boxSize","borderColor","outline","boxShadow","t2","Slider","_c","ChakraSlider","Switch","ChakraSwitch","React","SwitchProps","RootProps","inputProps","InputHTMLAttributes","HTMLInputElement","rootRef","RefObject","HTMLLabelElement","trackLabel","on","ReactNode","off","thumbLabel","forwardRef","props","ref","$","_c","children","rest","t0","disabled","undefined","interactiveCursor","t1","t2","t3","t4","t5","t6","t7","Switch","_c","ChakraSwitch","createContext","ReactNode","useContext","createJSONStorage","createBrowserStorage","HostStorage","getItem","key","setItem","value","removeItem","StorageContext","undefined","HostStorageProviderProps","storage","children","HostStorageProvider","props","$","_c","t0","useHostStorage","createHostPersistStorage","createHostStoreRegistry","create","storageKey","args","Args","Store","hostRegistries","WeakMap","Map","browserRegistry","registry","get","set","existing","store","_c","readDefaultExport","module","default","installPrismGlobal","globalScope","globalThis","Prism","prismModule","Tooltip$1","React","Code$1","Component$1","Link$1","Tag$1","ActivityAvatar","$","c","t0","t1","props","color","background","icon","t2","Box","actor","t3","t4","Avatar","t5","t6","t7","activityCommentSlotRecipe","defineSlotRecipe","createSlotRecipeContext","TimestampSeparator","ActivityCommentHeader","iconBackground","iconColor","Text","timestamp","Fragment","actions","HStack","ActivityCommentRoot","withProvider","ActivityCommentBody","withContext","ActivityCommentContent","ActivityReply","children","rootProps","Stack","ActivityComment","composer","replies","hasReplies","Children","EventSeparator","ActivityEvent","Timeline","t8","ActivityRoot","ActivityHeader","title","ActivityFeed","ActivityTimeline","AlertMessage","endElement","onClose","rest","startElement","Alert","IconButton","X","ref","isImage","file","formatSize","bytes","AttachmentChip","previewUrl","setPreviewUrl","useState","url","useEffect","name","Popover","chakra","Image","disabled","onRemove","removeLabel","Badge","Chip","glyphContent","content","GLYPH_OPTICAL_SIZE","GLYPH_BASELINE_OFFSET","GlyphRoot","glyphStyles","createGlyphIcon","styles","glyph","options","GlyphIcon","optionColors","levelGlyph","optionIcons","Ban","Flag","Bug","Sparkles","BookOpen","Wrench","Zap","Feather","Scale","Layers","Star","Flame","Lightbulb","Shield","Eye","Timer","Rocket","Heart","Bookmark","Target","Bell","Hash","Ticket","GitBranch","Bot","Puzzle","Workflow","Kanban","MessageSquare","Folder","FileText","History","Play","Terminal","Cpu","Users","SquareKanban","GitCommitHorizontal","Inbox","ListChecks","Archive","Settings","actionIcons","Pause","Pencil","Trash2","getIconComponent","normalizedName","iconOptions","Circle","getFileTypeIcon","extension","filename","FileSpreadsheet","FileCode","FileChartLine","FileJson","FileCog","FileImage","FileArchive","File","SIZE_STYLES","TONE_STYLES","DEFAULT_SIZE","DEFAULT_TONE","ResourceBadge","fileName","onSelect","tooltip","size","tone","IconComp","sizeStyles","toneStyles","t9","t10","t11","e_0","t12","Slider$1","Slider","Switch$1","inputProps","rootRef","thumbLabel","trackLabel","interactiveCursor","Switch","StorageContext","createContext","HostStorageProvider","storage","useHostStorage","useContext","createHostPersistStorage","createJSONStorage","key","value","createBrowserStorage","createHostStoreRegistry","hostRegistries","browserRegistry","args","registry","existing","storageKey","store","create","readDefaultExport","module","installPrismGlobal","globalScope"],"sources":["../src/components/activity/activity-avatar.tsx","../src/theme/recipes/activity-comment.ts","../src/components/activity/activity-comment.tsx","../src/components/activity/activity-event.tsx","../src/components/activity/activity-root.tsx","../src/components/activity/activity-timeline.tsx","../src/components/primitives/alert.tsx","../src/components/overlays/attachment-chip.tsx","../src/components/primitives/chip.tsx","../src/components/primitives/glyph-icon.tsx","../src/components/primitives/icon-options.tsx","../src/utils/get-file-type-icon.ts","../src/components/primitives/resource-badge.tsx","../src/components/primitives/slider.tsx","../src/components/primitives/switch.tsx","../src/utils/host-storage.tsx","../src/utils/prism.ts"],"sourcesContent":["import { Avatar, Box } from \"@chakra-ui/react\";\nimport type { ReactNode } from \"react\";\n\nimport type { ActivityActor } from \"./activity.types\";\n\nexport interface ActivityAvatarProps {\n actor?: ActivityActor;\n icon?: ReactNode;\n color?: string;\n background?: string;\n}\n\nexport const ActivityAvatar = (props: ActivityAvatarProps) => {\n const { actor, icon, color = \"fg.muted\", background = \"bg.muted\" } = props;\n\n if (icon) {\n return (\n <Box\n boxSize=\"18px\"\n borderRadius=\"full\"\n display=\"inline-flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flexShrink={0}\n color={color}\n background={background}\n >\n {icon}\n </Box>\n );\n }\n\n return (\n <Avatar.Root size=\"2xs\" flexShrink={0}>\n <Avatar.Image src={actor?.avatarSrc} alt={actor?.avatarAlt ?? actor?.name} />\n <Avatar.Fallback name={actor?.name} background={background} color={color} />\n </Avatar.Root>\n );\n};\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\nexport const activityCommentSlotRecipe = defineSlotRecipe({\n className: \"activity-comment\",\n slots: [\"root\", \"body\", \"content\"],\n base: {\n root: {\n width: \"full\",\n borderWidth: \"1px\",\n borderRadius: \"xs\",\n overflow: \"hidden\",\n },\n body: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n content: {\n color: \"fg\",\n overflowWrap: \"anywhere\",\n whiteSpace: \"pre-wrap\",\n },\n },\n variants: {\n tone: {\n default: {\n root: {\n background: \"bg\",\n borderColor: \"border.subtle\",\n },\n },\n attention: {\n root: {\n background: \"bg.warning\",\n borderColor: \"border.warning\",\n },\n },\n },\n size: {\n comfortable: {\n body: {\n gap: \"sm\",\n padding: \"md\",\n },\n content: {\n textStyle: \"label/S/regular\",\n },\n },\n compact: {\n body: {\n gap: \"xs\",\n padding: \"sm\",\n },\n content: {\n textStyle: \"label/S/regular\",\n },\n },\n },\n },\n defaultVariants: {\n tone: \"default\",\n size: \"comfortable\",\n },\n});\n","import type { HTMLChakraProps, RecipeVariantProps } from \"@chakra-ui/react\";\nimport { Box, createSlotRecipeContext, HStack, Stack, Text } from \"@chakra-ui/react\";\nimport { Children, type ReactNode } from \"react\";\n\nimport { activityCommentSlotRecipe as recipe } from \"@/theme/recipes/activity-comment\";\nimport type { ActivityActor } from \"./activity.types\";\nimport { ActivityAvatar } from \"./activity-avatar\";\n\nconst { withContext, withProvider } = createSlotRecipeContext({ recipe });\n\ntype ActivityCommentVariantProps = RecipeVariantProps<typeof recipe>;\n\ninterface ActivityCommentHeaderProps {\n actor: ActivityActor;\n icon?: ReactNode;\n iconColor?: string;\n iconBackground?: string;\n timestamp?: ReactNode;\n actions?: ReactNode;\n}\n\ninterface ActivityCommentRootProps extends HTMLChakraProps<\"article\">, ActivityCommentVariantProps {}\n\nexport interface ActivityCommentProps extends Omit<ActivityCommentRootProps, \"title\"> {\n actor: ActivityActor;\n icon?: ReactNode;\n iconColor?: string;\n iconBackground?: string;\n timestamp?: ReactNode;\n actions?: ReactNode;\n replies?: ReactNode;\n composer?: ReactNode;\n children: ReactNode;\n}\n\nexport interface ActivityReplyProps extends Omit<HTMLChakraProps<\"div\">, \"title\"> {\n actor: ActivityActor;\n timestamp?: ReactNode;\n actions?: ReactNode;\n children: ReactNode;\n}\n\nconst TimestampSeparator = () => (\n <Box as=\"span\" boxSize=\"3px\" borderRadius=\"full\" background=\"fg.subtle\" flexShrink={0} />\n);\n\nconst ActivityCommentHeader = (props: ActivityCommentHeaderProps) => {\n const { actor, icon, iconColor, iconBackground, timestamp, actions } = props;\n\n return (\n <HStack gap=\"xs\" alignItems=\"center\" minW=\"0\">\n <ActivityAvatar actor={actor} icon={icon} color={iconColor} background={iconBackground} />\n <Text textStyle=\"label/S/medium\" color=\"fg\" truncate>\n {actor.name}\n </Text>\n {timestamp ? (\n <>\n <TimestampSeparator />\n <Text textStyle=\"label/S/regular\" color=\"fg.muted\" flexShrink={0}>\n {timestamp}\n </Text>\n </>\n ) : null}\n <Box marginLeft=\"auto\" flexShrink={0}>\n {actions}\n </Box>\n </HStack>\n );\n};\n\nconst ActivityCommentRoot = withProvider<HTMLDivElement, ActivityCommentRootProps>(\"article\", \"root\");\nconst ActivityCommentBody = withContext<HTMLDivElement, HTMLChakraProps<\"div\">>(\"div\", \"body\");\nconst ActivityCommentContent = withContext<HTMLDivElement, HTMLChakraProps<\"div\">>(\"div\", \"content\");\n\nexport const ActivityReply = (props: ActivityReplyProps) => {\n const { actor, timestamp, actions, children, ...rootProps } = props;\n\n return (\n <Box paddingX=\"md\" paddingY=\"sm\" {...rootProps}>\n <Stack gap=\"xs\">\n <ActivityCommentHeader actor={actor} timestamp={timestamp} actions={actions} />\n <Box paddingLeft=\"32px\">\n <Text as=\"div\" textStyle=\"label/S/regular\" color=\"fg\" overflowWrap=\"anywhere\">\n {children}\n </Text>\n </Box>\n </Stack>\n </Box>\n );\n};\n\nexport const ActivityComment = (props: ActivityCommentProps) => {\n const { actor, icon, iconColor, iconBackground, timestamp, actions, replies, composer, children, ...rootProps } =\n props;\n const hasReplies = Children.count(replies) > 0;\n\n return (\n <ActivityCommentRoot {...rootProps}>\n <ActivityCommentBody>\n <ActivityCommentHeader\n actor={actor}\n icon={icon}\n iconColor={iconColor}\n iconBackground={iconBackground}\n timestamp={timestamp}\n actions={actions}\n />\n <ActivityCommentContent>{children}</ActivityCommentContent>\n </ActivityCommentBody>\n {hasReplies ? (\n <Box borderTopWidth=\"1px\" borderColor=\"border.subtle\">\n {replies}\n </Box>\n ) : null}\n {composer ? (\n <Box borderTopWidth=\"1px\" borderColor=\"border.subtle\">\n {composer}\n </Box>\n ) : null}\n </ActivityCommentRoot>\n );\n};\n","import type { TimelineItemProps } from \"@chakra-ui/react\";\nimport { Box, Text, Timeline } from \"@chakra-ui/react\";\nimport type { ReactNode } from \"react\";\n\nimport type { ActivityActor } from \"./activity.types\";\nimport { ActivityAvatar } from \"./activity-avatar\";\n\nexport interface ActivityEventProps extends Omit<TimelineItemProps, \"title\"> {\n actor?: ActivityActor;\n icon?: ReactNode;\n iconColor?: string;\n iconBackground?: string;\n timestamp?: ReactNode;\n children: ReactNode;\n}\n\nconst EventSeparator = () => <Box as=\"span\" boxSize=\"3px\" borderRadius=\"full\" background=\"fg.subtle\" flexShrink={0} />;\n\nexport const ActivityEvent = (props: ActivityEventProps) => {\n const { actor, icon, iconColor = \"fg\", iconBackground = \"transparent\", timestamp, children, ...rootProps } = props;\n\n return (\n <Timeline.Item gap=\"xs\" minH=\"24px\" paddingX=\"md\" {...rootProps}>\n <Timeline.Connector>\n <Timeline.Separator borderColor=\"border\" />\n <Timeline.Indicator outline=\"none\" border=\"none\" background=\"bg\">\n <ActivityAvatar actor={actor} icon={icon} color={iconColor} background={iconBackground} />\n </Timeline.Indicator>\n </Timeline.Connector>\n <Timeline.Content gap=\"0\" minW=\"0\">\n <Timeline.Title\n marginTop=\"0\"\n gap=\"xs\"\n minW=\"0\"\n fontWeight=\"normal\"\n textStyle=\"label/S/regular\"\n color=\"fg.muted\"\n >\n {actor ? (\n <Text as=\"span\" color=\"fg\" fontWeight=\"500\" flexShrink={0}>\n {actor.name}\n </Text>\n ) : null}\n <Box as=\"span\" display=\"inline-flex\" alignItems=\"center\" gap=\"2xs\" minW=\"0\" flexWrap=\"wrap\">\n {children}\n </Box>\n {timestamp ? (\n <>\n <EventSeparator />\n <Text as=\"span\" color=\"fg.muted\" flexShrink={0}>\n {timestamp}\n </Text>\n </>\n ) : null}\n </Timeline.Title>\n </Timeline.Content>\n </Timeline.Item>\n );\n};\n","import type { StackProps } from \"@chakra-ui/react\";\nimport { HStack, Stack, Text } from \"@chakra-ui/react\";\nimport type { ReactNode } from \"react\";\n\nexport interface ActivityRootProps extends StackProps {\n children: ReactNode;\n}\n\nexport interface ActivityHeaderProps extends Omit<StackProps, \"title\"> {\n title?: ReactNode;\n actions?: ReactNode;\n}\n\nexport interface ActivityFeedProps extends StackProps {\n children: ReactNode;\n}\n\nexport const ActivityRoot = (props: ActivityRootProps) => {\n const { children, ...rootProps } = props;\n\n return (\n <Stack width=\"full\" gap=\"md\" {...rootProps}>\n {children}\n </Stack>\n );\n};\n\nexport const ActivityHeader = (props: ActivityHeaderProps) => {\n const { title = \"Activity\", actions, ...rootProps } = props;\n\n return (\n <HStack alignItems=\"center\" justifyContent=\"space-between\" gap=\"md\" {...rootProps}>\n <Text textStyle=\"label/M/medium\" color=\"fg\">\n {title}\n </Text>\n {actions ? <HStack gap=\"xs\">{actions}</HStack> : null}\n </HStack>\n );\n};\n\nexport const ActivityFeed = (props: ActivityFeedProps) => {\n const { children, ...rootProps } = props;\n\n return (\n <Stack gap=\"md\" width=\"full\" {...rootProps}>\n {children}\n </Stack>\n );\n};\n","import type { TimelineRootProps } from \"@chakra-ui/react\";\nimport { Timeline } from \"@chakra-ui/react\";\nimport type { ReactNode } from \"react\";\n\nexport interface ActivityTimelineProps extends TimelineRootProps {\n children: ReactNode;\n}\n\nexport const ActivityTimeline = (props: ActivityTimelineProps) => {\n const { children, ...rootProps } = props;\n\n return (\n <Timeline.Root size=\"sm\" variant=\"plain\" width=\"full\" css={{ \"--timeline-indicator-size\": \"18px\" }} {...rootProps}>\n {children}\n </Timeline.Root>\n );\n};\n","import { Alert as ChakraAlert, HStack, IconButton } from \"@chakra-ui/react\";\nimport { X } from \"lucide-react\";\nimport * as React from \"react\";\n\nexport interface AlertProps extends Omit<ChakraAlert.RootProps, \"title\"> {\n startElement?: React.ReactNode;\n // An action that recovers from the alert, such as Retry for a temporary failure.\n endElement?: React.ReactNode;\n title?: React.ReactNode;\n icon?: React.ReactElement;\n // Shows a close button that dismisses the alert.\n onClose?: () => void;\n}\n\nexport const AlertMessage = React.forwardRef<HTMLDivElement, AlertProps>(function Alert(props, ref) {\n const { title, children, icon, startElement, endElement, onClose, ...rest } = props;\n return (\n <ChakraAlert.Root ref={ref} px=\"xs\" py=\"2xs\" gap=\"2xs\" minH=\"auto\" {...rest}>\n {startElement || <ChakraAlert.Indicator>{icon}</ChakraAlert.Indicator>}\n {children ? (\n <ChakraAlert.Content>\n <ChakraAlert.Title>{title}</ChakraAlert.Title>\n <ChakraAlert.Description>{children}</ChakraAlert.Description>\n </ChakraAlert.Content>\n ) : (\n <ChakraAlert.Title flex=\"1\">{title}</ChakraAlert.Title>\n )}\n {endElement || onClose ? (\n <HStack gap=\"2xs\" alignSelf=\"center\">\n {endElement}\n {onClose ? (\n <IconButton aria-label=\"Dismiss\" size=\"2xs\" variant=\"ghost\" onClick={onClose}>\n <X />\n </IconButton>\n ) : null}\n </HStack>\n ) : null}\n </ChakraAlert.Root>\n );\n});\n","import { Badge, chakra, IconButton, Image, Popover, Text } from \"@chakra-ui/react\";\nimport { X } from \"lucide-react\";\nimport { useEffect, useState } from \"react\";\n\nexport interface AttachmentChipProps {\n file: File;\n /** Accessible label for the remove control; the caller owns translation. */\n removeLabel: string;\n disabled?: boolean;\n onRemove: () => void;\n}\n\nconst isImage = (file: File) => file.type.startsWith(\"image/\");\n\nconst formatSize = (bytes: number) => {\n if (bytes < 1024) return `${bytes.toString()} B`;\n if (bytes < 1024 * 1024) return `${Math.round(bytes / 1024).toString()} KB`;\n return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n};\n\n/**\n * A file queued for upload, before the resource it belongs to exists. Removal\n * lives on the chip because there is no other surface between picking a file\n * and submitting where a mistaken attachment can be taken back.\n */\nexport const AttachmentChip = (props: AttachmentChipProps) => {\n const { file, removeLabel, disabled, onRemove } = props;\n const [previewUrl, setPreviewUrl] = useState<string | null>(null);\n\n // Object URLs are only needed for image previews; revoke on unmount/file swap\n // so we don't leak blobs while the dialog is open.\n useEffect(() => {\n if (!isImage(file)) return;\n const url = URL.createObjectURL(file);\n setPreviewUrl(url);\n return () => URL.revokeObjectURL(url);\n }, [file]);\n\n const name = (\n <Text as=\"span\" textStyle=\"label/XS/medium\" lineClamp={1} maxW=\"180px\">\n {file.name}\n </Text>\n );\n\n return (\n <Badge variant=\"chip\" gap=\"2xs\" pr=\"2xs\">\n {previewUrl ? (\n <Popover.Root positioning={{ placement: \"top\" }}>\n <Popover.Trigger asChild>\n <chakra.button type=\"button\" cursor=\"pointer\" minW=\"0\" display=\"inline-flex\">\n {name}\n </chakra.button>\n </Popover.Trigger>\n <Popover.Positioner>\n <Popover.Content w=\"auto\" p=\"2xs\" bg=\"bg\">\n <Image src={previewUrl} alt={file.name} maxW=\"240px\" maxH=\"240px\" borderRadius=\"sm\" />\n </Popover.Content>\n </Popover.Positioner>\n </Popover.Root>\n ) : (\n name\n )}\n <Text as=\"span\" textStyle=\"label/XS/regular\" color=\"fg.subtle\">\n {formatSize(file.size)}\n </Text>\n <IconButton size=\"2xs\" variant=\"ghost\" aria-label={removeLabel} disabled={disabled} onClick={onRemove}>\n <X size={12} />\n </IconButton>\n </Badge>\n );\n};\n","import type { BadgeProps } from \"@chakra-ui/react\";\nimport { Badge } from \"@chakra-ui/react\";\n\nexport interface ChipProps extends Omit<BadgeProps, \"size\" | \"variant\"> {}\n\nexport const Chip = (props: ChipProps) => <Badge size=\"sm\" variant=\"chip\" {...props} />;\n","import { chakra } from \"@chakra-ui/react\";\nimport type { ComponentType, HTMLAttributes } from \"react\";\n// Package-relative on purpose: every host that resolves `@pstdio/ui` from source\n// would otherwise need its own `$fonts` alias.\nimport generatedGlyphStyles from \"../../../public/font/css/prompt-studio-icons.css?raw\";\nimport \"./glyph-icon.css\";\n\n// The generated stylesheet is the source of truth for glyph codepoints; reading\n// them here keeps `@pstdio/ui` from bundling its legacy @font-face formats.\nconst GLYPH_RULE = /\\.icon-([\\w-]+)::before\\s*\\{\\s*content:\\s*\"(\\\\[0-9a-f]+)\"/g;\n\nconst glyphContent = new Map(\n Array.from(generatedGlyphStyles.matchAll(GLYPH_RULE), ([, name, content]) => [name, content]),\n);\n\n// Glyphs are painted through a ::before pseudo element sized by font-size, so the\n// wrapper turns its own box into a size container. That lets the glyph track\n// whatever box the caller gives it (`boxSize` on a Chakra `Icon`, say) exactly\n// like a lucide SVG would.\n//\n// Everything is applied through the `css` prop rather than a `chakra()` base:\n// factory base styles sit in a lower cascade layer than the `chakra-icon` recipe\n// and the global reset, which silently blockified the wrapper and, with it, threw\n// away the `vertical-align` that keeps an icon on the text's centre line.\n//\n// The ::before is taken out of flow and stretched over the wrapper so its geometry\n// never depends on the wrapper's own layout mode. Within that box the font builder\n// normalises every glyph's ink to a 1024-unit box sitting 47 units above the\n// baseline of a 1000-unit em (ascent 850 / descent -150), so the ink renders larger\n// than the em and half its overhang above centre: 89.5% of the container lands it\n// on lucide's 22-of-24 optical size, and 0.209em — measured against the glyph's own\n// font size, so it follows any optical scale — drops it onto the centre line.\nconst GLYPH_OPTICAL_SIZE = 89.5;\nconst GLYPH_BASELINE_OFFSET = \"0.209em\";\n\nconst GlyphRoot = chakra(\"span\");\n\nconst glyphStyles = (content: string, fontSize: string) => ({\n position: \"relative\",\n display: \"inline-block\",\n verticalAlign: \"middle\",\n flexShrink: 0,\n boxSize: \"1em\",\n lineHeight: 1,\n containerType: \"size\",\n \"&::before\": {\n content,\n fontSize,\n position: \"absolute\",\n inset: 0,\n fontFamily: '\"prompt-studio-icons\", sans-serif',\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n lineHeight: \"100cqmin\",\n textAlign: \"center\",\n transform: `translateY(${GLYPH_BASELINE_OFFSET})`,\n },\n});\n\ntype GlyphIconProps = Omit<HTMLAttributes<HTMLSpanElement>, \"children\">;\n\nexport interface GlyphIconOptions {\n /**\n * Optical size relative to a round glyph. Every glyph is normalised to the same\n * ink box, so square marks such as the level bars need trimming to carry the\n * same visual weight as the status rings.\n */\n scale?: number;\n}\n\n/**\n * Builds a component for one `prompt-studio-icons` glyph so lucide icons and\n * font glyphs share a single component type in the icon registry.\n */\nexport const createGlyphIcon = (glyph: string, options: GlyphIconOptions = {}): ComponentType<GlyphIconProps> => {\n const styles = glyphStyles(\n `\"${glyphContent.get(glyph) ?? \"\"}\"`,\n `${(GLYPH_OPTICAL_SIZE * (options.scale ?? 1)).toFixed(1)}cqmin`,\n );\n\n const GlyphIcon = (props: GlyphIconProps) => <GlyphRoot aria-hidden {...props} css={styles} />;\n\n GlyphIcon.displayName = `GlyphIcon(${glyph})`;\n return GlyphIcon;\n};\n","import {\n Archive,\n Ban,\n Bell,\n Bookmark,\n BookOpen,\n Bot,\n Bug,\n Circle,\n Code,\n Component,\n Cpu,\n Eye,\n Feather,\n FileText,\n Flag,\n Flame,\n Folder,\n GitBranch,\n GitCommitHorizontal,\n Hash,\n Heart,\n History,\n Inbox,\n Kanban,\n Layers,\n Lightbulb,\n Link,\n ListChecks,\n MessageSquare,\n Pause,\n Pencil,\n Play,\n Puzzle,\n Rocket,\n Scale,\n Settings,\n Shield,\n Sparkles,\n SquareKanban,\n Star,\n Tag,\n Target,\n Terminal,\n Ticket,\n Timer,\n Trash2,\n Users,\n Workflow,\n Wrench,\n Zap,\n} from \"lucide-react\";\nimport type { ComponentType } from \"react\";\nimport { createGlyphIcon } from \"./glyph-icon\";\n\nexport interface IconColorPickerIconOption {\n value: string | null;\n label: string;\n icon: ComponentType;\n}\n\nexport const optionColors = [\n \"gray\",\n \"red\",\n \"orange\",\n \"yellow\",\n \"green\",\n \"teal\",\n \"blue\",\n \"cyan\",\n \"purple\",\n \"pink\",\n] as const;\n\nconst glyph = (name: string, label: string) => ({ value: name, label, icon: createGlyphIcon(name) });\n\n// Level bars fill their ink box as a solid square, so they read heavier than the\n// round status glyphs at the same size; lucide's own bar marks sit at 18-of-24.\nconst levelGlyph = (name: string, label: string) => ({\n value: name,\n label,\n icon: createGlyphIcon(name, { scale: 0.82 }),\n});\n\n// Ordered exactly like the `cmp/TagAppearancePopover` grid in the design system:\n// a leading \"none\" cell, generic icons, then status rings, levels and concepts.\n// Status rings and level bars have no lucide equivalent and ship as glyphs in\n// the `prompt-studio-icons` font.\nexport const optionIcons = [\n { value: null, label: \"none\", icon: Ban },\n { value: \"flag\", label: \"flag\", icon: Flag },\n { value: \"bug\", label: \"bug\", icon: Bug },\n { value: \"sparkles\", label: \"sparkles\", icon: Sparkles },\n { value: \"book-open\", label: \"book open\", icon: BookOpen },\n { value: \"wrench\", label: \"wrench\", icon: Wrench },\n { value: \"zap\", label: \"zap\", icon: Zap },\n { value: \"feather\", label: \"feather\", icon: Feather },\n { value: \"scale\", label: \"scale\", icon: Scale },\n { value: \"layers\", label: \"layers\", icon: Layers },\n { value: \"star\", label: \"star\", icon: Star },\n { value: \"flame\", label: \"flame\", icon: Flame },\n { value: \"lightbulb\", label: \"lightbulb\", icon: Lightbulb },\n { value: \"shield\", label: \"shield\", icon: Shield },\n { value: \"eye\", label: \"eye\", icon: Eye },\n // The design draws the clock cell with lucide's timer.\n { value: \"clock\", label: \"clock\", icon: Timer },\n { value: \"tag\", label: \"tag\", icon: Tag },\n { value: \"code\", label: \"code\", icon: Code },\n { value: \"rocket\", label: \"rocket\", icon: Rocket },\n { value: \"heart\", label: \"heart\", icon: Heart },\n { value: \"bookmark\", label: \"bookmark\", icon: Bookmark },\n { value: \"target\", label: \"target\", icon: Target },\n { value: \"bell\", label: \"bell\", icon: Bell },\n { value: \"hash\", label: \"hash\", icon: Hash },\n glyph(\"status-backlog\", \"status backlog\"),\n glyph(\"status-todo\", \"status todo\"),\n glyph(\"status-progress\", \"status in progress\"),\n glyph(\"status-review\", \"status in review\"),\n glyph(\"status-done\", \"status done\"),\n glyph(\"status-canceled\", \"status canceled\"),\n { value: \"ticket\", label: \"ticket\", icon: Ticket },\n { value: \"git-branch\", label: \"git branch\", icon: GitBranch },\n levelGlyph(\"level-low\", \"level low\"),\n levelGlyph(\"level-mid\", \"level medium\"),\n levelGlyph(\"level-high\", \"level high\"),\n levelGlyph(\"level-xhigh\", \"level very high\"),\n { value: \"bot\", label: \"bot\", icon: Bot },\n { value: \"puzzle\", label: \"puzzle\", icon: Puzzle },\n { value: \"workflow\", label: \"workflow\", icon: Workflow },\n { value: \"kanban\", label: \"kanban\", icon: Kanban },\n { value: \"message-square\", label: \"message square\", icon: MessageSquare },\n { value: \"folder\", label: \"folder\", icon: Folder },\n { value: \"file-text\", label: \"file text\", icon: FileText },\n { value: \"history\", label: \"history\", icon: History },\n { value: \"play\", label: \"play\", icon: Play },\n { value: \"terminal\", label: \"terminal\", icon: Terminal },\n { value: \"cpu\", label: \"CPU\", icon: Cpu },\n { value: \"users\", label: \"users\", icon: Users },\n // Prompt Studio concepts: the icons its own tickets, boards, workspaces and\n // notifications are drawn with.\n { value: \"component\", label: \"ticket\", icon: Component },\n { value: \"square-kanban\", label: \"board\", icon: SquareKanban },\n { value: \"git-commit-horizontal\", label: \"workspace\", icon: GitCommitHorizontal },\n { value: \"inbox\", label: \"notifications\", icon: Inbox },\n { value: \"list-checks\", label: \"checklist\", icon: ListChecks },\n { value: \"archive\", label: \"archive\", icon: Archive },\n { value: \"link\", label: \"link\", icon: Link },\n { value: \"settings\", label: \"settings\", icon: Settings },\n] satisfies IconColorPickerIconOption[];\n\nconst actionIcons: Record<string, ComponentType> = { pause: Pause, pencil: Pencil, \"trash-2\": Trash2 };\n\nexport const getIconComponent = (\n name: string | null | undefined,\n iconOptions: readonly IconColorPickerIconOption[] = optionIcons,\n): ComponentType => {\n const normalizedName = (name ?? \"circle\")\n .replace(/([a-z0-9])([A-Z])/g, \"$1-$2\")\n .replace(/([a-zA-Z])([0-9])/g, \"$1-$2\")\n .toLowerCase();\n const entry = iconOptions.find((icon) => icon.value === normalizedName);\n return entry?.icon ?? actionIcons[normalizedName] ?? Circle;\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 tooltip?: string;\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, tooltip, ...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={tooltip ?? 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 { Slider as ChakraSlider } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\nexport interface SliderProps extends ChakraSlider.RootProps {}\n\nexport const Slider = React.forwardRef<HTMLDivElement, SliderProps>(function Slider(props, ref) {\n const { children, ...rest } = props;\n\n return (\n <ChakraSlider.Root ref={ref} variant=\"solid\" {...rest}>\n <ChakraSlider.Control>\n <ChakraSlider.Track height=\"2px\" borderRadius=\"0\" bg=\"bg.muted\">\n <ChakraSlider.Range bg=\"fg\" />\n </ChakraSlider.Track>\n <ChakraSlider.Thumbs\n boxSize=\"0.5rem\"\n bg=\"fg\"\n borderWidth=\"1px\"\n borderColor=\"bg\"\n borderRadius=\"none\"\n boxShadow=\"none\"\n transition=\"width 0.12s ease, height 0.12s ease, border-color 0.2s ease-in-out\"\n _hover={{ boxSize: \"0.75rem\", borderColor: \"border.accent-light\" }}\n _active={{ boxSize: \"0.875rem\", borderColor: \"border.accent-light\" }}\n _focusVisible={{ borderColor: \"border.accent-light\", outline: \"none\", boxShadow: \"none\" }}\n />\n </ChakraSlider.Control>\n {children}\n </ChakraSlider.Root>\n );\n});\n","import { Switch as ChakraSwitch } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\nexport interface SwitchProps extends ChakraSwitch.RootProps {\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n rootRef?: React.RefObject<HTMLLabelElement | null>;\n trackLabel?: { on: React.ReactNode; off: React.ReactNode };\n thumbLabel?: { on: React.ReactNode; off: React.ReactNode };\n}\n\nexport const Switch = React.forwardRef<HTMLInputElement, SwitchProps>(function Switch(props, ref) {\n const { inputProps, children, rootRef, trackLabel, thumbLabel, disabled = false, ...rest } = props;\n const interactiveCursor = disabled ? \"not-allowed\" : \"pointer\";\n\n return (\n <ChakraSwitch.Root ref={rootRef} disabled={disabled} cursor={interactiveCursor} {...rest}>\n <ChakraSwitch.HiddenInput ref={ref} {...inputProps} />\n <ChakraSwitch.Control cursor={interactiveCursor}>\n <ChakraSwitch.Thumb>\n {thumbLabel && (\n <ChakraSwitch.ThumbIndicator fallback={thumbLabel?.off}>{thumbLabel?.on}</ChakraSwitch.ThumbIndicator>\n )}\n </ChakraSwitch.Thumb>\n {trackLabel && <ChakraSwitch.Indicator fallback={trackLabel.off}>{trackLabel.on}</ChakraSwitch.Indicator>}\n </ChakraSwitch.Control>\n {children != null && <ChakraSwitch.Label cursor={interactiveCursor}>{children}</ChakraSwitch.Label>}\n </ChakraSwitch.Root>\n );\n});\n","import { createContext, type ReactNode, useContext } from \"react\";\nimport { createJSONStorage } from \"zustand/middleware\";\nimport { createBrowserStorage } from \"./browser-storage\";\n\n/** Storage the host supplies for saved component state, such as tree customizations and board settings. */\nexport interface HostStorage {\n getItem: (key: string) => string | null;\n setItem: (key: string, value: string) => void;\n removeItem?: (key: string) => void;\n}\n\nconst StorageContext = createContext<HostStorage | undefined>(undefined);\n\ninterface HostStorageProviderProps {\n storage: HostStorage | undefined;\n children: ReactNode;\n}\n\n/** Hosts can keep saved component state outside the browser origin. Without a storage, components use `localStorage`. */\nexport const HostStorageProvider = (props: HostStorageProviderProps) => {\n const { storage, children } = props;\n return <StorageContext value={storage}>{children}</StorageContext>;\n};\n\nexport const useHostStorage = () => useContext(StorageContext);\n\nexport const createHostPersistStorage = (storage: HostStorage | undefined) =>\n createJSONStorage(() =>\n storage\n ? {\n getItem: (key) => storage.getItem(key),\n setItem: (key, value) => storage.setItem(key, value),\n removeItem: (key) => storage.removeItem?.(key),\n }\n : createBrowserStorage(),\n );\n\n// One store per host storage and key, so one host's saved state never leaks into another host's stores.\nexport const createHostStoreRegistry = <Store, Args extends unknown[]>(\n create: (storageKey: string, storage: HostStorage | undefined, ...args: Args) => Store,\n) => {\n const hostRegistries = new WeakMap<HostStorage, Map<string, Store>>();\n const browserRegistry = new Map<string, Store>();\n\n return (storageKey: string, storage?: HostStorage, ...args: Args) => {\n let registry = storage ? hostRegistries.get(storage) : browserRegistry;\n if (!registry) {\n registry = new Map();\n hostRegistries.set(storage!, registry);\n }\n const existing = registry.get(storageKey);\n if (existing) return existing;\n\n const store = create(storageKey, storage, ...args);\n registry.set(storageKey, store);\n return store;\n };\n};\n","const readDefaultExport = (module: { default?: unknown }) => module.default ?? module;\n\nexport const installPrismGlobal = async () => {\n const globalScope = globalThis as typeof globalThis & { Prism?: unknown };\n if (globalScope.Prism) return;\n\n const prismModule = await import(\"prismjs\");\n globalScope.Prism = readDefaultExport(prismModule);\n};\n"],"mappings":"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"}
@@ -69,6 +69,7 @@ interface ResourceBadgeProps extends Omit<HTMLChakraProps<"span">, "onSelect"> {
69
69
  size?: ResourceBadgeSize;
70
70
  tone?: ResourceBadgeTone;
71
71
  icon?: ReactNode;
72
+ tooltip?: string;
72
73
  }
73
74
  declare const ResourceBadge: (props: ResourceBadgeProps) => import("react/jsx-runtime").JSX.Element;
74
75
  //#endregion