DiffDaily Deep & Concise - OSS変更の定点観測
トップに戻る

shoelace-style/webawesome

https://github.com/shoelace-style/webawesome

`<wa-button>`にCSSカスタムステートを追加

`<wa-button>`コンポーネントに`disabled`・`icon-button`・`link`・`loading`の4つのCSSカスタムステートが追加されました。既存の`@watch`ハンドラに`customStates.set()`を追加する最小限の変更で、`:state()`擬似クラスを使ったスタイリングが可能になります。`<wa-copy-button>`で確立したパターンを拡張したもので、コンポーネントライブラリ全体のスタイリングAPIの一貫性が高まります。

2026年03月26日 Claude Sonnet 4.6

`<wa-badge>` の `role` 属性をスロットから移動し、スロットをラップ要素で包む

`<wa-badge>` コンポーネントで `<slot>` 要素に誤って付与されていた `role="status"` をHTML仕様に準拠した構造に修正しました。各スロットを `<span>` でラップし、`role` と `part` 属性をラッパー要素側に移動することで、Shadow DOMにおけるコンテンツ投影とARIAセマンティクスの責務を明確に分離しています。

2026年03月26日 Claude Sonnet 4.6

`<wa-copy-button>`にカスタムトリガーのスロット対応を追加

`<wa-copy-button>`のデフォルトスロットに`<wa-button>`や`<button>`など任意の要素をカスタムトリガーとして差し込めるようになりました。HasSlotControllerを導入して既存のアイコンスロットAPIとの後方互換性を維持しつつ、コピー操作の結果をCSSカスタムステート(`:state(success)` / `:state(error)`)でも通知できるよう拡張されています。

2026年03月26日 Claude Sonnet 4.6

実験的コンポーネント `<wa-markdown>` の追加

WebAwesomeに実験的ユーティリティコンポーネント `<wa-markdown>` が追加されました。Markedライブラリを採用し、`<script type="text/markdown">` でコンテンツを渡す設計でブラウザのHTMLパースを回避します。レンダリング結果はライトDOMに注入されてページのスタイルを継承し、共有Markedインスタンスを通じてプラグイン拡張にも対応します。SEOやXSSリスクを明記した上での実験的リリースです。

2026年03月26日 Claude Sonnet 4.6

`wa-tab-group` の `body` パートをスロット直接指定からラッパー `div` に変更

`wa-tab-group` の `body` CSS パートが `<slot part="body">` から `<div part="body"><slot></slot></div>` へ変更され、`wa-dialog` や `wa-card` と同じラッパー構造に統一されました。`::part(body)` のパート名は維持されるため、既存テーマへの影響はありません。`wa-card` での同様の変更(#2198)に続くコンポーネントライブラリ全体の構造的一貫性確保の一環です。

2026年03月26日 Claude Sonnet 4.6

`wa-dropdown-item` のディセンダークリッピングを修正

`<wa-dropdown-item>` のラベルで `g`・`y`・`j` などのディセンダー文字が切り取られるバグを修正。機能しないテキスト省略のために設定されていた `overflow: hidden`・`text-overflow: ellipsis`・`white-space: nowrap` の3プロパティを削除することで根本解決しました。

2026年03月26日 Claude Sonnet 4.6

CodePenへのコード例共有をjsDelivrから自社CDNに切り替え

WebAwesome ドキュメントの「Open in CodePen」機能で使用するCDNをjsDelivrから自社CDN(ka-p.webawesome.com)に切り替えました。jsDelivrは公開npmパッケージのミラーであるためプロコンポーネントの配信に対応できず、kit識別子をURLパスに埋め込む自社CDN方式に移行することでCodePen上でもプロコンポーネントが正しく動作するようになります。

2026年03月26日 Claude Sonnet 4.6

モバイルでステッパーを操作しても仮想キーボードが開かないように修正

`<wa-number-input>` のステッパーボタンをモバイルでタップすると仮想キーボードが表示される問題を修正しました。`click` イベントから `pointerup` に切り替え、`PointerEvent.pointerType` でタッチ操作を判別することで、タッチ時のみフォーカス処理を抑制しつつマウス操作での挙動は維持しています。

2026年03月26日 Claude Sonnet 4.6

カラーピッカーのスウォッチにラベルサポートを追加

`<wa-color-picker>` の `swatches` プロパティが `{ color, label }` オブジェクトの配列を受け付けるようになりました。ラベルを指定することでスクリーンリーダーがカラーコードではなく人間が読みやすい名前でスウォッチを読み上げられるようになります。既存の文字列・文字列配列フォーマットとの後方互換性は完全に維持されています。

2026年03月26日 Claude Sonnet 4.6

`wa-card` の `body` パートをラッパー `div` に変更し、横向きレイアウトの `::slotted` ルールを修正

`wa-card` の `body` CSS パートを `<slot>` 要素自体から `<div>` ラッパーに移動し、`wa-dialog` や `wa-drawer` と同じ実装パターンに統一しました。あわせて横向きレイアウトで使われていた `::slotted([slot='body'])` や `::slotted([slot='actions'])` という無効・非マッチのセレクターを、仕様に沿った `slot::slotted(*)` 形式に修正しています。

2026年03月26日 Claude Sonnet 4.6

`<wa-select>` のクリアボタンが初期値設定時に機能しないバグを修正

`<wa-select>` コンポーネントで初期値が設定されている場合にクリアボタンが機能しないバグが修正されました。`handleClearClick` メソッドに `hasInteracted` と `valueHasChanged` の2つのフラグ設定を条件分岐の外側に追加することで、ユーザーのクリア操作が正しく状態に反映されるようになりました。

2026年03月25日 Claude Sonnet 4.6

`<wa-zoomable-frame>`にテーマ同期機能を追加するオプト・イン属性

`<wa-zoomable-frame>`に`with-theme-sync`属性が追加され、ホストページのライト/ダークモードやWeb Awesomeテーマクラスをiframe内に自動同期できるようになりました。デフォルトは無効のオプト・イン設計で既存の利用箇所への影響はなく、CSSトランジションを使ったテーマ変更検出ロジックは`ColorSchemeController`として独立したReactive Controllerに切り出されています。

2026年03月25日 Claude Sonnet 4.6

`<wa-slider>` から無効な `required` 属性を削除

`<input type="range">` には `required` 制約が仕様上存在しないにもかかわらず、`<wa-slider>` が誤って実装していた `required` 属性のサポートを削除しました。初回送信後にバリデーションが無効化されるバグ(#1471)の根本原因であり、プロパティ定義・バリデーションロジック・ドキュメントをすべて除去することで解消しています。

2026年03月25日 Claude Sonnet 4.6

アイコンライブラリのリゾルバーが非同期に対応

`registerIconLibrary` のリゾルバー関数が `Promise` を返せるようになり、非同期処理を経てアイコンURLを解決できるようになりました。型定義を `string | Promise<string>` に拡張し、`getIconSource()` を非同期化することで、既存の同期リゾルバーへの後方互換性を維持したまま非同期ユースケースに対応しています。

2026年03月25日 Claude Sonnet 4.6

モバイルドロワーレイアウトの改善とサイドバー構成の再設計

モバイル表示時のナビゲーションドロワーで、プロダクトリンク・検索UI・テーマ切り替えが混在していた構造を解消した変更です。`wa-split` ラッパーを削除してドロワーヘッダーをプロダクトリンク専用に簡素化し、検索・テーマ切り替えUIは新設の `search-trigger-button.njk` としてサイドバーへ移動。CSSではモバイルビュー時のドロワー横幅をカスタムプロパティで制御する仕組みも追加されました。

2026年03月25日 Claude Sonnet 4.6

`<wa-select>` と `<wa-combobox>` の大量オプション時のパフォーマンス改善

`<wa-select>`、`<wa-combobox>`、`<wa-option>` に対して、スロット変更のバッチ処理・オプション一覧のキャッシュ・ラベル計算の遅延評価を導入し、大量オプション時のパフォーマンスを改善しました。公開APIは変わらず、内部実装の最適化のみで後方互換性を維持しています。

2026年03月25日 Claude Sonnet 4.6

`<wa-input>` と `<wa-combobox>` の `autocorrect` 型修正と仮想キーボード対応プロパティの追加

`<wa-input>` の `autocorrect` プロパティが文字列ユニオン型からboolean型へ修正され、カスタムコンバーターによって属性値(`"off"`/`"on"`)とJavaScriptプロパティ(`true`/`false`)の両方に対応しました。`<wa-combobox>` には仮想キーボード制御用の `autocapitalize`、`autocorrect`、`enterkeyhint`、`inputmode`、`spellcheck` が追加され、ネイティブHTML属性と衝突していた `autocomplete` プロパティは削除されました。

2026年03月25日 Claude Sonnet 4.6

`<wa-details>` のコンテンツオーバーフローをShadow DOM起因のbox-sizingで修正

`<wa-details>` およびネイティブ `<details>` 内の全幅要素が右側にはみ出すバグを修正。Shadow DOMのスロットが `box-sizing` の継承を遮断するという根本原因を特定し、`.content` クラスと `::details-content` 擬似要素に `border-box` を直接付与することで解決しています。

2026年03月20日 Claude Sonnet 4.6

ビルドスクリプトのトップレベルawaitを関数内に移動してインポート時の破損を修正

ビルドスクリプト `build.js` がアプリからインポートされる際、トップレベルの `await` によって `package.json` の読み込みがモジュール評価時に即座に実行され、バンドル済みディレクトリ未生成の状態でビルドが破損していた問題を修正しました。バージョン情報の取得と初期ログ出力を `build()` 関数内に移動し、遅延評価によってファイルシステムアクセスのタイミングを制御しています。

2026年03月20日 Claude Sonnet 4.6

`<wa-combobox>` に「オプション動的作成」機能と `input` イベントを追加

`<wa-combobox>` に `allow-create` 属性が追加され、既存オプションにない入力値からその場で新しい `<wa-option>` を生成できるようになりました。キャンセル可能な `wa-create` イベントの新設、入力時の `input` イベント発火、および `allow-custom-value` 使用時の2つのバグ修正も含まれています。`createOption` 翻訳キーが全30言語以上に追加され、国際化対応も完備しています。

2026年03月19日 Claude Sonnet 4.6
前へ 1 … 6 7 8 9 10 12 次へ

© 2026 DiffDaily - Powered by AI

タケユー・ウェブ