/**
  * This returns a generated link html including the icon used for the action link for EE_Message actions.
  *
  * @since 4.9.0
  *
  * @param string $type What type of action the link is for (if invalid type is passed in then an
  *                     empty string is returned)
  * @param EE_Message|null $message  The EE_Message object (required for some actions to generate correctly)
  * @param array           $query_params Any extra query params to include in the generated link.
  *
  * @return string
  */
 public static function get_message_action_link($type, EE_Message $message = null, $query_params = array())
 {
     $url = EEH_MSG_Template::get_message_action_url($type, $message, $query_params);
     $icon_css = EEH_MSG_Template::get_message_action_icon($type);
     $title = isset($icon_css['label']) ? 'title="' . $icon_css['label'] . '"' : '';
     if (empty($url) || empty($icon_css) || !isset($icon_css['css_class'])) {
         return '';
     }
     $icon_css['css_class'] .= esc_attr(apply_filters('FHEE__EEH_MSG_Template__get_message_action_link__icon_css_class', ' js-ee-message-action-link ee-message-action-link-' . $type, $type, $message, $query_params));
     return '<a href="' . $url . '"' . $title . '><span class="' . esc_attr($icon_css['css_class']) . '"></span></a>';
 }