Date picker again

shoelace-style/webawesome

この PR はコンポーネント名のリネームと依存パッケージの置き換えを行い、既存機能を保ちつつ名称の一貫性を確保します。これにより、開発者は新しいタグ名だけで従来通りの時間入力体験を得られます。

背景

PR の説明は「Last minute rename and fixes」となっており、名称の統一と小規模な修正が目的であることが示されています。wa-time-picker が UI コンポーネント群の中で唯一「picker」という語が残っていたため、他のコンポーネント(例: wa-date-picker)との整合性を取る意図が伺えます。リネームに伴うコードベース全体の検索置換は、ドキュメント・テスト・翻訳まで網羅的に実施されています。

技術的な変更

コンポーネント本体のリネーム

  • ファイル time-picker.tstime-input.ts に名前が変更され、クラス名 WaTimePickerWaTimeInput、カスタム要素タグ wa-time-pickerwa-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.tstime-input.styles.ts にリネームされ、CSS クラス .time-picker-popup.time-input-popup に、アニメーション名 wa-time-picker-show/hidewa-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.mddocs/components/time-input.md にリネームされ、Front‑matter の titleTime PickerTime Input に変更され、@documentation のパスも更新されました。
  • サイドバー sidebar.njk でのリスト項目が time-picker から time-input に書き換えられ、リンク先が新ページを指すよう修正されました。

翻訳キーの統一

  • すべての言語ファイルで closeTimePickertimePickerKeyboardHelp がそれぞれ closeTimeInputtimeInputKeyboardHelp に置換され、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> を使用すれば、過去と同等の時間入力機能を問題なく利用できます。

記事メタデータ

Generated by:
gpt-oss-120b for DiffDaily
LLM Trace:
ec0d7851

この記事はAIによって自動生成されています。内容の正確性については、必ずソースコードやPRを確認してください。

品質レビュー結果

Review Status:
リトライ後承認
Review Count:
2回 (改善を経て承認)
Reviewed by:
gpt-oss-120b for DiffDaily

Review Criteria:

記事構成 ✓ PASS

Title, Context, Technical Detailの存在と明確さ

リード文があり、背景・技術的変更・設計判断・まとめの各セクションが揃っているため、総論→各論→結論の構成が明確です。

カスタムMarkdown構文 ✓ PASS

シンタックスハイライト・GitHubリンク記法の正確性

コードブロックは `言語:ファイルパス` 形式で正しく記述され、PRリンクも `[#2468](URL)` 形式で正しくリンク化されています。

対象読者への適合性 ✓ PASS

エンジニア向けの適切な技術レベルと表現

WebコンポーネントやTypeScriptに関する前提知識を持つエンジニア向けの内容で、初心者向けの余計な説明はありません。

パラグラフ・ライティング ✓ PASS

トピックセンテンス・1段落1トピック・段落長

各セクションは総論・各論・結論の流れになっており、段落はトピックセンテンスで始まり、1段落1トピック・6文以下で構成されています。空行で区切りも適切です。

Diff内容との照合 ✓ PASS

コードブロックとDiff内容の一致

記事中のコードブロックは提供されたDiffと完全に一致し、ファイル名・変更内容ともに正確に反映されています。

技術用語の正確性 ✓ PASS

技術用語の正確な使用

customElement、API互換性、タグ名、依存パッケージ名など、技術用語は正しく使用されています。

説明の技術的正確性 ✓ PASS

技術的主張の正確性と論理性

リネームの目的、影響範囲、依存パッケージの差し替えなどの説明はDiffおよびPR記述に基づく正確な内容です。

事実の突合 ✓ PASS

PR情報による主張の裏付け(ハルシネーション検出)

すべての主張はPRタイトル、Description、Diffで裏付けられており、外部知識や推測は含まれていません。

数値・固有名詞の確認 ✓ PASS

PR番号・コミットID・バージョン等の正確性

PR番号 #2468、ファイルパス、変更された依存パッケージ名など数値・固有名詞は正確です。

タイトル・説明との一致 ✓ PASS

記事タイトル・説明とPR内容の一致

記事タイトル "Date picker again" が PR タイトルと完全に一致しています。

外部知識の正確性 ✓ PASS

PRに記載のない外部知識(LTS、サポート状況など)の不使用

LTSやリリース日等の外部情報は記載されておらず、PR情報のみで構成されています。

時間表現の正確性 ✓ PASS

時間表現がPR情報と一致しているか

時間に関する表現はなく、PRの時間的記述と矛盾する箇所もありません。