reveil/ui/src/lib/components/DateTimeInput.svelte

32 lines
618 B
Svelte

<script>
import dayjs from 'dayjs';
import {
Input,
} from '@sveltestrap/sveltestrap';
export let format = 'YYYY-MM-DD HH:mm';
export let date = new Date();
let className = '';
export { className as class };
export let id = null;
export let required = false;
let internal;
const input = (x) => (internal = dayjs(x).format(format));
const output = (x) => {
const d = dayjs(x, format).toDate();
if (d) {
date = d.toISOString();
}
};
$: input(date)
$: output(internal)
</script>
<Input type="datetime-local" class={className} id={id} {required} bind:value={internal} />