|
31 | 31 | body="And some content and an icon!"
|
32 | 32 | >}}
|
33 | 33 |
|
| 34 | +{{< dropdown |
| 35 | + title="Open dropdown by default" |
| 36 | + icon="fa-solid fa-eye" |
| 37 | + color="info" |
| 38 | + open="true" |
| 39 | + body="This dropdown is open by default!" |
| 40 | +>}} |
| 41 | + |
| 42 | +{{< dropdown |
| 43 | + title="Fade in animation" |
| 44 | + icon="fa-solid fa-magic" |
| 45 | + animate="fade-in" |
| 46 | + body="This dropdown fades in when opened." |
| 47 | +>}} |
| 48 | + |
| 49 | +{{< dropdown |
| 50 | + title="Fade in and slide down animation" |
| 51 | + icon="fa-solid fa-chart-line" |
| 52 | + animate="fade-in-slide-down" |
| 53 | + body="This dropdown fades in and slides down when opened." |
| 54 | +>}} |
| 55 | + |
| 56 | +{{< dropdown |
| 57 | + title="Using chevron: `down-up`" |
| 58 | + icon="fa-solid fa-cog" |
| 59 | + chevron="down-up" |
| 60 | + body="Notice the different chevron direction!" |
| 61 | +>}} |
| 62 | + |
| 63 | +{{< dropdown |
| 64 | + title="A custom chevron with an animation" |
| 65 | + icon="fa-solid fa-star" |
| 66 | + chevron="down-up" |
| 67 | + animate="fade-in" |
| 68 | + color="warning" |
| 69 | + body="Here's to combining different features!" |
| 70 | +>}} |
| 71 | + |
34 | 72 | */}}
|
35 | 73 |
|
36 | 74 | {{- $dropdown := dict -}}
|
37 | 75 | {{- range $key, $value := .Params -}}
|
38 | 76 | {{- $dropdown = merge $dropdown (dict $key $value) -}}
|
39 | 77 | {{- end -}}
|
40 | 78 |
|
41 |
| -<details class="sd-card sd-dropdown sd-mb-3"> |
42 |
| - {{- with $dropdown.color }} |
43 |
| - <summary class="sd-summary-title sd-card-header sd-bg-{{ . }} sd-bg-text-{{ . }}"> |
44 |
| - {{- else }} |
45 |
| - <summary class="sd-summary-title sd-card-header"> |
46 |
| - {{- end }} |
47 |
| - {{- with $dropdown.icon }} |
48 |
| - <span class="sd-summary-icon"><i class="fa {{ . }}"></i></span> |
49 |
| - {{- end }} |
50 |
| - {{- with $dropdown.title }} |
51 |
| - {{- . }} |
52 |
| - {{- else }} |
53 |
| - <i class="fas fa-ellipsis-h"></i> |
54 |
| - {{- end }} |
55 |
| - </summary> |
56 |
| - <div class="sd-summary-content sd-card-body"> |
57 |
| - {{- with (trim $dropdown.body "\n") }} |
58 |
| - {{- . | markdownify }} |
| 79 | +{{- /* Determine chevron type based on chevron parameter, and with some defaults */ -}} |
| 80 | +{{- $chevronClass := "sd-summary-chevron-right" -}} |
| 81 | +{{- $chevronIcon := "fa-chevron-right" -}} |
| 82 | +{{- if eq $dropdown.chevron "down-up" -}} |
| 83 | + {{- $chevronClass = "sd-summary-chevron-down" -}} |
| 84 | + {{- $chevronIcon = "fa-chevron-down" -}} |
| 85 | +{{- end -}} |
| 86 | + |
| 87 | +{{- $detailsClasses := slice "sd-sphinx-override" "sd-dropdown" "sd-card" "sd-mb-3" -}} |
| 88 | +{{- with $dropdown.animate -}} |
| 89 | + {{- $detailsClasses = $detailsClasses | append (printf "sd-%s" .) -}} |
| 90 | +{{- end -}} |
| 91 | + |
| 92 | +<details class="{{ delimit $detailsClasses " " }}"{{ if eq $dropdown.open "true" }} open="open"{{ end }}> |
| 93 | + {{- $summaryClasses := slice "sd-summary-title" "sd-card-header" -}} |
| 94 | + {{- with $dropdown.color -}} |
| 95 | + {{- $summaryClasses = $summaryClasses | append (printf "sd-bg-%s" .) -}} |
| 96 | + {{- $summaryClasses = $summaryClasses | append (printf "sd-bg-text-%s" .) -}} |
| 97 | + {{- end -}} |
| 98 | + |
| 99 | + <summary class="{{ delimit $summaryClasses " " }}"> |
| 100 | + {{- with $dropdown.icon }} |
| 101 | + <span class="sd-summary-icon"><i class="fa {{ . }}"></i></span> |
| 102 | + {{- end }} |
| 103 | + <span class="sd-summary-text"> |
| 104 | + {{- with $dropdown.title }} |
| 105 | + {{- . }} |
| 106 | + {{- else }} |
| 107 | + <i class="fas fa-ellipsis-h no-title sd-octicon"></i> |
59 | 108 | {{- end }}
|
| 109 | + </span> |
| 110 | + <span class="sd-summary-state-marker {{ $chevronClass }}"> |
| 111 | + <i class="fas {{ $chevronIcon }}"></i> |
| 112 | + </span> |
| 113 | + </summary> |
| 114 | + <div class="sd-summary-content sd-card-body docutils"> |
| 115 | + {{ with (trim $dropdown.body "\n") }} |
| 116 | + <p class="sd-card-text">{{ . | markdownify | plainify }}</p> |
| 117 | + {{ end }} |
60 | 118 | </div>
|
61 | 119 | </details>
|
0 commit comments