You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1003 B
36 lines
1003 B
<script lang="ts">
|
|
import { DateRangePickerProvider } from '$soma/components/date-range-picker';
|
|
import { getActiveUix } from '$active-uix';
|
|
import type { Snippet } from 'svelte';
|
|
import type { HTMLButtonAttributes } from 'svelte/elements';
|
|
|
|
interface ClearProps extends HTMLButtonAttributes {
|
|
children?: Snippet;
|
|
}
|
|
|
|
const { children, onclick, ...rest }: ClearProps = $props();
|
|
|
|
const uix = getActiveUix();
|
|
const provider = DateRangePickerProvider.require();
|
|
|
|
function handleClick(event: MouseEvent & { currentTarget: EventTarget & HTMLButtonElement }) {
|
|
provider.clear();
|
|
if (typeof onclick === 'function') onclick.call(event.currentTarget, event);
|
|
}
|
|
</script>
|
|
|
|
<button
|
|
type="button"
|
|
data-date-range-picker-clear
|
|
data-action="clear"
|
|
aria-label={uix.langs.ts('#?components.date-range-picker.clear|Clear range')}
|
|
onclick={handleClick}
|
|
{...rest}
|
|
>
|
|
{#if children}
|
|
{@render children()}
|
|
{:else}
|
|
{uix.langs.ts('#?components.date-range-picker.clear|Clear range')}
|
|
{/if}
|
|
</button>
|