mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-25 08:00:59 +00:00
cdc76994f8
* feat(frontend): wip * feat(frontend): button refactor wip * feat(frontend): button refactor wip * feat(frontend): fix build * feat(frontend): fix build * fix(frontend): fix build * fix(frontend): fix buttons styles * fix(frontend): remove dev file * feat(frontend): clean up * feat(frontend): done * feat(frontend): done * feat(frontend): remove duplicated componnet * feat(frontend): wip * feat(frontend): wip * feat(frontend): forked Flow icons * feat(frontend): remove legacy dropdown * feat(frontend): migrated all + remove dependencies * feat(frontend): clean up
31 lines
766 B
Svelte
31 lines
766 B
Svelte
<script lang="ts">
|
|
import { ChevronDown } from 'lucide-svelte'
|
|
import { slide } from 'svelte/transition'
|
|
import Button from './common/button/Button.svelte'
|
|
import Tooltip from './Tooltip.svelte'
|
|
import { twMerge } from 'tailwind-merge'
|
|
|
|
export let text: string
|
|
export let tooltip: string | undefined = undefined
|
|
export let view = false
|
|
export let size: 'xs' | 'sm' | 'md' | 'lg' = 'md'
|
|
</script>
|
|
|
|
<Button
|
|
color="light"
|
|
on:click={() => (view = !view)}
|
|
{size}
|
|
variant="border"
|
|
endIcon={{
|
|
icon: ChevronDown,
|
|
classes: twMerge('duration-300 ', view ? 'rotate-180' : 'rotate-0')
|
|
}}
|
|
>{text}
|
|
{#if tooltip}
|
|
<Tooltip wrapperClass="mx-1">{tooltip}</Tooltip>
|
|
{/if}
|
|
</Button>
|
|
{#if view}
|
|
<div class="my-4 px-2" transition:slide|local><slot /></div>
|
|
{/if}
|