component PinInput { outputs { input(payload: { value?: string | number | boolean | null; values?: Array; sourceEvent?: Event; [key: string]: string | number | boolean | null | object } | string | number | boolean | null) change(payload: { value?: string | number | boolean | null; values?: Array; sourceEvent?: Event; [key: string]: string | number | boolean | null | object } | string | number | boolean | null) complete(payload: { sourceEvent?: Event; [key: string]: string | number | boolean | null | object }) paste(payload: { sourceEvent?: Event; value: string | number | boolean | null | object; [key: string]: string | number | boolean | null | object } | string | number | boolean | null | object[]) clear(payload: { value?: string | number | boolean | null; values?: Array; sourceEvent?: Event; [key: string]: string | number | boolean | null | object } | string | number | boolean | null) error(payload: { error: Error | string; sourceEvent?: Event; [key: string]: string | number | boolean | null | object } | Error | string) } props { size: string = "default" color: string = "primary" label: string = "Verification code" name: string = "pin" value: string = "" length: number = 4 pattern: string = "[0-9]" type: string = "text" inputMode: string = "numeric" placeholder: string = "○" autocomplete: string = "one-time-code" masked: boolean = false disabled: boolean = false readonly: boolean = false required: boolean = false autoFocus: boolean = false autoSubmit: boolean = false allowPaste: boolean = true clearable: boolean = true clearLabel: string = "Clear code" separator: string = "" groupSize: number = 0 helpText: string = "" invalid: boolean = false validationMessage: string = "" class: string = "" } functions { shared function inputIndexes() { return [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].slice( 0, Math.max(1, Math.min(12, Number(length))) ) } } view {
{label}
{#each inputIndexes() as index} {#if separator && groupSize !== 0 && (index + 1) % groupSize === 0 && index + 1 !== length} {/if} {/each}
{#if helpText && !validationMessage}{helpText}{/if} {validationMessage}
} }