* feat(frontend): Run page v2 * feat(frontend): Run page v2 * feat(frontend): Run page v2 * feat(frontend): migrate script details * feat(frontend): migrate script details * feat(frontend): done * feat(frontend): revert * feat(frontend): fix archive script * feat(frontend): remove old run page * feat(frontend): Update wording * feat(frontend): done * feat(frontend): Remove buttons for operator mode * feat(frontend): Fix spacing + add protocol * feat(frontend): Fix build
27 lines
700 B
Svelte
27 lines
700 B
Svelte
<script lang="ts">
|
|
import { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons'
|
|
|
|
import Icon from 'svelte-awesome'
|
|
import { Button } from './common'
|
|
import { slide } from 'svelte/transition'
|
|
import { twMerge } from 'tailwind-merge'
|
|
|
|
export let open = false
|
|
export let text: string
|
|
export let small = false
|
|
</script>
|
|
|
|
<div class={twMerge('flex', $$props.class)}>
|
|
<Button
|
|
variant="border"
|
|
color="light"
|
|
btnClasses="text-gray-600 {small ? 'text-xs' : ''} "
|
|
on:click={() => (open = !open)}
|
|
>
|
|
{text} <Icon data={open ? faChevronUp : faChevronDown} scale={0.5} />
|
|
</Button>
|
|
</div>
|
|
{#if open}
|
|
<div transition:slide|local={{ duration: 100 }}><slot /></div>
|
|
{/if}
|