checkbox: fix invalid state, shrinking of button
This commit is contained in:
@@ -57,11 +57,11 @@
|
|||||||
type="button"
|
type="button"
|
||||||
{id}
|
{id}
|
||||||
class={[
|
class={[
|
||||||
'text-sui-text flex size-7 appearance-none items-center',
|
'text-sui-text flex size-7 shrink-0 appearance-none items-center',
|
||||||
'justify-center rounded-lg shadow transition-all hover:opacity-75',
|
'justify-center rounded-lg shadow transition-all hover:opacity-75',
|
||||||
color === 'default' && 'bg-white',
|
color === 'default' && 'bg-white',
|
||||||
color === 'contrast' && 'border-text/40 border bg-white',
|
color === 'contrast' && 'border-text/40 border bg-white',
|
||||||
!valid && 'border-sui-accent-400 border'
|
!valid && 'border border-red-500'
|
||||||
]}
|
]}
|
||||||
onclick={() => {
|
onclick={() => {
|
||||||
if (value === false || value === undefined || value === 'indeterminate') {
|
if (value === false || value === undefined || value === 'indeterminate') {
|
||||||
@@ -86,9 +86,6 @@
|
|||||||
for={id}
|
for={id}
|
||||||
>
|
>
|
||||||
{@render children()}
|
{@render children()}
|
||||||
{#if required}
|
|
||||||
<span class="text-sui-accent-400">*</span>
|
|
||||||
{/if}
|
|
||||||
</label>
|
</label>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
import Checkbox from '$lib/Checkbox.svelte';
|
||||||
|
import Link from '$lib/Link.svelte';
|
||||||
import PhoneInput from '$lib/PhoneInput.svelte';
|
import PhoneInput from '$lib/PhoneInput.svelte';
|
||||||
import RadioGroup from '$lib/RadioGroup.svelte';
|
import RadioGroup from '$lib/RadioGroup.svelte';
|
||||||
import StateMachine, { type StateMachinePage } from '$lib/StateMachine.svelte';
|
import StateMachine, { type StateMachinePage } from '$lib/StateMachine.svelte';
|
||||||
@@ -79,7 +81,7 @@
|
|||||||
></StateMachine>
|
></StateMachine>
|
||||||
|
|
||||||
{#snippet firstPage()}
|
{#snippet firstPage()}
|
||||||
<TextInput label="What's your name?" validate={{ required: true }} />
|
<TextInput label="What's your name?" validate={{ required: true }} asterisk />
|
||||||
|
|
||||||
<RadioGroup
|
<RadioGroup
|
||||||
label="What's your favorite color?"
|
label="What's your favorite color?"
|
||||||
@@ -90,6 +92,11 @@
|
|||||||
]}
|
]}
|
||||||
required={true}
|
required={true}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<Checkbox name="consent" required={true} class="mt-1 mb-2">
|
||||||
|
I consent to the collection, use, and sharing described above and in the
|
||||||
|
<Link href="/privacy">Privacy Policy</Link>.
|
||||||
|
</Checkbox>
|
||||||
{/snippet}
|
{/snippet}
|
||||||
|
|
||||||
{#snippet secondPage()}
|
{#snippet secondPage()}
|
||||||
|
|||||||
Reference in New Issue
Block a user