component Select { 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) focus(payload: { sourceEvent?: Event; [key: string]: string | number | boolean | null | object }) blur(payload: { sourceEvent?: Event; [key: string]: string | number | boolean | null | object }) open(payload: { name: string; sourceEvent: Event }) close(payload: { name: string; sourceEvent: Event }) invalid(payload: { name: string; message: string; sourceEvent: Event }) } props { size: string = "default" color: string = "primary" id: string = "" name: string = "" label: string = "Select" hiddenLabel: boolean = false value: string = "" values: unknown[] = [] options: unknown[] = [] placeholder: string = "Select an option" variant: string = "normal" icon: string = "" iconPosition: string = "start" helperText: string = "" cornerHint: string = "" error: string = "" inline: boolean = false multiple: boolean = false readonly: boolean = false disabled: boolean = false required: boolean = false class: string = "" } functions { shared function selected(option) { if (multiple) return values.includes(option.value) return option.value === value } client function emitField(nameEvent, sourceEvent) { sourceEvent.stopPropagation() output[nameEvent]({ value: sourceEvent.currentTarget.value, name: name, sourceEvent: sourceEvent }) } client function handleFocus(sourceEvent) { emitField("focus", sourceEvent); output.open({ name: name, sourceEvent: sourceEvent }) } client function handleBlur(sourceEvent) { emitField("blur", sourceEvent); output.close({ name: name, sourceEvent: sourceEvent }) } client function handleInvalid(sourceEvent) { output.invalid({ name: name, message: sourceEvent.currentTarget.validationMessage, sourceEvent: sourceEvent }) } } view {
{#if cornerHint}{cornerHint}{/if}
{#if icon}{/if} {#if variant === "floating"}{label}{/if}
{#if helperText}{helperText}{/if} {error}
} }