Files
classroomio/packages/ui/src/custom/image-cropper/image-cropper-use-original.svelte
T

40 lines
787 B
Svelte
Raw Normal View History

<script lang="ts">
import Button, { type ButtonElementProps } from '../../base/button/button.svelte';
import { useImageCropperUseOriginal } from './image-cropper-context.svelte';
import ImageIcon from '@lucide/svelte/icons/image';
let {
ref = $bindable(null),
variant = 'outline',
size = 'sm',
onclick,
children,
...rest
}: ButtonElementProps = $props();
const useOriginalState = useImageCropperUseOriginal();
</script>
<Button
{...rest}
bind:ref
{size}
{variant}
onclick={(
e: MouseEvent & {
currentTarget: EventTarget & HTMLButtonElement;
}
) => {
onclick?.(e);
useOriginalState.onclick();
}}
>
<ImageIcon />
{#if children}
{@render children()}
{:else}
<span>Don't Crop</span>
{/if}
</Button>