Support disabled state in anchor without using disabled attribute
The disabled HTML attribute is only supported for certain HTML tags, not including <a>. We should make sure that the disabled attribute doesn't end up on the anchor since it creates bad expectations. Instead, we should mark disabled state via a class.
I think we could just omit sending disabled to the underlying HTML element. Using a disabled prop still makes sense for the Link component contract since passing disabled will also disconnect the click event handlers and navigation, not just change the styling.
I don't have a problem with supporting an extended featureset beyond the native link, and disabled is an intuitive name imo.
+1. We should keep the disabled prop on the <Link> component and just turn it into a classname on the underlying anchor.
With styled-components I'm not sure a classname is necessary, since we can just pass it in as a prop to do conditional styling (styled-components internally will generate a new classname variant for this).
We don't need a classname for styling, we need it to be able to assert state on when an anchor is disabled when testing.