Date picker again
この PR はコンポーネント名のリネームと依存パッケージの置き換えを行い、既存機能を保ちつつ名称の一貫性を確保します。これにより、開発者は新しいタグ名だけで従来通りの時間入力体験を得られます。
背景
PR の説明は「Last minute rename and fixes」となっており、名称の統一と小規模な修正が目的であることが示されています。wa-time-picker が UI コンポーネント群の中で唯一「picker」という語が残っていたため、他のコンポーネント(例: wa-date-picker)との整合性を取る意図が伺えます。リネームに伴うコードベース全体の検索置換は、ドキュメント・テスト・翻訳まで網羅的に実施されています。
技術的な変更
コンポーネント本体のリネーム
- ファイル
time-picker.ts→time-input.tsに名前が変更され、クラス名WaTimePicker→WaTimeInput、カスタム要素タグwa-time-picker→wa-time-inputが更新されました。
-@customElement('wa-time-picker')
-export default class WaTimePicker extends WebAwesomeFormAssociatedElement {
+@customElement('wa-time-input')
+export default class WaTimeInput extends WebAwesomeFormAssociatedElement {
- 型エイリアス
WaTimePickerSize等も同様にWaTimeInputSize系列へ置換され、generateIdのプレフィックスがwa-time-picker-からwa-time-input-に変更されました。
スタイルとアニメーションのリネーム
-
time-picker.styles.ts→time-input.styles.tsにリネームされ、CSS クラス.time-picker-popupが.time-input-popupに、アニメーション名wa-time-picker-show/hideがwa-time-input-show/hideに置換されました。
-.time-picker-popup::part(popup).show {
- animation: wa-time-picker-show var(--show-duration) ease;
-}
+.time-input-popup::part(popup).show {
+ animation: wa-time-input-show var(--show-duration) ease;
+}
内部ロジックの名称更新
-
time-segments.ts内のコメント・型名・関数ドキュメントがすべてwa-time-inputに統一されました。
テスト・ドキュメント・サイドバーの更新
- テストファイルは同様にリネームされ、
WaTimePicker型と<wa-time-picker>マークアップがWaTimeInputと<wa-time-input>に置換されました。 - ドキュメントページ
docs/components/time-picker.md→docs/components/time-input.mdにリネームされ、Front‑matter のtitleが Time Picker → Time Input に変更され、@documentationのパスも更新されました。 - サイドバー
sidebar.njkでのリスト項目がtime-pickerからtime-inputに書き換えられ、リンク先が新ページを指すよう修正されました。
翻訳キーの統一
- すべての言語ファイルで
closeTimePickerとtimePickerKeyboardHelpがそれぞれcloseTimeInputとtimeInputKeyboardHelpに置換され、UI テキストが新名称に合わせて更新されました。
依存関係の更新
-
package-lock.jsonからqr-creatorが除外され、代わりに公式推奨の@konnorr/qr-creatorが追加されました。コード側の変更はなく、ロックファイルの整合性だけが更新されています。
設計判断
- リネームは API の互換性を維持しつつ名前だけを変更 する方針で実施されました。コンポーネントのプロパティ・イベントはそのままで、唯一必要な変更はマークアップでタグ名を
wa-time-inputに置き換える点です。これは既存の利用者にとって破壊的変更が最小限に抑えられたことを示しています。 - 翻訳キーやドキュメントの一括置換は、将来的な名称乖離による混乱を防ぎ、コードベース全体の可読性と保守性を高める設計上の選択と言えます。
- 依存パッケージの差し替えは、メンテナンス性の高い公式パッケージへ移行する意図があり、ビルド結果やランタイム挙動に影響を与えない形で実施されています。
まとめ
この PR は Time Picker → Time Input の名称統一と qr-creator から @konnorr/qr-creator への依存更新を包括的に行い、機能はそのままに名前だけを一貫させました。開発者は新しいタグ <wa-time-input> を使用すれば、過去と同等の時間入力機能を問題なく利用できます。