Files
windmill/frontend/src/lib/components/common/toggleButton/ToggleButton.svelte
T

28 lines
865 B
Svelte

<script lang="ts">
import { classNames } from '$lib/utils'
import { faRing } from '@fortawesome/free-solid-svg-icons'
import { getContext } from 'svelte'
import Button from '../button/Button.svelte'
import type { ToggleButtonContext } from './ToggleButtonGroup.svelte'
export let value: any
export let position: 'left' | 'center' | 'right'
const { select, selected } = getContext<ToggleButtonContext>('ToggleButtonGroup')
</script>
<Button
{...$$props}
on:click={() => select(value)}
btnClasses={classNames(
'border-gray-200 focus:ring-0 w-full',
position === 'left' ? 'rounded-none rounded-l-lg border' : '',
position === 'center' ? 'rounded-none border-t border-b' : '',
position === 'right' ? 'rounded-none rounded-r-md !border border-l-0' : ''
)}
color={$selected === value ? 'dark' : 'light'}
variant="contained"
>
<slot />
</Button>