@odynn/awayz-core 0.9.14 → 0.9.15

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 (39) hide show
  1. package/dist/{TripsService-9rrYB3Bv.js → TripsService-BJPYRlRO.js} +1 -1
  2. package/dist/assets/_styles4.css +1 -1
  3. package/dist/components/CashValue/CashValue.js +1 -1
  4. package/dist/components/CashValue/CashValue.stories.js +1 -1
  5. package/dist/components/ClientPointsValue/ClientPointsValue.js +23 -24
  6. package/dist/components/Modal/Modal.js +17 -10
  7. package/dist/components/Tooltip/Tooltip.js +2 -0
  8. package/dist/components/Wallet/Card/Card.stories.js +8 -7
  9. package/dist/hooks/useAwayzAuth/useAwayzAuth.js +14 -13
  10. package/dist/hooks/useBookingManagement/useBookingManagement.js +9 -8
  11. package/dist/hooks/useBookingManagement/useBookingManagement.test.js +2 -1
  12. package/dist/hooks/useFeatureFlags.js +33 -27
  13. package/dist/hooks/useSearchLimit.js +1 -1
  14. package/dist/hooks/useTripManagement/useTripManagement.js +14 -13
  15. package/dist/hooks/useTripManagement/useTripManagement.test.js +3 -2
  16. package/dist/hooks/useWallet/useWallet.js +11 -10
  17. package/dist/hooks/useWallet/useWallet.test.js +2 -1
  18. package/dist/lib/components/Modal/Modal.d.ts +1 -1
  19. package/dist/lib/hooks/useFeatureFlags.d.ts +2 -2
  20. package/dist/lib/utils/clientPoints.d.ts +11 -0
  21. package/dist/lib/utils/currency.d.ts +9 -0
  22. package/dist/main.js +1 -1
  23. package/dist/{noRetryInstance-_W6BZQBa.js → noRetryInstance-De2sH_IH.js} +15 -14
  24. package/dist/providers/AwayzProvider.js +8 -7
  25. package/dist/services/account/AccountService.js +1 -1
  26. package/dist/services/bookings/BookingService.js +1 -1
  27. package/dist/services/currency/CurrencyService.js +4 -3
  28. package/dist/services/features/featureService.js +1 -1
  29. package/dist/services/index.js +1 -1
  30. package/dist/services/instance.js +1 -1
  31. package/dist/services/instanceConfig.js +9 -8
  32. package/dist/services/noRetryInstance.js +1 -1
  33. package/dist/services/preferences/PreferencesService.js +1 -1
  34. package/dist/services/rewards/RewardsService.js +1 -1
  35. package/dist/services/trips/TripsService.js +2 -2
  36. package/dist/services/wallet/WalletService.js +1 -1
  37. package/dist/utils/clientPoints.js +41 -0
  38. package/dist/utils/currency.js +7 -0
  39. package/package.json +1 -1
@@ -2,7 +2,7 @@ var m = Object.defineProperty;
2
2
  var g = (r, e, s) => e in r ? m(r, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : r[e] = s;
3
3
  var t = (r, e, s) => g(r, typeof e != "symbol" ? e + "" : e, s);
4
4
  import "./arrayExtensions-DlcBOj5a.js";
5
- import { c as n, f as p, b as c, r as T } from "./noRetryInstance-_W6BZQBa.js";
5
+ import { c as n, f as p, b as c, r as T } from "./noRetryInstance-De2sH_IH.js";
6
6
  import "react";
7
7
  import { EMyTripsEndpoints as i } from "./configs/endpoints.js";
8
8
  import { EBookingType as l } from "./services/trips/TripService.types.js";
@@ -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}.tooltip-content{border-radius:.5rem;border:1px solid var(--border, #e7eef3);padding:1rem;line-height:1;background-color:var(--foreground, #fff);animation-duration:.4s;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-fill-mode:both;will-change:transform,opacity;z-index:500;position:absolute}.tooltip-arrow{fill:var(--foreground, #fff)}.tooltip-content[data-state=delayed-open][data-side=top]{animation-name:tooltip-down}.tooltip-content[data-state=delayed-open][data-side=right]{animation-name:tooltip-right}.tooltip-content[data-state=delayed-open][data-side=bottom]{animation-name:tooltip-up}.tooltip-content[data-state=delayed-open][data-side=left]{animation-name:tooltip-left}.popover-fix[data-side=top]{transform:translateY(-100%) translate(-50%)}.popover-fix[data-side=bottom]{transform:translateY(0) translate(-50%)}.popover-fix[data-side=left]{transform:translate(-100%) translateY(-50%)}.popover-fix[data-side=right]{transform:translate(0) translateY(-50%)}@keyframes tooltip-up{0%{opacity:0;transform:translateY(4px) translate(-50%)}to{opacity:1;transform:translateY(0) translate(-50%)}}@keyframes tooltip-down{0%{opacity:0;transform:translateY(calc(-100% - 4px)) translate(-50%)}to{opacity:1;transform:translateY(-100%) translate(-50%)}}@keyframes tooltip-left{0%{opacity:0;transform:translate(calc(-100% - 4px)) translateY(-50%)}to{opacity:1;transform:translate(-100%) translateY(-50%)}}@keyframes tooltip-right{0%{opacity:0;transform:translate(-4px) translateY(-50%)}to{opacity:1;transform:translate(0) translateY(-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}.tooltip-content{border-radius:.5rem;border:1px solid var(--border, #e7eef3);padding:1rem;line-height:1;background-color:var(--foreground, #fff);animation-duration:.4s;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-fill-mode:both;will-change:transform,opacity;z-index:500}.tooltip-arrow{fill:var(--foreground, #fff)}.tooltip-content[data-state=delayed-open][data-side=top]{animation-name:tooltip-down}.tooltip-content[data-state=delayed-open][data-side=right]{animation-name:tooltip-right}.tooltip-content[data-state=delayed-open][data-side=bottom]{animation-name:tooltip-up}.tooltip-content[data-state=delayed-open][data-side=left]{animation-name:tooltip-left}@keyframes tooltip-up{0%{opacity:0;transform:translate3d(0,4px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes tooltip-down{0%{opacity:0;transform:translate3d(0,-4px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes tooltip-left{0%{opacity:0;transform:translate3d(4px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes tooltip-right{0%{opacity:0;transform:translate3d(-4px,0,0)}to{opacity:1;transform:translateZ(0)}}
@@ -2,7 +2,7 @@ import { jsx as r, jsxs as l } from "react/jsx-runtime";
2
2
  import { useQuery as E } from "@tanstack/react-query";
3
3
  import "../../arrayExtensions-DlcBOj5a.js";
4
4
  import { g as R, a as N, b as u } from "../../cashUtils-sBirmFfL.js";
5
- import { E as _ } from "../../noRetryInstance-_W6BZQBa.js";
5
+ import { E as _ } from "../../noRetryInstance-De2sH_IH.js";
6
6
  import { useMemo as S } from "react";
7
7
  import { a as f } from "../../index-C8p5kinH.js";
8
8
  import "react-i18next";
@@ -9,7 +9,7 @@ import { CashValue as n } from "./CashValue.js";
9
9
  import { EToolTipPosition as t, EInvalidAmountDisplayOption as o } from "./CashValueTypes.js";
10
10
  import "@tanstack/react-query";
11
11
  import "../../context/AwayzContext.js";
12
- import "../../noRetryInstance-_W6BZQBa.js";
12
+ import "../../noRetryInstance-De2sH_IH.js";
13
13
  import "../../configs/awayzClient.js";
14
14
  /* empty css */
15
15
  import { AwayzProvider as a } from "../../providers/AwayzProvider.js";
@@ -1,9 +1,9 @@
1
- import { jsxs as p } from "react/jsx-runtime";
2
- import { useQuery as m } from "@tanstack/react-query";
1
+ import { jsxs as c } from "react/jsx-runtime";
2
+ import { useQuery as p } from "@tanstack/react-query";
3
3
  import "../../arrayExtensions-DlcBOj5a.js";
4
- import { E as u } from "../../noRetryInstance-_W6BZQBa.js";
5
- import { useMemo as y } from "react";
6
- import { useAwayzContext as f } from "../../hooks/useAwayzContext.js";
4
+ import { E as u } from "../../noRetryInstance-De2sH_IH.js";
5
+ import { useMemo as f } from "react";
6
+ import { useAwayzContext as l } from "../../hooks/useAwayzContext.js";
7
7
  import "react-i18next";
8
8
  import '../../assets/_styles3.css';import '../../assets/_styles5.css';import '../../assets/_styles4.css';import '../../assets/_styles.css';import '../../assets/_styles2.css';/* empty css */
9
9
  import "../../_styles.flight-booking-CaUgKcMC.js";
@@ -11,41 +11,40 @@ import "../../_styles.flight-booking-CaUgKcMC.js";
11
11
  import { CurrencyService as C } from "../../services/currency/CurrencyService.js";
12
12
  /* empty css */
13
13
  /* empty css */
14
+ import "../../index-Cv-wvFlM.js";
14
15
  /* empty css */
15
16
  import "../../configs/awayzClient.js";
16
17
  import "../../context/AwayzContext.js";
17
- import { useFeatureFlags as l } from "../../hooks/useFeatureFlags.js";
18
+ import { useFeatureFlags as y } from "../../hooks/useFeatureFlags.js";
18
19
  import { useWallet as d } from "../../hooks/useWallet/useWallet.js";
19
- function g(e) {
20
- if (!e || isNaN(e) || e < 0) return "N/A";
20
+ import { getCurrency as v } from "../../utils/currency.js";
21
+ function g(e, r = !0) {
22
+ if ((!e || isNaN(e) || e < 0) && r) return "N/A";
21
23
  let t = e == null ? void 0 : e.toString().split(".")[0];
22
24
  return t == null ? void 0 : t.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
23
25
  }
24
- const v = (e, t) => {
25
- var o;
26
- return ((o = t == null ? void 0 : t.preferences) == null ? void 0 : o.currency) ?? (t == null ? void 0 : t.userRegion.currency) ?? e;
27
- }, U = ({
26
+ const Y = ({
28
27
  cashAmount: e,
29
- currency: t
28
+ currency: r
30
29
  }) => {
31
- const { pointsAsCash: r } = d(), { user: o } = f(), { featureFlags: i } = l(), n = y(
32
- () => v(i.defaultCurrencyFeature, o),
30
+ const { pointsAsCash: t } = d(), { user: o } = l(), { featureFlags: s } = y(), i = f(
31
+ () => v(s.defaultCurrencyFeature, o),
33
32
  [o]
34
- ), { data: c } = m({
35
- queryKey: [u.CONVERT_CURRENCY, t, r.currency],
33
+ ), { data: n } = p({
34
+ queryKey: [u.CONVERT_CURRENCY, r, t.currency],
36
35
  queryFn: () => C.convertCurrency({
37
- baseCurrency: t,
38
- targetCurrency: r.currency
36
+ baseCurrency: r,
37
+ targetCurrency: t.currency
39
38
  }),
40
39
  staleTime: 1e3 * 60 * 60,
41
40
  // 1 hour
42
- enabled: !!t && !!n && t !== n && r.currency !== t && !!r.currency
43
- }), s = e * (c ?? 1), a = Math.round(s / r.valuePerPoint);
44
- return /* @__PURE__ */ p("p", { className: "client-points-amount", children: [
45
- g(a),
41
+ enabled: !!r && !!i && r !== i && t.currency !== r && !!t.currency
42
+ }), a = e * (n ?? 1), m = Math.round(a / t.valuePerPoint);
43
+ return /* @__PURE__ */ c("p", { className: "client-points-amount", children: [
44
+ g(m),
46
45
  " pts."
47
46
  ] });
48
47
  };
49
48
  export {
50
- U as ClientPointsValue
49
+ Y as ClientPointsValue
51
50
  };
@@ -1,15 +1,22 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
2
  import '../../assets/_styles5.css';/* empty css */
3
- const s = ({ show: d, onClose: o, children: e, padding: l = !0 }) => /* @__PURE__ */ a(
4
- "div",
5
- {
6
- className: `modal-backdrop ${l ? "padding" : ""} ${d ? "" : "hidden"}`,
7
- onClick: () => {
8
- o && o();
9
- },
10
- children: /* @__PURE__ */ a("div", { className: "modal-content", onClick: (n) => n.stopPropagation(), children: e })
11
- }
12
- );
3
+ import { r as i } from "../../index-Cv-wvFlM.js";
4
+ const s = ({ show: t, onClose: o, children: r, padding: d = !0 }) => {
5
+ const e = () => {
6
+ o && o();
7
+ };
8
+ return i.createPortal(
9
+ /* @__PURE__ */ a(
10
+ "div",
11
+ {
12
+ className: `modal-backdrop ${d ? "padding" : ""} ${t ? "" : "hidden"}`,
13
+ onClick: e,
14
+ children: /* @__PURE__ */ a("div", { className: "modal-content", onClick: (c) => c.stopPropagation(), children: r })
15
+ }
16
+ ),
17
+ document.body
18
+ );
19
+ };
13
20
  export {
14
21
  s as default
15
22
  };
@@ -775,6 +775,8 @@ const Pr = ({
775
775
  className: `tooltip-content ${t}`,
776
776
  side: t,
777
777
  align: "center",
778
+ collisionPadding: 12,
779
+ avoidCollisions: !0,
778
780
  children: [
779
781
  r,
780
782
  /* @__PURE__ */ p(hr, { className: "tooltip-arrow" })
@@ -7,14 +7,15 @@ import "../../../_styles.flight-booking-CaUgKcMC.js";
7
7
  /* empty css */
8
8
  import "@tanstack/react-query";
9
9
  import "../../../configs/awayzClient.js";
10
- import "../../../noRetryInstance-_W6BZQBa.js";
10
+ import "../../../noRetryInstance-De2sH_IH.js";
11
11
  /* empty css */
12
12
  /* empty css */
13
+ import "../../../index-Cv-wvFlM.js";
13
14
  import "../../../context/AwayzContext.js";
14
15
  import { Card as r } from "./Card.js";
15
16
  import { AwayzProvider as a } from "../../../providers/AwayzProvider.js";
16
17
  import { EAuthFlow as e } from "../../../types/EAuthFlow.js";
17
- const v = {
18
+ const z = {
18
19
  title: "Wallet/Card",
19
20
  component: r,
20
21
  parameters: {
@@ -36,7 +37,7 @@ const v = {
36
37
  }
37
38
  )
38
39
  ]
39
- }, z = {
40
+ }, D = {
40
41
  args: {
41
42
  details: {
42
43
  id: "12345",
@@ -48,7 +49,7 @@ const v = {
48
49
  console.log("Card deleted:", o);
49
50
  }
50
51
  }
51
- }, D = {
52
+ }, b = {
52
53
  args: {
53
54
  details: {
54
55
  name: "IHG Rewards Club Premier",
@@ -58,7 +59,7 @@ const v = {
58
59
  }
59
60
  };
60
61
  export {
61
- z as DarkCard,
62
- D as LightCard,
63
- v as default
62
+ D as DarkCard,
63
+ b as LightCard,
64
+ z as default
64
65
  };
@@ -1,6 +1,6 @@
1
1
  import "../../arrayExtensions-DlcBOj5a.js";
2
2
  import { c as M } from "../../cashUtils-sBirmFfL.js";
3
- import { e as P, A as l, E as N } from "../../noRetryInstance-_W6BZQBa.js";
3
+ import { e as P, A as l, E as N } from "../../noRetryInstance-De2sH_IH.js";
4
4
  import { a as o } from "../../_styles.flight-booking-CaUgKcMC.js";
5
5
  import { useState as f, useCallback as I, useEffect as h } from "react";
6
6
  import { awayzClient as O } from "../../configs/awayzClient.js";
@@ -12,17 +12,18 @@ import '../../assets/_styles3.css';import '../../assets/_styles5.css';import '..
12
12
  /* empty css */
13
13
  /* empty css */
14
14
  /* empty css */
15
+ import "../../index-Cv-wvFlM.js";
15
16
  import "../../context/AwayzContext.js";
16
17
  /* empty css */
17
18
  import { EAuthFlow as T } from "../../types/EAuthFlow.js";
18
19
  const x = (s, c) => {
19
- var g, S;
20
+ var m, S;
20
21
  let i = "", y = c;
21
22
  typeof c == "string" ? i = c : c instanceof P ? (i = c.message, y = {
22
23
  message: c.message,
23
24
  cause: c.cause,
24
25
  status: c.status,
25
- data: (g = c == null ? void 0 : c.response) == null ? void 0 : g.data
26
+ data: (m = c == null ? void 0 : c.response) == null ? void 0 : m.data
26
27
  }) : i = c.message, (S = window.parent) == null || S.postMessage(
27
28
  {
28
29
  type: "auth_error",
@@ -30,10 +31,10 @@ const x = (s, c) => {
30
31
  },
31
32
  "*"
32
33
  );
33
- }, ue = (s) => {
34
- const [c, i] = f(!0), [y, g] = f(!1), [S, A] = f(), [m, k] = f(), [C, _] = f([]), [p, F] = f([]), E = I(
34
+ }, le = (s) => {
35
+ const [c, i] = f(!0), [y, m] = f(!1), [S, A] = f(), [g, k] = f(), [C, _] = f([]), [p, F] = f([]), E = I(
35
36
  async (t) => {
36
- s != null && s.onSuccess && (s == null || s.onSuccess(t)), s != null && s.onSuccessAsync && await (s == null ? void 0 : s.onSuccessAsync(t)), i(!1), g(!0), A(t.token), k(t.user), O.invalidateQueries();
37
+ s != null && s.onSuccess && (s == null || s.onSuccess(t)), s != null && s.onSuccessAsync && await (s == null ? void 0 : s.onSuccessAsync(t)), i(!1), m(!0), A(t.token), k(t.user), O.invalidateQueries();
37
38
  },
38
39
  [s]
39
40
  ), u = I(
@@ -147,7 +148,7 @@ const x = (s, c) => {
147
148
  isAuthenticating: c,
148
149
  isAuthenticated: y,
149
150
  token: S,
150
- user: m,
151
+ user: g,
151
152
  supportedRegions: C,
152
153
  supportedCurrencies: p,
153
154
  signIn: async (t) => {
@@ -173,7 +174,7 @@ const x = (s, c) => {
173
174
  return e;
174
175
  },
175
176
  signOut: () => {
176
- localStorage.removeItem(o.TOKEN), localStorage.removeItem(o.REFRESH_TOKEN), g(!1), A(void 0), k(void 0);
177
+ localStorage.removeItem(o.TOKEN), localStorage.removeItem(o.REFRESH_TOKEN), m(!1), A(void 0), k(void 0);
177
178
  },
178
179
  continueWithGoogle: async (t, e) => {
179
180
  var a;
@@ -197,12 +198,12 @@ const x = (s, c) => {
197
198
  const e = await q.setCurrency(t);
198
199
  if (!e.success || !e.data)
199
200
  return console.error("Failed to set preferred currency:", e), !1;
200
- if (m) {
201
+ if (g) {
201
202
  const r = {
202
- ...m,
203
+ ...g,
203
204
  preferences: {
204
- ...m.preferences,
205
- currency: e.data.currency || m.preferences.currency
205
+ ...g.preferences,
206
+ currency: e.data.currency || g.preferences.currency
206
207
  }
207
208
  };
208
209
  k(r), O.invalidateQueries({
@@ -215,5 +216,5 @@ const x = (s, c) => {
215
216
  };
216
217
  export {
217
218
  x as authFailurePostMessage,
218
- ue as useAwayzAuth
219
+ le as useAwayzAuth
219
220
  };
@@ -1,6 +1,6 @@
1
1
  import { useQuery as m, useMutation as c } from "@tanstack/react-query";
2
2
  import "../../arrayExtensions-DlcBOj5a.js";
3
- import { E as o } from "../../noRetryInstance-_W6BZQBa.js";
3
+ import { E as o } from "../../noRetryInstance-De2sH_IH.js";
4
4
  import "react";
5
5
  import "react/jsx-runtime";
6
6
  import "react-i18next";
@@ -10,14 +10,15 @@ import "../../_styles.flight-booking-CaUgKcMC.js";
10
10
  import { awayzClient as R } from "../../configs/awayzClient.js";
11
11
  /* empty css */
12
12
  /* empty css */
13
+ import "../../index-Cv-wvFlM.js";
13
14
  import "../../context/AwayzContext.js";
14
15
  import { EBookingType as i } from "../../services/trips/TripService.types.js";
15
16
  /* empty css */
16
17
  import { BookingService as e } from "../../services/bookings/BookingService.js";
17
- const nr = (r, n) => {
18
+ const tr = (r, n) => {
18
19
  const {
19
20
  data: l,
20
- isError: p,
21
+ isError: f,
21
22
  error: F
22
23
  } = m({
23
24
  queryKey: [o.BOOKING, r, i.HOTEL],
@@ -84,10 +85,10 @@ const nr = (r, n) => {
84
85
  error: v
85
86
  } = c({
86
87
  mutationFn: async (s) => {
87
- var h, f;
88
- const B = (f = (h = t == null ? void 0 : t.airlineInitiatedChanges) == null ? void 0 : h.filter(
88
+ var h, p;
89
+ const B = (p = (h = t == null ? void 0 : t.airlineInitiatedChanges) == null ? void 0 : h.filter(
89
90
  (M) => !M.actionTaken
90
- )) == null ? void 0 : f[0];
91
+ )) == null ? void 0 : p[0];
91
92
  if (n === i.FLIGHT && (t != null && t.airlineInitiatedChanges) && B)
92
93
  return e.actionAirlineChanges({
93
94
  bookingId: r,
@@ -107,7 +108,7 @@ const nr = (r, n) => {
107
108
  ].forEach((s) => {
108
109
  R.invalidateQueries({ queryKey: s });
109
110
  });
110
- }, Q = p || O, k = F || H;
111
+ }, Q = f || O, k = F || H;
111
112
  return {
112
113
  details: n === i.HOTEL ? l : t,
113
114
  isError: Q,
@@ -132,5 +133,5 @@ const nr = (r, n) => {
132
133
  };
133
134
  };
134
135
  export {
135
- nr as useBookingManagement
136
+ tr as useBookingManagement
136
137
  };
@@ -7,9 +7,10 @@ import '../../assets/_styles3.css';import '../../assets/_styles5.css';import '..
7
7
  import "../../_styles.flight-booking-CaUgKcMC.js";
8
8
  /* empty css */
9
9
  import "@tanstack/react-query";
10
- import { c } from "../../noRetryInstance-_W6BZQBa.js";
10
+ import { c } from "../../noRetryInstance-De2sH_IH.js";
11
11
  /* empty css */
12
12
  /* empty css */
13
+ import "../../index-Cv-wvFlM.js";
13
14
  import "../../context/AwayzContext.js";
14
15
  import { useBookingManagement as t } from "./useBookingManagement.js";
15
16
  import "../../configs/awayzClient.js";
@@ -1,6 +1,6 @@
1
- import { useQuery as O } from "@tanstack/react-query";
1
+ import { useQuery as I } from "@tanstack/react-query";
2
2
  import "../arrayExtensions-DlcBOj5a.js";
3
- import { E as U, t as F } from "../noRetryInstance-_W6BZQBa.js";
3
+ import { E as U, t as F } from "../noRetryInstance-De2sH_IH.js";
4
4
  import "react";
5
5
  import { FeatureService as r } from "../services/features/featureService.js";
6
6
  const L = [
@@ -17,9 +17,10 @@ const L = [
17
17
  "HOTEL_DETAILS_FEATURES",
18
18
  "SEARCH_RADIUS_POSITION_FEATURE",
19
19
  "NAVIGATION_FEATURE",
20
+ "BOOKING_PAYMENT_METHOD_FEATURE",
20
21
  "AMOUNTS_DISPLAY_FEATURE",
21
22
  "FLIGHT_BOOKING_OPTIONS_DISPLAY_FEATURE"
22
- ], e = [
23
+ ], S = [
23
24
  "CURRENCY_FILTER_FEATURE",
24
25
  "FREE_HOTEL_NIGHTS_FEATURE",
25
26
  "SHOW_BOOKABLE_FEATURE",
@@ -29,6 +30,7 @@ const L = [
29
30
  "SHOW_FOOTER_FEATURE",
30
31
  "SHOW_AVAILABILITY_ALERTS_FEATURE",
31
32
  "USE_POINTS_AS_CASH_FEATURE",
33
+ "HAS_HEADER_FEATURE",
32
34
  "SHOW_FLIGHTS_TRANSFER_PARTNER_FEATURE",
33
35
  "HOTEL_POINTS_ONLY_FEATURE",
34
36
  "FREE_HOTEL_NIGHTS_FEATURE",
@@ -37,53 +39,57 @@ const L = [
37
39
  "TAB_NAVIGATION_FEATURE",
38
40
  "ADD_AIRLINE_HEALTH_PAGE_FEATURE",
39
41
  "SHOW_NAVIGATION_POPUP_FEATURE",
42
+ "SHOW_ONLY_BOOKABLE_FEATURE",
43
+ "CASH_BOOKING_FEATURE",
44
+ "DISABLE_FREE_USER_CASH_BOOKING_FEATURE",
45
+ "ENABLE_EASY_SUPPORT_BOT_FEATURE",
40
46
  "SHOW_ONLY_BOOKABLE_FEATURE"
41
- ], S = [
47
+ ], O = [
42
48
  "WALLET_PROGRAM_TYPES_FEATURES",
43
49
  "HOTEL_FILTERS_FEATURES",
44
50
  "FLIGHT_FILTERS_FEATURES",
45
51
  "WALLET_FEATURES"
46
52
  ];
47
- var t = /* @__PURE__ */ ((E) => (E.CASH_ONLY = "Cash Only", E.CASH_AND_TRAVEL_PARTNER_POINTS = "Cash And Travel Partner Points", E.CASH_AND_CLIENT_POINTS = "Cash And Client Points", E))(t || {}), s = /* @__PURE__ */ ((E) => (E.RESULT = "result", E.SHEET = "sheet", E))(s || {});
53
+ var N = /* @__PURE__ */ ((E) => (E.CASH_ONLY = "Cash Only", E.CASH_AND_TRAVEL_PARTNER_POINTS = "Cash And Travel Partner Points", E.CASH_AND_CLIENT_POINTS = "Cash And Client Points", E))(N || {}), t = /* @__PURE__ */ ((E) => (E.RESULT = "result", E.SHEET = "sheet", E))(t || {});
48
54
  const n = () => {
49
- const { data: E, isSuccess: R } = O({
55
+ const { data: E, isSuccess: R } = I({
50
56
  queryKey: [U.FEATURES, "new"],
51
57
  queryFn: r.getFeatureFlags,
52
58
  staleTime: 1 / 0
53
- }), I = R && E ? (() => {
59
+ }), e = R && E ? (() => {
54
60
  const A = {};
55
- return L.forEach((T) => {
56
- const _ = F(
57
- T.toLowerCase()
61
+ return L.forEach((_) => {
62
+ const T = F(
63
+ _.toLowerCase()
58
64
  );
59
- E[T] !== void 0 && (A[_] = E[T]);
60
- }), e.forEach((T) => {
61
- const _ = F(
62
- T.toLowerCase()
65
+ E[_] !== void 0 && (A[T] = E[_]);
66
+ }), S.forEach((_) => {
67
+ const T = F(
68
+ _.toLowerCase()
63
69
  );
64
- E[T] !== void 0 && (A[_] = E[T]);
65
- }), S.forEach((T) => {
66
- const _ = F(
67
- T.toLowerCase()
70
+ E[_] !== void 0 && (A[T] = E[_]);
71
+ }), O.forEach((_) => {
72
+ const T = F(
73
+ _.toLowerCase()
68
74
  );
69
- E[T] !== void 0 && (A[_] = E[T]);
75
+ E[_] !== void 0 && (A[T] = E[_]);
70
76
  }), A;
71
77
  })() : null;
72
78
  if (R && E) {
73
- const T = [
79
+ const _ = [
74
80
  ...L,
75
- ...e,
76
- ...S
77
- ].filter((_) => E[_] === void 0);
78
- T.length > 0 && console.error("Missing feature flags:", T);
81
+ ...S,
82
+ ...O
83
+ ].filter((T) => E[T] === void 0);
84
+ _.length > 0 && console.error("Missing feature flags:", _);
79
85
  }
80
86
  return {
81
- featureFlags: I ?? {},
87
+ featureFlags: e ?? {},
82
88
  loaded: R
83
89
  };
84
90
  };
85
91
  export {
86
- t as EAmountsDisplayFeature,
87
- s as EFlightBookingOptionsDisplayFeature,
92
+ N as EAmountsDisplayFeature,
93
+ t as EFlightBookingOptionsDisplayFeature,
88
94
  n as useFeatureFlags
89
95
  };
@@ -1,6 +1,6 @@
1
1
  import { useQuery as u } from "@tanstack/react-query";
2
2
  import "../arrayExtensions-DlcBOj5a.js";
3
- import { E as m, A as c, b as f } from "../noRetryInstance-_W6BZQBa.js";
3
+ import { E as m, A as c, b as f } from "../noRetryInstance-De2sH_IH.js";
4
4
  import { useEffect as d } from "react";
5
5
  import { useAwayzContext as y } from "./useAwayzContext.js";
6
6
  var i = /* @__PURE__ */ ((r) => (r.HOTEL = "Hotel", r.FLIGHT = "Flight", r))(i || {});
@@ -1,6 +1,6 @@
1
- import { useQuery as p, useMutation as u } from "@tanstack/react-query";
1
+ import { useQuery as u, useMutation as p } from "@tanstack/react-query";
2
2
  import { h as m } from "../../arrayExtensions-DlcBOj5a.js";
3
- import { E as e } from "../../noRetryInstance-_W6BZQBa.js";
3
+ import { E as e } from "../../noRetryInstance-De2sH_IH.js";
4
4
  import "react";
5
5
  import "react/jsx-runtime";
6
6
  import "react-i18next";
@@ -10,9 +10,10 @@ import "../../_styles.flight-booking-CaUgKcMC.js";
10
10
  import { awayzClient as o } from "../../configs/awayzClient.js";
11
11
  /* empty css */
12
12
  /* empty css */
13
+ import "../../index-Cv-wvFlM.js";
13
14
  import "../../context/AwayzContext.js";
14
15
  /* empty css */
15
- import { T as n } from "../../TripsService-9rrYB3Bv.js";
16
+ import { T as n } from "../../TripsService-BJPYRlRO.js";
16
17
  const b = ({
17
18
  tripId: t,
18
19
  tripDetails: s
@@ -23,8 +24,8 @@ const b = ({
23
24
  throw new Error("Trip details must be provided for update");
24
25
  };
25
26
  var _ = /* @__PURE__ */ ((t) => (t.PAST = "past", t.UPCOMING = "upcoming", t))(_ || {});
26
- const ir = () => {
27
- const { data: t = [] } = p({
27
+ const or = () => {
28
+ const { data: t = [] } = u({
28
29
  queryKey: [
29
30
  e.TRIPS,
30
31
  "past"
@@ -34,7 +35,7 @@ const ir = () => {
34
35
  "past"
35
36
  /* PAST */
36
37
  )
37
- }), { data: s = [] } = p({
38
+ }), { data: s = [] } = u({
38
39
  queryKey: [
39
40
  e.TRIPS,
40
41
  "upcoming"
@@ -44,7 +45,7 @@ const ir = () => {
44
45
  "upcoming"
45
46
  /* UPCOMING */
46
47
  )
47
- }), { data: a } = p({
48
+ }), { data: a } = u({
48
49
  queryKey: [e.UNCATEGORISED_BOOKINGS],
49
50
  queryFn: () => n.getUncategorisedBookings()
50
51
  }), {
@@ -53,7 +54,7 @@ const ir = () => {
53
54
  isError: S,
54
55
  error: E,
55
56
  isSuccess: l
56
- } = u({
57
+ } = p({
57
58
  mutationFn: async ({ tripId: r, tripDetails: i }) => (b({ tripId: r, tripDetails: i }), await n.updateTrip(r, i)),
58
59
  onSuccess: () => {
59
60
  o.invalidateQueries({
@@ -76,7 +77,7 @@ const ir = () => {
76
77
  isError: v,
77
78
  error: P,
78
79
  isSuccess: B
79
- } = u({
80
+ } = p({
80
81
  mutationFn: async (r) => {
81
82
  if (!r)
82
83
  throw new Error("Trip details are required to create a trip");
@@ -105,7 +106,7 @@ const ir = () => {
105
106
  isError: k,
106
107
  error: f,
107
108
  isSuccess: R
108
- } = u({
109
+ } = p({
109
110
  mutationFn: async (r) => {
110
111
  if (!r)
111
112
  throw new Error("Trip ID is required to delete a trip");
@@ -133,7 +134,7 @@ const ir = () => {
133
134
  isPending: Q,
134
135
  isError: F,
135
136
  error: O
136
- } = u({
137
+ } = p({
137
138
  mutationFn: async ({
138
139
  tripId: r,
139
140
  booking: i
@@ -170,7 +171,7 @@ const ir = () => {
170
171
  isPending: C,
171
172
  isError: D,
172
173
  error: G
173
- } = u({
174
+ } = p({
174
175
  mutationFn: async ({
175
176
  tripId: r,
176
177
  booking: i
@@ -244,6 +245,6 @@ const ir = () => {
244
245
  };
245
246
  export {
246
247
  _ as ETripStatus,
247
- ir as useTripManagement,
248
+ or as useTripManagement,
248
249
  b as validateUpdateTripArgs
249
250
  };
@@ -1,5 +1,5 @@
1
1
  import { h as p } from "../../arrayExtensions-DlcBOj5a.js";
2
- import { D as f } from "../../TripsService-9rrYB3Bv.js";
2
+ import { D as f } from "../../TripsService-BJPYRlRO.js";
3
3
  import "react";
4
4
  import { renderHook as o, waitFor as i } from "../../tests/TestWrapper.js";
5
5
  import { EMyTripsEndpoints as c } from "../../configs/endpoints.js";
@@ -10,9 +10,10 @@ import "../../_styles.flight-booking-CaUgKcMC.js";
10
10
  /* empty css */
11
11
  import "@tanstack/react-query";
12
12
  import "../../configs/awayzClient.js";
13
- import { c as d } from "../../noRetryInstance-_W6BZQBa.js";
13
+ import { c as d } from "../../noRetryInstance-De2sH_IH.js";
14
14
  /* empty css */
15
15
  /* empty css */
16
+ import "../../index-Cv-wvFlM.js";
16
17
  import "../../context/AwayzContext.js";
17
18
  import { EBookingType as m } from "../../services/trips/TripService.types.js";
18
19
  import { useTripManagement as n } from "./useTripManagement.js";
@@ -1,6 +1,6 @@
1
1
  import { useQuery as n, useMutation as s } from "@tanstack/react-query";
2
2
  import "../../arrayExtensions-DlcBOj5a.js";
3
- import { E as a, d as m } from "../../noRetryInstance-_W6BZQBa.js";
3
+ import { E as a, d as u } from "../../noRetryInstance-De2sH_IH.js";
4
4
  import "react";
5
5
  import "react/jsx-runtime";
6
6
  import "react-i18next";
@@ -10,11 +10,12 @@ import "../../_styles.flight-booking-CaUgKcMC.js";
10
10
  import { awayzClient as i } from "../../configs/awayzClient.js";
11
11
  /* empty css */
12
12
  /* empty css */
13
+ import "../../index-Cv-wvFlM.js";
13
14
  import { useAwayzContext as l } from "../useAwayzContext.js";
14
15
  /* empty css */
15
16
  import "../../context/AwayzContext.js";
16
17
  import { WalletService as o } from "../../services/wallet/WalletService.js";
17
- const B = () => {
18
+ const T = () => {
18
19
  const { user: r } = l(), { data: t } = n({
19
20
  queryKey: [a.PROGRAMS],
20
21
  queryFn: o.getAwards,
@@ -48,8 +49,8 @@ const B = () => {
48
49
  enabled: S && R.usePointsAsCashFeature
49
50
  }), { mutate: C } = s({
50
51
  mutationFn: async (e) => {
51
- const { mainProgram: u, awardsAmount: d } = typeof e == "string" ? { mainProgram: e, awardsAmount: 0 } : e;
52
- await o.addAwardProgram(u, d);
52
+ const { mainProgram: m, awardsAmount: d } = typeof e == "string" ? { mainProgram: e, awardsAmount: 0 } : e;
53
+ await o.addAwardProgram(m, d);
53
54
  },
54
55
  onSuccess: () => {
55
56
  i.invalidateQueries({
@@ -66,11 +67,11 @@ const B = () => {
66
67
  });
67
68
  }
68
69
  }), { mutateAsync: K } = s({
69
- mutationFn: async ({ mainProgram: e, awardsAmount: u }) => {
70
+ mutationFn: async ({ mainProgram: e, awardsAmount: m }) => {
70
71
  const d = t == null ? void 0 : t.find((F) => F.mainProgram === e);
71
72
  if (!d)
72
73
  throw new Error("Program not found");
73
- return o.setAwardPoints(d.mainProgram, u);
74
+ return o.setAwardPoints(d.mainProgram, m);
74
75
  },
75
76
  onSuccess: () => {
76
77
  [
@@ -102,13 +103,13 @@ const B = () => {
102
103
  userPrograms: c || [],
103
104
  linkedUserPrograms: y || [],
104
105
  hotelPrograms: (t == null ? void 0 : t.filter(
105
- (e) => e.category.includes(m.HOTEL)
106
+ (e) => e.category.includes(u.HOTEL)
106
107
  )) || [],
107
108
  airlinePrograms: (t == null ? void 0 : t.filter(
108
- (e) => e.category.includes(m.AIRLINE)
109
+ (e) => e.category.includes(u.AIRLINE)
109
110
  )) || [],
110
111
  bankPrograms: (t == null ? void 0 : t.filter(
111
- (e) => e.category.includes(m.BANK)
112
+ (e) => e.category.includes(u.BANK)
112
113
  )) || [],
113
114
  updatePoints: K,
114
115
  addAwardProgram: C,
@@ -127,5 +128,5 @@ const B = () => {
127
128
  };
128
129
  };
129
130
  export {
130
- B as useWallet
131
+ T as useWallet
131
132
  };
@@ -8,9 +8,10 @@ import "../../_styles.flight-booking-CaUgKcMC.js";
8
8
  /* empty css */
9
9
  import "@tanstack/react-query";
10
10
  import "../../configs/awayzClient.js";
11
- import { c as l } from "../../noRetryInstance-_W6BZQBa.js";
11
+ import { c as l } from "../../noRetryInstance-De2sH_IH.js";
12
12
  /* empty css */
13
13
  /* empty css */
14
+ import "../../index-Cv-wvFlM.js";
14
15
  import "../../context/AwayzContext.js";
15
16
  import { useWallet as t } from "./useWallet.js";
16
17
  /* empty css */
@@ -13,5 +13,5 @@ interface IModalProps {
13
13
  children?: React.ReactNode;
14
14
  padding?: boolean;
15
15
  }
16
- declare const Modal: ({ show, onClose, children, padding }: IModalProps) => import("react/jsx-runtime").JSX.Element;
16
+ declare const Modal: ({ show, onClose, children, padding }: IModalProps) => React.ReactPortal;
17
17
  export default Modal;
@@ -1,6 +1,6 @@
1
1
  type CamelCase<S extends string> = S extends `${infer P1}_${infer P2}${infer P3}` ? `${Lowercase<P1>}${Uppercase<P2>}${CamelCase<P3>}` : Lowercase<S>;
2
- declare const StringFeatureFlag: readonly ["DEFAULT_CURRENCY_FEATURE", "TOTAL_DISPLAY_FEATURE", "HOTEL_DETAILS_LAYOUT_FEATURE", "TRIP_MANAGEMENT_FEATURE", "FLIGHT_FILTER_LAYOUT_FEATURE", "WALLET_MANAGEMENT_FEATURE", "WALLET_PROGRAM_TYPES_FEATURES", "FLIGHT_PAGINATION_FEATURE", "AVAILABILITY_ALERTS_DISPLAY_FEATURE", "PAYMENT_TYPE_FEATURE", "HOTEL_DETAILS_FEATURES", "SEARCH_RADIUS_POSITION_FEATURE", "NAVIGATION_FEATURE", "AMOUNTS_DISPLAY_FEATURE", "FLIGHT_BOOKING_OPTIONS_DISPLAY_FEATURE"];
3
- declare const BooleanFeatureFlag: readonly ["CURRENCY_FILTER_FEATURE", "FREE_HOTEL_NIGHTS_FEATURE", "SHOW_BOOKABLE_FEATURE", "FILTER_PRESETS_FEATURE", "SPLIT_HOTEL_CHAINS_FEATURE", "FLIGHT_SHOW_ANIMATION_FEATURE", "SHOW_FOOTER_FEATURE", "SHOW_AVAILABILITY_ALERTS_FEATURE", "USE_POINTS_AS_CASH_FEATURE", "SHOW_FLIGHTS_TRANSFER_PARTNER_FEATURE", "HOTEL_POINTS_ONLY_FEATURE", "FREE_HOTEL_NIGHTS_FEATURE", "HOTEL_DISPLAY_BEST_VALUE_FEATURE", "HOTEL_DISPLAY_POINTS_BREAKDOWN_FEATURE", "TAB_NAVIGATION_FEATURE", "ADD_AIRLINE_HEALTH_PAGE_FEATURE", "SHOW_NAVIGATION_POPUP_FEATURE", "SHOW_ONLY_BOOKABLE_FEATURE"];
2
+ declare const StringFeatureFlag: readonly ["DEFAULT_CURRENCY_FEATURE", "TOTAL_DISPLAY_FEATURE", "HOTEL_DETAILS_LAYOUT_FEATURE", "TRIP_MANAGEMENT_FEATURE", "FLIGHT_FILTER_LAYOUT_FEATURE", "WALLET_MANAGEMENT_FEATURE", "WALLET_PROGRAM_TYPES_FEATURES", "FLIGHT_PAGINATION_FEATURE", "AVAILABILITY_ALERTS_DISPLAY_FEATURE", "PAYMENT_TYPE_FEATURE", "HOTEL_DETAILS_FEATURES", "SEARCH_RADIUS_POSITION_FEATURE", "NAVIGATION_FEATURE", "BOOKING_PAYMENT_METHOD_FEATURE", "AMOUNTS_DISPLAY_FEATURE", "FLIGHT_BOOKING_OPTIONS_DISPLAY_FEATURE"];
3
+ declare const BooleanFeatureFlag: readonly ["CURRENCY_FILTER_FEATURE", "FREE_HOTEL_NIGHTS_FEATURE", "SHOW_BOOKABLE_FEATURE", "FILTER_PRESETS_FEATURE", "SPLIT_HOTEL_CHAINS_FEATURE", "FLIGHT_SHOW_ANIMATION_FEATURE", "SHOW_FOOTER_FEATURE", "SHOW_AVAILABILITY_ALERTS_FEATURE", "USE_POINTS_AS_CASH_FEATURE", "HAS_HEADER_FEATURE", "SHOW_FLIGHTS_TRANSFER_PARTNER_FEATURE", "HOTEL_POINTS_ONLY_FEATURE", "FREE_HOTEL_NIGHTS_FEATURE", "HOTEL_DISPLAY_BEST_VALUE_FEATURE", "HOTEL_DISPLAY_POINTS_BREAKDOWN_FEATURE", "TAB_NAVIGATION_FEATURE", "ADD_AIRLINE_HEALTH_PAGE_FEATURE", "SHOW_NAVIGATION_POPUP_FEATURE", "SHOW_ONLY_BOOKABLE_FEATURE", "CASH_BOOKING_FEATURE", "DISABLE_FREE_USER_CASH_BOOKING_FEATURE", "ENABLE_EASY_SUPPORT_BOT_FEATURE", "SHOW_ONLY_BOOKABLE_FEATURE"];
4
4
  declare const ListFeatureFlag: readonly ["WALLET_PROGRAM_TYPES_FEATURES", "HOTEL_FILTERS_FEATURES", "FLIGHT_FILTERS_FEATURES", "WALLET_FEATURES"];
5
5
  export type FeatureFlags = StringFeatureFlags & BooleanFeatureFlags & ListFeatureFlags;
6
6
  type StringFeatureFlags = {
@@ -0,0 +1,11 @@
1
+ import { FeatureFlags, IPointsAsCashValue } from '../main';
2
+ import { IUser } from '../services/account/AccountServices.types';
3
+ interface IConvertCashToClientPointsParams {
4
+ cashAmount: number;
5
+ currency: string;
6
+ featureFlags: FeatureFlags;
7
+ user: IUser;
8
+ pointsAsCash: IPointsAsCashValue;
9
+ }
10
+ export declare const convertCashToClientPoints: ({ cashAmount, currency, featureFlags, user, pointsAsCash }: IConvertCashToClientPointsParams) => Promise<number>;
11
+ export {};
@@ -0,0 +1,9 @@
1
+ import { IUser } from '../services/account/AccountServices.types';
2
+ /**
3
+ * Retrieves the user's preferred currency or defaults to the user's region currency.
4
+ * If no user or region currency is found, it defaults to the environment's default currency.
5
+ *
6
+ * @param {IUser} user - The user object containing preferences and region.
7
+ * @returns {string} The user's preferred currency code.
8
+ */
9
+ export declare const getCurrency: (defaultCurrency: string, user?: IUser) => string;
package/dist/main.js CHANGED
@@ -13,7 +13,7 @@ import { ETripStatus as k, useTripManagement as T } from "./hooks/useTripManagem
13
13
  import { useWallet as z } from "./hooks/useWallet/useWallet.js";
14
14
  import { AwayzProvider as S } from "./providers/AwayzProvider.js";
15
15
  import { CurrencyService as P } from "./services/currency/CurrencyService.js";
16
- import { c as O, a as R, g as V, i as H } from "./noRetryInstance-_W6BZQBa.js";
16
+ import { c as O, a as R, g as V, i as H } from "./noRetryInstance-De2sH_IH.js";
17
17
  import { RewardsService as N } from "./services/rewards/RewardsService.js";
18
18
  import { EBookingType as W } from "./services/trips/TripService.types.js";
19
19
  import { EAuthFlow as j } from "./types/EAuthFlow.js";
@@ -15,6 +15,7 @@ import "react-i18next";
15
15
  import { awayzClient as $ } from "./configs/awayzClient.js";
16
16
  /* empty css */
17
17
  /* empty css */
18
+ import "./index-Cv-wvFlM.js";
18
19
  import "./context/AwayzContext.js";
19
20
  /* empty css */
20
21
  import { EAuthFlow as Et } from "./types/EAuthFlow.js";
@@ -1714,22 +1715,22 @@ g.getAdapter = at.getAdapter;
1714
1715
  g.HttpStatusCode = Ee;
1715
1716
  g.default = g;
1716
1717
  const {
1717
- Axios: xr,
1718
+ Axios: Lr,
1718
1719
  AxiosError: Zn,
1719
- CanceledError: Lr,
1720
- isCancel: kr,
1721
- CancelToken: Pr,
1722
- VERSION: Fr,
1723
- all: Dr,
1724
- Cancel: Br,
1725
- isAxiosError: qr,
1726
- spread: Hr,
1727
- toFormData: Mr,
1728
- AxiosHeaders: jr,
1720
+ CanceledError: kr,
1721
+ isCancel: Pr,
1722
+ CancelToken: Fr,
1723
+ VERSION: Dr,
1724
+ all: Br,
1725
+ Cancel: qr,
1726
+ isAxiosError: Hr,
1727
+ spread: Mr,
1728
+ toFormData: jr,
1729
+ AxiosHeaders: zr,
1729
1730
  HttpStatusCode: P,
1730
- formToJSON: zr,
1731
- getAdapter: Gr,
1732
- mergeConfig: $r
1731
+ formToJSON: Gr,
1732
+ getAdapter: $r,
1733
+ mergeConfig: Kr
1733
1734
  } = g, ft = (e) => (e.baseURL = He(), e.headers.Authorization = localStorage.getItem(I.TOKEN), e.headers["client-id"] = localStorage.getItem(I.CLIENT_ID), e.metadata = { startTime: /* @__PURE__ */ new Date() }, { ...e }), Qn = (e) => (e.baseURL = mt(), e.headers.Authorization = localStorage.getItem(I.TOKEN), e.headers["client-id"] = localStorage.getItem(I.CLIENT_ID), e.headers["Api-Version"] = "1.0", e.metadata = { startTime: /* @__PURE__ */ new Date() }, { ...e }), De = (e, t, n) => {
1734
1735
  for (const r of e)
1735
1736
  t ? r.rej(t) : r.res(n);
@@ -2,8 +2,8 @@ import { jsx as o } from "react/jsx-runtime";
2
2
  import { QueryClientProvider as l } from "@tanstack/react-query";
3
3
  import "../arrayExtensions-DlcBOj5a.js";
4
4
  import { a as r } from "../_styles.flight-booking-CaUgKcMC.js";
5
- import { useEffect as u } from "react";
6
- import { setCustomBaseUrl as i, setBaseUrl as d } from "../configs/baseUrl.js";
5
+ import { useEffect as i } from "react";
6
+ import { setCustomBaseUrl as u, setBaseUrl as d } from "../configs/baseUrl.js";
7
7
  import { defaultAwayzConfig as p } from "../configs/defaultAwayzConfig.js";
8
8
  import { setGatewayBaseUrl as h } from "../configs/gatewayBaseUrl.js";
9
9
  import { AwayzContext as w } from "../context/AwayzContext.js";
@@ -12,12 +12,13 @@ import "react-i18next";
12
12
  import '../assets/_styles3.css';import '../assets/_styles5.css';import '../assets/_styles4.css';import '../assets/_styles.css';import '../assets/_styles2.css';/* empty css */
13
13
  /* empty css */
14
14
  import { awayzClient as y } from "../configs/awayzClient.js";
15
- import "../noRetryInstance-_W6BZQBa.js";
15
+ import "../noRetryInstance-De2sH_IH.js";
16
16
  /* empty css */
17
17
  /* empty css */
18
+ import "../index-Cv-wvFlM.js";
18
19
  /* empty css */
19
20
  import { useFeatureFlags as A } from "../hooks/useFeatureFlags.js";
20
- const L = ({ children: t, config: e }) => /* @__PURE__ */ o(l, { client: y, children: /* @__PURE__ */ o(F, { config: e, children: t }) }), F = ({ children: t, config: e }) => {
21
+ const N = ({ children: t, config: e }) => /* @__PURE__ */ o(l, { client: y, children: /* @__PURE__ */ o(F, { config: e, children: t }) }), F = ({ children: t, config: e }) => {
21
22
  const a = n({
22
23
  authFlow: e.authFlow,
23
24
  onSuccess: e.onAuthSuccess,
@@ -25,12 +26,12 @@ const L = ({ children: t, config: e }) => /* @__PURE__ */ o(l, { client: y, chil
25
26
  trustedOrigins: e.trustedOrigins,
26
27
  isTestMode: e.testMode
27
28
  }), { featureFlags: s, loaded: m } = A();
28
- return u(() => {
29
+ return i(() => {
29
30
  if (!e.clientId) {
30
31
  console.error("You need to provide a client ID to the AwayzProvider");
31
32
  return;
32
33
  }
33
- localStorage.setItem(r.CLIENT_ID, e.clientId), localStorage.setItem(r.AUTH_FLOW, e.authFlow), e.debugRefreshToken && e.testMode && (localStorage.setItem(r.REFRESH_TOKEN, e.debugRefreshToken), localStorage.setItem(r.TOKEN, e.debugRefreshToken)), e.overrideBaseUrl ? i(e.overrideBaseUrl) : d(e.testMode ?? !1), h(e.gatewayBaseUrl);
34
+ localStorage.setItem(r.CLIENT_ID, e.clientId), localStorage.setItem(r.AUTH_FLOW, e.authFlow), e.debugRefreshToken && e.testMode && (localStorage.setItem(r.REFRESH_TOKEN, e.debugRefreshToken), localStorage.setItem(r.TOKEN, e.debugRefreshToken)), e.overrideBaseUrl ? u(e.overrideBaseUrl) : d(e.testMode ?? !1), h(e.gatewayBaseUrl);
34
35
  }, [e]), /* @__PURE__ */ o(
35
36
  w.Provider,
36
37
  {
@@ -48,5 +49,5 @@ const L = ({ children: t, config: e }) => /* @__PURE__ */ o(l, { client: y, chil
48
49
  );
49
50
  };
50
51
  export {
51
- L as AwayzProvider
52
+ N as AwayzProvider
52
53
  };
@@ -1,5 +1,5 @@
1
1
  import "../../arrayExtensions-DlcBOj5a.js";
2
- import { A as e } from "../../noRetryInstance-_W6BZQBa.js";
2
+ import { A as e } from "../../noRetryInstance-De2sH_IH.js";
3
3
  import "../../_styles.flight-booking-CaUgKcMC.js";
4
4
  import "react";
5
5
  import "../../configs/awayzClient.js";
@@ -2,7 +2,7 @@ var g = Object.defineProperty;
2
2
  var y = (r, t, a) => t in r ? g(r, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : r[t] = a;
3
3
  var c = (r, t, a) => y(r, typeof t != "symbol" ? t + "" : t, a);
4
4
  import "../../arrayExtensions-DlcBOj5a.js";
5
- import { c as d, b as u, g as p } from "../../noRetryInstance-_W6BZQBa.js";
5
+ import { c as d, b as u, g as p } from "../../noRetryInstance-De2sH_IH.js";
6
6
  import "react";
7
7
  import { EBookingEndpoints as i } from "../../configs/endpoints.js";
8
8
  const f = (r) => {
@@ -2,7 +2,7 @@ import '../../assets/_styles3.css';import '../../assets/_styles5.css';import '..
2
2
  var m = (t, r, e) => r in t ? y(t, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[r] = e;
3
3
  var n = (t, r, e) => m(t, typeof r != "symbol" ? r + "" : r, e);
4
4
  import "../../arrayExtensions-DlcBOj5a.js";
5
- import { A as C, E, c as s } from "../../noRetryInstance-_W6BZQBa.js";
5
+ import { A as C, E, c as s } from "../../noRetryInstance-De2sH_IH.js";
6
6
  import "react";
7
7
  import { ECurrencyEndpoints as i } from "../../configs/endpoints.js";
8
8
  import "react/jsx-runtime";
@@ -13,6 +13,7 @@ import "../../_styles.flight-booking-CaUgKcMC.js";
13
13
  import "@tanstack/react-query";
14
14
  /* empty css */
15
15
  /* empty css */
16
+ import "../../index-Cv-wvFlM.js";
16
17
  import "../../context/AwayzContext.js";
17
18
  /* empty css */
18
19
  import { awayzClient as _ } from "../../configs/awayzClient.js";
@@ -68,7 +69,7 @@ class d {
68
69
  });
69
70
  }
70
71
  }
71
- const F = new d();
72
+ const Q = new d();
72
73
  export {
73
- F as CurrencyService
74
+ Q as CurrencyService
74
75
  };
@@ -1,5 +1,5 @@
1
1
  import { EAuthEndpoints as a } from "../../configs/endpoints.js";
2
- import { c as o } from "../../noRetryInstance-_W6BZQBa.js";
2
+ import { c as o } from "../../noRetryInstance-De2sH_IH.js";
3
3
  class i {
4
4
  static async getFeatures() {
5
5
  try {
@@ -1,5 +1,5 @@
1
1
  import { CurrencyService as a } from "./currency/CurrencyService.js";
2
- import { c as t, a as o, g as c, i as s } from "../noRetryInstance-_W6BZQBa.js";
2
+ import { c as t, a as o, g as c, i as s } from "../noRetryInstance-De2sH_IH.js";
3
3
  import { RewardsService as p } from "./rewards/RewardsService.js";
4
4
  import { EBookingType as m } from "./trips/TripService.types.js";
5
5
  export {
@@ -1,7 +1,7 @@
1
1
  import "../arrayExtensions-DlcBOj5a.js";
2
2
  import "../_styles.flight-booking-CaUgKcMC.js";
3
3
  import "react";
4
- import { c as r, g as s, i as c } from "../noRetryInstance-_W6BZQBa.js";
4
+ import { c as r, g as s, i as c } from "../noRetryInstance-De2sH_IH.js";
5
5
  import "../configs/baseUrl.js";
6
6
  export {
7
7
  r as clientInstance,
@@ -1,7 +1,7 @@
1
1
  import "../arrayExtensions-DlcBOj5a.js";
2
2
  import "../_styles.flight-booking-CaUgKcMC.js";
3
3
  import "react";
4
- import { m as c, k as F, l as j, h as k, j as q, n as w, p as A } from "../noRetryInstance-_W6BZQBa.js";
4
+ import { m as F, k as j, l as k, h as q, j as w, n as A, p as D } from "../noRetryInstance-De2sH_IH.js";
5
5
  import "../configs/baseUrl.js";
6
6
  import "../configs/endpoints.js";
7
7
  import "../configs/gatewayBaseUrl.js";
@@ -12,16 +12,17 @@ import '../assets/_styles3.css';import '../assets/_styles5.css';import '../asset
12
12
  /* empty css */
13
13
  /* empty css */
14
14
  /* empty css */
15
+ import "../index-Cv-wvFlM.js";
15
16
  import "../context/AwayzContext.js";
16
17
  /* empty css */
17
18
  import "../configs/awayzClient.js";
18
19
  import "../types/EAuthFlow.js";
19
20
  export {
20
- c as authFailurePostMessage,
21
- F as delay,
22
- j as executeWithDelay,
23
- k as getClientConfig,
24
- q as getGatewayConfig,
25
- w as handleAxiosError,
26
- A as processFailedRequests
21
+ F as authFailurePostMessage,
22
+ j as delay,
23
+ k as executeWithDelay,
24
+ q as getClientConfig,
25
+ w as getGatewayConfig,
26
+ A as handleAxiosError,
27
+ D as processFailedRequests
27
28
  };
@@ -1,4 +1,4 @@
1
- import { a } from "../noRetryInstance-_W6BZQBa.js";
1
+ import { a } from "../noRetryInstance-De2sH_IH.js";
2
2
  export {
3
3
  a as clientNoRetryInstance
4
4
  };
@@ -2,7 +2,7 @@ var a = Object.defineProperty;
2
2
  var o = (s, e, r) => e in s ? a(s, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : s[e] = r;
3
3
  var n = (s, e, r) => o(s, typeof e != "symbol" ? e + "" : e, r);
4
4
  import { EPreferencesEndpoints as u } from "../../configs/endpoints.js";
5
- import { c as i } from "../../noRetryInstance-_W6BZQBa.js";
5
+ import { c as i } from "../../noRetryInstance-De2sH_IH.js";
6
6
  class E {
7
7
  constructor() {
8
8
  n(this, "setCurrency", async (e) => {
@@ -2,7 +2,7 @@ var s = Object.defineProperty;
2
2
  var n = (t, e, a) => e in t ? s(t, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : t[e] = a;
3
3
  var r = (t, e, a) => n(t, typeof e != "symbol" ? e + "" : e, a);
4
4
  import "../../arrayExtensions-DlcBOj5a.js";
5
- import { c as o, b as c } from "../../noRetryInstance-_W6BZQBa.js";
5
+ import { c as o, b as c } from "../../noRetryInstance-De2sH_IH.js";
6
6
  import "react";
7
7
  import { ERewardsEndpoints as i } from "../../configs/endpoints.js";
8
8
  class m {
@@ -1,6 +1,6 @@
1
1
  import "../../arrayExtensions-DlcBOj5a.js";
2
- import "../../noRetryInstance-_W6BZQBa.js";
3
- import { T } from "../../TripsService-9rrYB3Bv.js";
2
+ import "../../noRetryInstance-De2sH_IH.js";
3
+ import { T } from "../../TripsService-BJPYRlRO.js";
4
4
  import "react";
5
5
  import "../../configs/endpoints.js";
6
6
  import "./TripService.types.js";
@@ -2,7 +2,7 @@ var o = Object.defineProperty;
2
2
  var i = (d, a, t) => a in d ? o(d, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : d[a] = t;
3
3
  var r = (d, a, t) => i(d, typeof a != "symbol" ? a + "" : a, t);
4
4
  import "../../arrayExtensions-DlcBOj5a.js";
5
- import { c as e, b as c, g as A } from "../../noRetryInstance-_W6BZQBa.js";
5
+ import { c as e, b as c, g as A } from "../../noRetryInstance-De2sH_IH.js";
6
6
  import "react";
7
7
  import { EWalletEndpoints as s } from "../../configs/endpoints.js";
8
8
  class u {
@@ -0,0 +1,41 @@
1
+ import "../arrayExtensions-DlcBOj5a.js";
2
+ import { E as u } from "../noRetryInstance-De2sH_IH.js";
3
+ import "react";
4
+ import "react/jsx-runtime";
5
+ import "react-i18next";
6
+ import '../assets/_styles3.css';import '../assets/_styles5.css';import '../assets/_styles4.css';import '../assets/_styles.css';import '../assets/_styles2.css';/* empty css */
7
+ import "../_styles.flight-booking-CaUgKcMC.js";
8
+ /* empty css */
9
+ import "@tanstack/react-query";
10
+ import { CurrencyService as a } from "../services/currency/CurrencyService.js";
11
+ /* empty css */
12
+ /* empty css */
13
+ import "../index-Cv-wvFlM.js";
14
+ import "../context/AwayzContext.js";
15
+ import { awayzClient as y } from "../configs/awayzClient.js";
16
+ import { getCurrency as p } from "./currency.js";
17
+ /* empty css */
18
+ const b = async ({
19
+ cashAmount: o,
20
+ currency: r,
21
+ featureFlags: n,
22
+ user: i,
23
+ pointsAsCash: e
24
+ }) => {
25
+ const t = p(n.defaultCurrencyFeature, i);
26
+ if (r && t && r !== t && e.currency !== r && e.currency)
27
+ return 0;
28
+ const m = await y.ensureQueryData({
29
+ queryKey: [u.CONVERT_CURRENCY, r, e.currency],
30
+ queryFn: () => a.convertCurrency({
31
+ baseCurrency: r,
32
+ targetCurrency: e.currency
33
+ }),
34
+ staleTime: 1e3 * 60 * 60
35
+ // 1 hour
36
+ }) ?? 1, c = o * m;
37
+ return Math.round(c / e.valuePerPoint);
38
+ };
39
+ export {
40
+ b as convertCashToClientPoints
41
+ };
@@ -0,0 +1,7 @@
1
+ const t = (r, c) => {
2
+ var n;
3
+ return ((n = c == null ? void 0 : c.preferences) == null ? void 0 : n.currency) ?? (c == null ? void 0 : c.userRegion.currency) ?? r;
4
+ };
5
+ export {
6
+ t as getCurrency
7
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odynn/awayz-core",
3
- "version": "0.9.14",
3
+ "version": "0.9.15",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"