These features exist in v4 but may need dedicated documentation pages or sections:
wire:intersect directive- Full API with all modifiers (.once, .half, .full, .threshold.X, .margin.Xpx) - Usage patterns and examples - Comparison with Alpine's x-intersect - Suggested location: New docs page or section in wire-* directives
data-loading attribute- Automatic addition to elements that trigger requests - Styling examples and use cases - Suggested location: Section in wire-loading.md or actions.md
wire:preserve-scroll modifier- How it works and when to use it - Examples of preventing layout jumps - Suggested location: Actions.md or new wire-preserve-scroll.md
$errors magic property in JavaScript- Full API (.has(), .first(), .all(), etc.) - Integration with Alpine - Suggested location: Forms.md or validation.md
$island() magic action- Calling island renders from templates - Passing modes and options - Suggested location: Islands.md (add a section)
$wire.$intercept() magic- Full API and callback structure - Use cases and examples - Suggested location: JavaScript.md (interceptors section)
- How <script> tags work without @script wrapper - Automatic $wire binding as this - Module caching and performance benefits - Suggested location: Components.md or JavaScript.md
- Complete list of what expressions are not allowed - Migration guide for existing apps - Workarounds and alternatives - Suggested location: New security.md section or dedicated csp.md page
- Complete guide on using slots in components - {{ $attributes }} usage and examples - Suggested location: Components.md
- How it works behind the scenes
- When you still need manual wire:key
- Suggested location: Nesting.md or components.md
- How to use namespaced components
- Examples: <livewire:pages::dashboard />
- Suggested location: Components.md
- Livewire.hook('fragment.morph', ...) and fragment.morphed
- When to use vs regular morph hooks
- Suggested location: JavaScript.md (hooks section)