Installation
bash
npx axis-cli add code-block --agenticInteractive Demo
use-user.ts
1import { useState, useEffect } from 'react'2
3interface User {4 id: string5 name: string6 email: string7}8
9export function useUser(userId: string) {10 const [user, setUser] = useState<User | null>(null)11 const [loading, setLoading] = useState(true)12
13 useEffect(() => {14 fetch(`/api/users/${userId}`)15 .then(res => res.json())16 .then(data => {17 setUser(data)18 setLoading(false)19 })20 }, [userId])21
22 return { user, loading }23}Variants
파일명 + 라인 번호
example.js
1const greeting = "Hello!"2console.log(greeting)언어만 표시
sql
SELECT * FROM usersWHERE active = trueORDER BY created_at DESC최대 높이 제한
scrollable.ts
1import { useState, useEffect } from 'react'2
3interface User {4 id: string5 name: string6 email: string7}8
9export function useUser(userId: string) {10 const [user, setUser] = useState<User | null>(null)11 const [loading, setLoading] = useState(true)12
13 useEffect(() => {14 fetch(`/api/users/${userId}`)15 .then(res => res.json())16 .then(data => {17 setUser(data)18 setLoading(false)19 })20 }, [userId])21
22 return { user, loading }23}Usage
tsx
import { CodeBlock } from '@axis-ds/agentic-ui'
export function Example() {
return (
<CodeBlock
code={`function hello() {
console.log('Hello, World!')
}`}
language="typescript"
filename="hello.ts"
showLineNumbers
/>
)
}Props
| Prop | Type | Default | Description |
|---|---|---|---|
codeRequired | string | - | 표시할 코드 문자열 |
language | string | - | 언어 힌트 (표시용) |
filename | string | - | 파일 이름 |
showLineNumbers | boolean | false | 라인 번호 표시 여부 |
onCopy | (code: string) => void | - | 복사 콜백 |
maxHeight | string | - | 최대 높이 (CSS 값) |
className | string | - | 추가 CSS 클래스 |
codeRequiredType:
string표시할 코드 문자열
languageType:
stringDefault:
-언어 힌트 (표시용)
filenameType:
stringDefault:
-파일 이름
showLineNumbersType:
booleanDefault:
false라인 번호 표시 여부
onCopyType:
(code: string) => voidDefault:
-복사 콜백
maxHeightType:
stringDefault:
-최대 높이 (CSS 값)
classNameType:
stringDefault:
-추가 CSS 클래스