mirror of
https://github.com/deepseek-ai/deepseek-harness.git
synced 2026-09-14 04:01:35 +00:00
Client feature plugins never import one another's components, so ui-primitives is their only channel for sharing one. Nothing told an author to look there first, and the package offered nothing to look at: its README named six source files against forty-plus exports. Add Tag (read-only capsule badge, eight tones) and Switch (36x20 toggle with a required accessible name), extend StateDotState with idle for a tracked subject with no activity, and move ui-agent-preset, ui-settings-plugins, and ui-settings-plugin-inventory onto them. The plugin inventory's conditional tag referenced --dsw-alias-state-warning-primary, which does not exist, so both themes had been painting its hardcoded #b45309 fallback. State the reuse rule as the first step of the new-component checklist, and give the README a component catalog so the rule has something to check. The rule is guidance, not a gate: a package may still write its own control, and the Agent Note records the five that stay local.
71 lines
3.7 KiB
TypeScript
71 lines
3.7 KiB
TypeScript
/**
|
|
* Cordis-free React primitives styled only through `--dsw-*` tokens.
|
|
*/
|
|
|
|
export { StateDot } from './StateDot.tsx'
|
|
export type { StateDotState } from './StateDot.tsx'
|
|
export { DisclosureRow } from './DisclosureRow.tsx'
|
|
export type { DisclosureRowProps } from './DisclosureRow.tsx'
|
|
export { Button } from './Button.tsx'
|
|
export type { ButtonVariant } from './Button.tsx'
|
|
export { Pill } from './Pill.tsx'
|
|
export { Tag } from './Tag.tsx'
|
|
export type { TagTone } from './Tag.tsx'
|
|
export { Switch } from './Switch.tsx'
|
|
export { Input } from './Input.tsx'
|
|
export { Menu } from './Menu.tsx'
|
|
export type { MenuEntry, MenuItem, MenuSeparator, MenuLabel } from './Menu.tsx'
|
|
export { useAnchoredMaxHeight } from './useAnchoredMaxHeight.ts'
|
|
export { useAnchoredPosition } from './useAnchoredPosition.ts'
|
|
export type { AnchoredPositionOptions } from './useAnchoredPosition.ts'
|
|
export { useDismissOnOutsidePointer } from './useDismissOnOutsidePointer.ts'
|
|
export { HoverCard } from './HoverCard.tsx'
|
|
export { Modal } from './Modal.tsx'
|
|
export { OnboardingSurface } from './OnboardingSurface.tsx'
|
|
export { RiskConfirmation } from './RiskConfirmation.tsx'
|
|
export type { RiskConfirmationProps } from './RiskConfirmation.tsx'
|
|
export { ConnectionIndicator } from './ConnectionIndicator.tsx'
|
|
export type { ConnectionIndicatorState } from './ConnectionIndicator.tsx'
|
|
export { FishLogo, FISH_LOGO_PATH, FISH_LOGO_VIEWBOX } from './FishLogo.tsx'
|
|
export { BrandWordmark } from './BrandWordmark.tsx'
|
|
export type { BrandWordmarkProps } from './BrandWordmark.tsx'
|
|
export { ReferenceIcon } from './ReferenceIcon.tsx'
|
|
export type { ReferenceIconKind, ReferenceIconProps } from './ReferenceIcon.tsx'
|
|
export { LinkIcon, classifyLinkPath } from './LinkIcon.tsx'
|
|
export type { LinkIconKind, LinkIconProps } from './LinkIcon.tsx'
|
|
export { projectUserText } from './user-text.tsx'
|
|
export { Tooltip } from './Tooltip.tsx'
|
|
export type { TooltipSide } from './Tooltip.tsx'
|
|
export { Toast } from './Toast.tsx'
|
|
export { fileSizeText } from './file-size.ts'
|
|
export { DocumentFileIcon } from './DocumentFileIcon.tsx'
|
|
export { writeClipboard } from './clipboard.ts'
|
|
export { relativeTime } from './relative-time.ts'
|
|
export { rankByName } from './rank-by-name.ts'
|
|
export type { RelativeTime, RelativeTimeUnit } from './relative-time.ts'
|
|
export { JsonTree } from './JsonTree.tsx'
|
|
export type { JsonTreeProps, JsonTreeLabels } from './JsonTree.tsx'
|
|
export { TerminalBlock, DEFAULT_TERMINAL_MAX_LINES } from './TerminalBlock.tsx'
|
|
export type { TerminalBlockProps, TerminalBlockLabels } from './TerminalBlock.tsx'
|
|
export { ReadBlock, DEFAULT_READ_MAX_LINES } from './ReadBlock.tsx'
|
|
export type { ReadBlockProps, ReadBlockLine, ReadBlockLabels } from './ReadBlock.tsx'
|
|
export { DiffBlock, DEFAULT_DIFF_MAX_LINES, diffTotals } from './DiffBlock.tsx'
|
|
export type { DiffBlockProps, DiffHunk, DiffBlockLabels } from './DiffBlock.tsx'
|
|
export { SearchBlock, DEFAULT_SEARCH_MAX_LINES } from './SearchBlock.tsx'
|
|
export type {
|
|
SearchBlockProps, SearchMatchesBlockProps, SearchPathsBlockProps, SearchFileGroup, SearchBlockLineMatch,
|
|
SearchBlockLabels,
|
|
} from './SearchBlock.tsx'
|
|
export { WebBlock } from './WebBlock.tsx'
|
|
export type {
|
|
WebBlockProps, WebSearchBlockProps, WebFetchBlockProps, WebSourceView, WebBlockLabels,
|
|
} from './WebBlock.tsx'
|
|
export { CodeBlock } from './markdown/CodeBlock.tsx'
|
|
export type { CodeBlockProps } from './markdown/CodeBlock.tsx'
|
|
export { JsonBlock } from './markdown/JsonBlock.tsx'
|
|
export { MarkdownText } from './markdown/MarkdownText.tsx'
|
|
export type { MarkdownCodeLabels, MarkdownFileMentions, MarkdownLabels } from './markdown/MarkdownText.tsx'
|
|
export { extractMarkdownPlainText } from './markdown/plain-text.ts'
|
|
export type { MarkdownPlainTextMode, MarkdownPlainTextOptions } from './markdown/plain-text.ts'
|
|
export * from './icons/index.tsx'
|