Skip to content
Back to skills

Create Symbol State Component

ASecurity

인라인 SVG HTML을 상태 기반 동적 컴포넌트로 변환합니다. CSS 변수로 색상을 제어하고 런타임 API를 제공합니다.

  • 666 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 8, 2026
developmentjavascriptjavaapi

Works with

  • api

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill create-symbol-state-component --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Create Symbol State Component?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Create Symbol State Component
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-create-symbol-state-component/badge)](https://www.skillsdirectory.com/skills/majiayu000-create-symbol-state-component)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: create-symbol-state-component
description: 인라인 SVG HTML을 상태 기반 동적 컴포넌트로 변환합니다. CSS 변수로 색상을 제어하고 런타임 API를 제공합니다.
---

# 심볼 상태 컴포넌트 생성

인라인 SVG HTML을 **상태 기반 동적 컴포넌트**로 변환합니다.
`data-status` 속성과 CSS 셀렉터로 색상을 제어합니다.

> 기본 원칙은 [create-standard-component](/.claude/skills/2-component/create-standard-component/SKILL.md) 참조

---

## ⚠️ 작업 전 필수 확인

**코드 작성 전 반드시 다음 파일들을 Read 도구로 읽으세요.**
**이전에 읽었더라도 매번 다시 읽어야 합니다 - 캐싱하거나 생략하지 마세요.**

1. [/RNBT_architecture/README.md](/RNBT_architecture/README.md) - 아키텍처 이해
2. [/.claude/guides/CODING_STYLE.md](/.claude/guides/CODING_STYLE.md) - 코딩 스타일

---

## 핵심 원리

```
SVG <defs>에 3세트 gradient 정의 (paint0-green, paint0-yellow, paint0-red)
  ↓
SVG path에 layer 클래스 부여 (layer-grad0, layer-fill-primary)
  ↓
CSS [data-status="xxx"] 셀렉터로 fill URL 제어
  ↓
JS에서 dataset.status만 변경 → CSS가 색상 전환
```

**장점:** innerHTML 교체 없이 속성만 변경 (DOM 효율적)

---

## 입출력

**입력:** `Figma_Conversion/Static_Components/[프로젝트명]/[컴포넌트명]/`

**출력:**
```
components/[ComponentName]/
├── views/component.html       # SVG + 3세트 gradient + layer 클래스
├── styles/component.css       # [data-status] 셀렉터
├── scripts/
│   ├── register.js            # setStatus, getStatus API
│   └── beforeDestroy.js
├── preview.html
└── README.md
```

---

## Layer 클래스 명명 규칙

| 클래스 | 용도 |
|--------|------|
| `layer-grad0` ~ `layer-grad9` | gradient fill |
| `layer-fill-primary` | 주요 solid color |
| `layer-fill-secondary` | 보조 solid color |
| `layer-stroke` | 외곽선 |

---

## 핵심 API

```javascript
// 상태 변경 - data-status 속성만 변경
function setStatus(config, status) {
    container.dataset.status = status;  // CSS가 색상 제어
    this._currentStatus = status;
}

// 현재 상태 반환
function getStatus() {
    return this._currentStatus;
}
```

---

## 금지 사항

- ❌ innerHTML 교체로 색상 변경
- ❌ 생성/정리 불일치
- ❌ `function(response)` 사용 → `function({ response })` 필수

---

## 관련 자료

| 참조 | 위치 |
|------|------|
| 예제 | [/RNBT_architecture/Projects/Symbol_Test/page/components/Cube3DSymbol/](/RNBT_architecture/Projects/Symbol_Test/page/components/Cube3DSymbol/) |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.