グローバル CSS クラス

DayFlow は、カレンダーコンポーネントの外観をカスタマイズできる df- プレフィックス付きの CSS クラスセットを提供しています。これらのクラスは、コアライブラリを変更せずに簡単にスタイルをカスタマイズできるように設計されています。

適切な CSS エントリの選び方

Tailwind CSS をすでに使っているかどうかで、読み込むスタイルシートを選んでください。

エントリ含まれる内容使う場面
styles.cssTailwind preflight / reset を含む完全バンドルTailwind を使っていない場合
styles.components.cssコンポーネントスタイルのみ、CSS reset なしすでに Tailwind を使っている場合
@import '@dayflow/core/dist/styles.components.css';
@import 'tailwindcss';

テーマ上書きでは、--df-color-* 変数または以下に記載した安定した df-* セマンティッククラスを優先してください。

目次


共通

すべてのカレンダービューで使用される共通 CSS クラス。

クラス名説明
df-calendar-containerサイドバーとカレンダーを包む最外層のルートコンテナ。--df-calendar-height に対応します。
df-calendarカレンダーメインコンテナ(ヘッダーとビューコンテンツを含む)
df-headerカレンダーヘッダーセクション(タイトル、今日ボタン、表示切り替えを含む)
df-header-leftヘッダーの左側セクション(タイトルとナビゲーションボタン)
df-header-midヘッダーの中央セクション(現在の表示期間タイトル)
df-header-rightヘッダーの右側セクション(表示切り替えと検索)
df-navigationナビゲーションコントロールコンテナ
df-view-header-containerセカンダリなビューヘッダー領域で使われる共有コンテナ
df-view-header-titleビュー単位のタイトルに使う共有テキストクラス
df-view-header-subtitleビュー単位のサブタイトルに使う共有テキストクラス
df-eventすべてのイベントの基本クラス
df-event-titleイベントタイトルテキスト
df-event-timeイベント時間テキスト
df-event-color-barイベント左側のカラーバー(日/週ビュー)
df-month-event-color-bar通常イベントのカラーインジケーター(月ビュー)
df-all-day-row終日イベント行コンテナ
df-all-day-label終日ラベルテキスト
df-all-day-content終日イベントコンテンツエリア
df-all-day-cell個別の終日イベントセル
df-date-number日付番号の表示
df-current-time-line現在時刻インジケーターラインコンテナ
df-current-time-label現在時刻ラベルテキスト
df-current-time-bar現在時刻の水平線
df-calendar-checkboxカレンダー一覧や関連コントロールで再利用される共有チェックボックススタイル
df-portalPortal で描画されるフローティング UI のルートスコープクラス
df-range-pickerRange Picker のトリガーとポップアップに付くルートスコープクラス

セマンティック補助クラス

今回のスタイル再構成により、DayFlow はボタン状態や選択状態、破壊的アクション、フォーカスリングなどを表す安定した df-* セマンティッククラスを公開しています。これらは共有基盤 CSS で定義されており、カスタム slot やプラグイン UI から安全に再利用できます。

クラス名用途
df-fill-primaryプライマリ塗りつぶし背景 + 自動前景文字色
df-fill-secondaryセカンダリ塗りつぶし背景 + 自動前景文字色
df-fill-destructive破壊的アクション背景 + 自動前景文字色
df-tint-primaryプライマリ 10% ティント
df-tint-primary-mdプライマリ 20% ティント
df-tint-primary-lgプライマリ 30% ティント
df-hover-primaryプライマリ系ホバー状態
df-hover-primary-mdより強めのプライマリ系ホバー状態
df-hover-primary-solidプライマリ塗りつぶしボタンのホバー状態
df-hover-baseDayFlow の hover トークンを使う標準ホバー背景
df-hover-mutedmuted 系ホバー背景
df-hover-destructive破壊的アクションのホバー状態
df-text-primaryプライマリ文字色
df-text-muted弱めのテキスト色
df-text-primary-fgプライマリ背景上の文字色
df-text-secondary-fgセカンダリ背景上の文字色
df-text-destructive破壊的アクション文字色
df-text-destructive-fg破壊的背景上の文字色
df-bg-baseベースサーフェス背景
df-bg-cardカード背景
df-bg-sidebarサイドバー向けの muted 背景
df-bg-secondaryセカンダリ muted 背景
df-bg-tertiary第3レベル背景 / 区切り面
df-border-baseベース境界線
df-border-lightより軽い境界線
df-border-strongプライマリ token を使う強い境界線
df-border-primaryプライマリ境界線色
df-border-primary-soft柔らかいプライマリ境界線色
df-ring-primaryプライマリ ring トークン
df-ring-primary-solidソリッドなプライマリ ring トークン
df-shadow-sm小さめの影
df-shadow-md中程度の影
df-shadow-primaryプライマリ shadow トークン
df-focus-ring:focus 時にプライマリ border と ring を適用
df-focus-ring-only:focus 時に ring のみ適用
df-focus-border-primary:focus 時に border のみプライマリ化

テーマ調整では、これらの df-* クラスまたは --df-color-* 変数を優先してください。bg-primarytext-primaryhover:bg-primary/90 のような旧来の内部 Tailwind セマンティック名に依存しないでください。


レイアウトとモーションの補助クラス

これらのクラスは、カスタム slot コンテンツやプラグイン UI で DayFlow のレイアウトや入場アニメーションを再利用したいときに便利です。

クラス名用途
df-content-slot-stackedコンテンツスロットを縦積みし、利用可能な高さを埋める
df-scrollbar-hideスクロール動作を維持したままスクロールバーを隠す
df-animate-in入場アニメーションの基本タイミングヘルパー
df-fade-inフェードイン補助クラス
df-zoom-in-95わずかなズームイン補助クラス
df-animate-slide-up上方向スライドの入場アニメーション
df-animate-slide-down下方向スライドの退場アニメーション

日ビュー

日ビュー専用の CSS クラス。

クラス名説明
df-day-view日ビューコンテナ
df-day-event日ビューの個別イベント
df-day-time-gridタイムグリッドコンテナ
df-time-column時間列(時間を表示する左サイドバー)
df-time-slot個別のタイムスロットコンテナ(左列)
df-time-label時間ラベルテキスト(例:「13:00」)
df-time-grid-rowタイムグリッドの水平行
df-time-grid-cellタイムグリッドの個別セル
df-right-panel日ビューの右パネル(ミニカレンダー + イベントリスト)

週ビュー

週ビュー専用の CSS クラス。

クラス名説明
df-week-view週ビューコンテナ
df-week-event週ビューの個別イベント
df-week-header曜日名付きの週ヘッダーコンテナ
df-week-header-row曜日名を含む固定ヘッダー行
df-week-day-cellヘッダーの個別曜日セル
df-time-column時間列(時間を表示する左サイドバー)
df-time-slot個別のタイムスロットコンテナ(左列)
df-time-label時間ラベルテキスト
df-time-grid-rowタイムグリッドの水平行
df-time-grid-cellタイムグリッドの個別セル

月ビュー

月ビュー専用の CSS クラス。

クラス名説明
df-month-view月ビューコンテナ
df-month-grid月ビューのメイングリッドコンテナ
df-month-day-cell月ビューの個別日付セル
df-month-date-number-container日付番号エリアのコンテナ
df-month-date-number月ビューの日付番号
df-month-more-events非表示イベントの「+ x件」インジケーター
df-month-titleスクロール時のフローティング月タイトル

年ビュー

年ビュー専用の CSS クラス。これらは年間概要でのイベント外観のカスタマイズに特に便利です。

クラス名説明
df-year-eventイベント外側コンテナ - イベント要素全体をラップ
df-event-year-content年ビューイベントのコンテンツコンテナ - アイコン、タイトルなどを含む
df-event-year-title年ビューイベントのタイトルテキスト - 配置やフォントの調整に使用
df-event-icon-svgイベント描画で共通利用される SVG アイコンクラス。年ビューでも使用
df-event-year-indicator年ビューの時間指定イベント用カラーインジケーター
df-year-grid-monthGrid Year View の月カードコンテナ
df-year-fixed-day-cellFixed Week Year View の日セル

ミニカレンダー

ミニカレンダーコンポーネント(通常サイドバー或者日ビューに配置)用の CSS クラス。

クラス名説明
df-mini-calendarミニカレンダーコンテナ
df-mini-calendar-bodyミニカレンダー本体ラッパー
df-mini-calendar-header-nav月ナビゲーション行
df-mini-calendar-nav-btn前月 / 次月ボタン
df-mini-calendar-month-label現在月ラベル
df-mini-calendar-grid日付グリッドコンテナ
df-mini-calendar-header曜日ヘッダーセル(例:「月」、「火」)
df-mini-calendar-dayミニカレンダー日付ボタンのベースクラス
df-mini-calendar-day-cell日付セルの見た目を担うサーフェス
df-mini-calendar-day-number日付数字ラベル
df-mini-calendar-dots日セル内のイベントドットコンテナ
df-mini-calendar-dot個別のイベントドット

サイドバー

サイドバーコンポーネント用の CSS クラス。

クラス名説明
df-sidebarサイドバーコンテナ
df-sidebar-headerサイドバーヘッダーコンテナ
df-sidebar-toggleサイドバー折りたたみ/展開切り替えボタン
df-sidebar-header-titleサイドバーヘッダータイトル(「カレンダー」)
df-sidebar-list-shellサイドバーリストのスクロールラッパー
df-sidebar-listカレンダーリストコンテナ
df-sidebar-list-itemリスト内の個別カレンダー項目
df-sidebar-row各項目内のインタラクティブな行
df-sidebar-chip小型ラベル / chip
df-sidebar-dialogサイドバー用ダイアログコンテナ
df-sidebar-buttonサイドバー共通ボタン

ナビゲーション

ナビゲーションボタン用の CSS クラス。

クラス名説明
df-nav-buttonナビゲーション矢印ボタンのベースクラス(前へ/次へ)
df-calendar-nav-buttonカレンダーナビゲーション矢印ボタンのスタイルクラス
df-today-button「今日」ボタンのベースクラス
df-calendar-today-buttonカレンダー用「今日」ボタンのスタイルクラス

イベント詳細

イベント詳細パネルとダイアログ用の CSS クラス。

クラス名説明
df-event-detail-panelフローティングイベント詳細パネル
df-event-dialog-overlayイベント詳細ダイアログのオーバーレイルート
df-event-dialog-backdropイベント詳細ダイアログの背景
df-dialog-containerダイアログコンテンツコンテナ
df-event-dialog-closeイベント詳細ダイアログの閉じるボタン
df-portalフローティング UI の共通ルート

コンテンツスロット

コンテンツスロットレンダリングシステムに使用される CSS クラス。

クラス名説明
df-content-slotコンテンツスロットのコンテナ
df-slot-[id]特定のスロットインスタンスに割り当てられる動的クラス。[id] は一意の識別子です。

イベント状態属性

すべてのカレンダーイベント要素には、現在の状態を反映する data-* 属性が付与されています。クラスを追加しなくても、CSS の属性セレクターで直接ターゲットにできます。

属性説明
data-view"day" "week" "month" "year"そのイベントを表示している現在のビュー
data-all-day"true" "false"終日イベントかどうか
data-selected"true" "false"イベントが選択中かどうか
data-dragging"true" "false"イベントがドラッグ中かどうか
data-resizing"true" "false"イベントがリサイズ中かどうか
data-multi-day"true" "false"複数日にまたがるイベントかどうか
data-editable"true" "false"イベントが編集可能かどうか
data-segment-shape"full" "start" "middle" "end"複数セグメントイベントの角丸の形状

/* 選択中のイベント */
.df-event[data-selected='true'] {
  outline: 2px solid var(--df-color-primary);
}

/* ドラッグ中のイベント */
.df-event[data-dragging='true'] {
  opacity: 0.6;
}

/* 月ビューのイベントのみ */
.df-event[data-view='month'] {
  font-size: 11px;
}

/* 終日イベントのみ */
.df-event[data-all-day='true'] {
  font-weight: 600;
}

カスタマイズ方法

外観をカスタマイズするには、これらのクラスや --df-color-* 変数をグローバル CSS から上書きします。ほとんどのテーマ調整では !important は不要で、高い詳細度の局所ルールを意図的に上書きしたい場合だけ使ってください。

/* すべてのイベントの角丸を変更 */
.df-event {
  border-radius: 8px !important;
}

/* 現在時刻インジケーターをカスタマイズ */
.df-current-time-line {
  z-index: 100;
}
.df-current-time-bar {
  height: 3px !important;
  background-color: #ef4444 !important;
}

/* 特定のビューをカスタマイズ */
.df-day-view .df-event {
  border-left: 4px solid #3b82f6;
}

/* サイドバーのスタイル設定 */
.df-sidebar {
  background-color: #f8fafc !important;
}

/* ミニカレンダーのスタイル設定 */
.df-mini-calendar-day:hover {
  background-color: #e2e8f0;
}

/* カスタム slot / プラグイン UI で DayFlow のセマンティック色を再利用 */
.my-custom-primary-chip {
  background-color: var(--df-color-primary);
  color: var(--df-color-primary-foreground);
}

/* ダークモードの上書き */
.dark .df-calendar {
  background-color: #111827;
}

/* イベント詳細パネルのスタイル設定 */
.df-event-detail-panel {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
}

使用のヒント

  1. 詳細度: スタイルが適用されない場合は、カレンダーをカスタムクラスでラップして詳細度を上げてください:

    .my-custom-calendar .df-event { ... }
  2. レスポンシブデザイン: メディアクエリを使用して、モバイルデバイス向けにスタイルを調整します:

    @media (max-width: 768px) {
      .df-event-title {
        font-size: 10px;
      }
      .df-time-label {
        font-size: 10px;
      }
    }
  3. ダークモード: .dark セレクターを使用してダークモード専用のスタイルを設定します:

    .dark .df-month-day-cell {
      border-color: #374151;
    }
  4. CSS 変数: DayFlow は --df-color-* カスタムプロパティで色を管理しています。.df-calendar-container(フローティング UI には .df-portal も)で上書きすると、スコープを絞った色変更ができます:

    .df-calendar-container,
    .df-portal {
      --df-color-primary: #3b82f6;
      --df-color-primary-foreground: #ffffff;
    }

旧バージョンからのアップグレード

破壊的変更:calendar-event クラスの削除

イベント要素から calendar-event クラスが削除されました。スタイルシートで .calendar-event { ... } を使用している場合は、.df-event { ... } に変更してください。

以前 DayFlow の DOM 要素に付いていた Tailwind utility クラス(flexrounded-mdshadow-sm など)もすべて削除されました。これらはパブリック API の一部ではありませんでした。すべての CSS カスタマイズには、ドキュメントに記載された df-* クラスと data-* 属性を使用してください。

関連ドキュメント

On this page