variant | "default" | "singleLine" | "default" | variant="default" | singleLine 使用 Input 同类 Leading / Content / Trailing 三槽布局;固定为单行展示,不生成高度拖拽、语言、行号、全屏或纵向滚动结构 |
code | string | "" | code="Example" | 要显示的代码字符串 |
language | string | "" | language="Example" | 语言标识,同时选择格式化解析器;支持 svelte、js/javascript、jsx、ts/typescript、tsx、html、css/scss/less、json/jsonc、yaml/yml、markdown/md、graphql/gql。空值根据代码识别 Svelte/HTML、JSON 或 JS/TS;未知的显式语言保留原文。 |
format | boolean | true | format | 默认按 language 格式化代码;普通态、全屏、行号与复制共享格式化结果。设为 false 保留原文;singleLine 始终保留原文。解析失败、未知语言或输入超过 200,000 字符时保留原文。 |
showLanguage | boolean | true | showLanguage | 是否显示语言标识 |
showLineNumbers | boolean | false | showLineNumbers | 是否显示代码行号;普通态与全屏态保持一致,避免切换末帧发生代码横向跳变 |
showCopyButton | boolean | true | showCopyButton | 是否显示复制按钮 |
showExpandButton | boolean | true | showExpandButton | 是否显示全屏放大按钮 |
horizontalScrollbarVisibility | "always" | "hover" | "always" | horizontalScrollbarVisibility="always" | 横向滚动条在内容溢出时常显,或仅在鼠标移入代码块时显示 |
visibleLines | number | 5 | visibleLines={42} | 默认状态最多显示几行代码;内容不足时自适应高度,超出后滚动;全屏模式不受此限制 |
copyTimeout | number | 2000 | copyTimeout={42} | 复制成功图标(Check)的停留时长(ms),超时后恢复 Copy 图标 |
children | Snippet | — | <CodeBlock>Content</CodeBlock> | 代码内容或附件源;纯文本会作为代码,as="trailing" 会替换右侧动作区 |
parts | ComponentPartsOf<{ Indicator: typeof Indicator; CopyButton: typeof CopyButton; ExpandButton: typeof ExpandButton; }> | — | parts={partsOptions} | 仅配置内置 CopyButton、ExpandButton、Indicator;显式 children 配件不继承,操作按钮可通过 emphasis 配置强调程度。 |