@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.
Files changed (35) hide show
  1. package/dist/BookingOption-Bf4d2RKS.js +192 -0
  2. package/dist/FlightItinerary-C2Jp2a9c.js +262 -0
  3. package/dist/MiniFlightItinerary-BEdrqoGh.js +105 -0
  4. package/dist/assets/FlightItinerary.css +1 -0
  5. package/dist/assets/FlightItineraryDropdown.css +1 -0
  6. package/dist/assets/{HorizontalScroller.css → MiniFlightItinerary.css} +1 -1
  7. package/dist/assets/_styles.css +1 -1
  8. package/dist/assets/{BookingOption.css → _styles2.css} +1 -1
  9. package/dist/components/BookingOption/BookingOption.js +5 -4
  10. package/dist/components/FlightItinerary/FlightItinerary.js +9 -248
  11. package/dist/components/FlightItineraryDropdown/FlightItineraryDropdown.js +54 -0
  12. package/dist/components/FlightResult/FlightResult.js +116 -105
  13. package/dist/components/HorizontalScroller/HorizontalScroller.js +14 -13
  14. package/dist/components/MiniFlightItinerary/MiniFlightItinerary.js +9 -0
  15. package/dist/components/index.js +8 -8
  16. package/dist/dateUtils-CWDSSY2R.js +57 -0
  17. package/dist/hooks/index.js +3 -3
  18. package/dist/hooks/useFlightSearch/useFlightSearch.js +11 -407
  19. package/dist/{index-BUY1nabz.js → index-Gj4bRuCQ.js} +3 -3
  20. package/dist/index-nI16-czT.js +4 -0
  21. package/dist/{index-B_j9TSQq.js → index-nOT-DH7g.js} +16 -12
  22. package/dist/lib/components/FlightItinerary/FlightItinerary.d.ts +2 -2
  23. package/dist/lib/components/FlightItineraryDropdown/FlightItineraryDropdown.d.ts +9 -0
  24. package/dist/lib/components/MiniFlightItinerary/MiniFlightItinerary.d.ts +6 -0
  25. package/dist/lib/components/index.d.ts +2 -0
  26. package/dist/main.js +39 -38
  27. package/dist/useFlightSearch-C0DEmnCL.js +412 -0
  28. package/dist/utils/flightUtils.js +13 -12
  29. package/package.json +1 -1
  30. package/dist/BookingOption-BUMHEwUW.js +0 -182
  31. package/dist/DateFormats-Db0j7Cpe.js +0 -15
  32. package/dist/assets/FlightResult.css +0 -1
  33. package/dist/enums-Bmg_7eKJ.js +0 -4
  34. package/dist/index-7zRjF0bU.js +0 -58
  35. 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%)}}.horizontal-scroller-container{position:relative}.horizontal-scroller-container:before{content:"";position:absolute;left:0;top:0;bottom:0;width:100px;background:linear-gradient(to right,var(--foreground, #fff) 20%,transparent);pointer-events:none;z-index:1;opacity:0;transition:opacity .3s ease}.horizontal-scroller-container:after{content:"";position:absolute;right:0;top:0;bottom:0;width:100px;background:linear-gradient(to left,var(--foreground, #fff) 20%,transparent);pointer-events:none;z-index:1;opacity:0;transition:opacity .3s ease}.horizontal-scroller-container.show-left-fade:before{opacity:1}.horizontal-scroller-container.show-right-fade:after{opacity:1}.horizontal-scroller-container .horizontal-scroller{display:flex;overflow-x:auto;scroll-behavior:smooth;gap:1rem}.horizontal-scroller-container .scroll-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background-color:var(--foreground, #fff);border:1px solid var(--border, #e7eef3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:2}.horizontal-scroller-container .scroll-arrow:hover{background-color:var(--background, #f9fdff)}.horizontal-scroller-container .scroll-arrow:active{transform:translateY(-50%) scale(.95)}.horizontal-scroller-container .scroll-arrow-left{left:0}.horizontal-scroller-container .scroll-arrow-right{right:0}
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}}