Files
windmill/frontend/src/lib/components/Slider.svelte
T
Faton Ramadani cdc76994f8 feat(frontend): Buttons refactor (#2545)
* 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
2023-11-10 09:43:10 +01:00

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}