docs(storybook): simplify sidebar Story pages around the UI

Drop the category kicker from the 83 sidebar Stories (kicker is now optional;
hidden verification Stories keep it) and shorten or remove repeated, obvious
or internal page/section descriptions. Required specs, limits, virtual-data
and undecided-value notices stay. Story IDs, exports, fixtures, shared state
notes and package code are unchanged. Record: docs/reports/storybook-ui-simplification-2026-10-22.md
This commit is contained in:
shkim4 committed 2026-10-22 16:13:58 +09:00
1 parent aa8b7f8df1
commit da0e647b49
70 files changed
+305 -333

No files matched your search

+6 -7
View File
@@ -2,7 +2,7 @@ import { useId, type ReactNode } from "react"
import type { Meta, StoryObj } from "@storybook/react-vite"
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, type SelectSize } from "@hm-design/ui"
import { StateBoard } from "@/components/story-board"
import { STORY_KICKER, StoryPage, StoryPageHeader, StorySection } from "@/components/story-page"
import { StoryPage, StoryPageHeader, StorySection } from "@/components/story-page"
// Story structure follows ui_viz (implementations/web/storybook/Select.stories.jsx and SelectSizes.stories.jsx):
// one representative "Select" Story shows the default, selected, disabled and open states on one page; the same specimens
@@ -151,12 +151,11 @@ export const All: Story = {
render: () => (
<StoryPage>
<StoryPageHeader
kicker={STORY_KICKER.components}
title="Select"
description="목록에서 하나의 값을 고르는 컨트롤입니다. Option은 Trigger의 size를 따르고 목록 폭은 Trigger와 같습니다."
description="Option은 Trigger size를 따르고 목록 폭 = Trigger 폭"
/>
{/* Open stays in the first section: the list opens on load, so its trigger must be on the first screen. */}
<StorySection title="Overview" description="size를 생략한 기본 Select(Large 44px)와 열린 목록입니다. 목록은 Escape 또는 바깥 클릭으로 닫히고, Trigger를 클릭하면 다시 열립니다.">
<StorySection title="Overview" description="기본값: Large 44px · 열린 목록">
<StateBoard
fixed
states={[
@@ -173,10 +172,10 @@ export const All: Story = {
]}
/>
</StorySection>
<StorySection title="Sizes" description="Medium 34 / Large 44px. Input과 독립된 두 크기입니다.">
<StorySection title="Sizes" description="34 / 44px · Input과 별도 크기">
<SizeComparison />
</StorySection>
<StorySection title="States" description="값이 선택된 상태와 Disabled입니다.">
<StorySection title="States">
<StateBoard
fixed
states={[
@@ -185,7 +184,7 @@ export const All: Story = {
]}
/>
</StorySection>
<StorySection title="Invalid / Focus" description="aria-invalid는 Error 테두리로 표시합니다. Tab으로 Trigger에 포커스해 Invalid + Focus를 확인합니다.">
<StorySection title="Invalid / Focus" description="aria-invalid → Error 테두리">
<StateBoard
fixed
states={[