# 画面遷移図

本ドキュメントはLaravelフレームワークのビューコンポーネントの構成と関係を示す図です。

## 全体構成図

```mermaid
graph TB
    subgraph App["アプリケーション"]
        Request["HTTPリクエスト"]
    end

    subgraph ErrorViews["エラー画面"]
        Layout["layout.blade.php<br/>（共通レイアウト）"]
        Minimal["minimal.blade.php<br/>（ミニマルレイアウト）"]

        E401["401.blade.php"]
        E402["402.blade.php"]
        E403["403.blade.php"]
        E404["404.blade.php"]
        E419["419.blade.php"]
        E429["429.blade.php"]
        E500["500.blade.php"]
        E503["503.blade.php"]

        E401 --> Minimal
        E402 --> Minimal
        E403 --> Minimal
        E404 --> Minimal
        E419 --> Minimal
        E429 --> Minimal
        E500 --> Minimal
        E503 --> Minimal
    end

    Request -->|"エラー発生"| ErrorViews
```

## エラー画面の継承関係

```mermaid
graph LR
    subgraph ErrorInheritance["エラー画面継承"]
        Minimal["minimal.blade.php"]

        E401["401 Unauthorized"]
        E402["402 Payment Required"]
        E403["403 Forbidden"]
        E404["404 Not Found"]
        E419["419 Page Expired"]
        E429["429 Too Many Requests"]
        E500["500 Server Error"]
        E503["503 Service Unavailable"]

        E401 -->|"@extends"| Minimal
        E402 -->|"@extends"| Minimal
        E403 -->|"@extends"| Minimal
        E404 -->|"@extends"| Minimal
        E419 -->|"@extends"| Minimal
        E429 -->|"@extends"| Minimal
        E500 -->|"@extends"| Minimal
        E503 -->|"@extends"| Minimal
    end
```

## ページネーションビュー

```mermaid
graph TB
    subgraph Pagination["ページネーション"]
        Default["default.blade.php<br/>（標準）"]

        subgraph Bootstrap["Bootstrap系"]
            BS4["bootstrap-4.blade.php"]
            BS5["bootstrap-5.blade.php"]
            SimpleBS4["simple-bootstrap-4.blade.php"]
            SimpleBS5["simple-bootstrap-5.blade.php"]
        end

        subgraph Tailwind["Tailwind系"]
            TW["tailwind.blade.php"]
            SimpleTW["simple-tailwind.blade.php"]
        end

        subgraph Other["その他"]
            SUI["semantic-ui.blade.php"]
            SimpleDefault["simple-default.blade.php"]
        end
    end
```

## メールテンプレート構成

```mermaid
graph TB
    subgraph MailHTML["HTMLメールテンプレート"]
        HTMLLayout["layout.blade.php"]
        HTMLMessage["message.blade.php"]
        HTMLHeader["header.blade.php"]
        HTMLFooter["footer.blade.php"]
        HTMLButton["button.blade.php"]
        HTMLPanel["panel.blade.php"]
        HTMLTable["table.blade.php"]
        HTMLSubcopy["subcopy.blade.php"]

        HTMLMessage -->|"使用"| HTMLLayout
        HTMLMessage -->|"使用"| HTMLHeader
        HTMLMessage -->|"使用"| HTMLFooter
        HTMLMessage -->|"使用"| HTMLSubcopy
    end

    subgraph MailText["テキストメールテンプレート"]
        TextLayout["layout.blade.php"]
        TextMessage["message.blade.php"]
        TextHeader["header.blade.php"]
        TextFooter["footer.blade.php"]
        TextButton["button.blade.php"]
        TextPanel["panel.blade.php"]
        TextTable["table.blade.php"]
        TextSubcopy["subcopy.blade.php"]

        TextMessage -->|"使用"| TextLayout
        TextMessage -->|"使用"| TextHeader
        TextMessage -->|"使用"| TextFooter
    end
```

## 通知メールの構成

```mermaid
graph LR
    Notification["通知システム"]
    NotificationEmail["email.blade.php"]
    MailMessage["mail::message<br/>コンポーネント"]

    Notification -->|"送信"| NotificationEmail
    NotificationEmail -->|"使用"| MailMessage
```

## 例外レンダラー構成

```mermaid
graph TB
    subgraph ExceptionRenderer["例外レンダラー"]
        Show["show.blade.php<br/>（メイン画面）"]
        Markdown["markdown.blade.php"]
        ExLayout["layout.blade.php"]

        subgraph Components["コンポーネント"]
            Header["header"]
            Topbar["topbar"]
            Trace["trace"]
            Frame["frame"]
            VendorFrame["vendor-frame"]
            VendorFrames["vendor-frames"]
            FrameCode["frame-code"]
            FormattedSource["formatted-source"]
            SyntaxHighlight["syntax-highlight"]
            Query["query"]
            Routing["routing"]
            RoutingParam["routing-parameter"]
            ReqHeader["request-header"]
            ReqBody["request-body"]
            ReqUrl["request-url"]
            HttpMethod["http-method"]
            FileWithLine["file-with-line"]
            SectionContainer["section-container"]
            Separator["separator"]
            Badge["badge"]
            EmptyState["empty-state"]
            ASCIISpotlight["laravel-ascii-spotlight"]
        end

        subgraph Icons["アイコン"]
            Alert["alert"]
            Check["check"]
            Copy["copy"]
            Database["database"]
            Folder["folder"]
            FolderOpen["folder-open"]
            Globe["globe"]
            Info["info"]
            LaravelASCII["laravel-ascii"]
            ChevronLeft["chevron-left"]
            ChevronRight["chevron-right"]
            ChevronsLeft["chevrons-left"]
            ChevronsRight["chevrons-right"]
            ChevronsUpDown["chevrons-up-down"]
            ChevronsDownUp["chevrons-down-up"]
        end

        Show -->|"使用"| ExLayout
        Show -->|"使用"| Header
        Show -->|"使用"| Topbar
        Show -->|"使用"| Trace
        Show -->|"使用"| Query
        Show -->|"使用"| Routing
        Show -->|"使用"| RoutingParam
        Show -->|"使用"| ReqHeader
        Show -->|"使用"| ReqBody
        Show -->|"使用"| ASCIISpotlight

        Trace -->|"使用"| Frame
        Trace -->|"使用"| VendorFrames
        Frame -->|"使用"| FrameCode
        FrameCode -->|"使用"| FormattedSource
        FormattedSource -->|"使用"| SyntaxHighlight
    end
```

## ヘルスチェック画面

```mermaid
graph LR
    HealthEndpoint["/up エンドポイント"]
    HealthUp["health-up.blade.php"]

    HealthEndpoint -->|"表示"| HealthUp
```

## カテゴリ別画面数

| カテゴリ | 画面数 |
|---------|--------|
| エラー画面 | 10 |
| ページネーション | 9 |
| メールテンプレート（HTML） | 8 |
| メールテンプレート（テキスト） | 8 |
| 例外レンダラー | 25 |
| 例外レンダラー（アイコン） | 15 |
| ヘルスチェック | 1 |
| 通知 | 1 |
| **合計** | **77** |
