{{- $page := .page }}
{{- if and (not $page) .context }}
  {{- $page = .context }}
  {{- $filepath := "[virtual file]" }}{{ with and $page $page.File $page.File.Filename }}{{ $filepath = . }}{{ end }}
  {{- warnf "%q: DEPRECATED parameter 'context' for shortcode 'tabs' found, use 'page' instead; see https://mcshelby.github.io/hugo-theme-relearn/introduction/releasenotes/5/#5-18-0" $filepath }}
{{- end }}
{{- $groupid := .groupid | default (partial "_relearn/makeRandomMd5.gotmpl" $page) | plainify | anchorize }}
{{- $color := .color }}
{{- $style := .style }}
{{- $title := .title }}
{{- $icon := .icon }}
{{- $tabs := slice }}
{{- range $tab := (.content | default slice) }}
  {{- if and (not $tab.title) $tab.name }}
    {{- $filepath := "[virtual file]" }}{{ with and $page $page.File $page.File.Filename }}{{ $filepath = . }}{{ end }}
    {{- warnf "%q: DEPRECATED parameter 'name' for shortcode 'tab' found, use 'title' instead; see https://mcshelby.github.io/hugo-theme-relearn/introduction/releasenotes/5/#5-16-0" $filepath }}
    {{- $tab = merge $tab (dict "title" .name) }}
  {{- end }}
  {{- with $tab }}
    {{- $color := .color | default $color | default "" }}
    {{- $content := trim .content "\n\r\t " }}
    {{- $hasContent := ne (strings.TrimPrefix "<p>" $content) "" }}
    {{- if not (hasPrefix $content "<") }}
      {{- $content = printf "<p>\n%s" $content }}
    {{- end }}
    {{- $style := .style | default $style | default (cond (ne $color "") "filled" "initial") }}
    {{- $boxStyle := partial "_relearn/boxStyle.gotmpl" (dict "style" $style "title" .title "icon" .icon) }}
    {{- $title := trim ($boxStyle.title) " " }}
    {{- $icon := trim ($boxStyle.icon) " " }}
    {{- if and $icon (not (findRE ".*?\\bfa-\\w.*?" $icon)) }}
      {{- $icon = printf "fa-fw fas fa-%s" $icon }}
    {{- end }}
    {{- if $hasContent }}
      {{- $tabs = $tabs | append (dict
        "color"   $color
        "content" $content
        "icon"    $icon
        "itemid"  (printf "%s%s" ($title | $page.RenderString | plainify | anchorize) ($icon | plainify | anchorize))
        "style"   $style
        "title"   $title
      ) }}
    {{- end }}
  {{- end }}
{{- end }}
{{- $color = .color | default "" }}
{{- $style = .style | default (cond (ne $color "") "filled" "initial") }}
{{- $boxStyle := partial "_relearn/boxStyle.gotmpl" (dict "style" $style "title" .title "icon" .icon) }}
{{- $title := trim ($boxStyle.title) " " }}
{{- $icon := trim ($boxStyle.icon) " " }}
{{- if and $icon (not (findRE ".*?\\bfa-\\w.*?" $icon)) }}
  {{- $icon = printf "fa-fw fas fa-%s" $icon }}
{{- end }}
{{- with $page }}
  {{- if len $tabs -}}
<div class="tab-panel" data-tab-group="{{ $groupid }}">
  <div class="tab-nav">
    <div class="tab-nav-title">{{ if $icon }}<i class="{{ $icon }}"></i>{{ end }}{{ if and $icon $title }} {{ end }}{{ $title | $page.RenderString }}{{ if (not $title) }}&#8203;{{ end }}</div>
    {{- range $idx, $tab := $tabs }}
    <button
      data-tab-item="{{ .itemid }}"
      class="tab-nav-button tab-panel-style cstyle {{ .style }}{{ cond (eq $idx 0) " active" ""}}"{{ if .color }} style="--VARIABLE-BOX-color: {{ .color }};"{{ end }}{{ if eq $idx 0 }} tabindex="-1"{{ end }}
      onclick="switchTab('{{ $groupid }}','{{ .itemid }}')"
    >
      <span class="tab-nav-text">{{ if .icon }}<i class="{{ .icon }}"></i>{{ end }}{{ if and .icon .title }} {{ end }}{{ .title | $page.RenderString }}{{ if (not .title) }}&#8203;{{ end }}</span>
    </button>
    {{- end }}
  </div>
  <div class="tab-content-container">
    {{- range $idx, $tab := $tabs }}
    <div
      data-tab-item="{{ .itemid }}"
      class="tab-content tab-panel-style cstyle {{ .style }}{{ cond (eq $idx 0) " active" ""}}"{{ if .color }} style="--VARIABLE-BOX-color: {{ .color }};"{{ end }}>
      <div class="tab-content-text">
{{ .content | safeHTML }}
      </div>
    </div>
    {{- end }}
  </div>
</div>
  {{- end }}
{{- end }}