/**
 * コンポーザー textarea の自動拡張。
 *
 * 第一選択は CSS `field-sizing: content`（Chrome/Edge 123+, Safari 26.2+）。
 * Firefox は未対応のため、supportsFieldSizing() が false の環境でだけ
 * autosizeTextarea() を onInput で呼ぶ JS フォールバックを使う。
 * 「height を一度 auto に戻してから scrollHeight を読む」のは縮小方向
 * （行削除時）に追従させるため。
 */
export function supportsFieldSizing(): boolean {
  return (
    typeof CSS !== 'undefined' &&
    typeof CSS.supports === 'function' &&
    CSS.supports('field-sizing', 'content')
  );
}

export function autosizeTextarea(el: HTMLTextAreaElement, maxPx: number): void {
  el.style.height = 'auto';
  const next = Math.min(el.scrollHeight, maxPx);
  el.style.height = `${next}px`;
  el.style.overflowY = el.scrollHeight > maxPx ? 'auto' : 'hidden';
}
