aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Tools/InputTemplate.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Tools/InputTemplate.svelte')
-rw-r--r--src/lib/Tools/InputTemplate.svelte50
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}