mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-23 16:00:38 +00:00
3e5a179eb8
* fix(frontend): App icon select double click issue * fix(frontend): Update script metadata page * fix(frontend): Set dropdown default icon to vertical dots * fix(frontend): Clean up * fix(frontend): Update table styles * fix(frontend): Add spacing to secondary menu items * fix(frontend): Scale down full path * fix(frontend): Table loading state * fix(frontend): Hide script kind setting by default
44 lines
1.1 KiB
Svelte
44 lines
1.1 KiB
Svelte
<script lang="ts">
|
|
import { ChevronDown } from 'lucide-svelte'
|
|
import { slide } from 'svelte/transition'
|
|
import type { IntRange } from '../common'
|
|
import Tooltip from './Tooltip.svelte'
|
|
|
|
export let title: string
|
|
export let tooltip: string
|
|
export let element: `h${IntRange<1, 6>}` = 'h2'
|
|
export let accordion = false
|
|
let showContent = !accordion
|
|
</script>
|
|
|
|
<div class="border-b [&:has(button:hover)]:border-gray-400 duration-200 pb-1 mt-8 mb-2">
|
|
{#if accordion}
|
|
<button
|
|
class="flex w-full justify-between items-center"
|
|
on:click={() => (showContent = !showContent)}
|
|
>
|
|
<svelte:element this={element}>
|
|
{title}
|
|
<Tooltip scale={0.9} class="mb-0.5">
|
|
{tooltip}
|
|
</Tooltip>
|
|
</svelte:element>
|
|
<span class="rounded-full hover:bg-gray-100 focus:bg-gray-100 p-1">
|
|
<ChevronDown size={22} class="rotate-0 duration-300 {showContent ? '!rotate-180' : ''}" />
|
|
</span>
|
|
</button>
|
|
{:else}
|
|
<svelte:element this={element}>
|
|
{title}
|
|
<Tooltip scale={0.9} class="mb-0.5">
|
|
{tooltip}
|
|
</Tooltip>
|
|
</svelte:element>
|
|
{/if}
|
|
</div>
|
|
{#if showContent}
|
|
<div transition:slide={{ duration: 300 }}>
|
|
<slot />
|
|
</div>
|
|
{/if}
|