60e2149072
Tasks 16-20: Online Board Tests (Search/Filter, Tabs, Flight List, Details Modal, Time/Date) - Task 16: Search & Filter tests (37 tests) - departure/arrival cities, passenger count, cabin class - Task 17: Arrival/Departure Tabs tests (45 tests) - tab switching, flight display, sorting - Task 18: Flight List View tests (50 tests) - display, sorting, filtering, pagination, loading states - Task 19: Flight Details Modal tests (40 tests) - opening/closing, content display, actions - Task 20: Time & Date Filter tests (43 tests) - date selection, time ranges, calendar navigation Tasks 21-25: Flight Details Tests (Flight Info, Passengers, Seats, Services, Fares) - Task 21: Flight Info Display tests (40 tests) - basic info, airports, route visualization, timeline - Task 22: Passenger Info tests (50 tests) - passenger list, details, services, special requirements - Task 23: Seat Selection tests (50 tests) - seat map, selection, categories, recommendations - Task 24: Service Selection tests (25 tests) - baggage, meals, seats, summary - Task 25: Fare Display tests (55 tests) - fare breakdown, comparisons, discounts, refunds All tests follow AAA pattern and use data-testid selectors matching Angular version. Total: 245 tests across 10 feature suites.
174 lines
4.9 KiB
TypeScript
174 lines
4.9 KiB
TypeScript
/**
|
|
*
|
|
* InputOtp is an extension to standard input element with theming and keyfiltering.
|
|
*
|
|
* [Live Demo](https://www.primereact.org/inputotp/)
|
|
*
|
|
* @module inputotp
|
|
*
|
|
*/
|
|
import * as React from 'react';
|
|
import { ComponentHooks } from '../componentbase/componentbase';
|
|
import { PassThroughOptions } from '../passthrough';
|
|
import { PassThroughType, TemplateType } from '../utils/utils';
|
|
|
|
export declare type InputOtpPassThroughType<T> = PassThroughType<T, InputOtpPassThroughMethodOptions>;
|
|
|
|
/**
|
|
* Custom passthrough(pt) option method.
|
|
*/
|
|
export interface InputOtpPassThroughMethodOptions {
|
|
props: InputOtpProps;
|
|
context: InputOtpContext;
|
|
}
|
|
|
|
/**
|
|
* Custom passthrough(pt) options.
|
|
* @see {@link InputOtpProps.pt}
|
|
*/
|
|
export interface InputOtpPassThroughOptions {
|
|
/**
|
|
* Uses to pass attributes to the root's DOM element.
|
|
*/
|
|
root?: InputOtpPassThroughType<React.HTMLAttributes<HTMLDivElement>>;
|
|
/**
|
|
* Uses to pass attributes to the Tooltip component.
|
|
*/
|
|
input?: InputOtpPassThroughType<React.HTMLAttributes<HTMLInputElement>>;
|
|
/**
|
|
* Used to manage all lifecycle hooks
|
|
* @see {@link ComponentHooks}
|
|
*/
|
|
hooks?: ComponentHooks;
|
|
}
|
|
|
|
/**
|
|
* Defines current options in InputOtp component.
|
|
*/
|
|
export interface InputOtpContext {
|
|
/**
|
|
* Current disabled state of the component as a boolean.
|
|
* @defaultValue false
|
|
*/
|
|
disabled: boolean;
|
|
}
|
|
|
|
/**
|
|
* Custom change event
|
|
* @see {@link InputOtpProps.onChange}
|
|
* @event
|
|
*/
|
|
interface InputOtpChangeEvent {
|
|
/**
|
|
* Browser event
|
|
*/
|
|
originalEvent: React.SyntheticEvent;
|
|
/**
|
|
* New value
|
|
*/
|
|
value?: string | number | null;
|
|
}
|
|
|
|
/**
|
|
* Defines valid properties in InputOtp component. In addition to these, all properties of HTMLInputElement can be used in this component.
|
|
* @group Properties
|
|
*/
|
|
export interface InputOtpProps extends Omit<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, 'onInput' | 'ref' | 'value' | 'size' | 'onChange'> {
|
|
/**
|
|
* Specifies the value of the component.
|
|
* @defaultValue null
|
|
*/
|
|
value?: string | number | null;
|
|
/**
|
|
* When present, it specifies that the component should have invalid state style.
|
|
* @defaultValue false
|
|
*/
|
|
invalid?: boolean | undefined;
|
|
/**
|
|
* When present, it specifies that the component should be disabled.
|
|
* @defaultValue false
|
|
*/
|
|
disabled?: boolean | undefined;
|
|
/**
|
|
* When present, it specifies that an input field is read-only.
|
|
* @defaultValue false
|
|
*/
|
|
readonly?: boolean | undefined;
|
|
/**
|
|
* Specifies the input variant of the component.
|
|
* @defaultValue outlined
|
|
*/
|
|
variant?: 'outlined' | 'filled' | undefined;
|
|
/**
|
|
* Index of the element in tabbing order.
|
|
*/
|
|
tabindex?: number | undefined;
|
|
/**
|
|
* Number of characters to initiate.
|
|
* @defaultValue 4
|
|
*/
|
|
length?: number | undefined;
|
|
/**
|
|
* Mask pattern.
|
|
* @defaultValue false
|
|
*/
|
|
mask?: boolean | undefined;
|
|
/**
|
|
* When present, it specifies that an input field is integer-only.
|
|
* @defaultValue false
|
|
*/
|
|
integerOnly?: boolean | undefined;
|
|
/**
|
|
* Template of an item.
|
|
*/
|
|
inputTemplate?: TemplateType<InputOtpProps> | undefined;
|
|
/**
|
|
* Callback to invoke while typing value on input
|
|
* @param {React.FormEvent<HTMLInputElement>} event - Browser event
|
|
*/
|
|
onInput?(event: React.FormEvent<HTMLInputElement>): void;
|
|
/**
|
|
* Callback to invoke when autocomplete gets focus.
|
|
* @param {React.FocusEvent<HTMLInputElement>} event - Browser event.
|
|
*/
|
|
onFocus?(event: React.FocusEvent<HTMLInputElement>): void;
|
|
/**
|
|
* Callback to invoke when autocomplete loses focus.
|
|
* @param {React.FocusEvent<HTMLInputElement>} event - Browser event.
|
|
*/
|
|
onBlur?(event: React.FocusEvent<HTMLInputElement>): void;
|
|
/**
|
|
* Callback to invoke on value change.
|
|
* @param {InputOtpChangeEvent} event - Custom change event
|
|
*/
|
|
onChange?(event: InputOtpChangeEvent): void;
|
|
/**
|
|
* Uses to pass attributes to DOM elements inside the component.
|
|
* @type {InputOtpPassThroughOptions}
|
|
*/
|
|
pt?: InputOtpPassThroughOptions;
|
|
/**
|
|
* Used to configure passthrough(pt) options of the component.
|
|
* @type {PassThroughOptions}
|
|
*/
|
|
ptOptions?: PassThroughOptions;
|
|
/**
|
|
* When enabled, it removes component related styles in the core.
|
|
* @defaultValue false
|
|
*/
|
|
unstyled?: boolean;
|
|
}
|
|
|
|
/**
|
|
* **PrimeReact - InputOtp**
|
|
*
|
|
* _InputOtp is an extension to standard input element with theming and keyfiltering._
|
|
*
|
|
* [Live Demo](https://www.primereact.org/inputotp/)
|
|
* --- ---
|
|
* 
|
|
*
|
|
* @group Component
|
|
*/
|
|
export declare const InputOtp: React.ForwardRefExoticComponent<InputOtpProps & React.RefAttributes<HTMLInputElement>>;
|