fix(docs): align Storybook inventory and design documentation

This commit is contained in:
shkim4 committed 2026-11-10 11:41:47 +09:00
1 parent 4c7d3460f1
commit d9434df79e
15 files changed
+310 -193

No files matched your search

+1
View File
@@ -87,6 +87,7 @@ const koreanLabels = {
'patterns-data-filter-bar': '필터 바',
'patterns-layout': '화면 구성',
'patterns-layout-gnb': '전체 메뉴 (GNB)',
'patterns-layout-dashboard': '대시보드',
'patterns-layout-lnb': '좌측 메뉴 (LNB)',
'patterns-layout-dashboard-layout': '대시보드',
'patterns-layout-page-header': '페이지 헤더',
+1 -1
View File
@@ -44,7 +44,7 @@ const preview: Preview = {
["Alert", "Sonner"],
],
"Patterns",
["Data", ["Data Table", "Filter Bar"], "Layout", ["GNB", "LNB", "Dashboard Layout", "Loading Screen"]],
["Data", ["Data Table", "Filter Bar"], "Layout", ["GNB", "LNB", "Dashboard", "Loading Screen"]],
"SW",
["Header", ["SW Header", "*"], "Viewer", "Step Header", "Popup", "하단 명령어바", ["SW 하단 명령어바", "*"], "Theme"],
"조직도",
+75 -71
View File
@@ -6,56 +6,56 @@ This is a classification record. No Story IDs, exports or titles are renamed. HI
## Summary
- PRIMARY: 82
- PRIMARY: 75
- VERIFICATION: 256
- UTILITY: 38
- UTILITY: 49
- LEGACY / DUPLICATE: 0
- KEEP: 82
- HIDE: 294
- KEEP: 75
- HIDE: 305
- MERGE_CANDIDATE: 33
- DELETE_CANDIDATE: 0
- Story files: 82
- Stories: 376
- Hierarchy: Foundation → Components → Patterns → Center Graphic → Theme
- Stories: 380
- Hierarchy: Foundation → Components → Patterns → SW → 조직도 → 노선도 → Verification → Theme
## Full inventory
### Center Graphic/Facility
### 노선도/시설물
Source: `src/center/center-facility.stories.tsx`; meta.tags: []
- Tunnel — Tunnel; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Bridge — Bridge; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Intersection — Intersection; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Junction — Junction; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Interchange — Interchange; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Roadside — Roadside; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Linked — Linked; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Tunnel — 터널; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Bridge — 교량; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Intersection — 교차로; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Junction — 분기점; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Interchange — 나들목; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Roadside — 휴게소 · 졸음쉼터; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Linked — 연계 시설물; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- TunnelPlayground — 직접 테스트 (터널); tags: ["verification"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
### Center Graphic/Information
### 노선도/정보
Source: `src/center/center-information.stories.tsx`; meta.tags: []
- Information — Information; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Information — 정보; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
### Center Graphic/Overview
### 노선도/Overview
Source: `src/center/center-overview.stories.tsx`; meta.tags: []
- Overview — Overview; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
### Center Graphic/Spatial
### 노선도/노선·공간
Source: `src/center/center-spatial.stories.tsx`; meta.tags: []
- Spatial — Spatial; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Spatial — 노선·공간; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
### Center Graphic/Title
### 노선도/사업명
Source: `src/center/center-title.stories.tsx`; meta.tags: []
- Compositions — Title; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Compositions — 사업명; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Playground — Playground; tags: ["verification"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
### Components/Disclosure/Accordion
@@ -275,9 +275,9 @@ Source: `src/components/input.stories.tsx`; meta.tags: []
### Components/Form/Label
Source: `src/components/label.stories.tsx`; meta.tags: []
Source: `src/components/label.stories.tsx`; meta.tags: ["internal"]
- All — Label; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- All — Label; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
### Components/Navigation/Menubar
@@ -477,14 +477,14 @@ Source: `src/components/textarea.stories.tsx`; meta.tags: []
### Components/Form/Toggle Group
Source: `src/components/toggle-group.stories.tsx`; meta.tags: []
Source: `src/components/toggle-group.stories.tsx`; meta.tags: ["internal"]
- All — Toggle Group; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- SingleSelection — Single; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- MultipleSelection — Multiple; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- VerticalGroup — Vertical; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- ManyOptions — Many Options; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- ContentNodes — Content Nodes; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- All — Toggle Group; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- SingleSelection — Single; tags: ["internal","verification"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- MultipleSelection — Multiple; tags: ["internal","verification"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- VerticalGroup — Vertical; tags: ["internal","verification"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- ManyOptions — Many Options; tags: ["internal","verification"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- ContentNodes — Content Nodes; tags: ["internal","verification"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
### Components/Form/Toggle
@@ -503,31 +503,31 @@ Source: `src/components/tooltip.stories.tsx`; meta.tags: []
- All — Tooltip; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Open — Open; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
### Foundation/Hanmac Color
### Foundation/한맥 컬러
Source: `src/foundation/color.stories.tsx`; meta.tags: []
- All — Hanmac Color; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- All — 한맥 컬러; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
### Foundation/Company Colors
### Foundation/가족사 컬러
Source: `src/foundation/company-colors.stories.tsx`; meta.tags: []
- All — Company Colors; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- All — 가족사 컬러; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
### Foundation/Layout
Source: `src/foundation/layout.stories.tsx`; meta.tags: []
Source: `src/foundation/layout.stories.tsx`; meta.tags: ["verification"]
- All — Layout; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- All — Layout; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
### Foundation/Typography
### Foundation/폰트
Source: `src/foundation/typography.stories.tsx`; meta.tags: []
- All — Typography; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- All — 폰트; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
### OrgChart/Components/Cards
### 조직도/Components/Cards
Source: `src/org-chart/org-chart-cards.stories.tsx`; meta.tags: ["internal"]
@@ -541,25 +541,25 @@ Source: `src/org-chart/org-chart-cards.stories.tsx`; meta.tags: ["internal"]
- OrganizationLeader — 조직장; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- Employee — 일반 직원; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
### OrgChart/Department Colors
### 조직도/부서별 색상
Source: `src/org-chart/org-chart-department-colors.stories.tsx`; meta.tags: []
- DepartmentColors — Department Colors; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- DepartmentColors — 부서별 색상; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
### OrgChart/Expanded OrgChart
### 조직도/확장 조직도
Source: `src/org-chart/org-chart-expanded.stories.tsx`; meta.tags: []
- ExpandedOrgChart — Expanded OrgChart; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- ExpandedOrgChart — 확장 조직도; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
### OrgChart/Full Composition
### 조직도/전체 구성
Source: `src/org-chart/org-chart-full-composition.stories.tsx`; meta.tags: []
- FullComposition — Full Composition; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- FullComposition — 전체 구성; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
### OrgChart/Verification/Overview
### 조직도/Verification/Overview
Source: `src/org-chart/org-chart-overview-internal.stories.tsx`; meta.tags: ["internal"]
@@ -567,13 +567,13 @@ Source: `src/org-chart/org-chart-overview-internal.stories.tsx`; meta.tags: ["in
- PositionSummary — Position Summary; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- AffiliationSummary — Affiliation Summary; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
### OrgChart/Overview
### 조직도/개요
Source: `src/org-chart/org-chart-p1.stories.tsx`; meta.tags: []
- LogoPersonnelSummary — Overview; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- LogoPersonnelSummary — 개요; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
### OrgChart/Components/Summaries
### 조직도/Components/Summaries
Source: `src/org-chart/org-chart-summary.stories.tsx`; meta.tags: ["internal"]
@@ -581,16 +581,16 @@ Source: `src/org-chart/org-chart-summary.stories.tsx`; meta.tags: ["internal"]
- AffiliationSummary — Affiliation Summary; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- StatusSummary — Status Summary; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
### OrgChart/Content
### 조직도/콘텐츠
Source: `src/org-chart/org-chart.stories.tsx`; meta.tags: ["internal"]
- BasicOrganization — Basic Organization; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- OrganizationHierarchy — Organization Hierarchy; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- EmployeeCards — Employee Cards; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- OrganizationSummary — Organization Summary; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- BasicOrganization — 기본 조직도; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- OrganizationHierarchy — 조직 계층; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- EmployeeCards — 직원 카드; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- OrganizationSummary — 조직 요약; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- JSONDataUpdate — JSON Data Update; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- LoadingEmptyError — Loading / Empty / Error; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- LoadingEmptyError — 로딩 / 비어 있음 / 오류; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- ResponsiveContainer — Responsive Container; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- MultipleInstances — Multiple Instances; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
@@ -612,6 +612,8 @@ Source: `src/patterns/dashboard-layout.stories.tsx`; meta.tags: []
Source: `src/patterns/data-table.stories.tsx`; meta.tags: []
- All — Data Table; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Overview — Overview; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- BasicSearch — Basic Search; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- WithFilterBarStory — With Filter Bar; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- Loading — Loading; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- Empty — Empty; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
@@ -631,6 +633,7 @@ Source: `src/patterns/gnb.stories.tsx`; meta.tags: []
- Default — Default; tags: ["verification"]; VERIFICATION; HIDE; MERGE_CANDIDATE. Representative board may cover the same specimen; keep direct QA until behavioral equivalence is reviewed.
- Sticky — Sticky; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- Sidebar — GNB Sidebar; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- BrownSidebar — Brown Sidebar; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- NavigationMenuOpen — Navigation Menu Open; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- ShortDepthOpen — Short Depth Open; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- RightEdgeLongDepth — Right Edge Long Depth; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
@@ -673,26 +676,27 @@ Source: `src/patterns/lnb.stories.tsx`; meta.tags: []
### Patterns/Layout/Loading Screen
Source: `src/patterns/loading-screen.stories.tsx`; meta.tags: []
Source: `src/patterns/loading-screen.stories.tsx`; meta.tags: ["internal"]
- All — Loading Screen; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Inline — Inline; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- All — Loading Screen; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- Inline — Inline; tags: ["internal","verification"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
### Patterns/Layout/Page Header
Source: `src/patterns/page-header.stories.tsx`; meta.tags: []
Source: `src/patterns/page-header.stories.tsx`; meta.tags: ["verification"]
- All — Page Header; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- All — Page Header; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- FullPage — Full Page; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
### SW/Footer
### SW/하단 명령어바
Source: `src/sw/sw-footer.stories.tsx`; meta.tags: []
- FullFooter — SW Footer; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- FullFooter — SW 하단 명령어바; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- ToolGroups — 도구 그룹별 표시; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- FigmaVariants — Figma 디자인별 Variant (35 노드); tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- CustomContent — 도구 및 메뉴 변경 예제; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- Responsive — Responsive More; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Responsive — 화면 너비; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Parts — 개별 부품 (조합용); tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
### SW/Header
@@ -705,7 +709,7 @@ Source: `src/sw/sw-header-dropdown.stories.tsx`; meta.tags: []
Source: `src/sw/sw-header-home-menu.stories.tsx`; meta.tags: []
- HomeMenu — Home Menu; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- HomeMenu — Home Menu; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- HomeMenuCaptureDefault — Home Menu · 비교 캔버스 · Default; tags: ["!autodocs","verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- HomeMenuHeaderComposition — Home Menu · Header 조합 · 로고 클릭; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- HomeMenuDynamicData — Home Menu · Props · 데이터 변경; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
@@ -730,9 +734,9 @@ Source: `src/sw/sw-header.stories.tsx`; meta.tags: []
- Overview — SW Header; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- InteractiveStates — Interactive States; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- WindowMoveMotion — Window Move Motion; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- LogoSlot — Logo; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- LogoSlot — 로고; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- DocumentDropdown — Document Dropdown; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- ResponsiveMore — Responsive More; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- ResponsiveMore — 화면 너비; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- KGuide — K Guide; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
### SW/Popup
@@ -747,7 +751,7 @@ Source: `src/sw/sw-popup.stories.tsx`; meta.tags: []
Source: `src/sw/sw-process-header.stories.tsx`; meta.tags: []
- ProcessHeader — Step Header; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Responsive — Responsive More; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Responsive — 화면 너비; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- SplitOpen — 화면 분할; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- MultiStep — Multi Step; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- FixedWidths — Fixed Widths; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
@@ -761,7 +765,7 @@ Source: `src/sw/sw-process-header.stories.tsx`; meta.tags: []
Source: `src/sw/sw-property-panel.stories.tsx`; meta.tags: []
- PropertyPanelCompare — Property Panel; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- PropertyPanelCompare — 속성창; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
### SW/Theme
@@ -778,10 +782,10 @@ Source: `src/sw/sw-viewer.stories.tsx`; meta.tags: []
- States — Item States; tags: ["verification"]; VERIFICATION; HIDE; MERGE_CANDIDATE. Representative board may cover the same specimen; keep direct QA until behavioral equivalence is reviewed.
- Dropdowns — Header + Dropdown; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- SettingsPanel — Settings Popup; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- ContentVariants — Settings Popup; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- ContentVariants — 설정창; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- VariableSize — Variable Size Popups; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
- Logo — Logo; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Responsive — Responsive More; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Logo — 로고; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- Responsive — 화면 너비; tags: []; PRIMARY; KEEP. Representative story or distinct reference page.
- CompareWithSWHeader — SWHeader vs Viewer Header; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar.
### Theme/Designer Playground
+16 -1
View File
@@ -24,7 +24,22 @@ const inventory = files.map(file => {
return { file: path.relative(root, file).replaceAll('\\', '/'), title, metaTags, stories }
})
const all = inventory.flatMap(f => f.stories)
const summary = { storyFiles: files.length, stories: all.length, categories: Object.fromEntries(['PRIMARY', 'VERIFICATION', 'UTILITY', 'LEGACY / DUPLICATE'].map(c => [c, all.filter(s => s.category === c).length])), decisions: Object.fromEntries(['KEEP', 'HIDE', 'MERGE_CANDIDATE', 'DELETE_CANDIDATE'].map(c => [c, all.filter(s => s.decision === c || s.candidate === c).length])), hierarchy: ['Foundation', 'Components', 'Patterns', 'Center Graphic', 'Theme'] }
// Top-level groups that actually exist, in the storySort order of .storybook/preview.tsx ("*" = unlisted groups).
function topLevelHierarchy() {
const groups = [...new Set(inventory.map(f => f.title.split('/')[0]))]
const source = fs.readFileSync(path.join(root, '.storybook/preview.tsx'), 'utf8').replace(/\/\/.*$/gm, '')
const start = source.indexOf('[', source.indexOf('order:'))
const order = []
for (let i = start, depth = 0; i < source.length; i++) {
const ch = source[i]
if (ch === '[') depth++
else if (ch === ']' && --depth === 0) break
else if (ch === '"') { const end = source.indexOf('"', i + 1); if (depth === 1) order.push(source.slice(i + 1, end)); i = end }
}
const unlisted = groups.filter(g => !order.includes(g)).sort()
return order.flatMap(g => g === '*' ? unlisted : groups.includes(g) ? [g] : []).concat(order.includes('*') ? [] : unlisted)
}
const summary = { storyFiles: files.length, stories: all.length, categories: Object.fromEntries(['PRIMARY', 'VERIFICATION', 'UTILITY', 'LEGACY / DUPLICATE'].map(c => [c, all.filter(s => s.category === c).length])), decisions: Object.fromEntries(['KEEP', 'HIDE', 'MERGE_CANDIDATE', 'DELETE_CANDIDATE'].map(c => [c, all.filter(s => s.decision === c || s.candidate === c).length])), hierarchy: topLevelHierarchy() }
const output = path.join(root, '.storybook', 'qa')
fs.mkdirSync(output, { recursive: true })
fs.writeFileSync(path.join(output, 'story-inventory.json'), JSON.stringify({ summary, inventory }, null, 2) + '\n')
+204 -107
View File
@@ -1,16 +1,16 @@
{
"summary": {
"storyFiles": 82,
"stories": 376,
"stories": 380,
"categories": {
"PRIMARY": 82,
"PRIMARY": 75,
"VERIFICATION": 256,
"UTILITY": 38,
"UTILITY": 49,
"LEGACY / DUPLICATE": 0
},
"decisions": {
"KEEP": 82,
"HIDE": 294,
"KEEP": 75,
"HIDE": 305,
"MERGE_CANDIDATE": 33,
"DELETE_CANDIDATE": 0
},
@@ -18,20 +18,23 @@
"Foundation",
"Components",
"Patterns",
"Center Graphic",
"SW",
"조직도",
"노선도",
"Verification",
"Theme"
]
},
"inventory": [
{
"file": "src/center/center-facility.stories.tsx",
"title": "Center Graphic/Facility",
"title": "노선도/시설물",
"metaTags": [],
"stories": [
{
"id": "center-graphic-facility--tunnel",
"exportName": "Tunnel",
"name": "Tunnel",
"name": "터널",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -42,7 +45,7 @@
{
"id": "center-graphic-facility--bridge",
"exportName": "Bridge",
"name": "Bridge",
"name": "교량",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -53,7 +56,7 @@
{
"id": "center-graphic-facility--intersection",
"exportName": "Intersection",
"name": "Intersection",
"name": "교차로",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -64,7 +67,7 @@
{
"id": "center-graphic-facility--junction",
"exportName": "Junction",
"name": "Junction",
"name": "분기점",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -75,7 +78,7 @@
{
"id": "center-graphic-facility--interchange",
"exportName": "Interchange",
"name": "Interchange",
"name": "나들목",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -86,7 +89,7 @@
{
"id": "center-graphic-facility--roadside",
"exportName": "Roadside",
"name": "Roadside",
"name": "휴게소 · 졸음쉼터",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -97,7 +100,7 @@
{
"id": "center-graphic-facility--linked",
"exportName": "Linked",
"name": "Linked",
"name": "연계 시설물",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -124,13 +127,13 @@
},
{
"file": "src/center/center-information.stories.tsx",
"title": "Center Graphic/Information",
"title": "노선도/정보",
"metaTags": [],
"stories": [
{
"id": "center-graphic-information--information",
"exportName": "Information",
"name": "Information",
"name": "정보",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -142,7 +145,7 @@
},
{
"file": "src/center/center-overview.stories.tsx",
"title": "Center Graphic/Overview",
"title": "노선도/Overview",
"metaTags": [],
"stories": [
{
@@ -164,13 +167,13 @@
},
{
"file": "src/center/center-spatial.stories.tsx",
"title": "Center Graphic/Spatial",
"title": "노선도/노선·공간",
"metaTags": [],
"stories": [
{
"id": "center-graphic-spatial--spatial",
"exportName": "Spatial",
"name": "Spatial",
"name": "노선·공간",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -182,13 +185,13 @@
},
{
"file": "src/center/center-title.stories.tsx",
"title": "Center Graphic/Title",
"title": "노선도/사업명",
"metaTags": [],
"stories": [
{
"id": "center-graphic-title--compositions",
"exportName": "Compositions",
"name": "Title",
"name": "사업명",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -1871,18 +1874,22 @@
{
"file": "src/components/label.stories.tsx",
"title": "Components/Form/Label",
"metaTags": [],
"metaTags": [
"internal"
],
"stories": [
{
"id": "components-form-label--all",
"exportName": "All",
"name": "Label",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
"decision": "KEEP",
"effectiveTags": [
"internal"
],
"category": "UTILITY",
"decision": "HIDE",
"candidate": null,
"reason": "Representative story or distinct reference page."
"reason": "Keep direct URL and tag-filter access; excluded from default sidebar."
}
]
},
@@ -3494,18 +3501,22 @@
{
"file": "src/components/toggle-group.stories.tsx",
"title": "Components/Form/Toggle Group",
"metaTags": [],
"metaTags": [
"internal"
],
"stories": [
{
"id": "components-form-toggle-group--all",
"exportName": "All",
"name": "Toggle Group",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
"decision": "KEEP",
"effectiveTags": [
"internal"
],
"category": "UTILITY",
"decision": "HIDE",
"candidate": null,
"reason": "Representative story or distinct reference page."
"reason": "Keep direct URL and tag-filter access; excluded from default sidebar."
},
{
"id": "components-form-toggle-group--single-selection",
@@ -3515,9 +3526,10 @@
"verification"
],
"effectiveTags": [
"internal",
"verification"
],
"category": "VERIFICATION",
"category": "UTILITY",
"decision": "HIDE",
"candidate": null,
"reason": "Keep direct URL and tag-filter access; excluded from default sidebar."
@@ -3530,9 +3542,10 @@
"verification"
],
"effectiveTags": [
"internal",
"verification"
],
"category": "VERIFICATION",
"category": "UTILITY",
"decision": "HIDE",
"candidate": null,
"reason": "Keep direct URL and tag-filter access; excluded from default sidebar."
@@ -3545,9 +3558,10 @@
"verification"
],
"effectiveTags": [
"internal",
"verification"
],
"category": "VERIFICATION",
"category": "UTILITY",
"decision": "HIDE",
"candidate": null,
"reason": "Keep direct URL and tag-filter access; excluded from default sidebar."
@@ -3560,9 +3574,10 @@
"verification"
],
"effectiveTags": [
"internal",
"verification"
],
"category": "VERIFICATION",
"category": "UTILITY",
"decision": "HIDE",
"candidate": null,
"reason": "Keep direct URL and tag-filter access; excluded from default sidebar."
@@ -3575,9 +3590,10 @@
"verification"
],
"effectiveTags": [
"internal",
"verification"
],
"category": "VERIFICATION",
"category": "UTILITY",
"decision": "HIDE",
"candidate": null,
"reason": "Keep direct URL and tag-filter access; excluded from default sidebar."
@@ -3697,13 +3713,13 @@
},
{
"file": "src/foundation/color.stories.tsx",
"title": "Foundation/Hanmac Color",
"title": "Foundation/한맥 컬러",
"metaTags": [],
"stories": [
{
"id": "foundation-color--all",
"exportName": "All",
"name": "Hanmac Color",
"name": "한맥 컬러",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -3715,13 +3731,13 @@
},
{
"file": "src/foundation/company-colors.stories.tsx",
"title": "Foundation/Company Colors",
"title": "Foundation/가족사 컬러",
"metaTags": [],
"stories": [
{
"id": "foundation-company-colors--all",
"exportName": "All",
"name": "Company Colors",
"name": "가족사 컬러",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -3734,30 +3750,34 @@
{
"file": "src/foundation/layout.stories.tsx",
"title": "Foundation/Layout",
"metaTags": [],
"metaTags": [
"verification"
],
"stories": [
{
"id": "foundation-layout--all",
"exportName": "All",
"name": "Layout",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
"decision": "KEEP",
"effectiveTags": [
"verification"
],
"category": "VERIFICATION",
"decision": "HIDE",
"candidate": null,
"reason": "Representative story or distinct reference page."
"reason": "Keep direct URL and tag-filter access; excluded from default sidebar."
}
]
},
{
"file": "src/foundation/typography.stories.tsx",
"title": "Foundation/Typography",
"title": "Foundation/폰트",
"metaTags": [],
"stories": [
{
"id": "foundation-typography--all",
"exportName": "All",
"name": "Typography",
"name": "폰트",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -3769,7 +3789,7 @@
},
{
"file": "src/org-chart/org-chart-cards.stories.tsx",
"title": "OrgChart/Components/Cards",
"title": "조직도/Components/Cards",
"metaTags": [
"internal"
],
@@ -3895,13 +3915,13 @@
},
{
"file": "src/org-chart/org-chart-department-colors.stories.tsx",
"title": "OrgChart/Department Colors",
"title": "조직도/부서별 색상",
"metaTags": [],
"stories": [
{
"id": "orgchart--department-colors",
"exportName": "DepartmentColors",
"name": "Department Colors",
"name": "부서별 색상",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -3913,13 +3933,13 @@
},
{
"file": "src/org-chart/org-chart-expanded.stories.tsx",
"title": "OrgChart/Expanded OrgChart",
"title": "조직도/확장 조직도",
"metaTags": [],
"stories": [
{
"id": "orgchart--expanded-org-chart",
"exportName": "ExpandedOrgChart",
"name": "Expanded OrgChart",
"name": "확장 조직도",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -3931,13 +3951,13 @@
},
{
"file": "src/org-chart/org-chart-full-composition.stories.tsx",
"title": "OrgChart/Full Composition",
"title": "조직도/전체 구성",
"metaTags": [],
"stories": [
{
"id": "orgchart--full-composition",
"exportName": "FullComposition",
"name": "Full Composition",
"name": "전체 구성",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -3949,7 +3969,7 @@
},
{
"file": "src/org-chart/org-chart-overview-internal.stories.tsx",
"title": "OrgChart/Verification/Overview",
"title": "조직도/Verification/Overview",
"metaTags": [
"internal"
],
@@ -3997,13 +4017,13 @@
},
{
"file": "src/org-chart/org-chart-p1.stories.tsx",
"title": "OrgChart/Overview",
"title": "조직도/개요",
"metaTags": [],
"stories": [
{
"id": "orgchart--logo-personnel-summary",
"exportName": "LogoPersonnelSummary",
"name": "Overview",
"name": "개요",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -4015,7 +4035,7 @@
},
{
"file": "src/org-chart/org-chart-summary.stories.tsx",
"title": "OrgChart/Components/Summaries",
"title": "조직도/Components/Summaries",
"metaTags": [
"internal"
],
@@ -4063,7 +4083,7 @@
},
{
"file": "src/org-chart/org-chart.stories.tsx",
"title": "OrgChart/Content",
"title": "조직도/콘텐츠",
"metaTags": [
"internal"
],
@@ -4071,7 +4091,7 @@
{
"id": "orgchart-content--basic-organization",
"exportName": "BasicOrganization",
"name": "Basic Organization",
"name": "기본 조직도",
"storyTags": [],
"effectiveTags": [
"internal"
@@ -4084,7 +4104,7 @@
{
"id": "orgchart-content--organization-hierarchy",
"exportName": "OrganizationHierarchy",
"name": "Organization Hierarchy",
"name": "조직 계층",
"storyTags": [],
"effectiveTags": [
"internal"
@@ -4097,7 +4117,7 @@
{
"id": "orgchart-content--employee-cards",
"exportName": "EmployeeCards",
"name": "Employee Cards",
"name": "직원 카드",
"storyTags": [],
"effectiveTags": [
"internal"
@@ -4110,7 +4130,7 @@
{
"id": "orgchart-content--organization-summary",
"exportName": "OrganizationSummary",
"name": "Organization Summary",
"name": "조직 요약",
"storyTags": [],
"effectiveTags": [
"internal"
@@ -4136,7 +4156,7 @@
{
"id": "orgchart-content--loading-empty-error",
"exportName": "LoadingEmptyError",
"name": "Loading / Empty / Error",
"name": "로딩 / 비어 있음 / 오류",
"storyTags": [],
"effectiveTags": [
"internal"
@@ -4313,6 +4333,36 @@
"candidate": null,
"reason": "Representative story or distinct reference page."
},
{
"id": "patterns-data-data-table--overview",
"exportName": "Overview",
"name": "Overview",
"storyTags": [
"verification"
],
"effectiveTags": [
"verification"
],
"category": "VERIFICATION",
"decision": "HIDE",
"candidate": null,
"reason": "Keep direct URL and tag-filter access; excluded from default sidebar."
},
{
"id": "patterns-data-data-table--basic-search",
"exportName": "BasicSearch",
"name": "Basic Search",
"storyTags": [
"verification"
],
"effectiveTags": [
"verification"
],
"category": "VERIFICATION",
"decision": "HIDE",
"candidate": null,
"reason": "Keep direct URL and tag-filter access; excluded from default sidebar."
},
{
"id": "patterns-data-data-table--with-filter-bar-story",
"exportName": "WithFilterBarStory",
@@ -4454,6 +4504,21 @@
"candidate": null,
"reason": "Keep direct URL and tag-filter access; excluded from default sidebar."
},
{
"id": "patterns-layout-gnb--brown-sidebar",
"exportName": "BrownSidebar",
"name": "Brown Sidebar",
"storyTags": [
"verification"
],
"effectiveTags": [
"verification"
],
"category": "VERIFICATION",
"decision": "HIDE",
"candidate": null,
"reason": "Keep direct URL and tag-filter access; excluded from default sidebar."
},
{
"id": "patterns-layout-gnb--navigation-menu-open",
"exportName": "NavigationMenuOpen",
@@ -4972,18 +5037,22 @@
{
"file": "src/patterns/loading-screen.stories.tsx",
"title": "Patterns/Layout/Loading Screen",
"metaTags": [],
"metaTags": [
"internal"
],
"stories": [
{
"id": "patterns-layout-loading-screen--all",
"exportName": "All",
"name": "Loading Screen",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
"decision": "KEEP",
"effectiveTags": [
"internal"
],
"category": "UTILITY",
"decision": "HIDE",
"candidate": null,
"reason": "Representative story or distinct reference page."
"reason": "Keep direct URL and tag-filter access; excluded from default sidebar."
},
{
"id": "patterns-layout-loading-screen--inline",
@@ -4992,6 +5061,44 @@
"storyTags": [
"verification"
],
"effectiveTags": [
"internal",
"verification"
],
"category": "UTILITY",
"decision": "HIDE",
"candidate": null,
"reason": "Keep direct URL and tag-filter access; excluded from default sidebar."
}
]
},
{
"file": "src/patterns/page-header.stories.tsx",
"title": "Patterns/Layout/Page Header",
"metaTags": [
"verification"
],
"stories": [
{
"id": "patterns-layout-page-header--all",
"exportName": "All",
"name": "Page Header",
"storyTags": [],
"effectiveTags": [
"verification"
],
"category": "VERIFICATION",
"decision": "HIDE",
"candidate": null,
"reason": "Keep direct URL and tag-filter access; excluded from default sidebar."
},
{
"id": "patterns-layout-page-header--full-page",
"exportName": "FullPage",
"name": "Full Page",
"storyTags": [
"verification"
],
"effectiveTags": [
"verification"
],
@@ -5002,33 +5109,15 @@
}
]
},
{
"file": "src/patterns/page-header.stories.tsx",
"title": "Patterns/Layout/Page Header",
"metaTags": [],
"stories": [
{
"id": "patterns-layout-page-header--all",
"exportName": "All",
"name": "Page Header",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
"decision": "KEEP",
"candidate": null,
"reason": "Representative story or distinct reference page."
}
]
},
{
"file": "src/sw/sw-footer.stories.tsx",
"title": "SW/Footer",
"title": "SW/하단 명령어바",
"metaTags": [],
"stories": [
{
"id": "sw-footer--full-footer",
"exportName": "FullFooter",
"name": "SW Footer",
"name": "SW 하단 명령어바",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -5084,7 +5173,7 @@
{
"id": "sw-footer--responsive",
"exportName": "Responsive",
"name": "Responsive More",
"name": "화면 너비",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -5140,12 +5229,16 @@
"id": "sw-header--home-menu",
"exportName": "HomeMenu",
"name": "Home Menu",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
"decision": "KEEP",
"storyTags": [
"internal"
],
"effectiveTags": [
"internal"
],
"category": "UTILITY",
"decision": "HIDE",
"candidate": null,
"reason": "Representative story or distinct reference page."
"reason": "Keep direct URL and tag-filter access; excluded from default sidebar."
},
{
"id": "sw-header--home-menu-capture-default",
@@ -5376,13 +5469,17 @@
{
"id": "sw-header--logo-slot",
"exportName": "LogoSlot",
"name": "Logo",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
"decision": "KEEP",
"name": "로고",
"storyTags": [
"internal"
],
"effectiveTags": [
"internal"
],
"category": "UTILITY",
"decision": "HIDE",
"candidate": null,
"reason": "Representative story or distinct reference page."
"reason": "Keep direct URL and tag-filter access; excluded from default sidebar."
},
{
"id": "sw-header--document-dropdown",
@@ -5402,7 +5499,7 @@
{
"id": "sw-header--responsive-more",
"exportName": "ResponsiveMore",
"name": "Responsive More",
"name": "화면 너비",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -5483,7 +5580,7 @@
{
"id": "sw-step-header--responsive",
"exportName": "Responsive",
"name": "Responsive More",
"name": "화면 너비",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -5621,7 +5718,7 @@
{
"id": "sw-header--property-panel-compare",
"exportName": "PropertyPanelCompare",
"name": "Property Panel",
"name": "속성창",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -5732,7 +5829,7 @@
{
"id": "sw-viewer--content-variants",
"exportName": "ContentVariants",
"name": "Settings Popup",
"name": "설정창",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -5758,7 +5855,7 @@
{
"id": "sw-viewer--logo",
"exportName": "Logo",
"name": "Logo",
"name": "로고",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",
@@ -5769,7 +5866,7 @@
{
"id": "sw-viewer--responsive",
"exportName": "Responsive",
"name": "Responsive More",
"name": "화면 너비",
"storyTags": [],
"effectiveTags": [],
"category": "PRIMARY",