Files
HMDesign/packages/ui
shkim4 caf4c32592 feat(sw): viewer layer eye-icon rule, header hover, trailing strip and file name width
User-requested SW Viewer changes (2026-10-21); no new Props, public .d.ts unchanged.
- Layer popup visibility: AI docs (VIEWER §4.1, catalog, design rules, patterns,
  AI_GUIDE) require the Eye / EyeOff icon button, never a switch; example H now
  renders a real layer list with eye buttons; Storybook eye button gets the pointer.
- Viewer header hover: text and icon #FFC600, the #266651 hover face removed; size and
  position unchanged. Status stays display only.
- Trailing strip: status, the trailing icon button (info / license) and SWHeader
  minimize / close are full-height (48px) segments on the window-area face, no gap, top
  and bottom on the object surface border; no line around the license button.
- File name: the measured steps use the file-name basis (header width), not the text
  width, so a short and a long name give the same Open / file-name widths.
- File open icon: the black icon outline of every viewer icon (SWViewerIcon), no frame.
2026-10-21 18:52:38 +09:00
..

@hm-design/ui

React 19 UI components and the HM default theme. Published entrypoints contain ESM JavaScript and TypeScript declarations.

import { Button, Input } from "@hm-design/ui"
import { applyRuntimeTheme, resetRuntimeTheme } from "@hm-design/ui/theme"

With Tailwind CSS 4, import these styles in order in the application's CSS entrypoint:

@import "tailwindcss";
@import "@hm-design/ui/tailwind.css";
@import "@hm-design/ui/theme.css";

Process this entrypoint with the application's Tailwind CSS 4 integration. The package registers its compiled component classes as Tailwind sources and includes the required shadcn CSS without installing the shadcn CLI. React and React DOM are peer dependencies and are not bundled.

The default theme, Noto Sans KR font and its OFL license are included. External theme JSON and a Theme CDN are optional and are not included in this package. The runtime theme API remains available from @hm-design/ui/theme.

For Dashboard work status colors, explicitly load the optional status stylesheet after the theme:

@import "tailwindcss";
@import "@hm-design/ui/tailwind.css";
@import "@hm-design/ui/theme.css";
@import "@hm-design/ui/dashboard-status.css";

The status stylesheet defines only --hm-dashboard-status-active, --hm-dashboard-status-hold, --hm-dashboard-status-done and --hm-dashboard-status-issue. It does not automatically style Badge, buttons or data-status attributes. Consumers must map these variables to their existing component styles; the repository's docs/patterns/dashboard-layout.md shows the Badge mapping. done resolves the existing white palette token in each :root / [data-hm-theme] scope. The other colors preserve the approved Dashboard values and are not additional Runtime Theme tokens.

From the HMDesignSystem repository, run npm run build -w @hm-design/ui. npm pack runs this build automatically. Only dist/, ai/, this README and the package manifest are packed; source and Storybook files are excluded.

AI coding tools

AI coding tools should read ai/AI_GUIDE.md first (shared HMDesign entry point: choose Web / SW / OrgChart / mixed, then reuse → props → composition → minimal custom). Web-specific rules: ai/AI_USAGE.md, ai/COMPONENT_CATALOG.md, ai/DESIGN_RULES.md, ai/COMPOSITION_PATTERNS.md. To make a consumer project pick them up automatically, copy ai/AGENTS_SNIPPET.md into its root AGENTS.md (see AI_GUIDE.md §9).