import { PropertyValues } from 'lit'; import { Ref } from 'lit/directives/ref.js'; import { PktInputElement } from '../../base-elements/input-element'; import { ElementProps } from '../../types/typeUtils'; import { TPktInputSize } from '../../shared-types/size'; type Props = ElementProps; export interface IPktTimepicker { value?: string; min?: string; max?: string; step?: number; name?: string; id?: string; disabled?: boolean; required?: boolean; hidePicker?: boolean; stepArrows?: boolean; fullwidth?: boolean; label?: string | null; helptext?: string; helptextDropdown?: string; helptextDropdownButton?: string | null; hasError?: boolean; errorMessage?: string; requiredTag?: boolean; requiredText?: string; optionalTag?: boolean; optionalText?: string; tagText?: string | null; inline?: boolean; inputSize?: TPktInputSize; } export declare class PktTimepicker extends PktInputElement { hiddenInputRef: Ref; hoursInputRef: Ref; minutesInputRef: Ref; buttonRef: Ref; /** * Exposes hiddenInputRef as inputRef so the base class validate() method * triggers our manageValidity override automatically after every onChange call. * The hidden input itself is never used for reporting — see manageValidity below. */ get inputRef(): Ref; /** * Overrides the base class manageValidity to solve a focusability problem: * the browser requires the third argument to setValidity (the "anchor") to be * a visible, focusable element — it focuses that element when navigating to an * invalid field. Our hidden input[type=time] cannot receive focus, so passing it * as the anchor would silently fail with "form control is not focusable". */ protected manageValidity(_input?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement): void; value: string; hidePicker: boolean; stepArrows: boolean; private _hours; private _minutes; private _isOpen; private _hoursDigitCount; private _hoursFirstDigit; private _minutesDigitCount; private _minutesFirstDigit; private _hasFocus; private _setAriaInvalid; private _outsideClickHandler; private _handleComponentFocusIn; private _handleComponentFocusOut; connectedCallback(): void; disconnectedCallback(): void; protected willUpdate(changedProperties: PropertyValues): void; protected updated(changedProperties: PropertyValues): void; protected formResetCallback(): void; private _isValidStep; private _syncDisplayFromValue; private _syncValueFromDisplay; private get _minuteStep(); private get _hourOptions(); private get _minuteOptions(); private _openPopup; private _closePopup; private _togglePopup; private _scrollToSelected; private _focusSelectedOrFirst; private _handleHoursKeydown; private _handleHoursBlur; private _handleMinutesKeydown; private _handleMinutesBlur; private _handleOptionClick; private _focusOptionAndSync; private _handlePopupKeydown; private _stepTime; private _renderOption; private _renderPopup; private _renderContainer; render(): import('lit').TemplateResult<1>; } export {};