Changelog

jellee のすべての注目すべき変更はこのファイルに記録されます。 フォーマットは Keep a Changelog に基づいています。

[0.1.0-beta.11] - 2026-06-18

修正

  • jui-modal の登場アニメーションが効かない不具合を修正: beta.10 でダイアログの登場をスケール+スライドの transition で実装したが、モーダルラッパーが visibility: hidden → visible へ切り替わる際は子要素(ダイアログ)の transition 開始が抑制されるため、登場アニメが発火せず一瞬で表示されていた。登場を keyframe animation@keyframes modal-dialog-in--jui-ease-spring)へ変更し、--open 付与時に必ず再生されるようにして解消。閉じる側は従来どおり ease-outtransitionprefers-reduced-motion でも無効化されることを確認
  • Blade 版 jui-dropdown を beta.10 の新モーション CSS に追従: beta.10 で web component の dropdown をモーション刷新した際、Light DOM 版 CSS がメニューの表示制御をラッパーの .jui-dropdown--open クラス(:not(.jui-dropdown--open)display: none)へ移行したのに対し、Blade スタブの開閉スクリプトが従来どおり menuEl.hidden をトグルしていたため、再生成すると新 CSS の :not(.jui-dropdown--open) が常時効いてメニューが永久に開かなくなる不具合を修正。スクリプトをラッパーへの .jui-dropdown--open クラス付与/除去方式へ変更し、メニューの hidden 属性を撤去して表示制御を CSS に委譲(シェブロン回転・項目カスケード・@starting-style + allow-discrete の開閉アニメも連動)。aria-expanded とフォーカス管理は従来どおり維持
  • Blade アダプタを beta.10 へ再同期: beta.10 のモーション刷新が Blade スタブへ反映されていなかったため、generate-blade.js で Light DOM CSS とスタブを再生成し、各コンポーネントの CSS を beta.10 の質感(イージングトークン・オーバーレイ展開など)に追従

[0.1.0-beta.10] - 2026-06-18

追加

  • モーション基盤(イージングトークン): HeroUI 風のイージングトークン --jui-ease-out(展開・オーバーレイ)/ --jui-ease-spring(プレス・回転)/ --jui-ease-in-out(移動・インジケータ)と、素の持続時間トークン --jui-duration-fast|normal|slow を追加
  • jui-dropdown のモーション全面刷新: トリガーの角を起点にスケール展開、メニュー項目のカスケード登場、シェブロン回転、トリガー/項目の押し込みフィードバックを追加。メニューを常時レンダリングし、@starting-style + transition: display allow-discrete により**開閉どちらも JS なし(CSS のみ)**でアニメーション。メニューは閉時 aria-hidden
  • オーバーレイの登場演出を統一: jui-popover / jui-tooltip / jui-select / jui-color-picker / jui-date-picker に「配置側の角から生えるスケール展開」を適用。jui-select はオプションのカスケード登場も追加
  • マイクロインタラクション: jui-checkbox / jui-radio / jui-toggle の出現・スライドをスプリング化。jui-pagination / jui-select-option / jui-sidebar / jui-tree / jui-tabs / jui-date-picker(日付セル)に押し込みフィードバック(:active スケール)を追加
  • jui-modal にスケールポップ: ダイアログの登場に scale(0.96→1) を追加

変更

  • 共有トランジショントークンのイージング統一: --jui-transition-fast|normal|slow|slideeaseease-out に統一し、全コンポーネントのマイクロトランジションの質感を底上げ
  • jui-drawer / jui-accordion のイージングをトークン化: ハードコードされていた 0.3s ease / 0.3s cubic-bezier(...) / 300ms ease--jui-duration-* + --jui-ease-out|in-out に置換
  • jui-tabs のインジケータ移動を --jui-ease-in-out: 左右対称のカーブで自然な追従に

修正

  • jui-modal のアニメーションが効かない不具合を修正: トランジションのイージング枠に --jui-transition-*(duration を含む合成値)を置いていたため、duration が delay として解釈され二重 timing で宣言全体が無効化され、ダイアログが瞬間表示になっていた。個別トークン(--jui-duration-* + --jui-ease-out)に分離して解消
  • jui-popover の中央配置で登場アニメ中に横ズレする不具合を修正: scale キーフレームが中央寄せの translateX(-50%) を上書きしていたため、位置の translate を CSS 変数で合成して保持するよう変更
  • jui-theme-switcher のフォーカスリングを :focus-visible: マウスクリック後にもリングが残っていた問題を解消(キーボード操作時のみ表示)

[0.1.0-beta.9] - 2026-06-18

追加

  • jui-theme-switcherswitcherLabel Prop を追加: モード切替ボタンのアクセシブルネーム(aria-label)を i18n 向けに上書き可能に
  • フォントフォールバック拡充: --jui-font-family に日本語システムフォント(Hiragino Sans / Hiragino Kaku Gothic ProN / Noto Sans JP / Yu Gothic / Meiryo)のフォールバックを追加し、Web フォント未読込時の表示崩れを軽減

変更

  • jui-stat の role を figure から group に変更: ラベルと数値をまとめた一つのグループであることを支援技術へより適切に伝えるため。アクセシブルネームは引き続き labelaria-label)で付与。Blade 版・ドキュメント・テストも追従

修正

  • jui-theme-switcher のアクセシビリティ不備を修正: モード切替ボタンに aria-label / aria-pressed を付与、装飾的な絵文字アイコンを aria-hidden="true" 化、type="button" を明示してフォーム誤送信を防止
  • jui-tag の閉じるボタンのホバー色をダークモード対応: ハードコードされていた rgba(...) を新トークン --jui-color-overlay-subtle / --jui-color-overlay-on-solid に置き換え、ダークテーマでオーバーレイが視認できない問題を解消
  • jui-search-input のサイズを他のフォーム入力に統一: 高さ(既定 48px)・角丸(--jui-radius-sm)・フォントサイズ(--jui-font-size-md)を jui-input に揃え、隣接配置時の不揃いを解消

[0.1.0-beta.8] - 2026-06-11

追加

  • コンポーネント本番公開: jui-transfer, jui-tree の2つの既存コンポーネントを本番公開対象に追加し、ドキュメントを充実化
  • 新規コンポーネント: jui-drawer, jui-slider, jui-rating の3つのコンポーネントを新規作成・本番公開
    • jui-drawer: サイドからスライドインするパネルコンポーネント。left/right 配置、sm/md/lg/xl サイズ、フォーカストラップ、ESCキー閉じ、スクロールロック対応
    • jui-slider: レンジスライダーコンポーネント。ドラッグ/クリック/キーボード操作、カラーバリアント(brand/danger/success/warning)、目盛りマーク表示対応
    • jui-rating: 星評価コンポーネント。半分星(allowHalf)、ホバープレビュー、読み取り専用/無効状態、カラーバリアント(warning/brand)対応
  • Blade 自動生成対応: transfer, tree, drawer, slider, rating の5コンポーネントを generate-blade.js の対象に追加
  • E2E テスト拡充: jui-transfer(6テスト), jui-tree(6テスト)の E2E テストを最小限の1件から実用的なテストスイートに拡充
  • ドキュメント充実化: jui-transfer, jui-tree のドキュメントページにバリエーション別デモ、アクセシビリティ説明、CSS カスタムプロパティセクションを追加
  • Overview 更新: 5コンポーネントのプレビューカードを追加(transfer→Component、tree→Display、drawer→Overlay、slider→Form、rating→Form)

修正

  • 不具合修正 (Blade版 jui-drawer): パネルに配置・サイズの修飾クラス(jui-drawer__panel--{placement} / --{size})が付与されておらず、スライドアニメーションが動作しなかった不具合を修正
  • 不具合修正 (Blade版 jui-transfer): アイテムのチェックボックスが描画されず、テキストと揃わなかった不具合を、視覚用チェックボックス要素の追加とレイアウト調整で修正。あわせて、中央の移動ボタンが disabled 属性のみで制御され --active クラスが付与されないため、アイテム選択後も禁止カーソル(not-allowed)のまま有効化されない不具合を、--active クラスの同期切り替えで修正
  • Blade スタブのクラス整合(6コンポーネント): ハードコードされた Blade テンプレートのクラス名が、Stencil ソースから再生成された CSS と一致しておらず未スタイルになっていた問題を、generate-blade.js と各スタブの両方で修正
    • jui-tree: マークアップを CSS(__node-row / __switcher / __indent / __children / __title)に整合し、不正な HTML(孤立した </ul>)と展開/選択/チェックの動作も修正
    • jui-toast: アイコン(__icon)・閉じるボタン(__dismiss)・表示クラス(--visible)を追加し、位置クラスの子孫セレクタを単一要素向けに変換して正しく表示されるよう修正
    • jui-accordion: 開閉シェブロンのクラスを __icon__chevron に修正し、開いた状態での回転を有効化。variant クラスにも対応
    • jui-tag: ラベルのクラスを __content__label に修正(省略表示が有効化)
    • jui-table: ソート可能列(__sort-btn / __sort-icon)に対応し、クライアントサイドの並べ替えを実装。rolegridtable に修正
    • jui-slider: 目盛りマーク(__marks / __mark / __mark-dot / __mark-label)の描画に対応。「つまみがカーソルに遅れて追従する」不具合を2点修正 —(1)ドラッグ中に --dragging クラスを付与してフィルバーの transition を無効化、(2)重ねたネイティブ <input type="range"> のつまみ幅(インセット)により視覚つまみがカーソルから最大 ±8px ずれていたため、ネイティブつまみを 0 幅化して値を線形マッピングし、カーソル位置と完全一致させた
  • ドキュメントサイト修正:
    • jui-popover / jui-tooltip のプレビューで、トリガー要素が誤って slot="trigger" を指定していたためボタンが表示されなかった不具合を修正(既定スロットを使用)
    • jui-toast のプレビューが既定で非表示(is-visible="false")のため何も表示されなかった不具合を、プレビュー内でのインライン表示に修正
    • ドロワーを閉じる際、スライドアウトのアニメーション中に「On this page」(目次)が一瞬重なって表示される不具合を、目次の再表示をアニメーション完了まで遅延させることで修正
    • サイドバーの項目をクリックするとサイドバー自身のスクロール位置が先頭に戻ってしまう不具合を、SPA 遷移をまたいでスクロール位置を保存・復元することで修正

[0.1.0-beta.7] - 2026-06-11

追加

  • 新規コンポーネント本番公開: jui-stepper, jui-file-upload, jui-color-picker を本番公開対象に追加し、ドキュメントサイトに反映
  • Blade 自動生成対応: stepper, file-upload, color-picker, form-field を Blade テンプレート自動生成の対象に追加
  • デモ追加: Laravel デモアプリ(example-jui-blade-app)に stepper, file-upload, color-picker のデモ画面を追加

修正

  • jui-stepper CSS の修正:
    • ラストの子ステップ要素が想定外に縮む問題を、フレックス幅指定を解除して flex: 1 で自動配置するように修正
    • アイコンとタイトルの位置ずれを防ぐため、アイコンとラベルをセンター揃えに調整
    • Dot Variant におけるコネクター線の top および left/right 位置を、ドットサイズ(10px, 12px)に合わせて正確に配置
    • コネクター線がドットの上に重なる表示不具合を、z-index でドットが前面に来るように重なり順を設定
  • ドキュメント (jui-stepper.md) の修正: Error Status の説明にあるステップ進行例で、エラー後のステップが process になっていた論理矛盾を、エラー後は待機状態 (wait) になるよう修正

[0.1.0-beta.6] - 2026-06-10

追加

  • コンポーネント本番公開: jui-popover, jui-tooltip, jui-toast, jui-dropdown の4コンポーネントを本番公開し、ドキュメントサイトで閲覧可能に
  • Blade 自動生成対応: popover, tooltip, dropdown, toast, calendar, date-picker, number-input, search-input の8コンポーネントを Blade テンプレート自動生成の対象として新規追加
  • パイプライン統合: scripts/sync-blade-demo.js を新規作成。stubs → Laravel デモアプリへの同期と Vite リビルドを1コマンドで実行する npm run blade:sync を追加
  • E2E テスト: 上記8コンポーネントの E2E テストを追加
  • ドキュメント品質改善: 新コンポーネントにアクセシビリティ(WAI-ARIA)、CSS カスタムプロパティ、ブラウザ対応・Baseline 情報セクションを追加

変更

  • build:blade / build:all 改善: 手動コピーを廃止し、sync-blade-demo.js による自動同期に統一

修正

  • Blade テンプレート (toast): $slot が空でも null ではないため message prop が表示されなかった問題を $slot->isNotEmpty() で修正
  • Blade テンプレート (popover): prop trigger<x-slot:trigger> の名前衝突で HTML が崩壊する問題を、prop 名を triggerType にリネームして解消
  • Blade テンプレート (popover): コンテンツ要素に配置クラス jui-popover__content--{placement} が欠落していた問題を修正
  • CSS 変換 (toast): ポジション用セレクターが子孫セレクター(スペースあり)になっていたため位置が効かなかった問題を複合セレクターに修正
  • CSS 変換 (tooltip): Stencil CSS のクラス構造と Blade テンプレートの不整合を解消(カスタム CSS 直接出力方式に変更)
  • Blade テンプレート (tooltip): インライン <style> を削除し、CSS ファイルに一元化

[0.1.0-beta.5] - 2026-06-08

追加

  • コンポーネント追加: jui-modal, jui-tab, jui-tabs, jui-pagination の4つのコンポーネントを本番公開対象に追加し、ドキュメントに反映
  • Blade 自動生成対応: tabs, tab, pagination の3つのコンポーネントを自動生成対象(generate-blade.js)として新規登録。インライン JS によるスライドカーソル機能付きのタブや、PHPによる JS ゼロのページネーションを Blade 版として実装。
  • 機能改善 (jui-modal): Blade 版モーダルに closeOnOverlay (デフォルト true) オプションを新規追加し、枠外の暗い背景をクリックした際にモーダルが閉じる仕様を追加。

修正

  • 不具合修正 (jui-modal): <dialog> を閉じるトランジション中に display: flex から block にフォールバックして中央揃えが解除され、一瞬画面左にずれてチラつく不具合を、display: nonedisplay: flexallow-discrete トランジション制御を明示することで修正。

[0.1.0-beta.4] - 2026-06-05

追加

  • コンポーネント追加: jui-form-field, jui-stat, jui-select-option の3つのコンポーネントを本番公開対象に追加し、ドキュメントに反映

[0.1.0-beta.3] - 2026-06-05

追加

  • Phase 2 コンポーネント (Blade版): breadcrumb, card, sidebar, table, textarea の5コンポーネントを Blade テンプレート自動生成の対象として新規追加し、CSS / テンプレートファイルを生成
  • 共通ユーティリティ: src/utils/parse-json-prop.ts(JSON Prop 解析用)および src/utils/date-utils.ts(日付操作用)を新規作成し、複数コンポーネントで再利用
  • デザイントークン: --jui-focus-ring-width (3px), --jui-color-danger-ring, --jui-z-popover (1050), --jui-font-size-2xs (0.6875rem), --jui-skeleton-pulse-duration (1.8s), --jui-opacity-disabled (0.4) などの共通トークンを tokens.css に追加
  • JSDoc @part: jui-select, jui-date-picker, jui-transfer, jui-toast などに Shadow Parts の説明を JSDoc タグとして追記し、ドキュメントの自動生成に反映

変更

  • 大規模リファクタリング: 41コンポーネントの TSX/CSS を横断的にクリーンアップし、空の disconnectedCallback() ライフサイクルメソッドを削除
  • CSSハードコード値のトークン化: コンポーネント内のサイズ・カラー・シャドウなどのマジックナンバーを tokens.css で定義された CSS カスタムプロパティへの参照に統一

修正

  • セキュリティ (XSSリスク緩和): jui-stepperinnerHTML={step.icon} および jui-stat / jui-taginnerHTML を使用した箇所に、信頼できるソースからの利用に限定するセキュリティ警告コメントを追加
  • アクセシビリティ (WAI-ARIA):
    • jui-tablerole="grid" を静的表示に適切な role="table" に修正、ソートヘッダーを <button> 内包パターンに変更
    • jui-tabs/jui-tab の ARIA ID 連携を修正(親の tabsId を Host 要素の id に自動反映)
    • jui-checkbox / jui-radio の不要な aria-checked を input 要素から削除(ネイティブ属性に集約)
  • 動作不具合:
    • jui-modal の複数モーダル同時オープン時にスクロールロックが競合する問題を、静的なオープンカウンター(openCount)による制御へ修正
    • jui-popover の CSS アロー位置のフォールバック値を 12px から 18px に修正
    • jui-input/jui-textarea で互いの Shadow DOM 内のセレクタを参照していた不要なスタイルルールを削除
    • jui-tab でドキュメント上に記載されていた tab-content slot の実装抜けを修正
    • jui-selectaria-disabled 属性のフォールバック値を null から undefined に修正し、警告を回避
  • ドキュメント手書きデモの誤り修正: jui-stat.md, jui-transfer.md, jui-tree.md, jui-stepper.md などのデモコードで、実装と一致していなかった属性名やデータ形式を修正

[0.1.0-beta.2] - 2026-06-03

追加

  • Phase 1 ドキュメント: divider, skeleton, progress, tag の4コンポーネントにドキュメントページを追加
  • jui-tag slot 対応: label prop に加え <jui-tag>テキスト</jui-tag> の slot 記法をサポート
  • SEO 基盤: canonical URL、JSON-LD 構造化データ、sitemap.xml、robots.txt を追加
  • Baloo Chettan 2 フォント: LP の「Jellee」ブランドテキスト用にセルフホストで導入
  • RELEASE_CHECKLIST.md: ブラウザ互換性検証を含む10セクション構成のリリースチェックリストを新設
  • AGENTS.md ドキュメント連携: 作業フロー別のドキュメント参照ガイドを追加

変更

  • LP リニューアル: ヒーローテキストを「システムを柔らかく。Jellee」に変更、セマンティック HTML 化
  • サイドバー: グループ表示の並び順修正、スクロールアニメーション無効化
  • ドキュメント UI: blockquote スタイル改善、divider プレビュー修正、未実装コンポーネントに波線マーク追加
  • Overview: Phase 1 コンポーネント4種のプレビューカードを追加
  • Blade パイプライン: Tailwind 関連コードを完全削除、vanilla CSS のみに統一

修正

  • サイドバークリック時の不要なスムーズスクロールを修正
  • meta description の重複を修正
  • ドキュメントサイトの Web Components 読み込みを CDN からローカルビルドに変更(tag 等の表示不具合を修正)
  • Blade デモから未リリースコンポーネント(Modal / Stat)を除外

[0.1.0-beta.1] - 2026-06-01

追加

  • Blade パイプライン: scripts/generate-blade.js による Pure HTML/CSS テンプレート自動生成
  • ブラウザ対応表: 11コンポーネントに Baseline 達成日・WA 予定日を記載
  • ドキュメント: バージョンとティアの解説ページを追加
  • BROWSER_TIERS.md: 機能ティア管理表を新設
  • MAINTAINING.md: ブランチ戦略、バージョニング、ブラウザ機能採用ルールを追加

変更

  • 11コンポーネントの CSS をモダン化(color-mix(), @starting-style, ::details-content 等)
  • CDN バージョンを v0.1.0-beta.1 に更新

[0.1.0-beta.0] - 2026-05-15

追加

  • 初期リリース
  • 11コンポーネントを本番公開: Accordion, Accordion Item, Alert, Avatar, Badge, Button, Checkbox, Input, Radio, Select, Toggle
  • ドキュメントサイト(Astro)
  • CDN 配信(jellee.joydea.jp)
  • デザイントークンシステム(CSS Custom Properties)