All rules

Sheath rule

blade-reactive-directive-conflicts

One client-side behavior should have one owner on each rendered path.
Package
Core
Category
Blade
Default severity
error by default
Auto-fix
Manual fix

#Why

Directives conflict when they can run together and compete for model, display, content, navigation, sorting, or bound-attribute state. Examples include x-text with x-html and two Alpine bindings for the same attribute. Static visibility blockers and impossible listener combinations are also reported, including passive prevention, .window.document, and .self.outside or .self.away.

Mutually exclusive Blade branches are accepted. Dynamic class and attribute bindings are not checked when they may remove a static visibility blocker. Component invocation attributes are outside scope because their rendered browser markup is not known.

#Examples

#Bad

<form @submit.passive.prevent="save"></form>

#Good

<form @submit.prevent="save"></form>