// Example D extension — a NEW control written in the consuming project (3rd priority). // Decision record: the package has no search component (MISSING). Its editable SWHeaderInput covers the // text entry (Enter / blur commit, Escape cancel, IME), so it is reused; only the field surface and the // search icon button are new. They read the public SW tokens (sw-search-control.css) — no copied // package code, no hm-sw-* class, no new design values. Not registered as a package component. import { SWHeaderInput } from "@hm-design/sw" import "./sw-search-control.css" export interface SWSearchControlProps { /** Committed query (host state). */ value: string /** A new query was committed with Enter or by leaving the input. */ onValueChange?: (value: string) => void /** Search with the current query (icon button or a committed query). */ onSearch?: (query: string) => void label?: string disabled?: boolean } export function SWSearchControl({ value, onValueChange, onSearch, label = "검색", disabled }: SWSearchControlProps) { return (