UNPKG

@3mo/field

Version:

A set of field web components.

54 lines 2.35 kB
import { Component, type HTMLTemplateResult, type PropertyValues } from '@a11d/lit'; import { SlotController } from '@3mo/slot-controller'; import { FocusController, type FocusMethod } from '@3mo/focus-controller'; /** * @attr value - The field's value * @attr label - The field's label * @attr readonly - Whether the field is readonly * @attr disabled - Whether the field is disabled * @attr required - Whether the field is required * * @slot - The field's content * @slot start - Content to be placed at the start of the field * @slot end - Content to be placed at the end of the field * * @csspart container - Field's container * * @fires change * @fires input * @fires validityChange */ export declare abstract class FieldComponent<T> extends Component { readonly change: EventDispatcher<T | undefined>; readonly input: EventDispatcher<T | undefined>; readonly validityChange: EventDispatcher<boolean>; abstract value?: T | undefined; label: string; readonly: boolean; disabled: boolean; required: boolean; protected invalid: boolean; private focused; protected inputValue?: T; protected readonly slotController: SlotController; protected readonly focusController: FocusController; protected update(changedProperties: PropertyValues<this>): void; protected valueUpdated(): void; protected handleFocus(bubbled: boolean, method: FocusMethod): void; protected handleBlur(bubbled: boolean, method: FocusMethod): void; protected handleInput(value: T | undefined, e?: Event): void; protected handleChange(value: T | undefined, e?: Event): void; protected get isPopulated(): boolean; protected get isActive(): boolean; protected get isDense(): boolean; static get styles(): import("@a11d/lit").CSSResult; protected get template(): HTMLTemplateResult; protected get startSlotTemplate(): HTMLTemplateResult; protected abstract get inputTemplate(): HTMLTemplateResult; protected get endSlotTemplate(): HTMLTemplateResult; protected validate(): Promise<void>; abstract setCustomValidity(...args: Parameters<HTMLInputElement['setCustomValidity']>): ReturnType<HTMLInputElement['setCustomValidity']>; abstract checkValidity(): Promise<boolean>; abstract reportValidity(): void; } //# sourceMappingURL=FieldComponent.d.ts.map