@oslokommune/punkt-elements
Version:
Komponentbiblioteket til Punkt, et designsystem laget av Oslo Origo
40 lines (39 loc) • 1.46 kB
TypeScript
import { TemplateResult } from 'lit';
import { Ref } from 'lit/directives/ref.js';
import { PktElement } from '../../base-elements/element';
import { IDatepickerStrings } from './datepicker-types';
/**
* Abstract base class for datepicker input components
*
* Consolidates shared properties, methods, and event dispatchers
* used by all three datepicker input types (single, multiple, range).
*
* Subclasses must implement:
* - `strings` property with component-specific defaults
* - `render()` method with component-specific template
*/
export declare abstract class PktDatepickerBase extends PktElement {
inputType: string;
id: string;
min?: string;
max?: string;
placeholder?: string;
readonly: boolean;
disabled: boolean;
inputClasses: Record<string, boolean>;
internals?: ElementInternals;
abstract strings: IDatepickerStrings;
inputRef: Ref<HTMLInputElement>;
btnRef: Ref<HTMLButtonElement>;
get inputElement(): HTMLInputElement | undefined;
get buttonElement(): HTMLButtonElement | undefined;
get isInputReadonly(): boolean;
protected dispatchToggleCalendar(e: Event): void;
protected dispatchInput(e: Event): void;
protected dispatchFocus(): void;
protected dispatchBlur(e: FocusEvent): void;
protected dispatchChange(e: Event): void;
protected renderCalendarButton(): TemplateResult;
createRenderRoot(): this;
abstract render(): TemplateResult;
}