.form-row |
.form-grid |
2列のフォームは .form-grid に統一 |
.stepper/.step/.step-number(F-CORP-002) |
.stepper/.step/.step-body/.step-number/.step-label/.step-connector |
手順表示は1部品に統合。番号とラベルは .step-body で囲む |
.step-item/.step-circle(F-WEB-007) |
.step/.step-number(.stepper 系) |
同上 |
.reset-steps/.reset-step/.step-num(F-AUTH-001-004) |
.stepper/.step/.step-number(.stepper 系) |
同上 |
.step.active/.step.completed |
.step[aria-current="step"]/.step.completed |
現在の段は aria-current="step" で表す。完了の段はラベルに sr-only の「(完了)」を添える |
.progress-bar-wrap |
.progress-bar |
role="progressbar"・aria-valuenow 等を付け、.progress-text で数値を併記 |
.progress-fill |
.progress-bar-fill |
塗りは success-border |
.kpi-card.accent |
.kpi-card.success |
成功・完了の左罫線(success-border)。黄(accent)は KPI に使わない |
.tab.active |
.tab[aria-selected="true"] |
role="tab"・tabindex(選択中だけ 0)と左右キーの移動を付ける |
.tab-content.active |
.tab-content(非選択は hidden 属性) |
role="tabpanel"・aria-labelledby |
.tab-body |
.section-card で囲み、パネルは .tab-content |
専用クラスは設けない |
.pagination-pages button/button.active |
.pagination-btn/.pagination-btn[aria-current="page"] |
前後はアイコンボタン(aria-label)。省略は .pagination-ellipsis |
.filter-tag.active |
.filter-tag[aria-pressed="true"] |
チップは button 要素 |
.filter-header h3 |
.filter-header + .filter-toggle(aria-expanded) |
見出しのボタンで .filter-body を開閉 |
.filter-group label/select/input |
.form-label/.form-select/.form-input |
label の for と id を対応させる |
.search-bar input |
.form-input(左のアイコン分 pl-10) |
検索アイコンは magnifying-glass |
.radio-item.selected/.radio-circle |
.radio-item(中のラジオの checked で選択表示) |
.radio-circle は使わず input type="radio" を置く |
.form-label .required(「*」) |
.required(「必須」の文字) |
色だけで伝えない |
.toggle-password(絵文字) |
.toggle-password(eye/eye-slash) |
aria-label を状態に合わせて切り替える |
.modal-header の閉じるボタン(.btn .btn-outline .btn-sm)/.panel-close |
.modal-close |
アイコンだけのボタン(aria-label="閉じる") |
.modal-overlay(style で表示切替) |
.modal-overlay(hidden 属性)+ .modal-backdrop |
背面クリックで閉じる button を置く |
.detail-panel.open |
.detail-panel-overlay(hidden 属性)+ .detail-panel |
モーダルと同じ開閉・フォーカスの扱い |
.contract-info/.contract-item(F-CORP-001)/.contract-detail-grid/.contract-detail-item(F-CORP-007-F-SITE-007)/.panel-info-grid/.panel-info-item(F-CERT-001-002-004) |
.info-grid/.info-item |
ラベル・値・補足は .info-label/.info-value/.info-sub。.contract-detail-item.highlight は .info-item.highlight |
.contract-detail-item.full-width |
.info-item + sm:col-span-2 |
全幅のタイル |
.confirm-row/.confirm-label/.confirm-value(F-CORP-002)/.confirm-table(F-CMN-002)/.lecture-meta-grid(F-WEB-003) |
.kv-grid(.confirm-table は .kv-grid.divided) |
dl の中で dt・dd の組を div で囲む |
.progress-detail-list/.progress-detail-item(F-WEB-003)/.status-detail-list(F-LIVE-002-003)/.complete-summary-row(F-WEB-007) |
.kv-list |
項目名を左・値を右に振り分ける |
.complete-summary(F-WEB-007)/.lecture-info-banner(F-WEB-007)/モーダル冒頭の style 付きの要約(F-CORP-002・F-WEB-003) |
.summary-box |
項目と値は中に .kv-grid/.kv-list を置く |
.faq-item/.faq-question/.faq-answer(F-CMN-001)/.plan-detail-toggle(F-TOP-002) |
.accordion/.accordion-item/.accordion-trigger/.accordion-icon/.accordion-panel |
▼ は chevron-down。Q/A の印は部品に含めない |
.faq-cat-tab(F-CMN-001)/.category-tab(F-TOP-008) |
.filter-tag(選択は aria-pressed) |
件数(.category-tab .count)は .filter-tag-count |
.lecture-tag(F-WEB-001)/.seminar-tag(F-LIVE-001)/.target-type(F-CORP-002) |
.badge .badge-muted |
分類・種別のタグ |
.notice-tag |
分類に応じたバッジ |
重要=.badge-danger/メンテナンス=.badge-warning/お知らせ=.badge-info/その他=.badge-muted |
.permission-note/.info-note/.scope-bar |
.alert-banner .alert-info |
先頭に種類を文字で書き、アイコンを添える |
.warning-note |
.alert-banner .alert-warning |
同上 |
.caution |
.alert-banner .alert-danger |
同上 |
.info-banner |
.alert-banner .alert-warning |
同上 |
.info-banner.info-tone |
.alert-banner .alert-info |
同上 |
.form-group.full-width |
.form-group + sm:col-span-2 |
.form-grid の中で全幅にする |
td.num |
text-right(+ tabular-nums) |
表の数値の列。.cross-table の中は部品側で中央揃え |
.flow-card/.form-card |
.section-card |
見出しは .section-card-header、本文は .section-card-body |
.progress-panel/.plan-link-panel/.related-panel(F-WEB-003・F-LIVE-002-003) |
.section-card |
補助カラムの中のカード |
.panel-actions |
.panel-footer |
詳細パネルの下部の操作 |
.close-btn |
.modal-close |
アイコンだけのボタン(aria-label="閉じる") |
.more-link |
.link-text |
「すべて見る →」等は a 要素にし、矢印は arrow-right |
.action-bar |
.footer-actions |
左右に分けた操作の並び |
.example-divider |
「状態: …」の見出しで区切ったセクション |
同一ファイル内で状態ごとに見出しを置く(§1.3) |
.checkbox/.checkbox.checked(div で描いたチェックボックス) |
input type="checkbox" |
.assign-panel-header・.assign-target-item・.checkbox-group・.data-table の中で部品側が装飾する |
.target-info |
.assign-target-info |
右の補足は .assign-target-meta |
.live-schedule-item/.live-date-box(F-TOP-001_office)/.seminar-date-box(F-LIVE-001) |
.schedule-item/.date-box(.date-box-month/.date-box-day/.date-box-weekday) |
右の情報は .schedule-body(.schedule-title/.schedule-detail)。絵文字は clock/user/users |
.plan-row/.plan-row-header/.plan-title/.plan-meta-row(F-TOP-002) |
.plan-card/.plan-card-header/.plan-name/.plan-meta |
右側(.plan-row-header-right)は .plan-card-actions |
.plan-meta(F-TOP-001_personal の右側の進捗・ボタン) |
.plan-card-actions |
清書の .plan-meta は計画名の下の補足行(名前が同じで役割が違う) |
.play-icon/.duration-badge/.progress-bar-mini(F-WEB-001・F-TOP-001_personal) |
.lecture-thumb-play/.lecture-thumb-duration/.lecture-thumb-progress(中に .progress-bar-fill) |
サムネイル画像の上に置くため、画像の明暗によらず見える白地で作る |
.lecture-instructor |
.lecture-meta |
絵文字の 👤 は user |
.lecture-description(F-WEB-003)/.seminar-description(F-LIVE-002-003) |
.description |
h3・p・ul をそのまま置く |
.progress-stat-grid/.progress-stat(F-WEB-003)/.status-stat-grid/.status-stat(F-LIVE-002-003) |
.stat-grid/.stat-tile(.stat-value/.stat-label) |
2×2 |
.related-item-date/.related-item-title/.related-item-meta(F-LIVE-002-003) |
.related-meta/.related-title/.related-meta |
日時は題名の上に .related-meta で置く |
.cross-table の内訳行(style の字下げと「└」)/合計列(style の背景) |
tr.breakdown-row/.total |
「└」は付けない。まとまりの見出し行は tr.group-row |
.action-btn-done.is-done(F-WEB-003 の記録後の見た目) |
(部品なし) |
実装仕様書にボタンの記録後の表示の定義が無いため作らない。記録済みは視聴進捗パネルの「✓ 記録済み」バッジ(.badge-active)で表す |
.video-player-area/.video-placeholder(F-WEB-003) |
.media-area |
暗い面は media、文字は text-inverse。.video-player-area の角丸は、映像枠・帯・進捗表示をまとめて囲む overflow-hidden rounded-card で付ける |
.seminar-hero-visual(F-LIVE-002-003) |
.media-area.media-area-short |
16:9 にせず最小の高さで作る。角丸はヒーローのカード(.section-card)側で付く |
.play-btn(F-WEB-003)/.zoom-icon(F-LIVE-002-003) |
.media-play |
surface の丸に primary のアイコン(▶ は play、💻 は computer-desktop)。押せる場合は button にして aria-label を付ける |
.video-placeholder 内の文言/.meta(F-WEB-003)/.seminar-hero-visual .label/.sub(F-LIVE-002-003) |
.media-label/.media-sub |
補足も text-inverse のまま(暗い面に muted のグレーを使わない) |
.viewing-context-bar(F-WEB-003) |
.media-context-bar |
🔒 は lock-closed、🎓 は academic-cap |
.viewing-progress-bar/.progress-track/.progress-fill/.progress-label(F-WEB-003) |
.media-progress(中に .progress-bar/.progress-bar-fill/.media-progress-label) |
トラックは surface-muted、塗りは success-border(既存の進捗バーと同じ組)。数値を必ず併記する |