Newer
Older
client_dwatch / components / ui / date-picker.ts
import type { MouseEvent } from "react";

/**
 * `<input type="date">` の枠のどこを押してもカレンダーを開く(ユーザー指示 2026-10-06。D-162)。
 * ★既定ではカレンダーのマークを押したときしか開かない★ので、`onClick` に渡して枠全体を押せるようにする。
 *
 * - `showPicker()` が無いブラウザでは何もしない(従来どおりマークで開く)
 * - `showPicker()` は iframe の中などで例外を投げることがある。★画面を落とさないよう握りつぶす★
 *   (開けなくても、マークを押せば開く・数字を打てば入る)
 */
export function openDatePicker(e: MouseEvent<HTMLInputElement>): void {
  const input = e.currentTarget;
  if (typeof input.showPicker !== "function") return;
  try {
    input.showPicker();
  } catch {
    // 開けないときは既定の挙動に任せる(上の docstring)
  }
}