{{ $error := false }} {{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "nav" "child" "nav-item" "args" .Params "group" "shortcode") }} {{ errorf "Invalid arguments: %s" .Position -}} {{ $error = true }} {{ end }} {{- $id := .Get "id" | default (printf "nav-%d" .Ordinal) -}} {{- $class := .Get "class" | default "" -}} {{ $type := .Get "type" | default "" -}} {{ $supportedNavTypes := slice "tabs" "pills" "underline" "callout" -}} {{ $vertical := false -}} {{ with .Get "vertical" }}{{ $vertical = partial "utilities/CastBool.html" . }}{{ end -}} {{ $wrap := false -}} {{ with .Get "wrap" }}{{ $wrap = partial "utilities/CastBool.html" . }}{{ end -}} {{- if and (eq $type "tabs") $vertical -}} {{- errorf "Tabs do not support vertical layout" -}} {{- end -}} {{ $inner := .Scratch.Get "inner" }} {{ $input := trim .Inner " \r\n" }} {{ if $input }} {{ $input = replace $input "\n" "\n " }} {{ warnf "Unexpected inner content: %s\r\n %s" .Position $input }} {{ end }} {{- $items := findRE "data-header=\"(.+?)\"" $inner -}} {{- $showVal := findRE "data-show-id=\"(.+?)\"" $inner -}} {{- $showID := -1 -}} {{- if gt (len $showVal) 0 -}} {{- $showID = int (partial "utilities/GetVal.html" (index $showVal 0)) -}} {{- end -}} {{ $disabled := slice -}} {{- $disabledVal := findRE "data-disabled-id=\"(.+?)\"" $inner -}} {{- range $item := $disabledVal -}} {{- $disabled = $disabled | append (int (partial "utilities/GetVal.html" $item)) -}} {{- end -}} {{- $hasContent := gt (len (findRE "data-has-content=\"true\"" $inner)) 0 -}} {{ $alternative := .Scratch.Get "alternative" }} {{ if and (eq $type "callout") $alternative }}