执行 pnpm add @hina-ui/react 安装依赖,然后在样式入口引入 tokens.css。
import { Code, Text } from '@hina-ui/react'
export default function Demo() {
return (
<Text className="max-w-lg">
执行 <Code>pnpm add @hina-ui/react</Code> 安装依赖,然后在样式入口引入 <Code>tokens.css</Code>
。
</Text>
)
}
tsx
用法
import { Code } from '@hina-ui/react'
ts
组件渲染为原生的 code,使用等宽字体,带浅色底与圆角。它用于在句子中标识一小段代码,例如变量名、属性名、文件名或者一条命令。
--hn-accentimport { Code } from '@hina-ui/react'
export default function Demo() {
return <Code>--hn-accent</Code>
}
tsx
示例
跟随上下文缩放
字号是相对值,取所在文字的 87.5%。用在小字号的段落中时会一同缩小,不会在句子中突出。
小字号中的 size 与正文中的 size 一同缩放。
import { Code, Text } from '@hina-ui/react'
export default function Demo() {
return (
<Text className="max-w-lg text-sm">
小字号中的 <Code>size</Code> 与正文中的 <Code>size</Code> 一同缩放。
</Text>
)
}
tsx
正文中的行内代码
Prose 会为其中的原生 code 标签应用同一套样式。渲染 Markdown 或者富文本时不需要替换标签。
正文中的 code 标签不需要单独引入组件。
它与组件的呈现完全一致。
import { Prose } from '@hina-ui/react'
export default function Demo() {
return (
<Prose className="max-w-lg">
<p>
正文中的 <code>code</code> 标签不需要单独引入组件。
</p>
<p>它与组件的呈现完全一致。</p>
</Prose>
)
}
tsx
成段的代码
超过一行的代码使用 CodeBlock,它带有语法着色、语言角标与复制按钮。
const theme = {
accent: 'var(--hn-accent)',
radius: 'var(--hn-radius-md)',
}ts
import { CodeBlock } from '@hina-ui/react'
const source = `const theme = {
accent: 'var(--hn-accent)',
radius: 'var(--hn-radius-md)',
}`
export default function Demo() {
return <CodeBlock code={source} lang="ts" className="w-full max-w-lg" />
}
tsx
无障碍
- 组件渲染为原生的
code,屏幕阅读器会按代码朗读。 - 底色只作区分,不表达状态,因此没有色调。
API
Props
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
className | string | — | 追加至根元素的类名 |
内容属性
| 属性 | 说明 |
|---|---|
children | 代码文本 |