mirror of
https://github.com/gethinode/hinode.git
synced 2025-10-12 04:23:14 +00:00
31 lines
1.1 KiB
HTML
31 lines
1.1 KiB
HTML
<!--
|
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
|
Visit gethinode.com/license for more details.
|
|
-->
|
|
|
|
{{ $error := false }}
|
|
|
|
<!-- Validate arguments -->
|
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "accordion" "args" .Params) }}
|
|
{{ errorf "Invalid arguments: %s" .Position -}}
|
|
{{ $error = true }}
|
|
{{ end }}
|
|
|
|
<!-- Main code -->
|
|
{{ if not $error }}
|
|
{{- $id := printf "accordion-%d" .Ordinal -}}
|
|
{{ with .Get "id" }}{{ $id = . }}{{ end }}
|
|
{{- $class := .Get "class" | default "" -}}
|
|
{{- $open := false -}}
|
|
{{ with .Get "always-open" }}{{ $open = partial "utilities/CastBool.html" . }}{{ end -}}
|
|
{{- $body := .Inner -}}
|
|
{{- if $open -}}
|
|
{{- $pattern := printf "data-bs-parent=\"#%s\"" $id -}}
|
|
{{- $body = (replace .Inner $pattern "") }}
|
|
{{- end -}}
|
|
|
|
<div id="{{ $id }}" class="accordion mb-3{{ with $class }} {{ . }}{{ end }}">
|
|
{{- $body | safeHTML -}}
|
|
</div>
|
|
{{ end }} |