chore(web): migration svelte 5 syntax (#13883)

This commit is contained in:
Alex
2024-11-14 08:43:25 -06:00
committed by GitHub
parent 9203a61709
commit 0b3742cf13
310 changed files with 6435 additions and 4176 deletions

View File

@@ -2,14 +2,38 @@
import { clamp } from 'lodash-es';
import type { ClipboardEventHandler } from 'svelte/elements';
export let id: string;
export let min: number;
export let max: number;
export let step: number | string = 'any';
export let required = true;
export let value: number | null = null;
export let onInput: (value: number | null) => void;
export let onPaste: ClipboardEventHandler<HTMLInputElement> | undefined = undefined;
interface Props {
id: string;
min: number;
max: number;
step?: number | string;
required?: boolean;
value?: number;
onInput: (value: number | null) => void;
onPaste?: ClipboardEventHandler<HTMLInputElement>;
}
let {
id,
min,
max,
step = 'any',
required = true,
value = $bindable(),
onInput,
onPaste = undefined,
}: Props = $props();
const oninput = () => {
if (!value) {
return;
}
if (value !== null && (value < min || value > max)) {
value = clamp(value, min, max);
}
onInput(value);
};
</script>
<input
@@ -21,11 +45,6 @@
{step}
{required}
bind:value
on:input={() => {
if (value !== null && (value < min || value > max)) {
value = clamp(value, min, max);
}
onInput(value);
}}
on:paste={onPaste}
{oninput}
onpaste={onPaste}
/>