@qite/tide-booking-component
Version:
React Booking wizard & Booking product component for Tide
128 lines (127 loc) • 5.87 kB
TypeScript
import { MobileFilterType, Room, TravelerType, TypeaheadOption } from '../types';
import { ReactNode } from 'react';
import { PickerItem } from '../../shared/types';
import { PortalQsmType } from '@qite/tide-client';
export interface QSMState {
qsmType?: PortalQsmType;
selectedOrigin?: string;
selectedDestination?: string;
selectedAirport?: string;
fromDate?: string;
toDate?: string;
travelers: any[];
mobileFilterType: MobileFilterType;
searchResults: TypeaheadOption[];
activeSearchField: string | null;
activeSearchFieldProps: {
fieldKey: string;
label: string;
placeholder: string;
value: string;
options: TypeaheadOption[];
} | null;
mobileDatePickerMode: 'range' | 'single';
minDate?: string;
maxDate?: string;
dateFlexibility?: {
name: string;
before: number;
after: number;
}[];
datesIcon?: ReactNode;
selectedFlexRange?: {
before: number;
after: number;
};
travelTypes: PickerItem[];
tripType: 'oneway' | 'roundtrip' | 'openjaw';
selectedTravelType?: string;
travelClasses: PickerItem[];
selectedTravelClass?: string;
selectedNationality?: string;
defaultTravelers: number;
maxTravelers: number;
maxChildAge: number;
maxInfantAge: number;
adults: number;
kids: number;
babies: number;
rooms: Room[];
[key: string]: any;
}
export declare const setSelectedQsmType: import('@reduxjs/toolkit').ActionCreatorWithPayload<PortalQsmType, 'qsm/setSelectedQsmType'>,
setOrigin: import('@reduxjs/toolkit').ActionCreatorWithPayload<string, 'qsm/setOrigin'>,
setDestination: import('@reduxjs/toolkit').ActionCreatorWithPayload<string, 'qsm/setDestination'>,
setAirport: import('@reduxjs/toolkit').ActionCreatorWithPayload<string, 'qsm/setAirport'>,
setFromDate: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string | undefined, 'qsm/setFromDate'>,
setToDate: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string | undefined, 'qsm/setToDate'>,
setTravelers: import('@reduxjs/toolkit').ActionCreatorWithPayload<any[], 'qsm/setTravelers'>,
setMobileFilterType: import('@reduxjs/toolkit').ActionCreatorWithPayload<MobileFilterType, 'qsm/setMobileFilterType'>,
closeMobileFilter: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<'qsm/closeMobileFilter'>,
setActiveSearchField: import('@reduxjs/toolkit').ActionCreatorWithPayload<string | null, 'qsm/setActiveSearchField'>,
setActiveSearchFieldProps: import('@reduxjs/toolkit').ActionCreatorWithPayload<
{
fieldKey: string;
label: string;
placeholder: string;
value: string;
options: TypeaheadOption[];
},
'qsm/setActiveSearchFieldProps'
>,
setSearchResults: import('@reduxjs/toolkit').ActionCreatorWithPayload<TypeaheadOption[], 'qsm/setSearchResults'>,
setMobileDatePickerMode: import('@reduxjs/toolkit').ActionCreatorWithPayload<'range' | 'single', 'qsm/setMobileDatePickerMode'>,
setMinDate: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string | undefined, 'qsm/setMinDate'>,
setMaxDate: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string | undefined, 'qsm/setMaxDate'>,
setDateFlexibility: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
| {
name: string;
before: number;
after: number;
}[]
| undefined,
'qsm/setDateFlexibility'
>,
setSelectedFlexRange: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
| {
before: number;
after: number;
}
| undefined,
'qsm/setSelectedFlexRange'
>,
setTripType: import('@reduxjs/toolkit').ActionCreatorWithPayload<'oneway' | 'roundtrip' | 'openjaw', 'qsm/setTripType'>,
setTravelTypes: import('@reduxjs/toolkit').ActionCreatorWithPayload<PickerItem[], 'qsm/setTravelTypes'>,
setSelectedTravelType: import('@reduxjs/toolkit').ActionCreatorWithPayload<any, 'qsm/setSelectedTravelType'>,
setTravelClasses: import('@reduxjs/toolkit').ActionCreatorWithPayload<PickerItem[], 'qsm/setTravelClasses'>,
setSelectedTravelClass: import('@reduxjs/toolkit').ActionCreatorWithPayload<any, 'qsm/setSelectedTravelClass'>,
setSelectedNationality: import('@reduxjs/toolkit').ActionCreatorWithPayload<any, 'qsm/setSelectedNationality'>,
setDefaultTravelers: import('@reduxjs/toolkit').ActionCreatorWithPayload<number, 'qsm/setDefaultTravelers'>,
setMaxTravelers: import('@reduxjs/toolkit').ActionCreatorWithPayload<number, 'qsm/setMaxTravelers'>,
setMaxChildAge: import('@reduxjs/toolkit').ActionCreatorWithPayload<number, 'qsm/setMaxChildAge'>,
setAdults: import('@reduxjs/toolkit').ActionCreatorWithPayload<any, 'qsm/setAdults'>,
setKids: import('@reduxjs/toolkit').ActionCreatorWithPayload<any, 'qsm/setKids'>,
setBabies: import('@reduxjs/toolkit').ActionCreatorWithPayload<any, 'qsm/setBabies'>,
setRooms: import('@reduxjs/toolkit').ActionCreatorWithPayload<any, 'qsm/setRooms'>,
addRoom: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<'qsm/addRoom'>,
removeRoom: import('@reduxjs/toolkit').ActionCreatorWithPayload<any, 'qsm/removeRoom'>,
updateRoomTraveler: import('@reduxjs/toolkit').ActionCreatorWithPayload<
{
roomIndex: number;
type: TravelerType;
value: number;
},
'qsm/updateRoomTraveler'
>,
setMaxInfantAge: import('@reduxjs/toolkit').ActionCreatorWithPayload<number, 'qsm/setMaxInfantAge'>,
setDatesIcon: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<ReactNode, 'qsm/setDatesIcon'>,
setFieldValue: import('@reduxjs/toolkit').ActionCreatorWithPayload<
{
fieldKey: string;
value: any;
},
'qsm/setFieldValue'
>,
hydrateQsmState: import('@reduxjs/toolkit').ActionCreatorWithPayload<Partial<QSMState>, 'qsm/hydrateQsmState'>;
declare const _default: import('@reduxjs/toolkit').Reducer<QSMState>;
export default _default;