message: feat: unset hover styles when disabled
  Remove hover styles when the button is disabled for usability concerns. Prefer this over `pointerEvents: none` to ensure tooltips continue to work and `cursor: not-allowed` is respected.
diff: @@ -22,7 +22,12 @@ function variantGhost(props: Dict) {
  if (c === "gray") {
  return {
  color: mode(`inherit`, `whiteAlpha.900`)(props),
  - _hover: { bg: mode(`gray.100`, `whiteAlpha.200`)(props) },
  + _hover: {
  + bg: mode(`gray.100`, `whiteAlpha.200`)(props),
  + _disabled: {
  + bg: "transparent",
  + },
  + },
  _active: { bg: mode(`gray.200`, `whiteAlpha.300`)(props) },
  }
  }
  @@ -35,6 +40,9 @@ function variantGhost(props: Dict) {
  bg: "transparent",
  _hover: {
  bg: mode(`${c}.50`, darkHoverBg)(props),
  + _disabled: {
  + bg: "transparent",
  + },
  },
  _active: {
  bg: mode(`${c}.100`, darkActiveBg)(props),
  @@ -81,7 +89,12 @@ function variantSolid(props: Dict) {
  if (c === "gray")
  return {
  bg: mode(`gray.100`, `whiteAlpha.200`)(props),
  - _hover: { bg: mode(`gray.200`, `whiteAlpha.300`)(props) },
  + _hover: {
  + bg: mode(`gray.200`, `whiteAlpha.300`)(props),
  + _disabled: {
  + bg: mode(`gray.100`, `whiteAlpha.200`)(props),
  + },
  + },
  _active: { bg: mode(`gray.300`, `whiteAlpha.400`)(props) },
  }
  @@ -94,7 +107,12 @@ function variantSolid(props: Dict) {
  return {
  bg: mode(bg, `${c}.200`)(props),
  color: mode(color, `gray.800`)(props),
  - _hover: { bg: mode(hoverBg, `${c}.300`)(props) },
  + _hover: {
  + bg: mode(hoverBg, `${c}.300`)(props),
  + _disabled: {
  + bg: mode(bg, `${c}.200`)(props),
  + },
  + },
  _active: { bg: mode(activeBg, `${c}.400`)(props) },
  }
  }
  @@ -106,7 +124,12 @@ function variantLink(props: Dict) {
  height: "auto",
  lineHeight: "normal",
  color: mode(`${c}.500`, `${c}.200`)(props),
  - _hover: { textDecoration: "underline" },
  + _hover: {
  + textDecoration: "underline",
  + _disabled: {
  + textDecoration: "none",
  + },
  + },
  _active: {
  color: mode(`${c}.700`, `${c}.500`)(props),
  },
  