diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index 06589d9..7c4abd9 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -25,7 +25,7 @@ const preview: Preview = { includeNames: true, order: [ "Foundation", - ["Color", "Typography", "Layout"], + ["Color", "Company Colors", "Typography", "Layout"], "Components", [ "Form", diff --git a/.storybook/qa/STORY-INVENTORY.md b/.storybook/qa/STORY-INVENTORY.md index 1643bfd..c3ff92f 100644 --- a/.storybook/qa/STORY-INVENTORY.md +++ b/.storybook/qa/STORY-INVENTORY.md @@ -6,16 +6,16 @@ This is a classification record. No Story IDs, exports or titles are renamed. HI ## Summary -- PRIMARY: 65 -- VERIFICATION: 212 -- UTILITY: 15 +- PRIMARY: 82 +- VERIFICATION: 252 +- UTILITY: 38 - LEGACY / DUPLICATE: 0 -- KEEP: 65 -- HIDE: 227 -- MERGE_CANDIDATE: 31 +- KEEP: 82 +- HIDE: 290 +- MERGE_CANDIDATE: 33 - DELETE_CANDIDATE: 0 -- Story files: 63 -- Stories: 292 +- Story files: 82 +- Stories: 372 - Hierarchy: Foundation → Components → Patterns → Center Graphic → Theme ## Full inventory @@ -43,7 +43,7 @@ Source: `src/center/center-information.stories.tsx`; meta.tags: [] Source: `src/center/center-overview.stories.tsx`; meta.tags: [] -- Overview — Overview; 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. ### Center Graphic/Spatial @@ -325,7 +325,7 @@ Source: `src/components/progress.stories.tsx`; meta.tags: [] Source: `src/components/publisher-regression.stories.tsx`; meta.tags: ["verification"] -- ConsumersRegression — Consumers Regression; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- ConsumersRegression — Consumers Regression; tags: ["verification","play-fn"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. ### Components/Form/Radio Group @@ -445,6 +445,7 @@ Source: `src/components/table.stories.tsx`; meta.tags: [] Source: `src/components/tabs.stories.tsx`; meta.tags: [] - All — Tabs; tags: []; PRIMARY; KEEP. Representative story or distinct reference page. +- DefaultApi — Default API; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. - Secondary — Secondary; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. - SelectedFirst — Selected First; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. - SelectedLast — Selected Last; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. @@ -504,6 +505,12 @@ Source: `src/foundation/color.stories.tsx`; meta.tags: [] - All — Color; tags: []; PRIMARY; KEEP. Representative story or distinct reference page. +### Foundation/Company Colors + +Source: `src/foundation/company-colors.stories.tsx`; meta.tags: [] + +- All — Company Colors; tags: []; PRIMARY; KEEP. Representative story or distinct reference page. + ### Foundation/Layout Source: `src/foundation/layout.stories.tsx`; meta.tags: [] @@ -516,6 +523,73 @@ Source: `src/foundation/typography.stories.tsx`; meta.tags: [] - All — Typography; tags: []; PRIMARY; KEEP. Representative story or distinct reference page. +### OrgChart/Components/Cards + +Source: `src/org-chart/org-chart-cards.stories.tsx`; meta.tags: ["internal"] + +- BusinessManagement — Business Management; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- BusinessPlanning — Business Planning; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- TalentGrowth — Talent Growth; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- IntegratedSystem — Integrated System; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- DesignPlanning — Design Planning; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- SolutionSales — Solution Sales; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- TopLeader — 최상위 리더; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- 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. + +### 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. + +### 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. + +### OrgChart/Verification/Overview + +Source: `src/org-chart/org-chart-overview-internal.stories.tsx`; meta.tags: ["internal"] + +- Logo — Logo; tags: ["internal"]; UTILITY; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- 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. + +### OrgChart/Components/Summaries + +Source: `src/org-chart/org-chart-summary.stories.tsx`; meta.tags: ["internal"] + +- 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. +- 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. +- 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. +- 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. + ### Patterns/Layout/Dashboard Source: `src/patterns/dashboard-layout.stories.tsx`; meta.tags: [] @@ -543,6 +617,7 @@ Source: `src/patterns/data-table.stories.tsx`; meta.tags: [] Source: `src/patterns/filter-bar.stories.tsx`; meta.tags: [] - All — Filter Bar; tags: []; PRIMARY; KEEP. Representative story or distinct reference page. +- DraftApplied — Draft / Applied; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. ### Patterns/Layout/GNB @@ -605,6 +680,106 @@ Source: `src/patterns/page-header.stories.tsx`; meta.tags: [] - All — Page Header; tags: []; PRIMARY; KEEP. Representative story or distinct reference page. +### SW/Footer + +Source: `src/sw/sw-footer.stories.tsx`; meta.tags: [] + +- FullFooter — SW Footer; 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. +- Parts — 개별 부품 (조합용); tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. + +### SW/Header + +Source: `src/sw/sw-header-dropdown.stories.tsx`; meta.tags: [] + +- ComposedControls — Dropdown; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. + +### SW/Header + +Source: `src/sw/sw-header-home-menu.stories.tsx`; meta.tags: [] + +- HomeMenu — Home Menu; tags: []; PRIMARY; KEEP. Representative story or distinct reference page. +- 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. +- HomeMenuStandalone — Home Menu · 단독 사용 · 조합형; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- HomeMenuPropertyBarCheck — Home Menu · 속성Bar 비교 (26:10492); tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- HomeMenuCapturePropertyBar — Home Menu · 비교 캔버스 · 속성Bar; tags: ["!autodocs","verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- HomeMenuIntegration — Home Menu · 통합 · Popup · Escape; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- HomeMenuCaptureResponsive — Home Menu · 비교 캔버스 · 반응형; tags: ["!autodocs","verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. + +### SW/Header + +Source: `src/sw/sw-header-open.stories.tsx`; meta.tags: [] + +- DocumentOpen — Document Open; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- HiddenSubControls — Hidden Sub Controls; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. + +### SW/Header + +Source: `src/sw/sw-header.stories.tsx`; meta.tags: [] + +- DetailButtons — Detail Buttons (Shared States); tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- 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. +- 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. +- KGuide — K Guide; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. + +### SW/Popup + +Source: `src/sw/sw-popup.stories.tsx`; meta.tags: [] + +- CustomContent — Custom Content; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- MultiplePopups — Multiple Popups; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. + +### SW/Step Header + +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. +- 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. +- ProcessBar — Process Bar; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- MultiStepManyGroups — Multi Step · Many Groups; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- MultiStepManySteps — Multi Step · Many Steps; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- States — States; tags: ["verification"]; VERIFICATION; HIDE; MERGE_CANDIDATE. Representative board may cover the same specimen; keep direct QA until behavioral equivalence is reviewed. +- ThemeOverride — Theme Override; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. + +### SW/Popup + +Source: `src/sw/sw-property-panel.stories.tsx`; meta.tags: [] + +- PropertyPanelCompare — Property Panel; tags: []; PRIMARY; KEEP. Representative story or distinct reference page. + +### SW/Theme + +Source: `src/sw/sw-theme.stories.tsx`; meta.tags: [] + +- ThemeInheritance — Theme Inheritance; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. + +### SW/Viewer + +Source: `src/sw/sw-viewer.stories.tsx`; meta.tags: [] + +- ViewerHeader — Viewer Header; tags: []; PRIMARY; KEEP. Representative story or distinct reference page. +- MenuGroups — Menu Groups; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. +- 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. +- 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. +- CompareWithSWHeader — SWHeader vs Viewer Header; tags: ["verification"]; VERIFICATION; HIDE. Keep direct URL and tag-filter access; excluded from default sidebar. + ### Theme/Designer Playground Source: `src/theme/designer-theme.stories.tsx`; meta.tags: ["internal"] diff --git a/.storybook/qa/story-inventory.json b/.storybook/qa/story-inventory.json index abc1cf3..7fe872f 100644 --- a/.storybook/qa/story-inventory.json +++ b/.storybook/qa/story-inventory.json @@ -1,17 +1,17 @@ { "summary": { - "storyFiles": 63, - "stories": 292, + "storyFiles": 82, + "stories": 372, "categories": { - "PRIMARY": 65, - "VERIFICATION": 212, - "UTILITY": 15, + "PRIMARY": 82, + "VERIFICATION": 252, + "UTILITY": 38, "LEGACY / DUPLICATE": 0 }, "decisions": { - "KEEP": 65, - "HIDE": 227, - "MERGE_CANDIDATE": 31, + "KEEP": 82, + "HIDE": 290, + "MERGE_CANDIDATE": 33, "DELETE_CANDIDATE": 0 }, "hierarchy": [ @@ -149,12 +149,16 @@ "id": "center-graphic-overview--overview", "exportName": "Overview", "name": "Overview", - "storyTags": [], - "effectiveTags": [], - "category": "PRIMARY", - "decision": "KEEP", + "storyTags": [ + "verification" + ], + "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." } ] }, @@ -2169,9 +2173,12 @@ "id": "verification-publisher-regression--consumers-regression", "exportName": "ConsumersRegression", "name": "Consumers Regression", - "storyTags": [], + "storyTags": [ + "play-fn" + ], "effectiveTags": [ - "verification" + "verification", + "play-fn" ], "category": "VERIFICATION", "decision": "HIDE", @@ -3109,6 +3116,21 @@ "candidate": null, "reason": "Representative story or distinct reference page." }, + { + "id": "components-navigation-tabs--default-api", + "exportName": "DefaultApi", + "name": "Default API", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, { "id": "components-navigation-tabs--secondary", "exportName": "Secondary", @@ -3631,6 +3653,24 @@ } ] }, + { + "file": "src/foundation/company-colors.stories.tsx", + "title": "Foundation/Company Colors", + "metaTags": [], + "stories": [ + { + "id": "foundation-company-colors--all", + "exportName": "All", + "name": "Company Colors", + "storyTags": [], + "effectiveTags": [], + "category": "PRIMARY", + "decision": "KEEP", + "candidate": null, + "reason": "Representative story or distinct reference page." + } + ] + }, { "file": "src/foundation/layout.stories.tsx", "title": "Foundation/Layout", @@ -3667,6 +3707,413 @@ } ] }, + { + "file": "src/org-chart/org-chart-cards.stories.tsx", + "title": "OrgChart/Components/Cards", + "metaTags": [ + "internal" + ], + "stories": [ + { + "id": "orgchart-components-cards--business-management", + "exportName": "BusinessManagement", + "name": "Business Management", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart-components-cards--business-planning", + "exportName": "BusinessPlanning", + "name": "Business Planning", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart-components-cards--talent-growth", + "exportName": "TalentGrowth", + "name": "Talent Growth", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart-components-cards--integrated-system", + "exportName": "IntegratedSystem", + "name": "Integrated System", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart-components-cards--design-planning", + "exportName": "DesignPlanning", + "name": "Design Planning", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart-components-cards--solution-sales", + "exportName": "SolutionSales", + "name": "Solution Sales", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart-components-cards--top-leader", + "exportName": "TopLeader", + "name": "최상위 리더", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart-components-cards--organization-leader", + "exportName": "OrganizationLeader", + "name": "조직장", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart-components-cards--employee", + "exportName": "Employee", + "name": "일반 직원", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + } + ] + }, + { + "file": "src/org-chart/org-chart-department-colors.stories.tsx", + "title": "OrgChart/Department Colors", + "metaTags": [], + "stories": [ + { + "id": "orgchart--department-colors", + "exportName": "DepartmentColors", + "name": "Department Colors", + "storyTags": [], + "effectiveTags": [], + "category": "PRIMARY", + "decision": "KEEP", + "candidate": null, + "reason": "Representative story or distinct reference page." + } + ] + }, + { + "file": "src/org-chart/org-chart-expanded.stories.tsx", + "title": "OrgChart/Expanded OrgChart", + "metaTags": [], + "stories": [ + { + "id": "orgchart--expanded-org-chart", + "exportName": "ExpandedOrgChart", + "name": "Expanded OrgChart", + "storyTags": [], + "effectiveTags": [], + "category": "PRIMARY", + "decision": "KEEP", + "candidate": null, + "reason": "Representative story or distinct reference page." + } + ] + }, + { + "file": "src/org-chart/org-chart-full-composition.stories.tsx", + "title": "OrgChart/Full Composition", + "metaTags": [], + "stories": [ + { + "id": "orgchart--full-composition", + "exportName": "FullComposition", + "name": "Full Composition", + "storyTags": [], + "effectiveTags": [], + "category": "PRIMARY", + "decision": "KEEP", + "candidate": null, + "reason": "Representative story or distinct reference page." + } + ] + }, + { + "file": "src/org-chart/org-chart-overview-internal.stories.tsx", + "title": "OrgChart/Verification/Overview", + "metaTags": [ + "internal" + ], + "stories": [ + { + "id": "orgchart--logo", + "exportName": "Logo", + "name": "Logo", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart--position-summary", + "exportName": "PositionSummary", + "name": "Position Summary", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart--affiliation-summary", + "exportName": "AffiliationSummary", + "name": "Affiliation Summary", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + } + ] + }, + { + "file": "src/org-chart/org-chart-p1.stories.tsx", + "title": "OrgChart/Overview", + "metaTags": [], + "stories": [ + { + "id": "orgchart--logo-personnel-summary", + "exportName": "LogoPersonnelSummary", + "name": "Overview", + "storyTags": [], + "effectiveTags": [], + "category": "PRIMARY", + "decision": "KEEP", + "candidate": null, + "reason": "Representative story or distinct reference page." + } + ] + }, + { + "file": "src/org-chart/org-chart-summary.stories.tsx", + "title": "OrgChart/Components/Summaries", + "metaTags": [ + "internal" + ], + "stories": [ + { + "id": "orgchart-components-summaries--position-summary", + "exportName": "PositionSummary", + "name": "Position Summary", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart-components-summaries--affiliation-summary", + "exportName": "AffiliationSummary", + "name": "Affiliation Summary", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart-components-summaries--status-summary", + "exportName": "StatusSummary", + "name": "Status Summary", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + } + ] + }, + { + "file": "src/org-chart/org-chart.stories.tsx", + "title": "OrgChart/Content", + "metaTags": [ + "internal" + ], + "stories": [ + { + "id": "orgchart-content--basic-organization", + "exportName": "BasicOrganization", + "name": "Basic Organization", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart-content--organization-hierarchy", + "exportName": "OrganizationHierarchy", + "name": "Organization Hierarchy", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart-content--employee-cards", + "exportName": "EmployeeCards", + "name": "Employee Cards", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart-content--organization-summary", + "exportName": "OrganizationSummary", + "name": "Organization Summary", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart-content--json-data-update", + "exportName": "JSONDataUpdate", + "name": "JSON Data Update", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart-content--loading-empty-error", + "exportName": "LoadingEmptyError", + "name": "Loading / Empty / Error", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart-content--responsive-container", + "exportName": "ResponsiveContainer", + "name": "Responsive Container", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "orgchart-content--multiple-instances", + "exportName": "MultipleInstances", + "name": "Multiple Instances", + "storyTags": [], + "effectiveTags": [ + "internal" + ], + "category": "UTILITY", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + } + ] + }, { "file": "src/patterns/dashboard-layout.stories.tsx", "title": "Patterns/Layout/Dashboard", @@ -3868,6 +4315,21 @@ "decision": "KEEP", "candidate": null, "reason": "Representative story or distinct reference page." + }, + { + "id": "patterns-data-filter-bar--draft-applied", + "exportName": "DraftApplied", + "name": "Draft / Applied", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." } ] }, @@ -4498,6 +4960,780 @@ } ] }, + { + "file": "src/sw/sw-footer.stories.tsx", + "title": "SW/Footer", + "metaTags": [], + "stories": [ + { + "id": "sw-footer--full-footer", + "exportName": "FullFooter", + "name": "SW Footer", + "storyTags": [], + "effectiveTags": [], + "category": "PRIMARY", + "decision": "KEEP", + "candidate": null, + "reason": "Representative story or distinct reference page." + }, + { + "id": "sw-footer--tool-groups", + "exportName": "ToolGroups", + "name": "도구 그룹별 표시", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-footer--figma-variants", + "exportName": "FigmaVariants", + "name": "Figma 디자인별 Variant (35 노드)", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-footer--custom-content", + "exportName": "CustomContent", + "name": "도구 및 메뉴 변경 예제", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-footer--responsive", + "exportName": "Responsive", + "name": "Responsive More", + "storyTags": [], + "effectiveTags": [], + "category": "PRIMARY", + "decision": "KEEP", + "candidate": null, + "reason": "Representative story or distinct reference page." + }, + { + "id": "sw-footer--parts", + "exportName": "Parts", + "name": "개별 부품 (조합용)", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + } + ] + }, + { + "file": "src/sw/sw-header-dropdown.stories.tsx", + "title": "SW/Header", + "metaTags": [], + "stories": [ + { + "id": "sw-header--composed-controls", + "exportName": "ComposedControls", + "name": "Dropdown", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + } + ] + }, + { + "file": "src/sw/sw-header-home-menu.stories.tsx", + "title": "SW/Header", + "metaTags": [], + "stories": [ + { + "id": "sw-header--home-menu", + "exportName": "HomeMenu", + "name": "Home Menu", + "storyTags": [], + "effectiveTags": [], + "category": "PRIMARY", + "decision": "KEEP", + "candidate": null, + "reason": "Representative story or distinct reference page." + }, + { + "id": "sw-header--home-menu-capture-default", + "exportName": "HomeMenuCaptureDefault", + "name": "Home Menu · 비교 캔버스 · Default", + "storyTags": [ + "!autodocs", + "verification" + ], + "effectiveTags": [ + "!autodocs", + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-header--home-menu-header-composition", + "exportName": "HomeMenuHeaderComposition", + "name": "Home Menu · Header 조합 · 로고 클릭", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-header--home-menu-dynamic-data", + "exportName": "HomeMenuDynamicData", + "name": "Home Menu · Props · 데이터 변경", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-header--home-menu-standalone", + "exportName": "HomeMenuStandalone", + "name": "Home Menu · 단독 사용 · 조합형", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-header--home-menu-property-bar-check", + "exportName": "HomeMenuPropertyBarCheck", + "name": "Home Menu · 속성Bar 비교 (26:10492)", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-header--home-menu-capture-property-bar", + "exportName": "HomeMenuCapturePropertyBar", + "name": "Home Menu · 비교 캔버스 · 속성Bar", + "storyTags": [ + "!autodocs", + "verification" + ], + "effectiveTags": [ + "!autodocs", + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-header--home-menu-integration", + "exportName": "HomeMenuIntegration", + "name": "Home Menu · 통합 · Popup · Escape", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-header--home-menu-capture-responsive", + "exportName": "HomeMenuCaptureResponsive", + "name": "Home Menu · 비교 캔버스 · 반응형", + "storyTags": [ + "!autodocs", + "verification" + ], + "effectiveTags": [ + "!autodocs", + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + } + ] + }, + { + "file": "src/sw/sw-header-open.stories.tsx", + "title": "SW/Header", + "metaTags": [], + "stories": [ + { + "id": "sw-header--document-open", + "exportName": "DocumentOpen", + "name": "Document Open", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-header--hidden-sub-controls", + "exportName": "HiddenSubControls", + "name": "Hidden Sub Controls", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + } + ] + }, + { + "file": "src/sw/sw-header.stories.tsx", + "title": "SW/Header", + "metaTags": [], + "stories": [ + { + "id": "sw-header--detail-buttons", + "exportName": "DetailButtons", + "name": "Detail Buttons (Shared States)", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-header--overview", + "exportName": "Overview", + "name": "SW Header", + "storyTags": [], + "effectiveTags": [], + "category": "PRIMARY", + "decision": "KEEP", + "candidate": null, + "reason": "Representative story or distinct reference page." + }, + { + "id": "sw-header--interactive-states", + "exportName": "InteractiveStates", + "name": "Interactive States", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-header--window-move-motion", + "exportName": "WindowMoveMotion", + "name": "Window Move Motion", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-header--logo-slot", + "exportName": "LogoSlot", + "name": "Logo", + "storyTags": [], + "effectiveTags": [], + "category": "PRIMARY", + "decision": "KEEP", + "candidate": null, + "reason": "Representative story or distinct reference page." + }, + { + "id": "sw-header--document-dropdown", + "exportName": "DocumentDropdown", + "name": "Document Dropdown", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-header--responsive-more", + "exportName": "ResponsiveMore", + "name": "Responsive More", + "storyTags": [], + "effectiveTags": [], + "category": "PRIMARY", + "decision": "KEEP", + "candidate": null, + "reason": "Representative story or distinct reference page." + }, + { + "id": "sw-header--k-guide", + "exportName": "KGuide", + "name": "K Guide", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + } + ] + }, + { + "file": "src/sw/sw-popup.stories.tsx", + "title": "SW/Popup", + "metaTags": [], + "stories": [ + { + "id": "sw-popup--custom-content", + "exportName": "CustomContent", + "name": "Custom Content", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-popup--multiple-popups", + "exportName": "MultiplePopups", + "name": "Multiple Popups", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + } + ] + }, + { + "file": "src/sw/sw-process-header.stories.tsx", + "title": "SW/Step Header", + "metaTags": [], + "stories": [ + { + "id": "sw-step-header--process-header", + "exportName": "ProcessHeader", + "name": "Step Header", + "storyTags": [], + "effectiveTags": [], + "category": "PRIMARY", + "decision": "KEEP", + "candidate": null, + "reason": "Representative story or distinct reference page." + }, + { + "id": "sw-step-header--responsive", + "exportName": "Responsive", + "name": "Responsive More", + "storyTags": [], + "effectiveTags": [], + "category": "PRIMARY", + "decision": "KEEP", + "candidate": null, + "reason": "Representative story or distinct reference page." + }, + { + "id": "sw-step-header--split-open", + "exportName": "SplitOpen", + "name": "화면 분할", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-step-header--multi-step", + "exportName": "MultiStep", + "name": "Multi Step", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-step-header--fixed-widths", + "exportName": "FixedWidths", + "name": "Fixed Widths", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-step-header--process-bar", + "exportName": "ProcessBar", + "name": "Process Bar", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-step-header--multi-step-many-groups", + "exportName": "MultiStepManyGroups", + "name": "Multi Step · Many Groups", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-step-header--multi-step-many-steps", + "exportName": "MultiStepManySteps", + "name": "Multi Step · Many Steps", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-step-header--states", + "exportName": "States", + "name": "States", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": "MERGE_CANDIDATE", + "reason": "Representative board may cover the same specimen; keep direct QA until behavioral equivalence is reviewed." + }, + { + "id": "sw-step-header--theme-override", + "exportName": "ThemeOverride", + "name": "Theme Override", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + } + ] + }, + { + "file": "src/sw/sw-property-panel.stories.tsx", + "title": "SW/Popup", + "metaTags": [], + "stories": [ + { + "id": "sw-header--property-panel-compare", + "exportName": "PropertyPanelCompare", + "name": "Property Panel", + "storyTags": [], + "effectiveTags": [], + "category": "PRIMARY", + "decision": "KEEP", + "candidate": null, + "reason": "Representative story or distinct reference page." + } + ] + }, + { + "file": "src/sw/sw-theme.stories.tsx", + "title": "SW/Theme", + "metaTags": [], + "stories": [ + { + "id": "sw-theme--theme-inheritance", + "exportName": "ThemeInheritance", + "name": "Theme Inheritance", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + } + ] + }, + { + "file": "src/sw/sw-viewer.stories.tsx", + "title": "SW/Viewer", + "metaTags": [], + "stories": [ + { + "id": "sw-viewer--viewer-header", + "exportName": "ViewerHeader", + "name": "Viewer Header", + "storyTags": [], + "effectiveTags": [], + "category": "PRIMARY", + "decision": "KEEP", + "candidate": null, + "reason": "Representative story or distinct reference page." + }, + { + "id": "sw-viewer--menu-groups", + "exportName": "MenuGroups", + "name": "Menu Groups", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-viewer--states", + "exportName": "States", + "name": "Item States", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": "MERGE_CANDIDATE", + "reason": "Representative board may cover the same specimen; keep direct QA until behavioral equivalence is reviewed." + }, + { + "id": "sw-viewer--dropdowns", + "exportName": "Dropdowns", + "name": "Header + Dropdown", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-viewer--settings-panel", + "exportName": "SettingsPanel", + "name": "Settings Popup", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-viewer--content-variants", + "exportName": "ContentVariants", + "name": "Settings Popup", + "storyTags": [], + "effectiveTags": [], + "category": "PRIMARY", + "decision": "KEEP", + "candidate": null, + "reason": "Representative story or distinct reference page." + }, + { + "id": "sw-viewer--variable-size", + "exportName": "VariableSize", + "name": "Variable Size Popups", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + }, + { + "id": "sw-viewer--logo", + "exportName": "Logo", + "name": "Logo", + "storyTags": [], + "effectiveTags": [], + "category": "PRIMARY", + "decision": "KEEP", + "candidate": null, + "reason": "Representative story or distinct reference page." + }, + { + "id": "sw-viewer--responsive", + "exportName": "Responsive", + "name": "Responsive More", + "storyTags": [], + "effectiveTags": [], + "category": "PRIMARY", + "decision": "KEEP", + "candidate": null, + "reason": "Representative story or distinct reference page." + }, + { + "id": "sw-viewer--compare-with-sw-header", + "exportName": "CompareWithSWHeader", + "name": "SWHeader vs Viewer Header", + "storyTags": [ + "verification" + ], + "effectiveTags": [ + "verification" + ], + "category": "VERIFICATION", + "decision": "HIDE", + "candidate": null, + "reason": "Keep direct URL and tag-filter access; excluded from default sidebar." + } + ] + }, { "file": "src/theme/designer-theme.stories.tsx", "title": "Theme/Designer Playground", diff --git a/docs/guidelines/brand-color-steps.md b/docs/guidelines/brand-color-steps.md index 08201fb..73ead27 100644 --- a/docs/guidelines/brand-color-steps.md +++ b/docs/guidelines/brand-color-steps.md @@ -36,3 +36,5 @@ Orange Dark 1·2의 원본 Needs Review 상태와 [이전 검수 보고서](../r 페이지 소개는 `한맥 브랜드 컬러`로 표시한다. 그룹 설명의 단계 순서 나열 문구는 제공하지 않으며, 개별 컬러칩의 단계명과 HEX는 유지한다. [Color 대표 Story](../../src/foundation/color.stories.tsx)는 한맥그린·한맥브라운·한맥오렌지 3개 그룹에 각 8개, 총 24개 컬러칩만 표시한다. Green 8/8·Brown 8/8·Orange 8/8 확정이며 단계명·현재 HEX와 Default 기본색 강조를 유지한다. 2026-10-11 최종 표시 요청에 따라 Brown Deep, Orange Light·Mid·Dark·Deep의 별도 표시, Accent·Semantic·Gradients 섹션과 개발용 Token·CSS Variable·Runtime Key 설명은 제거한다. Legacy Button 색상과 Accent·Semantic·Gradient의 실제 Key·값·소비처는 보존한다. 기존 Component mapping을 새 값에 연결하지 않으며 public Key·Property·type·Default·API·schemaVersion 1과 서비스 partial JSON 호환성을 유지한다. [Runtime Theme](runtime-theme.md)의 geometry/상태 권한과 Designer의 기존 17개 상위 역할 입력 UI는 확대하지 않는다. 한맥오렌지의 미확정 브랜드 단계는 없다. [표시 정리 검증 기록](../reports/foundation-color-display-cleanup-2026-10-11.md). + +[Company Colors Story](../../src/foundation/company-colors.stories.tsx)는 Foundation > Color와 별도 메뉴(Color 바로 아래)이며 7개 계열사·14개 컬러를 회사별로 표시한다. 데이터는 OrgChart의 기존 `companyColorPresets`를 그대로 읽고(메인 → 서브 순서, 메인은 Default 강조 재사용) HEX를 중복 정의하지 않는다. Theme 토큰·`themes/*.json`·공개 계약은 변경하지 않으며 Foundation > Color의 3그룹 24칩은 그대로다. diff --git a/src/foundation/company-colors.stories.tsx b/src/foundation/company-colors.stories.tsx new file mode 100644 index 0000000..b094b8f --- /dev/null +++ b/src/foundation/company-colors.stories.tsx @@ -0,0 +1,28 @@ +import type { Meta, StoryObj } from "@storybook/react-vite" +import { companyColorPresets } from "@hm-design/org-chart" +import { ReferencePage, ReferenceSection } from "./reference" + +// Company colors come from the existing OrgChart presets; HEX values are never duplicated here. +// The chip markup and classes are shared with Foundation/Color (foundation.css). +const companies = Object.values(companyColorPresets) + +function CompanyColorChip({ label, hex, main }: { label: string; hex: string; main: boolean }) { + return
+
+

{label}

{hex.toUpperCase()}

+
+} + +function CompanyColorsPage() { + return + {companies.map(company => +
+ + {company.secondary.map((hex, index) => )} +
+
)} +
+} +const meta = { title: "Foundation/Company Colors", parameters: { layout: "fullscreen" } } satisfies Meta +export default meta +export const All: StoryObj = { name: "Company Colors", render: () => } diff --git a/src/foundation/foundation.css b/src/foundation/foundation.css index f263cc4..33205e0 100644 --- a/src/foundation/foundation.css +++ b/src/foundation/foundation.css @@ -38,3 +38,6 @@ /* New common background stop IDs stay on one line at the supported widths. */ .hm-foundation .hm-color-gradient-stops .hm-brand-color-chip[data-gradient-stop-token] { flex-basis: 220px; } .hm-foundation .hm-color-foreground-sample { padding: 16px; background: var(--hm-sem-bg-surface); } + +/* Company Colors: keep each chip close to the Color row width so 1-3 chips per company do not stretch across the page. */ +.hm-foundation .hm-brand-color-row[data-company-id] .hm-brand-color-chip { flex: 0 1 140px; }