Download src/lib/components/common/Collapsible.svelte from ZCLStu/llm: direct link, hf CLI and curl.
- Browser
- Download file 1.09 kB
-
https://huggingface.co/spaces/ZCLStu/llm/resolve/main/src/lib/components/common/Collapsible.svelte
- Command line
-
hf download hf://spaces/ZCLStu/llm/src/lib/components/common/Collapsible.svelte
-
curl -L -o Collapsible.svelte https://huggingface.co/spaces/ZCLStu/llm/resolve/main/src/lib/components/common/Collapsible.svelte
1.09 kB
| <script lang="ts"> | |
| import { slide } from 'svelte/transition'; | |
| import { quintOut } from 'svelte/easing'; | |
| import ChevronUp from '../icons/ChevronUp.svelte'; | |
| import ChevronDown from '../icons/ChevronDown.svelte'; | |
| export let open = false; | |
| export let className = ''; | |
| export let title = null; | |
| </script> | |
| <div class={className}> | |
| {#if title !== null} | |
| <button class="w-full" on:click={() => (open = !open)}> | |
| <div class=" w-full font-medium transition flex items-center justify-between gap-2"> | |
| <div> | |
| {title} | |
| </div> | |
| <div> | |
| {#if open} | |
| <ChevronUp strokeWidth="3.5" className="size-3.5 " /> | |
| {:else} | |
| <ChevronDown strokeWidth="3.5" className="size-3.5 " /> | |
| {/if} | |
| </div> | |
| </div> | |
| </button> | |
| {:else} | |
| <button on:click={() => (open = !open)}> | |
| <div | |
| class="flex items-center gap-2 text-gray-500 hover:text-gray-700 dark:hover:text-gray-300 transition" | |
| > | |
| <slot /> | |
| </div> | |
| </button> | |
| {/if} | |
| {#if open} | |
| <div transition:slide={{ duration: 300, easing: quintOut, axis: 'y' }}> | |
| <slot name="content" /> | |
| </div> | |
| {/if} | |
| </div> | |