@oslokommune/punkt-elements
Version:
Komponentbiblioteket til Punkt, et designsystem laget av Oslo Origo
84 lines (83 loc) • 3.11 kB
TypeScript
import { PropertyValues } from 'lit';
import { PktCalendar } from '../calendar/calendar';
import { PktInputElement } from '../../base-elements/input-element';
import { Ref } from 'lit/directives/ref.js';
import { PktDatepickerPopup } from './datepicker-popup';
import { PktDatepickerSingle } from './datepicker-single';
import { PktDatepickerRange } from './datepicker-range';
import { PktDatepickerMultiple } from './datepicker-multiple';
import { ElementProps } from '../../types/typeUtils';
type Props = ElementProps<PktDatepicker, 'label' | 'dateformat' | 'multiple' | 'maxlength' | 'range' | 'showRangeLabels' | 'min' | 'max' | 'weeknumbers' | 'withcontrols' | 'excludedates' | 'excludeweekdays' | 'currentmonth' | 'calendarOpen' | 'timezone'>;
export declare class PktDatepicker extends PktInputElement<Props> {
/**
* Element attributes and properties
*/
private _valueProperty;
private _valueProcessing;
datepickerPopupRef: Ref<PktDatepickerPopup>;
get value(): string;
set value(newValue: string | string[]);
_value: string[];
label: string;
dateformat: string;
multiple: boolean;
maxlength: number | null;
range: boolean;
showRangeLabels: boolean;
min: string | null;
max: string | null;
weeknumbers: boolean;
withcontrols: boolean;
excludedates: string[];
excludeweekdays: string[];
currentmonth: string | null;
today: string | null;
calendarOpen: boolean;
timezone: string;
inputClasses: {};
/**
* Computed properties
*/
get inputType(): string;
/**
* Housekeeping / lifecycle methods
*/
connectedCallback(): void;
disconnectedCallback(): void;
onInput(): void;
valueChanged(newValue: string | null, oldValue: string | null): void;
attributeChangedCallback(name: string, _old: string | null, value: string | null): void;
updated(changedProperties: PropertyValues): void;
/**
* Element references
*/
get inputRef(): Ref<HTMLInputElement>;
get inputRefTo(): Ref<HTMLInputElement>;
calRef: Ref<PktCalendar>;
popupRef: Ref<HTMLDivElement>;
singleInputRef: Ref<PktDatepickerSingle>;
rangeInputRef: Ref<PktDatepickerRange>;
multipleInputRef: Ref<PktDatepickerMultiple>;
get currentInputElement(): HTMLInputElement | undefined;
get currentInputElementTo(): HTMLInputElement | undefined;
get currentButtonElement(): HTMLButtonElement | undefined;
get btnRef(): Ref<HTMLButtonElement>;
/**
* Rendering
*/
renderInput(): import('lit-html').TemplateResult<1>;
renderRangeInput(): import('lit-html').TemplateResult<1>;
renderMultipleInput(): import('lit-html').TemplateResult<1>;
renderCalendar(): import('lit-html').TemplateResult<1>;
render(): import('lit-html').TemplateResult<1>;
/**
* Handlers
*/
handleCalendarPosition(): void;
addToSelected: (e: Event | KeyboardEvent) => void;
showCalendar(): Promise<void>;
hideCalendar(): void;
toggleCalendar(e: Event): Promise<void>;
clearInputValue(): void;
}
export {};