From 90ff836061643ff8dc922ae5f67c57885d2c51b3 Mon Sep 17 00:00:00 2001 From: Elijah Duffy Date: Wed, 4 Feb 2026 14:53:14 -0800 Subject: [PATCH] text input: change default asterisk behaviour asterisk now shown by default if field is required. --- src/lib/TextInput.svelte | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/lib/TextInput.svelte b/src/lib/TextInput.svelte index 08b60b3..0e90250 100644 --- a/src/lib/TextInput.svelte +++ b/src/lib/TextInput.svelte @@ -11,7 +11,7 @@ value?: string; invalidMessage?: string | null; ref?: HTMLInputElement | null; - asterisk?: boolean; + asterisk?: boolean | null; class?: ClassValue | null | undefined; } @@ -21,12 +21,16 @@ value = $bindable(''), invalidMessage = 'Field is required', ref = $bindable(null), - asterisk = false, + asterisk = null, class: classValue, + forceInvalid = false, ...others }: Props = $props(); let valid: boolean = $state(true); + let displayAsterisk = $derived( + asterisk === true || (asterisk !== false && others.validate && others.validate.required) + ); export const focus = () => { if (ref) ref.focus(); @@ -37,7 +41,7 @@ {#if label} @@ -50,11 +54,12 @@ onvalidate={(e) => { valid = e.detail.valid; }} + {forceInvalid} {...others} /> {#if others.validate && invalidMessage !== null} -
+