@odynn/awayz-flights 0.9.5 → 0.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BookingOption-Bf4d2RKS.js +192 -0
- package/dist/FlightItinerary-C2Jp2a9c.js +262 -0
- package/dist/MiniFlightItinerary-BEdrqoGh.js +105 -0
- package/dist/assets/FlightItinerary.css +1 -0
- package/dist/assets/FlightItineraryDropdown.css +1 -0
- package/dist/assets/{HorizontalScroller.css → MiniFlightItinerary.css} +1 -1
- package/dist/assets/_styles.css +1 -1
- package/dist/assets/{BookingOption.css → _styles2.css} +1 -1
- package/dist/components/BookingOption/BookingOption.js +5 -4
- package/dist/components/FlightItinerary/FlightItinerary.js +9 -248
- package/dist/components/FlightItineraryDropdown/FlightItineraryDropdown.js +54 -0
- package/dist/components/FlightResult/FlightResult.js +116 -105
- package/dist/components/HorizontalScroller/HorizontalScroller.js +14 -13
- package/dist/components/MiniFlightItinerary/MiniFlightItinerary.js +9 -0
- package/dist/components/index.js +8 -8
- package/dist/dateUtils-CWDSSY2R.js +57 -0
- package/dist/hooks/index.js +3 -3
- package/dist/hooks/useFlightSearch/useFlightSearch.js +11 -407
- package/dist/{index-BUY1nabz.js → index-Gj4bRuCQ.js} +3 -3
- package/dist/index-nI16-czT.js +4 -0
- package/dist/{index-B_j9TSQq.js → index-nOT-DH7g.js} +16 -12
- package/dist/lib/components/FlightItinerary/FlightItinerary.d.ts +2 -2
- package/dist/lib/components/FlightItineraryDropdown/FlightItineraryDropdown.d.ts +9 -0
- package/dist/lib/components/MiniFlightItinerary/MiniFlightItinerary.d.ts +6 -0
- package/dist/lib/components/index.d.ts +2 -0
- package/dist/main.js +39 -38
- package/dist/useFlightSearch-C0DEmnCL.js +412 -0
- package/dist/utils/flightUtils.js +13 -12
- package/package.json +1 -1
- package/dist/BookingOption-BUMHEwUW.js +0 -182
- package/dist/DateFormats-Db0j7Cpe.js +0 -15
- package/dist/assets/FlightResult.css +0 -1
- package/dist/enums-Bmg_7eKJ.js +0 -4
- package/dist/index-7zRjF0bU.js +0 -58
- package/dist/keys-Chup9jep.js +0 -4
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { jsxs as r, jsx as o, Fragment as d } from "react/jsx-runtime";
|
|
2
|
+
import { useFeatureFlags as H, useWallet as Y, EBookingPaymentMethod as $, convertCashToClientPoints as M, CashValue as C, EToolTipPosition as y, EInvalidAmountDisplayOption as u, EAmountsDisplayFeature as j, ClientPointsValue as q } from "@odynn/awayz-core";
|
|
3
|
+
import { useQuery as z } from "@tanstack/react-query";
|
|
4
|
+
import "./moment-BGjjqtLQ.js";
|
|
5
|
+
import "./arrayExtensions-DFLvtO8l.js";
|
|
6
|
+
import W, { useState as g, useEffect as x } from "react";
|
|
7
|
+
import { F as v } from "./index-Gj4bRuCQ.js";
|
|
8
|
+
import { h as Z, i as O, j as K, k as Q } from "./index-nOT-DH7g.js";
|
|
9
|
+
import { EPaymentType as P } from "./enums/EPaymentType.js";
|
|
10
|
+
import { EBaggage as L } from "./hooks/useFlightSearch/useFlightSearch.types.js";
|
|
11
|
+
import { getAirlineProgram as b, formatCabinClass as G } from "./utils/flightUtils.js";
|
|
12
|
+
import './assets/_styles2.css';/* empty css */
|
|
13
|
+
const k = (e, l, t = l + "s") => e === 1 ? l : t, J = (e) => e ? e.toLowerCase().replace(/-/g, " ").split(" ").map((l) => l.charAt(0).toUpperCase() + l.slice(1)).join(" ") : "";
|
|
14
|
+
function X(e, l = !0) {
|
|
15
|
+
if ((!e || isNaN(e) || e < 0) && l) return "N/A";
|
|
16
|
+
let t = e == null ? void 0 : e.toString().split(".")[0];
|
|
17
|
+
return t == null ? void 0 : t.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
18
|
+
}
|
|
19
|
+
const V = "USD", Co = ({
|
|
20
|
+
type: e,
|
|
21
|
+
title: l,
|
|
22
|
+
cashValue: t,
|
|
23
|
+
milesValue: I,
|
|
24
|
+
cashFee: p,
|
|
25
|
+
setSelected: F,
|
|
26
|
+
conditions: s,
|
|
27
|
+
slices: c,
|
|
28
|
+
baggages: f,
|
|
29
|
+
program: N
|
|
30
|
+
}) => {
|
|
31
|
+
var _, R, T;
|
|
32
|
+
const { featureFlags: h } = H(), [m, U] = g(!1), [A, w] = g(), { pointsAsCash: S } = Y(), i = s == null ? void 0 : s.refundBeforeDeparture, a = s == null ? void 0 : s.changeBeforeDeparture, E = (i != null && i.allowed ? 1 : 0) + (a != null && a.allowed ? 1 : 0) + (((R = (_ = c == null ? void 0 : c[0]) == null ? void 0 : _.segments) == null ? void 0 : R.length) || 0), { data: D } = z({
|
|
33
|
+
queryKey: ["airlineProgram", N],
|
|
34
|
+
queryFn: () => b(N),
|
|
35
|
+
enabled: !!N
|
|
36
|
+
});
|
|
37
|
+
return x(() => {
|
|
38
|
+
h.bookingPaymentMethodFeature === $.FULL_VCC_PARTIAL_DISABLED && M({
|
|
39
|
+
cashAmount: (t == null ? void 0 : t.amount) ?? 0,
|
|
40
|
+
currency: (t == null ? void 0 : t.currency) ?? "",
|
|
41
|
+
pointsAsCash: S
|
|
42
|
+
}).then((n) => {
|
|
43
|
+
S.availablePoints < n && w("Insufficient points balance.");
|
|
44
|
+
});
|
|
45
|
+
}, [t, h]), /* @__PURE__ */ r(
|
|
46
|
+
"div",
|
|
47
|
+
{
|
|
48
|
+
className: "flight-booking-option",
|
|
49
|
+
onClick: (n) => n.stopPropagation(),
|
|
50
|
+
children: [
|
|
51
|
+
/* @__PURE__ */ r("div", { className: "rate-details", children: [
|
|
52
|
+
e === P.POINTS && /* @__PURE__ */ o("img", { src: D == null ? void 0 : D.programLogo }),
|
|
53
|
+
/* @__PURE__ */ o("p", { className: "fare-brand-name", children: J(l) })
|
|
54
|
+
] }),
|
|
55
|
+
e === P.CASH && /* @__PURE__ */ r("div", { className: "fare-comparison-content", children: [
|
|
56
|
+
f == null ? void 0 : f.map((n, B) => /* @__PURE__ */ r(W.Fragment, { children: [
|
|
57
|
+
n.type === L.CHECKED && /* @__PURE__ */ r("div", { className: "fare-option checked", children: [
|
|
58
|
+
/* @__PURE__ */ o("p", { children: "Checked bags:" }),
|
|
59
|
+
/* @__PURE__ */ o("p", { children: n.quantity })
|
|
60
|
+
] }),
|
|
61
|
+
n.type === L.CARRY_ON && /* @__PURE__ */ r("div", { className: "fare-option", children: [
|
|
62
|
+
/* @__PURE__ */ o("p", { children: "Carry-on bags:" }),
|
|
63
|
+
/* @__PURE__ */ o("p", { children: n.quantity })
|
|
64
|
+
] }),
|
|
65
|
+
n.type === null && /* @__PURE__ */ r("div", { className: "fare-option", children: [
|
|
66
|
+
/* @__PURE__ */ o(Z, {}),
|
|
67
|
+
/* @__PURE__ */ o("p", { children: "N/A" })
|
|
68
|
+
] })
|
|
69
|
+
] }, B)),
|
|
70
|
+
/* @__PURE__ */ r("div", { className: "fare-option refundable", children: [
|
|
71
|
+
"Refundable:",
|
|
72
|
+
" ",
|
|
73
|
+
i != null && i.allowed ? /* @__PURE__ */ o(O, { className: "yes" }) : /* @__PURE__ */ o(v, { className: "no" })
|
|
74
|
+
] }),
|
|
75
|
+
/* @__PURE__ */ r("div", { className: "fare-option changeable", children: [
|
|
76
|
+
"Changeable:",
|
|
77
|
+
" ",
|
|
78
|
+
a != null && a.allowed ? /* @__PURE__ */ o(O, { className: "yes" }) : /* @__PURE__ */ o(v, { className: "no" })
|
|
79
|
+
] }),
|
|
80
|
+
/* @__PURE__ */ r(
|
|
81
|
+
"div",
|
|
82
|
+
{
|
|
83
|
+
className: "fare-option show-more-toggle",
|
|
84
|
+
onClick: (n) => {
|
|
85
|
+
n.stopPropagation(), U(!m);
|
|
86
|
+
},
|
|
87
|
+
children: [
|
|
88
|
+
/* @__PURE__ */ o("p", { children: m ? `Hide ${k(E, "option")}` : `+${E} ${k(E, "option")}` }),
|
|
89
|
+
/* @__PURE__ */ o("p", { children: m ? /* @__PURE__ */ o(K, {}) : /* @__PURE__ */ o(Q, {}) })
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
),
|
|
93
|
+
m && /* @__PURE__ */ r(d, { children: [
|
|
94
|
+
(i == null ? void 0 : i.allowed) && /* @__PURE__ */ r("div", { className: "fare-option", children: [
|
|
95
|
+
"Refundable Penalty:",
|
|
96
|
+
" ",
|
|
97
|
+
/* @__PURE__ */ o(
|
|
98
|
+
C,
|
|
99
|
+
{
|
|
100
|
+
amount: i.penaltyAmount || 0,
|
|
101
|
+
currency: i.penaltyCurrency || "",
|
|
102
|
+
zeroDisplayOption: u.DISPLAY_AS_ZERO_WITH_CURRENCY,
|
|
103
|
+
position: y.LEFT
|
|
104
|
+
}
|
|
105
|
+
)
|
|
106
|
+
] }),
|
|
107
|
+
(a == null ? void 0 : a.allowed) && /* @__PURE__ */ r("div", { className: "fare-option", children: [
|
|
108
|
+
"Changeable Penalty:",
|
|
109
|
+
" ",
|
|
110
|
+
/* @__PURE__ */ o(
|
|
111
|
+
C,
|
|
112
|
+
{
|
|
113
|
+
amount: a.penaltyAmount || 0,
|
|
114
|
+
currency: a.penaltyCurrency || "",
|
|
115
|
+
zeroDisplayOption: u.DISPLAY_AS_ZERO_WITH_CURRENCY,
|
|
116
|
+
position: y.LEFT
|
|
117
|
+
}
|
|
118
|
+
)
|
|
119
|
+
] }),
|
|
120
|
+
(T = c == null ? void 0 : c[0].segments) == null ? void 0 : T.map((n) => /* @__PURE__ */ r(
|
|
121
|
+
"div",
|
|
122
|
+
{
|
|
123
|
+
className: "fare-option checked",
|
|
124
|
+
children: [
|
|
125
|
+
/* @__PURE__ */ r("p", { children: [
|
|
126
|
+
n.origin.iataCode,
|
|
127
|
+
" - ",
|
|
128
|
+
n.destination.iataCode,
|
|
129
|
+
":"
|
|
130
|
+
] }),
|
|
131
|
+
/* @__PURE__ */ r("div", { children: [
|
|
132
|
+
/* @__PURE__ */ o("img", { src: n.operatingCarrier.logo }),
|
|
133
|
+
/* @__PURE__ */ o("p", { children: G(n.passengers[0].cabinClass) })
|
|
134
|
+
] })
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
`${n.origin.iataCode}-${n.destination.iataCode}`
|
|
138
|
+
))
|
|
139
|
+
] })
|
|
140
|
+
] }),
|
|
141
|
+
/* @__PURE__ */ o(
|
|
142
|
+
"button",
|
|
143
|
+
{
|
|
144
|
+
onClick: (n) => {
|
|
145
|
+
n.stopPropagation(), F();
|
|
146
|
+
},
|
|
147
|
+
disabled: !!A,
|
|
148
|
+
children: e === P.CASH && t ? /* @__PURE__ */ o(d, { children: A ? /* @__PURE__ */ o("p", { children: A }) : /* @__PURE__ */ r(d, { children: [
|
|
149
|
+
/* @__PURE__ */ o(
|
|
150
|
+
C,
|
|
151
|
+
{
|
|
152
|
+
amount: t.amount,
|
|
153
|
+
currency: t.currency,
|
|
154
|
+
position: y.LEFT,
|
|
155
|
+
zeroDisplayOption: u.DISPLAY_AS_ZERO_WITH_CURRENCY,
|
|
156
|
+
decimalPlaces: 2
|
|
157
|
+
}
|
|
158
|
+
),
|
|
159
|
+
h.amountsDisplayFeature === j.CASH_AND_CLIENT_POINTS && /* @__PURE__ */ r(d, { children: [
|
|
160
|
+
" / ",
|
|
161
|
+
/* @__PURE__ */ o(
|
|
162
|
+
q,
|
|
163
|
+
{
|
|
164
|
+
currency: t.currency,
|
|
165
|
+
cashAmount: t.amount
|
|
166
|
+
}
|
|
167
|
+
)
|
|
168
|
+
] })
|
|
169
|
+
] }) }) : /* @__PURE__ */ r(d, { children: [
|
|
170
|
+
`${X(I)} miles + `,
|
|
171
|
+
/* @__PURE__ */ o(
|
|
172
|
+
C,
|
|
173
|
+
{
|
|
174
|
+
amount: (p == null ? void 0 : p.amount) || 0,
|
|
175
|
+
currency: (p == null ? void 0 : p.currency) || V,
|
|
176
|
+
position: y.LEFT,
|
|
177
|
+
customDisplay: "No fee",
|
|
178
|
+
zeroDisplayOption: u.CUSTOM
|
|
179
|
+
}
|
|
180
|
+
)
|
|
181
|
+
] })
|
|
182
|
+
}
|
|
183
|
+
)
|
|
184
|
+
]
|
|
185
|
+
}
|
|
186
|
+
);
|
|
187
|
+
};
|
|
188
|
+
export {
|
|
189
|
+
Co as B,
|
|
190
|
+
X as c,
|
|
191
|
+
k as p
|
|
192
|
+
};
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import { jsxs as t, jsx as a, Fragment as R } from "react/jsx-runtime";
|
|
2
|
+
import { c as k, a as W, b as G } from "./dateUtils-CWDSSY2R.js";
|
|
3
|
+
import { l as j } from "./arrayExtensions-DFLvtO8l.js";
|
|
4
|
+
import { D as x } from "./index-nI16-czT.js";
|
|
5
|
+
import B, { useMemo as q } from "react";
|
|
6
|
+
import { h as Z } from "./moment-BGjjqtLQ.js";
|
|
7
|
+
import { useTranslation as z } from "react-i18next";
|
|
8
|
+
import { a as $, b as w } from "./index-Gj4bRuCQ.js";
|
|
9
|
+
import './assets/FlightItinerary.css';const F = (r) => {
|
|
10
|
+
var m;
|
|
11
|
+
if (!r) return "";
|
|
12
|
+
try {
|
|
13
|
+
return (m = j.byIso(r)) == null ? void 0 : m.country;
|
|
14
|
+
} catch (c) {
|
|
15
|
+
return console.error(c), "";
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
var v = /* @__PURE__ */ ((r) => (r.USStringDateFormat = "MMM DD, YYYY", r.USStringDateTimeFormat = "MMM DD, YYYY, h:mm A (z)", r.FlightShortDate = "MMM DD - h:mm A", r.FlightTime = "h:mm A", r.DateFormat = "MM/DD", r.StringDateFormat = "MMM DD", r.FullDateFormat = "MM/DD/YYYY", r.ServerDate = "YYYY-MM-DD", r.GoogleDateFormat = "YYYYMMDDTHHmmssZ", r.AppleDateFormat = "YYYYMMDDTHHmmss", r.USStringDateWithTimeFormat = "MMM DD, YYYY, h:mm A", r))(v || {}), f = /* @__PURE__ */ ((r) => (r.ISO = "dates:iso", r.DISPLAY_SHORT = "dates:displayShort", r.DISPLAY_MEDIUM = "dates:displayMedium", r.DISPLAY_LONG = "dates:displayLong", r.DISPLAY_FULL = "dates:displayFull", r.DISPLAY_SHORT_WITH_YEAR = "dates:displayShortWithYear", r.DISPLAY_MEDIUM_WITH_YEAR = "dates:displayMediumWithYear", r.DISPLAY_LONG_WITH_YEAR = "dates:displayLongWithYear", r.DISPLAY_FULL_WITH_YEAR = "dates:displayFullWithYear", r.DATE_TIME_SHORT = "dates:dateTimeShort", r.DATE_TIME_MEDIUM = "dates:dateTimeMedium", r.DATE_TIME_LONG = "dates:dateTimeLong", r.DATE_TIME_FULL = "dates:dateTimeFull", r.DATE_TIME_SHORT_WITH_YEAR = "dates:dateTimeShortWithYear", r.DATE_TIME_MEDIUM_WITH_YEAR = "dates:dateTimeMediumWithYear", r.DATE_TIME_LONG_WITH_YEAR = "dates:dateTimeLongWithYear", r.DATE_TIME_FULL_WITH_YEAR = "dates:dateTimeFullWithYear", r.TIME_ONLY = "dates:timeOnly", r.TIME_WITH_SECONDS = "dates:timeWithSeconds", r))(f || {});
|
|
19
|
+
const tr = ({
|
|
20
|
+
itinerary: r,
|
|
21
|
+
origin: m,
|
|
22
|
+
destination: c,
|
|
23
|
+
onDisableRenderItinerary: s,
|
|
24
|
+
isMultiDayFlight: n
|
|
25
|
+
}) => {
|
|
26
|
+
var o, T, L, D, N, h;
|
|
27
|
+
const g = () => {
|
|
28
|
+
var d, p;
|
|
29
|
+
const i = (p = (d = r[0]) == null ? void 0 : d.passengers) == null ? void 0 : p[0];
|
|
30
|
+
return (i == null ? void 0 : i.cabinClassMarketingName) ?? (i == null ? void 0 : i.cabinClass);
|
|
31
|
+
}, u = q(() => {
|
|
32
|
+
var d, p, Y, M, _, A, S, I, H, O, b;
|
|
33
|
+
const i = [];
|
|
34
|
+
for (let C = 0; C < r.length; C++) {
|
|
35
|
+
const l = r[C], e = r[C + 1];
|
|
36
|
+
if (!e)
|
|
37
|
+
break;
|
|
38
|
+
const U = {
|
|
39
|
+
arrival: {
|
|
40
|
+
airport: (d = l.destination) == null ? void 0 : d.name,
|
|
41
|
+
city: ((p = l.destination) == null ? void 0 : p.cityName) ?? ((M = (Y = l.destination) == null ? void 0 : Y.city) == null ? void 0 : M.name),
|
|
42
|
+
country: F((_ = l.destination) == null ? void 0 : _.iataCountryCode),
|
|
43
|
+
time: l.arrivingAt,
|
|
44
|
+
arrivalTimeZone: l.destination.timeZone
|
|
45
|
+
},
|
|
46
|
+
departure: {
|
|
47
|
+
airport: (A = e.origin) == null ? void 0 : A.name,
|
|
48
|
+
city: ((S = e.origin) == null ? void 0 : S.cityName) ?? ((H = (I = e.origin) == null ? void 0 : I.city) == null ? void 0 : H.name),
|
|
49
|
+
country: F((O = l.destination) == null ? void 0 : O.iataCountryCode),
|
|
50
|
+
time: e.departingAt,
|
|
51
|
+
airline: e.operatingCarrier.name,
|
|
52
|
+
airlineCode: e.operatingCarrier.iataCode,
|
|
53
|
+
aircraft: (b = e.aircraft) == null ? void 0 : b.name,
|
|
54
|
+
flightNumber: e.operatingCarrierFlightNumber,
|
|
55
|
+
cabin: e.passengers[0].cabinClassMarketingName ?? e.passengers[0].cabinClass ?? g(),
|
|
56
|
+
departureTimeZone: e.origin.timeZone
|
|
57
|
+
},
|
|
58
|
+
layoverTime: k({
|
|
59
|
+
// we need to swap around the departure and arrival times
|
|
60
|
+
departureAt: l.arrivingAt,
|
|
61
|
+
departureTimeZone: l.destination.timeZone,
|
|
62
|
+
arrivalAt: e.departingAt,
|
|
63
|
+
arrivalTimeZone: e.origin.timeZone
|
|
64
|
+
})
|
|
65
|
+
};
|
|
66
|
+
U.layoverTime <= 0 && (s == null || s()), i.push(U);
|
|
67
|
+
}
|
|
68
|
+
return i;
|
|
69
|
+
}, [r]);
|
|
70
|
+
return /* @__PURE__ */ t("div", { className: "flight-itinerary", children: [
|
|
71
|
+
/* @__PURE__ */ a(
|
|
72
|
+
P,
|
|
73
|
+
{
|
|
74
|
+
airport: r[0].origin.name,
|
|
75
|
+
city: m.city,
|
|
76
|
+
country: F(m.country),
|
|
77
|
+
departureAt: r[0].departingAt,
|
|
78
|
+
departureTimeZone: r[0].origin.timeZone,
|
|
79
|
+
arrivalAt: r[0].arrivingAt,
|
|
80
|
+
arrivalTimeZone: r[0].destination.timeZone,
|
|
81
|
+
airline: r[0].operatingCarrier.name,
|
|
82
|
+
airlineCode: r[0].operatingCarrier.iataCode,
|
|
83
|
+
aircraft: (o = r[0].aircraft) == null ? void 0 : o.name,
|
|
84
|
+
flightNumber: r[0].operatingCarrierFlightNumber,
|
|
85
|
+
isMultiDayFlight: n
|
|
86
|
+
}
|
|
87
|
+
),
|
|
88
|
+
u.map((i, d) => {
|
|
89
|
+
var p, Y, M, _, A, S, I;
|
|
90
|
+
return /* @__PURE__ */ t(B.Fragment, { children: [
|
|
91
|
+
/* @__PURE__ */ a(
|
|
92
|
+
E,
|
|
93
|
+
{
|
|
94
|
+
airport: i.arrival.airport,
|
|
95
|
+
city: i.arrival.city,
|
|
96
|
+
country: i.arrival.country,
|
|
97
|
+
time: i.arrival.time,
|
|
98
|
+
isLayover: !0,
|
|
99
|
+
layoverTime: G(i.layoverTime),
|
|
100
|
+
arrivalTimeZone: W(
|
|
101
|
+
i.arrival.arrivalTimeZone,
|
|
102
|
+
i.arrival.time
|
|
103
|
+
)
|
|
104
|
+
}
|
|
105
|
+
),
|
|
106
|
+
/* @__PURE__ */ a(
|
|
107
|
+
P,
|
|
108
|
+
{
|
|
109
|
+
airport: (p = i.departure) == null ? void 0 : p.airport,
|
|
110
|
+
city: (Y = i.departure) == null ? void 0 : Y.city,
|
|
111
|
+
country: (M = i.departure) == null ? void 0 : M.country,
|
|
112
|
+
departureAt: i.departure.time,
|
|
113
|
+
departureTimeZone: i.departure.departureTimeZone,
|
|
114
|
+
arrivalAt: r[d + 1].arrivingAt,
|
|
115
|
+
arrivalTimeZone: r[d + 1].destination.timeZone,
|
|
116
|
+
airline: (_ = i.departure) == null ? void 0 : _.airline,
|
|
117
|
+
airlineCode: (A = i.departure) == null ? void 0 : A.airlineCode,
|
|
118
|
+
aircraft: (S = i.departure) == null ? void 0 : S.aircraft,
|
|
119
|
+
flightNumber: (I = i.departure) == null ? void 0 : I.flightNumber
|
|
120
|
+
}
|
|
121
|
+
)
|
|
122
|
+
] }, i.departure.flightNumber || d);
|
|
123
|
+
}),
|
|
124
|
+
/* @__PURE__ */ a(
|
|
125
|
+
E,
|
|
126
|
+
{
|
|
127
|
+
airport: (L = (T = r.getLast()) == null ? void 0 : T.destination) == null ? void 0 : L.name,
|
|
128
|
+
city: c.city,
|
|
129
|
+
country: F(c.country),
|
|
130
|
+
time: (D = r.getLast()) == null ? void 0 : D.arrivingAt,
|
|
131
|
+
arrivalTimeZone: W(
|
|
132
|
+
(N = r.getLast()) == null ? void 0 : N.destination.timeZone,
|
|
133
|
+
(h = r.getLast()) == null ? void 0 : h.arrivingAt
|
|
134
|
+
),
|
|
135
|
+
isMultiDayFlight: n
|
|
136
|
+
}
|
|
137
|
+
)
|
|
138
|
+
] });
|
|
139
|
+
}, P = ({
|
|
140
|
+
airport: r,
|
|
141
|
+
city: m,
|
|
142
|
+
country: c,
|
|
143
|
+
airline: s,
|
|
144
|
+
airlineCode: n,
|
|
145
|
+
flightNumber: g,
|
|
146
|
+
aircraft: u,
|
|
147
|
+
departureAt: o,
|
|
148
|
+
departureTimeZone: T,
|
|
149
|
+
arrivalAt: L,
|
|
150
|
+
arrivalTimeZone: D,
|
|
151
|
+
isMultiDayFlight: N
|
|
152
|
+
}) => {
|
|
153
|
+
const { t: h } = z(), i = k({
|
|
154
|
+
departureAt: o,
|
|
155
|
+
departureTimeZone: T,
|
|
156
|
+
arrivalAt: L,
|
|
157
|
+
arrivalTimeZone: D
|
|
158
|
+
});
|
|
159
|
+
return /* @__PURE__ */ t("div", { className: "departure", children: [
|
|
160
|
+
/* @__PURE__ */ t("p", { children: [
|
|
161
|
+
Z(o).format(
|
|
162
|
+
h(f.TIME_ONLY, v.FlightTime)
|
|
163
|
+
),
|
|
164
|
+
" ",
|
|
165
|
+
/* @__PURE__ */ t("span", { className: "time-zone", children: [
|
|
166
|
+
"(",
|
|
167
|
+
W(T, o),
|
|
168
|
+
")"
|
|
169
|
+
] }),
|
|
170
|
+
/* @__PURE__ */ a("br", {}),
|
|
171
|
+
N ? /* @__PURE__ */ t("div", { className: "travel-time", children: [
|
|
172
|
+
/* @__PURE__ */ a($, {}),
|
|
173
|
+
/* @__PURE__ */ t("span", { children: [
|
|
174
|
+
"Departure:",
|
|
175
|
+
" ",
|
|
176
|
+
Z(o).format(
|
|
177
|
+
h(f.DISPLAY_MEDIUM, v.StringDateFormat)
|
|
178
|
+
)
|
|
179
|
+
] })
|
|
180
|
+
] }) : /* @__PURE__ */ a(R, {}),
|
|
181
|
+
/* @__PURE__ */ t("div", { className: "travel-time", children: [
|
|
182
|
+
/* @__PURE__ */ a(w, {}),
|
|
183
|
+
/* @__PURE__ */ t("span", { children: [
|
|
184
|
+
"Travel Time: ",
|
|
185
|
+
G(i)
|
|
186
|
+
] })
|
|
187
|
+
] })
|
|
188
|
+
] }),
|
|
189
|
+
/* @__PURE__ */ t("div", { children: [
|
|
190
|
+
/* @__PURE__ */ t("span", { children: [
|
|
191
|
+
r,
|
|
192
|
+
", ",
|
|
193
|
+
m,
|
|
194
|
+
", ",
|
|
195
|
+
c
|
|
196
|
+
] }),
|
|
197
|
+
/* @__PURE__ */ a("img", { src: `${x}${n}.svg`, alt: s }),
|
|
198
|
+
/* @__PURE__ */ t("p", { children: [
|
|
199
|
+
/* @__PURE__ */ a("strong", { children: "Aircraft:" }),
|
|
200
|
+
" ",
|
|
201
|
+
u
|
|
202
|
+
] }),
|
|
203
|
+
/* @__PURE__ */ t("p", { children: [
|
|
204
|
+
/* @__PURE__ */ a("strong", { children: "Flight:" }),
|
|
205
|
+
" ",
|
|
206
|
+
n,
|
|
207
|
+
" ",
|
|
208
|
+
g
|
|
209
|
+
] })
|
|
210
|
+
] })
|
|
211
|
+
] });
|
|
212
|
+
}, E = ({
|
|
213
|
+
airport: r,
|
|
214
|
+
city: m,
|
|
215
|
+
country: c,
|
|
216
|
+
time: s,
|
|
217
|
+
isLayover: n,
|
|
218
|
+
layoverTime: g,
|
|
219
|
+
arrivalTimeZone: u,
|
|
220
|
+
isMultiDayFlight: o
|
|
221
|
+
}) => {
|
|
222
|
+
const { t: T } = z("dates");
|
|
223
|
+
return /* @__PURE__ */ t("div", { className: `arrival ${n ? "layover" : ""}`, children: [
|
|
224
|
+
/* @__PURE__ */ t("p", { children: [
|
|
225
|
+
Z(s).format(T(f.TIME_ONLY, v.FlightTime)),
|
|
226
|
+
" ",
|
|
227
|
+
/* @__PURE__ */ t("span", { className: "time-zone", children: [
|
|
228
|
+
"(",
|
|
229
|
+
u,
|
|
230
|
+
")"
|
|
231
|
+
] }),
|
|
232
|
+
o && !n ? /* @__PURE__ */ t("div", { className: "travel-time", children: [
|
|
233
|
+
/* @__PURE__ */ a($, {}),
|
|
234
|
+
/* @__PURE__ */ t("span", { children: [
|
|
235
|
+
"Arrival:",
|
|
236
|
+
" ",
|
|
237
|
+
Z(s).format(
|
|
238
|
+
T(f.DISPLAY_MEDIUM, v.StringDateFormat)
|
|
239
|
+
)
|
|
240
|
+
] })
|
|
241
|
+
] }) : /* @__PURE__ */ a(R, {})
|
|
242
|
+
] }),
|
|
243
|
+
/* @__PURE__ */ t("div", { children: [
|
|
244
|
+
/* @__PURE__ */ t("p", { children: [
|
|
245
|
+
n ? "Layover in" : "",
|
|
246
|
+
" ",
|
|
247
|
+
r,
|
|
248
|
+
", ",
|
|
249
|
+
m,
|
|
250
|
+
", ",
|
|
251
|
+
c
|
|
252
|
+
] }),
|
|
253
|
+
/* @__PURE__ */ a("i", { children: n ? g : "" })
|
|
254
|
+
] })
|
|
255
|
+
] });
|
|
256
|
+
};
|
|
257
|
+
export {
|
|
258
|
+
v as E,
|
|
259
|
+
tr as F,
|
|
260
|
+
f as a,
|
|
261
|
+
F as g
|
|
262
|
+
};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { jsxs as l, Fragment as T, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { c as L, b as k } from "./dateUtils-CWDSSY2R.js";
|
|
3
|
+
import "./arrayExtensions-DFLvtO8l.js";
|
|
4
|
+
import { useMemo as C } from "react";
|
|
5
|
+
import { g as M, b } from "./index-nOT-DH7g.js";
|
|
6
|
+
import { G as m } from "./iconBase-DSKTHwal.js";
|
|
7
|
+
import './assets/MiniFlightItinerary.css';function x(a) {
|
|
8
|
+
return m({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "path", attr: { d: "M5 12h14" }, child: [] }, { tag: "path", attr: { d: "m12 5 7 7-7 7" }, child: [] }] })(a);
|
|
9
|
+
}
|
|
10
|
+
function G(a) {
|
|
11
|
+
return m({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "path", attr: { d: "m6 9 6 6 6-6" }, child: [] }] })(a);
|
|
12
|
+
}
|
|
13
|
+
function j(a) {
|
|
14
|
+
return m({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "path", attr: { d: "M2 22h20" }, child: [] }, { tag: "path", attr: { d: "M3.77 10.77 2 9l2-4.5 1.1.55c.55.28.9.84.9 1.45s.35 1.17.9 1.45L8 8.5l3-6 1.05.53a2 2 0 0 1 1.09 1.52l.72 5.4a2 2 0 0 0 1.09 1.52l4.4 2.2c.42.22.78.55 1.01.96l.6 1.03c.49.88-.06 1.98-1.06 2.1l-1.18.15c-.47.06-.95-.02-1.37-.24L4.29 11.15a2 2 0 0 1-.52-.38Z" }, child: [] }] })(a);
|
|
15
|
+
}
|
|
16
|
+
function w(a) {
|
|
17
|
+
return m({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "path", attr: { d: "M2 22h20" }, child: [] }, { tag: "path", attr: { d: "M6.36 17.4 4 17l-2-4 1.1-.55a2 2 0 0 1 1.8 0l.17.1a2 2 0 0 0 1.8 0L8 12 5 6l.9-.45a2 2 0 0 1 2.09.2l4.02 3a2 2 0 0 0 2.1.2l4.19-2.06a2.41 2.41 0 0 1 1.73-.17L21 7a1.4 1.4 0 0 1 .87 1.99l-.38.76c-.23.46-.6.84-1.07 1.08L7.58 17.2a2 2 0 0 1-1.22.18Z" }, child: [] }] })(a);
|
|
18
|
+
}
|
|
19
|
+
const I = ({
|
|
20
|
+
flightDetails: a
|
|
21
|
+
}) => {
|
|
22
|
+
const n = a.flightDetails.slices[0].segments, Z = C(() => {
|
|
23
|
+
var r, d, o, s, u, g, v, f;
|
|
24
|
+
const i = [];
|
|
25
|
+
for (let h = 0; h < n.length; h++) {
|
|
26
|
+
const t = n[h], c = n[h + 1], y = L({
|
|
27
|
+
departureAt: t.departingAt,
|
|
28
|
+
departureTimeZone: t.origin.timeZone,
|
|
29
|
+
arrivalAt: t.arrivingAt,
|
|
30
|
+
arrivalTimeZone: t.destination.timeZone
|
|
31
|
+
});
|
|
32
|
+
if (i.push({
|
|
33
|
+
departure: {
|
|
34
|
+
code: (r = t.origin) == null ? void 0 : r.iataCode,
|
|
35
|
+
airport: (d = t.origin) == null ? void 0 : d.name
|
|
36
|
+
},
|
|
37
|
+
arrival: {
|
|
38
|
+
code: (o = t.destination) == null ? void 0 : o.iataCode,
|
|
39
|
+
airport: (s = t.destination) == null ? void 0 : s.name
|
|
40
|
+
},
|
|
41
|
+
time: y
|
|
42
|
+
}), !c)
|
|
43
|
+
break;
|
|
44
|
+
const A = L({
|
|
45
|
+
departureAt: t.arrivingAt,
|
|
46
|
+
departureTimeZone: t.destination.timeZone,
|
|
47
|
+
arrivalAt: c.departingAt,
|
|
48
|
+
arrivalTimeZone: c.origin.timeZone
|
|
49
|
+
});
|
|
50
|
+
i.push({
|
|
51
|
+
departure: {
|
|
52
|
+
code: (u = t.destination) == null ? void 0 : u.iataCode,
|
|
53
|
+
airport: (g = t.destination) == null ? void 0 : g.name
|
|
54
|
+
},
|
|
55
|
+
arrival: {
|
|
56
|
+
code: (v = c.origin) == null ? void 0 : v.iataCode,
|
|
57
|
+
airport: (f = c.origin) == null ? void 0 : f.name
|
|
58
|
+
},
|
|
59
|
+
time: A,
|
|
60
|
+
isLayover: !0
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return i;
|
|
64
|
+
}, [n]), p = C(() => {
|
|
65
|
+
var r, d;
|
|
66
|
+
const i = [];
|
|
67
|
+
for (let o = 0; o < n.length; o++) {
|
|
68
|
+
const s = n[o];
|
|
69
|
+
i.push(((r = s.origin) == null ? void 0 : r.iataCode) ?? "");
|
|
70
|
+
}
|
|
71
|
+
return i.push(((d = n.getLast().destination) == null ? void 0 : d.iataCode) ?? ""), i;
|
|
72
|
+
}, [n]);
|
|
73
|
+
return /* @__PURE__ */ l(T, { children: [
|
|
74
|
+
/* @__PURE__ */ e("div", { className: "mobile-mini-flight-itinerary", children: p.map((i, r) => /* @__PURE__ */ l("div", { children: [
|
|
75
|
+
/* @__PURE__ */ e("p", { children: i }),
|
|
76
|
+
r < p.length - 1 && /* @__PURE__ */ e(x, {})
|
|
77
|
+
] }, r)) }),
|
|
78
|
+
/* @__PURE__ */ e("div", { className: "mini-flight-itinerary", children: Z.map(
|
|
79
|
+
(i, r) => i.isLayover ? /* @__PURE__ */ l("div", { className: "layover tip", children: [
|
|
80
|
+
/* @__PURE__ */ e(M, {}),
|
|
81
|
+
/* @__PURE__ */ e("p", { children: k(i.time) }),
|
|
82
|
+
/* @__PURE__ */ l("span", { className: "bottom", children: [
|
|
83
|
+
"Layover in ",
|
|
84
|
+
i.departure.code,
|
|
85
|
+
" (",
|
|
86
|
+
i.departure.airport,
|
|
87
|
+
")"
|
|
88
|
+
] })
|
|
89
|
+
] }) : /* @__PURE__ */ l("div", { className: "flight", children: [
|
|
90
|
+
/* @__PURE__ */ e(w, {}),
|
|
91
|
+
/* @__PURE__ */ e("p", { children: i.departure.code }),
|
|
92
|
+
/* @__PURE__ */ e("div", { className: "timeline", children: /* @__PURE__ */ l("div", { children: [
|
|
93
|
+
/* @__PURE__ */ e(b, {}),
|
|
94
|
+
/* @__PURE__ */ e("p", { children: k(i.time) })
|
|
95
|
+
] }) }),
|
|
96
|
+
/* @__PURE__ */ e(j, {}),
|
|
97
|
+
/* @__PURE__ */ e("p", { children: i.arrival.code })
|
|
98
|
+
] }, r)
|
|
99
|
+
) })
|
|
100
|
+
] });
|
|
101
|
+
};
|
|
102
|
+
export {
|
|
103
|
+
G as L,
|
|
104
|
+
I as M
|
|
105
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";*{font-family:Inter,sans-serif!important;margin:0;padding:0;box-sizing:border-box}:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tip{position:relative}.tip>span{background-color:var(--dark, #14181f);color:#fff;padding:.5rem;border-radius:.5rem;position:absolute;bottom:110%;left:50%;transform:translate(-50%);display:none;transition:all .2s ease-in-out;z-index:100;width:max-content;font-size:.6rem;font-weight:600;text-transform:uppercase;line-height:.8rem;text-align:center;box-sizing:border-box;pointer-events:none}@media screen and (max-width: 480px){.tip>span{width:fit-content}}.tip>span.left{right:100%;top:50%;bottom:auto;left:auto;transform:translateY(-50%)}.tip>span.left:before{left:auto;right:-7.5px;top:50%;transform:translateY(-50%) rotate(-90deg)}.tip>span.right{left:100%;top:50%;bottom:auto;right:auto;transform:translateY(-50%)}.tip>span.right:before{left:-7.5px;right:auto;top:50%;transform:translateY(-50%) rotate(90deg)}.tip>span.bottom{top:100%;left:50%;right:auto;bottom:auto;transform:translate(-50%)}.tip>span.bottom:before{left:50%;right:auto;top:-5px;transform:translate(-50%) rotate(180deg)}.tip>span:before{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--dark, #14181f)}.tip:hover>span,.tip:focus>span{display:flex;animation:tip-fade-up .2s ease-in-out}.tip:hover>span.right,.tip:focus>span.right{animation:tip-fade-right .2s ease-in-out}.tip:hover>span.left,.tip:focus>span.left{animation:tip-fade-left .2s ease-in-out}.tip:hover>span.bottom,.tip:focus>span.bottom{animation:tip-fade-down .2s ease-in-out}@keyframes slide-in-right{0%{opacity:0;transform:translate(0)}50%{transform:translate(-100vw);opacity:0}50.001%{opacity:0;transform:translate(105vw)}50.002%{opacity:1;transform:translate(100vw)}to{transform:translate(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(0)}50%{transform:translate(100vw);opacity:0}50.001%{opacity:0;transform:translate(-100vw)}50.002%{opacity:1;transform:translate(-100vw)}to{transform:translate(0)}}@keyframes slide-out-right{0%{transform:translate(0)}to{transform:translate(100vw);opacity:1}}@keyframes slide-out-left{0%{transform:translate(0)}to{transform:translate(-100vw);opacity:1}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translate(0);opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes scale-out{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes scale-in{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes no-no{0%{transform:translate(0)}20%{transform:translate(-20px)}40%{transform:translate(15px)}60%{transform:translate(-10px)}80%{transform:translate(5px)}to{transform:translate(0)}}@keyframes loading-track{0%{transform:translate(-100%);opacity:0}25%{opacity:1}75%{opacity:1}to{opacity:0;transform:translate(100%)}}@keyframes loading-in{0%{height:0}to{height:5px}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shine{0%{background-position:right}}@keyframes text-pulse{0%{opacity:.75}35%{opacity:1}65%{opacity:1}to{opacity:.75}}@keyframes pulse{0%{opacity:.85}35%{opacity:1}65%{opacity:1}to{opacity:.85}}@keyframes shimmer{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-right{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes spring-in{0%{opacity:0;transform:scale(.8)}70%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes ripple{0%{transform:scale(1)}to{transform:scale(1.1,1.4)}}@keyframes tip-fade-right{0%{opacity:0;transform:translate(-20px,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes tip-fade-left{0%{opacity:0;transform:translate(20px,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes tip-fade-down{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}@keyframes tip-fade-up{0%{opacity:0;transform:translate(-50%,5px)}to{opacity:1;transform:translate(-50%)}}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes scale-fade-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scroll-horizontally{0%{transform:translate(0)}to{transform:translate(-50%)}}.flight-itinerary{display:flex;flex-direction:column}.flight-itinerary .layover{position:relative;padding-bottom:3rem}.flight-itinerary .layover:before{content:"";position:absolute;top:0;bottom:0;left:calc(.5rem + 1px);width:3px;background:repeating-linear-gradient(0deg,#d8e3ea 0,#d8e3ea 5px,#0000 0,#0000 8px);z-index:7}.flight-itinerary .layover>div>p,.flight-itinerary .layover>div>i{color:#a9b2b7}.flight-itinerary .departure,.flight-itinerary .arrival{display:flex;gap:2rem}.flight-itinerary .departure>p,.flight-itinerary .arrival>p{position:relative;margin-left:2rem}.flight-itinerary .departure>p:before,.flight-itinerary .arrival>p:before{content:"";border:2px solid #d8e3ea;height:1rem;width:1rem;border-radius:50%;position:absolute;left:-2rem;top:-.2rem;z-index:10;background-color:var(--foreground, #fff)}.flight-itinerary .departure>p .time-zone,.flight-itinerary .arrival>p .time-zone{color:var(--text-light, rgba(37, 46, 52, .2509803922));font-size:.8rem}.flight-itinerary .departure>p .travel-time,.flight-itinerary .arrival>p .travel-time{color:var(--text-light, rgba(37, 46, 52, .2509803922));font-size:.8rem;display:flex;flex-direction:row;margin-top:.25rem;gap:.25rem;align-items:center}.flight-itinerary .departure{padding-bottom:2rem;position:relative}.flight-itinerary .departure:before{content:"";position:absolute;top:0;bottom:0;left:calc(.5rem + 1px);width:2px;background-color:#d8e3ea;z-index:7}.flight-itinerary .departure div{flex:1;display:flex;flex-direction:column;gap:4px;position:relative;border-radius:1rem}.flight-itinerary .departure div span{font-weight:500}.flight-itinerary .departure div img{max-width:150px;max-height:25px;align-self:flex-start;background-color:var(--light, #f9fdff);padding:.25rem .5rem;border-radius:.5rem}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";.itinerary-dropdown{display:flex;flex-direction:column;border-top:1px solid var(--border, #e7eef3)}.itinerary-dropdown .itinerary-dropdown-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;padding:0 1rem}.itinerary-dropdown .itinerary-dropdown-header:hover{background-color:var(--background, #f9fdff)}.itinerary-dropdown .itinerary-dropdown-content{display:grid;grid-template-rows:0fr;transition:all .2s ease-in-out;background-color:var(--foreground, #fff);border-top:1px solid var(--border, #e7eef3);border-width:0}.itinerary-dropdown .itinerary-dropdown-content.is-open{grid-template-rows:1fr;padding:1rem;border-top:1px solid var(--border, #e7eef3)}.itinerary-dropdown .itinerary-dropdown-content.is-open .itinerary-dropdown-inner{scale:1;opacity:1;overflow:visible;border-bottom:1px solid var(--border, #e7eef3);padding-bottom:1rem}.itinerary-dropdown .itinerary-dropdown-content .itinerary-dropdown-inner{overflow:hidden;transition:all .2s ease-in-out;scale:.9;opacity:0;transform-origin:top center}*{font-family:Inter,sans-serif!important;margin:0;padding:0;box-sizing:border-box}:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tip{position:relative}.tip>span{background-color:var(--dark, #14181f);color:#fff;padding:.5rem;border-radius:.5rem;position:absolute;bottom:110%;left:50%;transform:translate(-50%);display:none;transition:all .2s ease-in-out;z-index:100;width:max-content;font-size:.6rem;font-weight:600;text-transform:uppercase;line-height:.8rem;text-align:center;box-sizing:border-box;pointer-events:none}@media screen and (max-width: 480px){.tip>span{width:fit-content}}.tip>span.left{right:100%;top:50%;bottom:auto;left:auto;transform:translateY(-50%)}.tip>span.left:before{left:auto;right:-7.5px;top:50%;transform:translateY(-50%) rotate(-90deg)}.tip>span.right{left:100%;top:50%;bottom:auto;right:auto;transform:translateY(-50%)}.tip>span.right:before{left:-7.5px;right:auto;top:50%;transform:translateY(-50%) rotate(90deg)}.tip>span.bottom{top:100%;left:50%;right:auto;bottom:auto;transform:translate(-50%)}.tip>span.bottom:before{left:50%;right:auto;top:-5px;transform:translate(-50%) rotate(180deg)}.tip>span:before{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--dark, #14181f)}.tip:hover>span,.tip:focus>span{display:flex;animation:tip-fade-up .2s ease-in-out}.tip:hover>span.right,.tip:focus>span.right{animation:tip-fade-right .2s ease-in-out}.tip:hover>span.left,.tip:focus>span.left{animation:tip-fade-left .2s ease-in-out}.tip:hover>span.bottom,.tip:focus>span.bottom{animation:tip-fade-down .2s ease-in-out}@keyframes slide-in-right{0%{opacity:0;transform:translate(0)}50%{transform:translate(-100vw);opacity:0}50.001%{opacity:0;transform:translate(105vw)}50.002%{opacity:1;transform:translate(100vw)}to{transform:translate(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(0)}50%{transform:translate(100vw);opacity:0}50.001%{opacity:0;transform:translate(-100vw)}50.002%{opacity:1;transform:translate(-100vw)}to{transform:translate(0)}}@keyframes slide-out-right{0%{transform:translate(0)}to{transform:translate(100vw);opacity:1}}@keyframes slide-out-left{0%{transform:translate(0)}to{transform:translate(-100vw);opacity:1}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translate(0);opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes scale-out{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes scale-in{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes no-no{0%{transform:translate(0)}20%{transform:translate(-20px)}40%{transform:translate(15px)}60%{transform:translate(-10px)}80%{transform:translate(5px)}to{transform:translate(0)}}@keyframes loading-track{0%{transform:translate(-100%);opacity:0}25%{opacity:1}75%{opacity:1}to{opacity:0;transform:translate(100%)}}@keyframes loading-in{0%{height:0}to{height:5px}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shine{0%{background-position:right}}@keyframes text-pulse{0%{opacity:.75}35%{opacity:1}65%{opacity:1}to{opacity:.75}}@keyframes pulse{0%{opacity:.85}35%{opacity:1}65%{opacity:1}to{opacity:.85}}@keyframes shimmer{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-right{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes spring-in{0%{opacity:0;transform:scale(.8)}70%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes ripple{0%{transform:scale(1)}to{transform:scale(1.1,1.4)}}@keyframes tip-fade-right{0%{opacity:0;transform:translate(-20px,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes tip-fade-left{0%{opacity:0;transform:translate(20px,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes tip-fade-down{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}@keyframes tip-fade-up{0%{opacity:0;transform:translate(-50%,5px)}to{opacity:1;transform:translate(-50%)}}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes scale-fade-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scroll-horizontally{0%{transform:translate(0)}to{transform:translate(-50%)}}.awayz-flight-result{background-color:var(--foreground, #fff);border-radius:1rem;border:1px solid var(--border, #e7eef3);overflow:hidden;width:100%;margin:0 auto;position:relative;height:fit-content;padding:1px;transition:all .2s ease-in-out;z-index:10;animation:fade-up .2s ease-in-out both;backface-visibility:hidden}.awayz-flight-result .content{overflow:hidden;border-radius:.8rem;width:100%;margin:0 auto;position:relative;height:fit-content;z-index:1;display:flex;flex-direction:column}.awayz-flight-result .content .flight-info{padding:1rem;display:flex;flex-direction:column}.awayz-flight-result .content .flight-info .flight-info-header{display:flex;justify-content:space-between;align-items:center}.awayz-flight-result .content .flight-info .flight-info-header .airline-logo{display:flex;align-items:center;justify-content:center;gap:.5rem}.awayz-flight-result .content .flight-info .flight-info-header .airline-logo img{height:30px;width:30px;padding:.25rem;object-fit:contain;border-radius:50%;border:1px solid var(--border, #e7eef3);background-color:var(--light, #f9fdff)}.awayz-flight-result .content .flight-info .flight-info-header .airline-logo p{font-size:.8rem;font-weight:600}.awayz-flight-result .content .flight-info .flight-info-header .airline-logo p:last-child{color:var(--text-light, rgba(37, 46, 52, .2509803922));font-weight:400;font-size:.7rem}.awayz-flight-result .content .flight-info .flight-info-header .flight-times{display:flex;flex-direction:column;align-items:flex-end;font-size:.8rem}.awayz-flight-result .content .flight-info .flight-info-header .flight-times .flight-duration{display:flex;align-items:center;gap:.5rem;color:var(--text-light, rgba(37, 46, 52, .2509803922))}.awayz-flight-result .content .flight-info .flight-info-header .flight-times p{color:var(--text-light, rgba(37, 46, 52, .2509803922))}.awayz-flight-result .content .flight-info .flight-info-content{display:flex;justify-content:space-between;align-items:center}.awayz-flight-result .content .flight-info .flight-info-content .flight-icon{font-size:1.6rem;color:var(--text-light, rgba(37, 46, 52, .2509803922))}.awayz-flight-result .content .flight-info .flight-info-content .flight-info-times .flight-info-time{font-size:1.6rem;font-weight:600}.awayz-flight-result .content .flight-info .flight-info-content .flight-info-times .flight-location{display:flex;gap:.5rem}.awayz-flight-result .content .flight-info .flight-info-content .flight-info-times .flight-location .flight-location-icon{display:flex;align-items:center;justify-content:center;height:20px;width:20px;border-radius:50%;border-radius:4rem;background-color:var(--primary, #1495f2);font-size:.7rem;color:var(--foreground, #fff)}.awayz-flight-result .content .flight-info .flight-info-content .flight-info-times:last-child{align-items:flex-end}.awayz-flight-result .content .flight-info .flight-info-content .flight-info-times:last-child .flight-location{justify-content:flex-end}.awayz-flight-result .content>div.flight-footer{flex:2;display:flex;justify-content:space-between;align-items:center;padding:1rem;gap:1rem;background-color:var(--background, #f9fdff);border-top:1px solid var(--border, #e7eef3)}@media screen and (max-width: 1024px){.awayz-flight-result .content>div.flight-footer{flex-direction:column}}.awayz-flight-result .content>div.flight-footer .view-details{display:flex;align-items:center;gap:1rem;cursor:pointer;-webkit-user-select:none;user-select:none}.awayz-flight-result .content>div.flight-footer .booking-options{display:flex;justify-content:flex-end;gap:1rem;font-size:.8rem;flex:3}@media screen and (max-width: 1024px){.awayz-flight-result .content>div.flight-footer .booking-options{width:100%;flex-direction:column}}.awayz-flight-result .content>div.flight-footer .booking-options .offer-expiry{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border, #e7eef3);border-radius:50rem;padding:1rem;gap:1rem;transition:all .2s ease-in-out;background-color:var(--foreground, #fff);font-weight:600}.awayz-flight-result .content>div.flight-footer .booking-options .offer-expiry span{display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--warning, #ff7f2f)}.awayz-flight-result .content>div.flight-footer .booking-options .amount-value{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border, #e7eef3);border-radius:4rem;padding:.5rem 1rem;gap:2rem;cursor:pointer;transition:all .2s ease-in-out;background-color:var(--foreground, #fff)}.awayz-flight-result .content>div.flight-footer .booking-options .amount-value .amount-airline-logo{display:flex;align-items:center;background-color:var(--light, #f9fdff);border-radius:4rem;padding:.25rem .5rem;margin-left:-.5rem}.awayz-flight-result .content>div.flight-footer .booking-options .amount-value img{height:30px;max-width:100px}.awayz-flight-result .content>div.flight-footer .booking-options .amount-value>div{display:flex;flex-direction:column}.awayz-flight-result .content>div.flight-footer .booking-options .amount-value label{font-size:.7rem;font-weight:600}.awayz-flight-result .content>div.flight-footer .booking-options .amount-value .flight-cash-amount-value{display:flex;gap:.25rem}.awayz-flight-result .content>div.flight-footer .booking-options .amount-value.amount-value{position:relative}.awayz-flight-result .content>div.flight-footer .booking-options .amount-value.amount-value .currency-conversion{display:flex}.awayz-flight-result .content>div.flight-footer .booking-options .amount-value.amount-value .best-value-flag{display:flex;align-items:center;justify-content:center;flex-direction:row;gap:.25rem;position:absolute;right:-1px;padding:.25rem .5rem;top:-1rem;color:var(--foreground, #fff);border-radius:50rem;font-weight:600;background-color:var(--primary, #1495f2);border-bottom-right-radius:0;font-size:.7rem}.awayz-flight-result .content>div.flight-footer .booking-options .amount-value.amount-value .best-value-flag p{color:var(--foreground, #fff)}.awayz-flight-result .content>div.flight-footer .booking-options .amount-value.amount-value.show-best-value-flag{border-color:var(--primary, #1495f2);border-top-right-radius:0}.awayz-flight-result .content>div.flight-footer .booking-options .amount-value.amount-value p{display:flex;gap:.25rem}.awayz-flight-result .content>div.flight-footer .booking-options .amount-value:first-of-type{grid-area:price}.awayz-flight-result .content>div.flight-footer .booking-options .amount-value:last-of-type{grid-area:points}.awayz-flight-result .content>div.flight-footer .booking-options .amount-value:hover{background-color:var(--background, #f9fdff)}@media screen and (max-width: 1024px){.awayz-flight-result .content>div.flight-footer .booking-options .amount-value{flex-direction:row;justify-content:space-between;align-items:center}.awayz-flight-result .content>div.flight-footer .booking-options .amount-value.amount-value{text-align:center}.awayz-flight-result .content>div.flight-footer .booking-options .amount-value.amount-value img{height:30px;max-width:80px}.awayz-flight-result .content>div.flight-footer .booking-options .amount-value p:last-child{font-weight:600;font-size:1rem}}.awayz-flight-result .content .flight-detail-container{display:flex;gap:1rem;justify-content:space-between}@media screen and (max-width: 1024px){.awayz-flight-result .content .flight-detail-container{width:100%}}.awayz-flight-result .content .flight-detail:not(:first-of-type){border-left:1px solid var(--border, #e7eef3);padding:0 2rem}@media screen and (max-width: 1024px){.awayz-flight-result .content .flight-detail:not(:first-of-type){padding:0 .5rem}}.awayz-flight-result .content .flight-detail p{font-size:.8rem}.awayz-flight-result .content .flight-detail p:first-of-type{font-size:.7rem;color:var(--text-light, rgba(37, 46, 52, .2509803922))}.awayz-flight-result .content .flight-detail p:last-of-type{font-weight:600}.awayz-flight-result .content .flight-detail p.chevron-text{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.awayz-flight-result .flight-details{display:grid;grid-template-rows:0fr;transition:all .2s ease-in-out;background-color:var(--foreground, #fff);border-top:1px solid var(--border, #e7eef3);border-width:0}.awayz-flight-result .flight-details.is-open{grid-template-rows:1fr;padding:1rem;padding-top:0;border-top:1px solid var(--border, #e7eef3)}.awayz-flight-result .flight-details.is-open .inner{scale:1;opacity:1}.awayz-flight-result .flight-details .inner{overflow:hidden;transition:all .2s ease-in-out;scale:.9;opacity:0;transform-origin:top center}.awayz-flight-result .flight-details .inner .flight-booking-options{display:flex;flex-direction:column;gap:1rem}.awayz-flight-result .flight-details .inner .flight-booking-options .booking-options-section{display:flex;flex-direction:column;gap:.5rem}.awayz-flight-result .flight-details .inner .flight-booking-options .booking-options-title{font-size:.7rem;font-weight:600;color:var(--text-light, rgba(37, 46, 52, .2509803922));text-transform:uppercase;letter-spacing:.04em}.awayz-flight-result .flight-details .inner .flight-booking-options .booking-options-scroll{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.25rem;-webkit-overflow-scrolling:touch}.awayz-flight-result .flight-details .inner .flight-booking-options .booking-options-scroll>*{flex:0 0 auto}.awayz-flight-result:hover{cursor:pointer}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";*{font-family:Inter,sans-serif!important;margin:0;padding:0;box-sizing:border-box}:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tip{position:relative}.tip>span{background-color:var(--dark, #14181f);color:#fff;padding:.5rem;border-radius:.5rem;position:absolute;bottom:110%;left:50%;transform:translate(-50%);display:none;transition:all .2s ease-in-out;z-index:100;width:max-content;font-size:.6rem;font-weight:600;text-transform:uppercase;line-height:.8rem;text-align:center;box-sizing:border-box;pointer-events:none}@media screen and (max-width: 480px){.tip>span{width:fit-content}}.tip>span.left{right:100%;top:50%;bottom:auto;left:auto;transform:translateY(-50%)}.tip>span.left:before{left:auto;right:-7.5px;top:50%;transform:translateY(-50%) rotate(-90deg)}.tip>span.right{left:100%;top:50%;bottom:auto;right:auto;transform:translateY(-50%)}.tip>span.right:before{left:-7.5px;right:auto;top:50%;transform:translateY(-50%) rotate(90deg)}.tip>span.bottom{top:100%;left:50%;right:auto;bottom:auto;transform:translate(-50%)}.tip>span.bottom:before{left:50%;right:auto;top:-5px;transform:translate(-50%) rotate(180deg)}.tip>span:before{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--dark, #14181f)}.tip:hover>span,.tip:focus>span{display:flex;animation:tip-fade-up .2s ease-in-out}.tip:hover>span.right,.tip:focus>span.right{animation:tip-fade-right .2s ease-in-out}.tip:hover>span.left,.tip:focus>span.left{animation:tip-fade-left .2s ease-in-out}.tip:hover>span.bottom,.tip:focus>span.bottom{animation:tip-fade-down .2s ease-in-out}@keyframes slide-in-right{0%{opacity:0;transform:translate(0)}50%{transform:translate(-100vw);opacity:0}50.001%{opacity:0;transform:translate(105vw)}50.002%{opacity:1;transform:translate(100vw)}to{transform:translate(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(0)}50%{transform:translate(100vw);opacity:0}50.001%{opacity:0;transform:translate(-100vw)}50.002%{opacity:1;transform:translate(-100vw)}to{transform:translate(0)}}@keyframes slide-out-right{0%{transform:translate(0)}to{transform:translate(100vw);opacity:1}}@keyframes slide-out-left{0%{transform:translate(0)}to{transform:translate(-100vw);opacity:1}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translate(0);opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes scale-out{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes scale-in{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes no-no{0%{transform:translate(0)}20%{transform:translate(-20px)}40%{transform:translate(15px)}60%{transform:translate(-10px)}80%{transform:translate(5px)}to{transform:translate(0)}}@keyframes loading-track{0%{transform:translate(-100%);opacity:0}25%{opacity:1}75%{opacity:1}to{opacity:0;transform:translate(100%)}}@keyframes loading-in{0%{height:0}to{height:5px}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shine{0%{background-position:right}}@keyframes text-pulse{0%{opacity:.75}35%{opacity:1}65%{opacity:1}to{opacity:.75}}@keyframes pulse{0%{opacity:.85}35%{opacity:1}65%{opacity:1}to{opacity:.85}}@keyframes shimmer{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-right{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes spring-in{0%{opacity:0;transform:scale(.8)}70%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes ripple{0%{transform:scale(1)}to{transform:scale(1.1,1.4)}}@keyframes tip-fade-right{0%{opacity:0;transform:translate(-20px,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes tip-fade-left{0%{opacity:0;transform:translate(20px,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes tip-fade-down{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}@keyframes tip-fade-up{0%{opacity:0;transform:translate(-50%,5px)}to{opacity:1;transform:translate(-50%)}}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes scale-fade-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scroll-horizontally{0%{transform:translate(0)}to{transform:translate(-50%)}}.
|
|
1
|
+
@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";*{font-family:Inter,sans-serif!important;margin:0;padding:0;box-sizing:border-box}:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tip{position:relative}.tip>span{background-color:var(--dark, #14181f);color:#fff;padding:.5rem;border-radius:.5rem;position:absolute;bottom:110%;left:50%;transform:translate(-50%);display:none;transition:all .2s ease-in-out;z-index:100;width:max-content;font-size:.6rem;font-weight:600;text-transform:uppercase;line-height:.8rem;text-align:center;box-sizing:border-box;pointer-events:none}@media screen and (max-width: 480px){.tip>span{width:fit-content}}.tip>span.left{right:100%;top:50%;bottom:auto;left:auto;transform:translateY(-50%)}.tip>span.left:before{left:auto;right:-7.5px;top:50%;transform:translateY(-50%) rotate(-90deg)}.tip>span.right{left:100%;top:50%;bottom:auto;right:auto;transform:translateY(-50%)}.tip>span.right:before{left:-7.5px;right:auto;top:50%;transform:translateY(-50%) rotate(90deg)}.tip>span.bottom{top:100%;left:50%;right:auto;bottom:auto;transform:translate(-50%)}.tip>span.bottom:before{left:50%;right:auto;top:-5px;transform:translate(-50%) rotate(180deg)}.tip>span:before{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--dark, #14181f)}.tip:hover>span,.tip:focus>span{display:flex;animation:tip-fade-up .2s ease-in-out}.tip:hover>span.right,.tip:focus>span.right{animation:tip-fade-right .2s ease-in-out}.tip:hover>span.left,.tip:focus>span.left{animation:tip-fade-left .2s ease-in-out}.tip:hover>span.bottom,.tip:focus>span.bottom{animation:tip-fade-down .2s ease-in-out}@keyframes slide-in-right{0%{opacity:0;transform:translate(0)}50%{transform:translate(-100vw);opacity:0}50.001%{opacity:0;transform:translate(105vw)}50.002%{opacity:1;transform:translate(100vw)}to{transform:translate(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(0)}50%{transform:translate(100vw);opacity:0}50.001%{opacity:0;transform:translate(-100vw)}50.002%{opacity:1;transform:translate(-100vw)}to{transform:translate(0)}}@keyframes slide-out-right{0%{transform:translate(0)}to{transform:translate(100vw);opacity:1}}@keyframes slide-out-left{0%{transform:translate(0)}to{transform:translate(-100vw);opacity:1}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translate(0);opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes scale-out{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes scale-in{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes no-no{0%{transform:translate(0)}20%{transform:translate(-20px)}40%{transform:translate(15px)}60%{transform:translate(-10px)}80%{transform:translate(5px)}to{transform:translate(0)}}@keyframes loading-track{0%{transform:translate(-100%);opacity:0}25%{opacity:1}75%{opacity:1}to{opacity:0;transform:translate(100%)}}@keyframes loading-in{0%{height:0}to{height:5px}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shine{0%{background-position:right}}@keyframes text-pulse{0%{opacity:.75}35%{opacity:1}65%{opacity:1}to{opacity:.75}}@keyframes pulse{0%{opacity:.85}35%{opacity:1}65%{opacity:1}to{opacity:.85}}@keyframes shimmer{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-right{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes spring-in{0%{opacity:0;transform:scale(.8)}70%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes ripple{0%{transform:scale(1)}to{transform:scale(1.1,1.4)}}@keyframes tip-fade-right{0%{opacity:0;transform:translate(-20px,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes tip-fade-left{0%{opacity:0;transform:translate(20px,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes tip-fade-down{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}@keyframes tip-fade-up{0%{opacity:0;transform:translate(-50%,5px)}to{opacity:1;transform:translate(-50%)}}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes scale-fade-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scroll-horizontally{0%{transform:translate(0)}to{transform:translate(-50%)}}.mini-flight-itinerary{display:flex;padding:.5rem 0;gap:.5rem;align-items:center;flex:1;text-wrap:nowrap}.mini-flight-itinerary .flight{flex:1;display:flex;gap:.5rem;font-size:.8rem;padding:.5rem;align-items:center;flex-wrap:nowrap}@media screen and (max-width: 1024px){.mini-flight-itinerary{display:none}}.mini-flight-itinerary .layover{font-size:.7rem;padding:.25rem .5rem;border-radius:50rem;font-weight:600;border:1px solid var(--border, #e7eef3);display:flex;align-items:center;gap:.25rem;width:fit-content}.mini-flight-itinerary .timeline{flex:1;position:relative;display:flex;justify-content:center;padding:0 1rem}.mini-flight-itinerary .timeline div{font-size:.7rem;background-color:var(--background, #f9fdff);padding:.25rem .5rem;border-radius:50rem;border:1px solid var(--border, #e7eef3);font-weight:600;display:flex;align-items:center;gap:.25rem;width:fit-content;z-index:100}.mini-flight-itinerary .timeline:after{content:"";flex:1;border-bottom:1px solid var(--border, #e7eef3);position:absolute;top:50%;left:0;right:0}.mobile-mini-flight-itinerary{display:flex;gap:.5rem;align-items:center;padding:1rem}.mobile-mini-flight-itinerary div{display:flex;gap:.5rem;align-items:center}@media screen and (min-width: 1024px){.mobile-mini-flight-itinerary{display:none}}
|