{{- /*
A shortcode for rendering a badge with a link.

@param {string} link The link of the badge.
@param {string} class The class of the badge.
@param {string} style The style of the badge.

@example {{< hextra/hero-badge >}}{{< /hextra/hero-badge >}}
*/ -}}

{{- $link := .Get "link" -}}
{{- $external := hasPrefix $link "http" -}}
{{- $href := cond (hasPrefix $link "/") ($link | relURL) $link -}}
{{- $class := .Get "class" }}
{{- $style := .Get "style" -}}

<a
  {{ if $link }}href="{{ $href }}"{{ end }}
  class="{{ $class }} not-prose hx:inline-flex hx:items-center hx:rounded-full hx:gap-2 hx:px-3 hx:py-1 hx:text-xs hx:text-gray-600 hx:dark:text-gray-400 hx:bg-gray-100 hx:dark:bg-neutral-800 hx:border-gray-200 hx:dark:border-neutral-800 hx:border hx:hover:border-gray-400 hx:dark:hover:text-gray-50 hx:dark:hover:border-gray-600 hx:transition-all hx:ease-in hx:duration-200"
  {{ with $style }}style="{{ . | safeCSS }}"{{ end }}
  {{ if $external }}target="_blank" rel="noreferrer"{{ end -}}
>
  {{ .Inner | markdownify }}
</a>
