### Layout Plugin

The Layout plugin manages CSS transitions during layout changes and signals when the app has finished loading.

##### Behavior

The Layout plugin performs two key tasks automatically:

1. Hold Transitions - During window resize, CSS transitions on the sidebar, navbar, and content area are temporarily disabled to prevent visual glitches. The `hold-transition` class is added to `<body>` for the duration.

2. App Loaded Signal - After a 400ms delay on DOMContentLoaded, the `app-loaded` class is added to `<body>`. Use this class in CSS to defer animations until the app is ready, preventing flicker on initial page load.

##### CSS Classes

Class | Description
--- | ---
`hold-transition` | Temporarily disables CSS transitions on layout elements. Applied during window resize.
`app-loaded` | Added to `<body>` after the initial layout is ready. Use for entrance animations.

##### Usage in CSS

    /* Hide sidebar transitions until the app is loaded */
    body:not(.app-loaded) .app-sidebar {
      transition: none !important;
    }

    /* Only animate after app is loaded */
    body.app-loaded .app-sidebar {
      transition: width 0.3s ease;
    }

##### Notes

- The `hold-transition` class is automatically removed after 200ms (on resize) or 100ms (default).
- No data attributes or manual initialization required. The plugin initializes automatically.