diff options
Diffstat (limited to 'src/lib/Tools/InputTemplate.svelte')
| -rw-r--r-- | src/lib/Tools/InputTemplate.svelte | 50 |
1 files changed, 33 insertions, 17 deletions
diff --git a/src/lib/Tools/InputTemplate.svelte b/src/lib/Tools/InputTemplate.svelte index 72e2f807..52b9fd46 100644 --- a/src/lib/Tools/InputTemplate.svelte +++ b/src/lib/Tools/InputTemplate.svelte @@ -3,33 +3,49 @@ import { onMount } from 'svelte'; import SettingHint from '$lib/Settings/SettingHint.svelte'; - export let field: string; - export let submission: string; - export let event: string | undefined = undefined; - export let submitText: string; - export let saveParameters: string[] = []; - export let onSubmit = () => { + interface Props { + field: string; + submission: string; + event?: string | undefined; + submitText: string; + saveParameters?: string[]; + onSubmit?: any; + preserveCase?: boolean; + prompt?: any; + hint?: string | undefined; + children?: import('svelte').Snippet; + } + + let { + field, + submission = $bindable(), + event = undefined, + submitText, + saveParameters = [], + onSubmit = () => { return; - }; - export let preserveCase = false; - export let prompt = `Enter a ${ + }, + preserveCase = false, + prompt = `Enter a ${ preserveCase ? field : field.toLowerCase() - } to search for to continue.`; - export let hint: string | undefined = undefined; + } to search for to continue.`, + hint = undefined, + children + }: Props = $props(); - let input = ''; + let input = $state(''); onMount(() => clearAllParameters(saveParameters)); </script> <div class="card"> <p> - <!-- svelte-ignore missing-declaration --> + <!-- svelte-ignore missing_declaration --> <input type="text" placeholder={field} bind:value={input} - on:keypress={(e) => { + onkeypress={(e) => { if (e.key === 'Enter') { submission = input; @@ -42,7 +58,7 @@ /> <button class="button-lined" - on:click={() => { + onclick={() => { submission = input; onSubmit(); @@ -62,9 +78,9 @@ </p> {#if submission !== ''} - <slot /> + {@render children?.()} {:else} - <p /> + <p></p> {prompt} {/if} |