Can someone provide a better example than the handbook/reference?
Why would you hard-code these same classes into every element using the same controller? Just to be able to customize the class name but without providing a default?
Doesn’t add any state management of classes to controllers. Purely for reusability?
It allows you to use different CSS classes for different use cases (e.g. controller re-usablity).
If you want have a default then you can manually fallback to it in your controller or just hard code the class name in the controller and use it all the time.
Yes, I guess decoupling the classes from the controllers has a few benefits, namely paving the way for sharing completely reusable controllers. Better to tell the controller what css class to use rather than adapt your project to predetermined classes.
Perhaps I was thinking too much, searching for something more complex. Ah the beautiful simplicity of Stimulus!
I agree with your points above. I also think it helps prevent mistyping class names. I was going through a controller that had the same class in two spots, once where it was added, and once where it was removed. Adding the CSS class made the code clearer, and I even fixed a bug where I had the wrong class name.