UNPKG

igniteui-webcomponents

Version:

Ignite UI for Web Components is a complete library of UI components, giving you the ability to build modern web applications using encapsulation and the concept of reusable components in a dependency-free approach.

166 lines (165 loc) 6.87 kB
import { LitElement, type PropertyValues, type TemplateResult } from 'lit'; import type { ThemingController } from '../../theming/theming-controller.js'; import { type MaskSelection } from '../common/mixins/mask-behavior.js'; import type { DatePartDeltas } from './date-part.js'; export type { MaskSelection }; declare const IgcDateTimeInputBaseComponent_base: import("../common/mixins/constructor.js").AbstractConstructor<import("../common/mixins/mask-behavior.js").MaskBehaviorElementInterface> & import("../common/mixins/constructor.js").Constructor<import("../common/mixins/forms/types.js").FormRequiredInterface & import("../common/mixins/forms/types.js").FormAssociatedElementInterface> & typeof LitElement; export declare abstract class IgcDateTimeInputBaseComponent extends IgcDateTimeInputBaseComponent_base { protected abstract readonly _themes: ThemingController; protected readonly _slots: import("../common/controllers/slot.js").SlotController<"invalid" | "prefix" | "[default]" | "helper-text" | "suffix" | "value-missing" | "custom-error" | "range-overflow" | "range-underflow">; protected readonly _inputId: string; protected readonly _input?: HTMLInputElement; /** * Externally supplied label elements forwarded by a composite host (e.g. `igc-date-picker`) * so that the host's associated labels reach the inner native input. When set, these take * precedence over the component's own `ElementInternals` labels. * * @hidden @internal */ _labelElements: ReadonlyArray<Element> | null; /** * Resolves the label elements applied to the native input as `aria-labelledby` targets, * preferring forwarded labels over the component's own `ElementInternals` labels. * * @hidden @internal */ protected get _resolvedLabelElements(): ReadonlyArray<Element> | null; protected get __validators(): import("../common/validators.js").Validator<import("./date-time-input.js").default>[]; private readonly _i18nController; protected _min: Date | null; protected _max: Date | null; protected _defaultMask: string; protected _defaultDisplayFormat: string; protected _displayFormat?: string; protected _inputFormat?: string; protected get _targetDatePart(): unknown; /** * Whether the control will have outlined appearance. * * @attr * @default false */ outlined: boolean; /** * The placeholder attribute of the control. * @attr */ placeholder: string; /** * The label for the control. * @attr */ label: string; /** * The date format to apply on the input. * @attr input-format */ get inputFormat(): string; set inputFormat(val: string); /** * The minimum value required for the input to remain valid. * @attr */ set min(value: Date | string | null | undefined); get min(): Date | null; /** * The maximum value required for the input to remain valid. * @attr */ set max(value: Date | string | null | undefined); get max(): Date | null; /** * Format to display the value in when not editing. * Defaults to the locale format if not set. * @attr display-format */ set displayFormat(value: string); get displayFormat(): string; /** * Delta values used to increment or decrement each date part on step actions. * All values default to `1`. */ spinDelta?: DatePartDeltas; /** * Sets whether to loop over the currently spun segment. * @attr spin-loop */ spinLoop: boolean; /** * Gets/Sets the locale used for formatting the display value. * @attr locale */ set locale(value: string); get locale(): string; constructor(); protected update(props: PropertyValues<this>): void; private _handleResourceChange; protected _handleDragLeave(): void; protected _handleDragEnter(): void; /** * Handles wheel events for spinning date parts. */ protected _handleWheel(event: WheelEvent): Promise<void>; /** * Navigates to the previous or next date part. */ protected _navigateParts(direction: number): void; /** * Handles keyboard-triggered spinning (arrow up/down). */ protected _keyboardSpin(direction: 'up' | 'down'): Promise<void>; /** * Common logic for stepping up or down a date part. * @internal */ protected _performStep(datePart: unknown, delta: number | undefined, isDecrement: boolean): void; /** * Updates the displayed mask value based on focus state. * When focused, shows the editable mask. When unfocused, defers to the leaf's display formatter. */ protected _updateMaskDisplay(): void; /** * Checks if all mask positions are filled (no prompt characters remain). */ protected _isMaskComplete(): boolean; /** * Applies a mask pattern to the input, parsing the format string into date parts. */ protected _applyMask(formatString: string): void; /** * Updates the default display format based on current locale. */ private _updateDefaultDisplayFormat; protected _initializeDefaultMask(): void; /** * Resolves the part names for the container based on the current state. */ protected _resolvePartNames(base: string): Record<string, boolean>; /** Selects all the text inside the input. */ select(): void; /** Sets focus on the control. */ focus(options?: FocusOptions): void; /** Removes focus from the control. */ blur(): void; /** Increments a date/time portion. */ stepUp(datePart?: unknown, delta?: number): void; /** Decrements a date/time portion. */ stepDown(datePart?: unknown, delta?: number): void; /** Clears the input element of user input. */ abstract clear(): void; protected _renderInput(): TemplateResult; protected render(): import("lit-html/directive.js").DirectiveResult<typeof import("lit-html/directives/cache.js").CacheDirective>; protected abstract get _datePartDeltas(): DatePartDeltas; protected abstract _buildMaskedValue(): string; protected abstract _buildDisplayValue(): string; protected abstract _syncValueFromMask(): void; protected abstract _calculatePartNavigationPosition(value: string, direction: number): number; protected abstract _calculateSpunValue(part: unknown, delta: number | undefined, isDecrement: boolean): unknown; protected abstract _commitSpunValue(value: unknown): void; protected abstract _setCurrentDateTime(): void; protected abstract _handleFocus(): Promise<void>; protected abstract _getDatePartAtCursor(): unknown; protected abstract _getDefaultDatePart(): unknown; abstract hasDateParts(): boolean; abstract hasTimeParts(): boolean; }