function updatePseudoClassStyle(styleId, caretStyleId, properties) {
  const hoverStyle = {
    ...style.hoverStyle,
    ...properties.hoverStyle,
  };
  const focusStyle = {
    ...style.focusStyle,
    ...properties.focusStyle,
  };
  const disabledHoverStyle = {
    ...style.disabledHoverStyle,
    ...properties.disabledHoverStyle,
  };
  const caretFocusStyle = {
    ...style.caretFocusStyle,
  };

  const styles = [
    {
      id: styleId,
      style: hoverStyle,
      pseudoClass: 'hover',
    },
    {
      id: styleId,
      style: disabledHoverStyle,
      pseudoClass: 'hover',
      disabled: true,
    },
    {
      id: styleId,
      style: focusStyle,
      pseudoClass: 'focus',
    },
    {
      id: caretStyleId,
      style: caretFocusStyle,
      pseudoClass: 'focus',
    },
  ];
  injectStyles(styles);
}
Update hover style for the specified styleId.

@param styleId {string} - a unique id that exists as class attribute in the DOM
@param caretStyleId {string} - unique is assigned as class to caret span
@param properties {object} - the components properties optionally containing hoverStyle