import type { Meta, StoryObj } from "@storybook/react-vite" import { typographyProperties, typographyReferences } from "./reference-data" import { ReferencePage, ReferenceSection, Specimen, useResolvedProperties } from "./reference" const weights = [ { property: "--hm-input-font-weight", label: "Regular" }, { property: "--hm-font-weight-medium", label: "Medium" }, { property: "--hm-font-weight-bold", label: "Bold" }, ] function TypographyReferencePage() { const values = useResolvedProperties(typographyProperties) return

Noto Sans KR → 맑은 고딕 → 시스템 sans-serif

구현 참고 · 전체 CSS Font Stack--hm-font-family-base

{values["--hm-font-family-base"]}

/fonts/NotoSansKR-variable.ttf · font-weight 100–900 asset

{weights.map(({ property, label }) =>
{property}

{values[property]} — {label}

한맥 프로젝트
Hanmac Project
0123456789

)}
{typographyReferences.map(item =>

{item.label}

packages/ui/src/theme/{item.source}

Size
{item.size} · {values[item.size]}
Line Height
{item.line} · {values[item.line]}
Weight
{item.weight ? <>{item.weight} · {values[item.weight]} : "normal · 컴포넌트에서 별도 weight 지정 없음"}
)}
} const meta = { title: "Foundation/Typography", parameters: { layout: "fullscreen" } } satisfies Meta export default meta export const All: StoryObj = { name: "Typography", render: () => }