32 lines
618 B
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} />
|