text‑transform ベースのテキストユーティリティを追加

shoelace-style/webawesome

text‑transform 系のユーティリティクラス wa-text-uppercasewa-text-lowercasewa-text-capitalize が新たに導入されました。これにより、テキストの大文字化・小文字化・単語先頭大文字化を CSS クラスだけで簡潔に適用できるようになります。ドキュメントとスタイルシートも同時に拡充され、利用者は既存の wa-text- 系ユーティリティと統一的な命名で組み合わせられます。

背景

既存の wa-text- 系ユーティリティはテキスト揃えや折り返しに限定され、文字ケースの変換はプロジェクトごとにカスタム CSS を書く必要がありました。PR の説明では、汎用的に使える 3 つの変換(大文字・小文字・先頭大文字)だけを提供し、full-width などのニッチなケースは除外すると明言されています。さらに、直前の #2403 で採用された「フラットな wa-text- 命名規則」を踏まえ、クラス名はプロパティ名を省略して値だけで表す形に統一されました。これにより、利用者は wa-text-uppercase のように直感的にクラスを選択でき、学習コストが低減します。

技術的な変更

CSS 定義packages/webawesome/src/styles/utilities/text.css に追加され、各クラスが標準 CSS の text-transform プロパティを設定します。

.wa-text-uppercase {
  text-transform: uppercase;
}

.wa-text-lowercase {
  text-transform: lowercase;
}

.wa-text-capitalize {
  text-transform: capitalize;
}

ドキュメントpackages/webawesome/docs/docs/utilities/text.mdTransform セクションを新設し、テーブル形式でプレビュー例を掲載しました。また、アクセシビリティに関する注意書きも添えられ、視認性への配慮が明示されています。

## Transform

Use these classes to change the case of text. They apply standard CSS `text-transform` values.

| Class Name           | Preview                                                   |
| -------------------- | --------------------------------------------------------- |
| `wa-text-uppercase`  | <div class="wa-text-uppercase">Five boxing wizards</div>  |
| `wa-text-lowercase`  | <div class="wa-text-lowercase">Five boxing wizards</div>  |
| `wa-text-capitalize` | <div class="wa-text-capitalize">Five boxing wizards</div> |

:::info
Large blocks of uppercase text are harder for everyone to read and especially difficult for folks with dyslexia. Reserve it for buttons, badges, or short headings.
:::

** changelog** も packages/webawesome/docs/docs/resources/changelog.md に追記され、リリース情報として新ユーティリティが明示されています。

:::added

- Added the `wa-text-uppercase` text utility class for transforming text to uppercase
- Added the `wa-text-lowercase` text utility class for transforming text to lowercase
- Added the `wa-text-capitalize` text utility class for capitalizing the first letter of each word

:::

設計判断

今回の主要な設計判断は フラットなクラス名への統一 です。レビューでは wa-text-transform-uppercase などプロパティ名を含む冗長な名称が指摘され、wa-text-{value} のシンプルな形へ変更されました。この方針は、#2403 で決定された命名規則と整合性を保ち、全テキストユーティリティが同一パターンで扱えるようにする狙いがあります。加えて、wa-text-none のような none 値 は意味が曖昧で利用シーンが限定的と判断され、当面は除外しましたが、実装は軽量であるため将来的に需要が出た際には容易に再導入可能です。これらの判断は、シンプルさと拡張性のバランスを取るためのトレードオフとして明示されています。

まとめ

wa-text-uppercasewa-text-lowercasewa-text-capitalize の 3 クラスが追加され、テキストケース変換がユーティリティクラスだけで完結できるようになりました。フラットな命名規則と none の除外は、コードベースの一貫性と将来的な拡張性を両立させる設計判断です。ドキュメントと changelog への追記により、利用者は即座に新機能を把握し、適切な場面で活用できるようになります。

記事メタデータ

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

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

品質レビュー結果

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

Review Criteria:

記事構成 ✓ PASS

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

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

カスタムMarkdown構文 ⚠ WARNING

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

コードブロックは ```:言語:ファイルパス``` 形式で正しく記述されています。GitHubリンクは [PR #2404](URL) と「PR」の文字が余分で、仕様の [#123](URL) 形式と完全には一致していません。

対象読者への適合性 ✓ PASS

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

専門エンジニア向けの記述で、余計な基礎解説はなく適切です。

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

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

各セクションは総論・各論・結論の流れがあり、段落はトピックセンテンスで始まり1段落1トピック、長さも適切です。

Diff内容との照合 ✓ PASS

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

記事中の CSS、ドキュメント、changelog のコードブロックは提供された Diff と完全に一致しています。

技術用語の正確性 ✓ PASS

技術用語の正確な使用

使用されている技術用語(text‑transform、utility class など)は PR と一致し、誤用はありません。

説明の技術的正確性 ✓ PASS

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

技術的説明は Diff と PR の記述に基づき正確で、因果関係も論理的です。

事実の突合 ✓ PASS

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

記事の主張はすべて PR の Title、Description、Diff で裏付けられており、根拠のない推測はありません。

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

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

PR 番号 #2404 などの数値は正しく記載されています。

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

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

記事タイトルは PR の「Add `text‑transform`‑Based Text Utilities」を日本語で適切に表現しています。

外部知識の正確性 ✓ PASS

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

バージョンサポートやリリース日程など PR に無い外部情報は含まれていません。

時間表現の正確性 ✓ PASS

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

時間表現の記述はなく、矛盾もありません。