@odynn/awayz-core 0.6.48 → 0.8.0

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 (48) hide show
  1. package/dist/{Combination-Bx3lWLOq.js → Combination-CrPZjD5u.js} +382 -382
  2. package/dist/RewardsService-CB88je4D.js +118952 -0
  3. package/dist/{TripsService-DywrB9bi.js → TripsService-A25R9nj7.js} +1 -1
  4. package/dist/assets/ClientPointsValue.css +1 -0
  5. package/dist/assets/RewardsService.css +1 -0
  6. package/dist/assets/_styles.css +1 -1
  7. package/dist/assets/_styles3.css +1 -1
  8. package/dist/components/Bookings/FlightBooking/FlightBooking.js +1 -1
  9. package/dist/components/Bookings/HotelBooking/HotelBooking.js +2 -2
  10. package/dist/components/CashValue/CashValue.js +8 -7
  11. package/dist/components/CashValue/CashValue.stories.js +23 -22
  12. package/dist/components/ClientPointsValue/ClientPointsValue.js +258 -0
  13. package/dist/components/Menu/Menu.js +2 -2
  14. package/dist/components/Tooltip/Tooltip.js +1 -1
  15. package/dist/components/Wallet/Card/Card.js +2 -2
  16. package/dist/components/Wallet/Card/Card.stories.js +16 -15
  17. package/dist/components/index.js +13 -11
  18. package/dist/hooks/useAwayzAuth/useAwayzAuth.js +67 -66
  19. package/dist/hooks/useBookingManagement/useBookingManagement.js +12 -11
  20. package/dist/hooks/useBookingManagement/useBookingManagement.test.js +6 -5
  21. package/dist/hooks/useFeatureFlags.js +35 -31
  22. package/dist/hooks/useSearchLimit.js +12 -11
  23. package/dist/hooks/useTripManagement/useTripManagement.js +9 -8
  24. package/dist/hooks/useTripManagement/useTripManagement.test.js +8 -7
  25. package/dist/hooks/useWallet/useWallet.js +28 -27
  26. package/dist/hooks/useWallet/useWallet.test.js +7 -6
  27. package/dist/{index-Bt2pq2GP.js → index-jyHfrLRo.js} +20 -20
  28. package/dist/lib/components/ClientPointsValue/ClientPointsValue.d.ts +6 -0
  29. package/dist/lib/components/index.d.ts +4 -3
  30. package/dist/lib/hooks/useFeatureFlags.d.ts +8 -3
  31. package/dist/lib/main.d.ts +1 -0
  32. package/dist/lib/services/instanceConfig.d.ts +2 -2
  33. package/dist/main.js +44 -39
  34. package/dist/{noRetryInstance-Y6wcm2ZM.js → noRetryInstance-CNXX0Siw.js} +466 -468
  35. package/dist/providers/AwayzProvider.js +13 -12
  36. package/dist/services/account/AccountService.js +3 -2
  37. package/dist/services/bookings/BookingService.js +1 -1
  38. package/dist/services/currency/CurrencyService.js +15 -14
  39. package/dist/services/features/featureService.js +1 -1
  40. package/dist/services/index.js +1 -1
  41. package/dist/services/instance.js +1 -1
  42. package/dist/services/instanceConfig.js +12 -11
  43. package/dist/services/noRetryInstance.js +1 -1
  44. package/dist/services/preferences/PreferencesService.js +1 -1
  45. package/dist/services/rewards/RewardsService.js +1 -1
  46. package/dist/services/trips/TripsService.js +2 -2
  47. package/dist/services/wallet/WalletService.js +1 -1
  48. 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-Y6wcm2ZM.js";
5
+ import { c as n, e as p, b as c, r as T } from "./noRetryInstance-CNXX0Siw.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";
@@ -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%)}}.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>div{z-index:2}.awayz-flight-result .content>div.flight-info{flex:4;display:flex;flex-direction:column;min-height:60%;gap:.5rem;padding:1rem}.awayz-flight-result .content>div.flight-info .airlines{position:relative;width:50px;max-width:50px;height:30px}.awayz-flight-result .content>div.flight-info .airlines>div{position:absolute;display:flex;align-items:center;gap:.5rem;border:1px solid var(--border, #e7eef3);border-radius:50%;height:30px;width:30px;justify-content:center;background-color:var(--light, #f9fdff)}.awayz-flight-result .content>div.flight-info .airlines>div img{width:70%}.awayz-flight-result .content>div.flight-info .airlines>div:nth-child(2){top:10px;left:15px}.awayz-flight-result .content>div.flight-info .airlines>div:nth-child(3){top:-10px;left:20px}.awayz-flight-result .content>div.flight-info .airlines>div span{font-size:.7rem}.awayz-flight-result .content>div.flight-info .airlines p{font-weight:600}.awayz-flight-result .content>div.flight-info .flight-locations{align-items:center;gap:1rem;display:flex}.awayz-flight-result .content>div.flight-info .flight-locations .show-desktop{display:none}@media screen and (min-width: 768px){.awayz-flight-result .content>div.flight-info .flight-locations .show-desktop{display:flex}}.awayz-flight-result .content>div.flight-info .flight-locations .show-mobile{display:none}@media screen and (max-width: 768px){.awayz-flight-result .content>div.flight-info .flight-locations .show-mobile{display:flex}}.awayz-flight-result .content>div.flight-info .flight-locations:last-child div p:first-child{font-weight:600}.awayz-flight-result .content>div.flight-info .flight-locations>div{flex:1;font-size:.8rem}.awayz-flight-result .content>div.flight-info .flight-locations>div:first-child{text-align:left}.awayz-flight-result .content>div.flight-info .flight-locations>div:last-child{text-align:right}.awayz-flight-result .content>div.flight-info .flight-locations .flight-duration{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:1rem;font-weight:600;font-size:.7rem}.awayz-flight-result .content>div.flight-info .flight-locations .line{height:2px;flex:1;background:repeating-linear-gradient(90deg,var(--border, #e7eef3) 0 20px,rgba(0,0,0,0) 0 30px);z-index:1}.awayz-flight-result .content>div.flight-info .flight-locations>div{display:flex;flex-direction:column;text-align:center;flex:1;width:100%}.awayz-flight-result .content>div.flight-info .flight-locations>div.duration{flex-direction:row;align-items:center;justify-content:center;gap:.5rem}.awayz-flight-result .content>div.flight-info .flight-locations>div.duration p{opacity:.4}.awayz-flight-result .content>div.flight-info .flight-locations>div.flight-location{text-align:left;align-items:flex-start;max-width:fit-content}.awayz-flight-result .content>div.flight-info .flight-locations>div:last-child{text-align:right;align-items:flex-end;max-width:fit-content}.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 span{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;border-top:1px solid var(--border, #e7eef3)}.awayz-flight-result .flight-details.is-open .inner{padding:1rem 0;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:hover{cursor:pointer}
@@ -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";.selected-hotel-card{width:380px;height:auto;border:1px solid var(--border, #e7eef3);border-radius:.5rem;display:flex;flex-direction:column;background-color:var(--foreground, #fff);overflow:hidden;transition:all .2s ease-in-out;animation:fade-in .3s ease-in-out both}.selected-hotel-card:nth-child(1){animation-delay:.1s}.selected-hotel-card:nth-child(2){animation-delay:.2s}.selected-hotel-card:nth-child(3){animation-delay:.3s}.selected-hotel-card:nth-child(4){animation-delay:.4s}.selected-hotel-card:nth-child(5){animation-delay:.5s}.selected-hotel-card:nth-child(6){animation-delay:.6s}.selected-hotel-card:nth-child(7){animation-delay:.7s}.selected-hotel-card:nth-child(8){animation-delay:.8s}.selected-hotel-card:nth-child(9){animation-delay:.9s}.selected-hotel-card:nth-child(10){animation-delay:1s}.selected-hotel-card .cancelled-notice{background-color:rgba(var(--warning, #ff7f2f),.1);font-weight:600;padding:.25rem;border-radius:.5rem;border:2px solid var(--warning, #ff7f2f);color:var(--warning, #ff7f2f);font-size:.8rem;text-align:center;width:fit-content}.selected-hotel-card:hover{box-shadow:0 0 20px #02426d1a;cursor:pointer}.selected-hotel-card:hover .hotel-image{background-size:105%}.selected-hotel-card .hotel-image{width:100%;height:200px;padding:.5rem;background-repeat:no-repeat;background-position:center;background-size:100%;display:flex;justify-content:space-between;align-items:flex-start;transition:all .2s ease-in-out}.selected-hotel-card .hotel-image .hotel-chain{display:flex;justify-content:center;gap:.5rem;border:2px solid #fff;padding:.25rem;border-radius:.25rem;background-color:#fffc;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.selected-hotel-card .hotel-image .context-button{display:flex;right:0;color:var(--text-light, rgba(37, 46, 52, .2509803922));background-color:var(--foreground, #fff);padding:.5rem;border-radius:.25rem;transition:all .3s ease-in-out;cursor:pointer}.selected-hotel-card .hotel-image .context-button:hover{background-color:var(--border, #e7eef3)}.selected-hotel-card .bottom-content{display:flex;flex-direction:column;padding:1rem;flex:1;gap:.5rem}.selected-hotel-card .bottom-content .hotel-title{display:flex;flex-direction:column;gap:.25rem;flex:1}.selected-hotel-card .bottom-content .hotel-title>p{font-size:1rem;font-weight:600}.selected-hotel-card .bottom-content .hotel-title .hotel-booking-info{display:flex;flex-direction:column;gap:.5rem}.selected-hotel-card .bottom-content .hotel-title .hotel-booking-info>div{display:flex;align-items:center;gap:.5rem;font-size:.8rem;opacity:.6}.selected-hotel-card .bottom-content span{border-left:1px solid var(--border, #e7eef3);height:100%}.selected-hotel-card .bottom-content .hotel-details{display:flex;justify-content:space-between;font-size:.8rem}.selected-hotel-card .bottom-content .hotel-details>div{display:flex;gap:1rem;align-items:center}.selected-hotel-card .bottom-content .hotel-details>div>hr{height:1rem;border:1px solid var(--border, #e7eef3)}.selected-hotel-card .bottom-content .hotel-details .id-and-icon{font-weight:700}.selected-hotel-card .bottom-content .hotel-details .id-and-icon .copy-icon{font-size:larger}button{all:unset}.menubar-root{display:flex;background-color:var(--foreground, #fff);border-radius:.25rem}.menubar-trigger{border:1px solid var(--border, #e7eef3);padding:.5rem;outline:none;-webkit-user-select:none;user-select:none;font-weight:500;line-height:1;border-radius:4px;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:2px}.menubar-trigger[data-highlighted],.menubar-trigger[data-state=open]{background-color:var(--background, #f9fdff)}.menubar-content,.menubar-sub-content{min-width:220px;background-color:var(--foreground, #fff);border-radius:.25rem;padding:.5rem;animation-duration:.2s;animation-timing-function:cubic-bezier(.16,1,.3,1);will-change:transform,opacity;border:1px solid var(--border, #e7eef3)}.menubar-sub-content{position:inherit;right:0;transform:translate(8px,35px)}.menubar-item,.menubar-sub-trigger,.menubar-checkbox-item,.menubar-radio-item{all:unset;font-size:13px;line-height:1;border-radius:4px;display:flex;align-items:center;height:25px;padding:0 10px;position:relative;-webkit-user-select:none;user-select:none}.menubar-item.inset,.menubar-sub-trigger.inset,.menubar-checkbox-item.inset,.menubar-radio-item.inset{padding-left:20px}.menubar-item[data-state=open],.menubar-sub-trigger[data-state=open]{background-color:var(--background, #f9fdff)}.menubar-item[data-highlighted],.menubar-sub-trigger[data-highlighted],.menubar-checkbox-item[data-highlighted],.menubar-radio-item[data-highlighted]{background-color:var(--background, #f9fdff);cursor:pointer}.menubar-item[data-disabled],.menubar-sub-trigger[data-disabled],.menubar-checkbox-item[data-disabled],.menubar-radio-item[data-disabled]{pointer-events:none;opacity:.3}.menubar-item-indicator{position:absolute;left:0;width:20px;display:inline-flex;align-items:center;justify-content:center}.menubar-separator{height:1px;margin:5px}.right-slot{margin-left:auto;padding-left:20px}.selected-flight-card{width:380px;padding:1px;border-radius:.5rem;position:relative;overflow:hidden;background:linear-gradient(90deg,transparent 0%,transparent 10%,var(--border, #e7eef3) 10%,var(--border, #e7eef3) 90%,transparent 90%,transparent 100%);animation:fade-in .3s ease-in-out both;transition:all .2s ease-in-out;cursor:pointer}.selected-flight-card:nth-child(1){animation-delay:.1s}.selected-flight-card:nth-child(2){animation-delay:.2s}.selected-flight-card:nth-child(3){animation-delay:.3s}.selected-flight-card:nth-child(4){animation-delay:.4s}.selected-flight-card:nth-child(5){animation-delay:.5s}.selected-flight-card:nth-child(6){animation-delay:.6s}.selected-flight-card:nth-child(7){animation-delay:.7s}.selected-flight-card:nth-child(8){animation-delay:.8s}.selected-flight-card:nth-child(9){animation-delay:.9s}.selected-flight-card:nth-child(10){animation-delay:1s}.selected-flight-card:hover{filter:drop-shadow(0px 0px 20px rgba(2,66,109,.1))}.selected-flight-card:before{content:"";position:absolute;box-sizing:content-box;aspect-ratio:1;height:30px;width:30px;border-radius:100%;border:14rem solid var(--border, #e7eef3);top:180px;left:0;transform:translate(-50%,-50%)}.selected-flight-card:after{content:"";position:absolute;box-sizing:content-box;aspect-ratio:1;height:30px;width:30px;border-radius:100%;border:14rem solid var(--border, #e7eef3);top:180px;right:0;transform:translate(50%,-50%)}.selected-flight-card .cancelled-notice{background-color:rgba(var(--warning, #ff7f2f),.1);font-weight:600;padding:.25rem;border-radius:.5rem;border:2px solid var(--warning, #ff7f2f);color:var(--warning, #ff7f2f);font-size:.8rem;text-align:center;width:fit-content}.selected-flight-card .content{overflow:hidden;padding:1rem;padding-bottom:0;border-radius:.4rem;width:100%;margin:0 auto;position:relative;height:100%;z-index:1;display:flex;flex-direction:column;gap:1rem;background:linear-gradient(90deg,transparent 0%,transparent 10%,var(--foreground, #fff) 10%,var(--foreground, #fff) 90%,transparent 90%,transparent 100%)}.selected-flight-card .content *{z-index:2}.selected-flight-card .content:before{content:"";position:absolute;box-sizing:content-box;aspect-ratio:1;height:31px;width:31px;border-radius:100%;border:14rem solid var(--foreground, #fff);top:179px;left:-1.5px;transform:translate(-50%,-50%)}.selected-flight-card .content:after{content:"";position:absolute;box-sizing:content-box;aspect-ratio:1;height:31px;width:31px;border-radius:100%;border:14rem solid var(--foreground, #fff);top:179px;right:-1px;transform:translate(49.99%,-50%)}.selected-flight-card .top-section{flex:1;min-height:calc(160px - 1rem)}.selected-flight-card .top-section .header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.selected-flight-card .top-section .header>div{display:flex;align-items:center;gap:.5rem}.selected-flight-card .top-section .header .airline-logo,.selected-flight-card .top-section .header .airline-logo img{max-height:20px}.selected-flight-card .top-section .header .id-and-icon{display:flex;align-items:center;gap:1rem}.selected-flight-card .top-section .header .id-and-icon>span{font-weight:700}.selected-flight-card .top-section .header .id-and-icon .context-button{display:flex;border:1px solid var(--border, #e7eef3);border-radius:.5rem;padding:.5rem;color:var(--text-light, rgba(37, 46, 52, .2509803922));cursor:pointer}.selected-flight-card .top-section .header .id-and-icon .context-button:hover{background-color:var(--border, #e7eef3)}.selected-flight-card .top-section .flight{display:flex;align-items:center;font-size:1.8rem;position:relative;justify-content:space-between}.selected-flight-card .top-section .flight *{z-index:2}.selected-flight-card .top-section .flight .flight-trail{margin:5px 0;height:2px;background:repeating-linear-gradient(90deg,var(--border, #e7eef3) 0 20px,rgba(0,0,0,0) 0 30px);width:80%;position:absolute;left:50%;transform:translate(-50%);z-index:1}.selected-flight-card .top-section .flight svg{fill:#d8e3ea}.selected-flight-card .top-section .flight>p{font-weight:600;background-color:var(--foreground, #fff)}.selected-flight-card .top-section .flight .departure-title{padding-right:.5rem}.selected-flight-card .top-section .flight .arrival-title{padding-left:.5rem}.selected-flight-card .top-section .flight-details .destination span{font-size:1rem;font-weight:400}.selected-flight-card .top-section .flight-details .destination span:last-child{text-align:right}.selected-flight-card .top-section .flight-details .time p{color:var(--text-light, rgba(37, 46, 52, .2509803922))}.selected-flight-card .top-section .flight-details .destination,.selected-flight-card .top-section .flight-details .time{display:flex;justify-content:space-between}.selected-flight-card .mid-section{height:10px}.selected-flight-card .mid-section .dashes{position:absolute;top:179px;left:20px;right:20px;border:dashed 2px var(--border, #e7eef3)}.selected-flight-card .bottom-section{display:flex;flex-direction:column;gap:1rem;font-size:.8rem}.selected-flight-card .bottom-section .bottom-header{display:flex;justify-content:space-between;border:1px solid var(--border, #e7eef3);border-radius:.5rem;padding:.5rem}.selected-flight-card .bottom-section .bottom-header .id-and-icon{display:flex;gap:1rem}.selected-flight-card .bottom-section .bottom-header .id-and-icon>span{font-weight:700}.selected-flight-card .bottom-section .bottom-header .id-and-icon .copy-icon{font-size:larger}.selected-flight-card .bottom-section .bottom-section-details{display:flex;gap:1rem}.selected-flight-card .bottom-section .bottom-section-details>div{display:flex;width:50%;justify-content:space-between;margin-bottom:1rem;border:1px solid var(--border, #e7eef3);border-radius:.5rem;padding:.5rem}.selected-flight-card .bottom-section .bottom-section-details>div>span{font-weight:700}.card{background-color:var(--dark, #14181f);padding:1rem;border-radius:1rem;display:flex;justify-content:space-between;height:150px;aspect-ratio:1.8;position:relative;overflow:hidden}.card p{color:var(--light, #f9fdff);font-weight:600;z-index:1}.card p.light{color:var(--dark, #14181f)}.card .remove-button{cursor:pointer;z-index:5;display:none;border-radius:.5rem;position:absolute;top:0;right:0;transform:translate(-50%) translateY(50%);height:1.75rem;width:1.75rem;padding:0;background-color:var(--light, #f9fdff);justify-content:center;align-items:center}.card .remove-button span{position:fixed;color:var(--dark, #14181f);display:flex;justify-content:center;align-items:center}.card:hover .remove-button{display:flex}.card .logo{height:50px;max-width:100px}.card>.logo-watermark-container{position:absolute;left:0;top:0;bottom:0;right:0;overflow:hidden}.card>.logo-watermark-container>.logo-watermark{position:absolute;right:-5%;height:100%;max-width:200px;transform:scale(2);opacity:.1}.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%)}}.currency-conversion{max-width:fit-content}.currency-conversion svg{fill:var(--primary, #1495f2);transform:scaleX(.75)}.currency-conversion.loading{background-color:var(--border, #e7eef3);background-size:300%;background-position:100% 0;animation:shimmer 2s infinite;color:transparent;padding:0 .5rem;border-radius:.5rem}.currency-conversion-container{display:flex;flex-direction:column;justify-content:center;text-align:center;gap:1rem}.currency-conversion-container>p{font-weight:600}.currency-conversion-container .currency-conversion-amounts{position:relative;display:flex;align-items:center;width:100vw;max-width:300px;border:1px solid var(--border, #e7eef3);border-radius:.5rem}.currency-conversion-container .currency-conversion-amounts div{flex:1;width:50%;padding:1rem;font-weight:600}.currency-conversion-container .currency-conversion-amounts div:first-of-type{border-right:1px solid var(--border, #e7eef3)}.currency-conversion-container .currency-conversion-amounts .conversion-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;background-color:var(--foreground, #fff);color:var(--primary, #1495f2);height:2rem;width:2rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--border, #e7eef3)}.currency-conversion-container .currency-conversion-amounts .conversion-icon svg{fill:var(--primary, #1495f2);width:1rem;height:1rem;transform:scaleX(.75)}.currency-conversion-container .currency-conversion-rate{padding:.5rem 1rem;border-radius:.5rem;background-color:var(--border, #e7eef3);font-size:.8rem}*{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>div{z-index:2}.awayz-flight-result .content>div.flight-info{flex:4;display:flex;flex-direction:column;min-height:60%;gap:.5rem;padding:1rem}.awayz-flight-result .content>div.flight-info .airlines{position:relative;width:50px;max-width:50px;height:30px}.awayz-flight-result .content>div.flight-info .airlines>div{position:absolute;display:flex;align-items:center;gap:.5rem;border:1px solid var(--border, #e7eef3);border-radius:50%;height:30px;width:30px;justify-content:center;background-color:var(--light, #f9fdff)}.awayz-flight-result .content>div.flight-info .airlines>div img{width:70%}.awayz-flight-result .content>div.flight-info .airlines>div:nth-child(2){top:10px;left:15px}.awayz-flight-result .content>div.flight-info .airlines>div:nth-child(3){top:-10px;left:20px}.awayz-flight-result .content>div.flight-info .airlines>div span{font-size:.7rem}.awayz-flight-result .content>div.flight-info .airlines p{font-weight:600}.awayz-flight-result .content>div.flight-info .flight-locations{align-items:center;gap:1rem;display:flex}.awayz-flight-result .content>div.flight-info .flight-locations .show-desktop{display:none}@media screen and (min-width: 768px){.awayz-flight-result .content>div.flight-info .flight-locations .show-desktop{display:flex}}.awayz-flight-result .content>div.flight-info .flight-locations .show-mobile{display:none}@media screen and (max-width: 768px){.awayz-flight-result .content>div.flight-info .flight-locations .show-mobile{display:flex}}.awayz-flight-result .content>div.flight-info .flight-locations:last-child div p:first-child{font-weight:600}.awayz-flight-result .content>div.flight-info .flight-locations>div{flex:1;font-size:.8rem}.awayz-flight-result .content>div.flight-info .flight-locations>div:first-child{text-align:left}.awayz-flight-result .content>div.flight-info .flight-locations>div:last-child{text-align:right}.awayz-flight-result .content>div.flight-info .flight-locations .flight-duration{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:1rem;font-weight:600;font-size:.7rem}.awayz-flight-result .content>div.flight-info .flight-locations .line{height:2px;flex:1;background:repeating-linear-gradient(90deg,var(--border, #e7eef3) 0 20px,rgba(0,0,0,0) 0 30px);z-index:1}.awayz-flight-result .content>div.flight-info .flight-locations>div{display:flex;flex-direction:column;text-align:center;flex:1;width:100%}.awayz-flight-result .content>div.flight-info .flight-locations>div.duration{flex-direction:row;align-items:center;justify-content:center;gap:.5rem}.awayz-flight-result .content>div.flight-info .flight-locations>div.duration p{opacity:.4}.awayz-flight-result .content>div.flight-info .flight-locations>div.flight-location{text-align:left;align-items:flex-start;max-width:fit-content}.awayz-flight-result .content>div.flight-info .flight-locations>div:last-child{text-align:right;align-items:flex-end;max-width:fit-content}.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 span{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;border-top:1px solid var(--border, #e7eef3)}.awayz-flight-result .flight-details.is-open .inner{padding:1rem 0;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: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}.card{background-color:var(--dark, #14181f);padding:1rem;border-radius:1rem;display:flex;justify-content:space-between;height:150px;aspect-ratio:1.8;position:relative;overflow:hidden}.card p{color:var(--light, #f9fdff);font-weight:600;z-index:1}.card p.light{color:var(--dark, #14181f)}.card .remove-button{cursor:pointer;z-index:5;display:none;border-radius:.5rem;position:absolute;top:0;right:0;transform:translate(-50%) translateY(50%);height:1.75rem;width:1.75rem;padding:0;background-color:var(--light, #f9fdff);justify-content:center;align-items:center}.card .remove-button span{position:fixed;color:var(--dark, #14181f);display:flex;justify-content:center;align-items:center}.card:hover .remove-button{display:flex}.card .logo{height:50px;max-width:100px}.card>.logo-watermark-container{position:absolute;left:0;top:0;bottom:0;right:0;overflow:hidden}.card>.logo-watermark-container>.logo-watermark{position:absolute;right:-5%;height:100%;max-width:200px;transform:scale(2);opacity:.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}.selected-hotel-card{width:380px;height:auto;border:1px solid var(--border, #e7eef3);border-radius:.5rem;display:flex;flex-direction:column;background-color:var(--foreground, #fff);overflow:hidden;transition:all .2s ease-in-out;animation:fade-in .3s ease-in-out both}.selected-hotel-card:nth-child(1){animation-delay:.1s}.selected-hotel-card:nth-child(2){animation-delay:.2s}.selected-hotel-card:nth-child(3){animation-delay:.3s}.selected-hotel-card:nth-child(4){animation-delay:.4s}.selected-hotel-card:nth-child(5){animation-delay:.5s}.selected-hotel-card:nth-child(6){animation-delay:.6s}.selected-hotel-card:nth-child(7){animation-delay:.7s}.selected-hotel-card:nth-child(8){animation-delay:.8s}.selected-hotel-card:nth-child(9){animation-delay:.9s}.selected-hotel-card:nth-child(10){animation-delay:1s}.selected-hotel-card .cancelled-notice{background-color:rgba(var(--warning, #ff7f2f),.1);font-weight:600;padding:.25rem;border-radius:.5rem;border:2px solid var(--warning, #ff7f2f);color:var(--warning, #ff7f2f);font-size:.8rem;text-align:center;width:fit-content}.selected-hotel-card:hover{box-shadow:0 0 20px #02426d1a;cursor:pointer}.selected-hotel-card:hover .hotel-image{background-size:105%}.selected-hotel-card .hotel-image{width:100%;height:200px;padding:.5rem;background-repeat:no-repeat;background-position:center;background-size:100%;display:flex;justify-content:space-between;align-items:flex-start;transition:all .2s ease-in-out}.selected-hotel-card .hotel-image .hotel-chain{display:flex;justify-content:center;gap:.5rem;border:2px solid #fff;padding:.25rem;border-radius:.25rem;background-color:#fffc;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.selected-hotel-card .hotel-image .context-button{display:flex;right:0;color:var(--text-light, rgba(37, 46, 52, .2509803922));background-color:var(--foreground, #fff);padding:.5rem;border-radius:.25rem;transition:all .3s ease-in-out;cursor:pointer}.selected-hotel-card .hotel-image .context-button:hover{background-color:var(--border, #e7eef3)}.selected-hotel-card .bottom-content{display:flex;flex-direction:column;padding:1rem;flex:1;gap:.5rem}.selected-hotel-card .bottom-content .hotel-title{display:flex;flex-direction:column;gap:.25rem;flex:1}.selected-hotel-card .bottom-content .hotel-title>p{font-size:1rem;font-weight:600}.selected-hotel-card .bottom-content .hotel-title .hotel-booking-info{display:flex;flex-direction:column;gap:.5rem}.selected-hotel-card .bottom-content .hotel-title .hotel-booking-info>div{display:flex;align-items:center;gap:.5rem;font-size:.8rem;opacity:.6}.selected-hotel-card .bottom-content span{border-left:1px solid var(--border, #e7eef3);height:100%}.selected-hotel-card .bottom-content .hotel-details{display:flex;justify-content:space-between;font-size:.8rem}.selected-hotel-card .bottom-content .hotel-details>div{display:flex;gap:1rem;align-items:center}.selected-hotel-card .bottom-content .hotel-details>div>hr{height:1rem;border:1px solid var(--border, #e7eef3)}.selected-hotel-card .bottom-content .hotel-details .id-and-icon{font-weight:700}.selected-hotel-card .bottom-content .hotel-details .id-and-icon .copy-icon{font-size:larger}
@@ -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}.selected-hotel-card{width:380px;height:auto;border:1px solid var(--border, #e7eef3);border-radius:.5rem;display:flex;flex-direction:column;background-color:var(--foreground, #fff);overflow:hidden;transition:all .2s ease-in-out;animation:fade-in .3s ease-in-out both}.selected-hotel-card:nth-child(1){animation-delay:.1s}.selected-hotel-card:nth-child(2){animation-delay:.2s}.selected-hotel-card:nth-child(3){animation-delay:.3s}.selected-hotel-card:nth-child(4){animation-delay:.4s}.selected-hotel-card:nth-child(5){animation-delay:.5s}.selected-hotel-card:nth-child(6){animation-delay:.6s}.selected-hotel-card:nth-child(7){animation-delay:.7s}.selected-hotel-card:nth-child(8){animation-delay:.8s}.selected-hotel-card:nth-child(9){animation-delay:.9s}.selected-hotel-card:nth-child(10){animation-delay:1s}.selected-hotel-card .cancelled-notice{background-color:rgba(var(--warning, #ff7f2f),.1);font-weight:600;padding:.25rem;border-radius:.5rem;border:2px solid var(--warning, #ff7f2f);color:var(--warning, #ff7f2f);font-size:.8rem;text-align:center;width:fit-content}.selected-hotel-card:hover{box-shadow:0 0 20px #02426d1a;cursor:pointer}.selected-hotel-card:hover .hotel-image{background-size:105%}.selected-hotel-card .hotel-image{width:100%;height:200px;padding:.5rem;background-repeat:no-repeat;background-position:center;background-size:100%;display:flex;justify-content:space-between;align-items:flex-start;transition:all .2s ease-in-out}.selected-hotel-card .hotel-image .hotel-chain{display:flex;justify-content:center;gap:.5rem;border:2px solid #fff;padding:.25rem;border-radius:.25rem;background-color:#fffc;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.selected-hotel-card .hotel-image .context-button{display:flex;right:0;color:var(--text-light, rgba(37, 46, 52, .2509803922));background-color:var(--foreground, #fff);padding:.5rem;border-radius:.25rem;transition:all .3s ease-in-out;cursor:pointer}.selected-hotel-card .hotel-image .context-button:hover{background-color:var(--border, #e7eef3)}.selected-hotel-card .bottom-content{display:flex;flex-direction:column;padding:1rem;flex:1;gap:.5rem}.selected-hotel-card .bottom-content .hotel-title{display:flex;flex-direction:column;gap:.25rem;flex:1}.selected-hotel-card .bottom-content .hotel-title>p{font-size:1rem;font-weight:600}.selected-hotel-card .bottom-content .hotel-title .hotel-booking-info{display:flex;flex-direction:column;gap:.5rem}.selected-hotel-card .bottom-content .hotel-title .hotel-booking-info>div{display:flex;align-items:center;gap:.5rem;font-size:.8rem;opacity:.6}.selected-hotel-card .bottom-content span{border-left:1px solid var(--border, #e7eef3);height:100%}.selected-hotel-card .bottom-content .hotel-details{display:flex;justify-content:space-between;font-size:.8rem}.selected-hotel-card .bottom-content .hotel-details>div{display:flex;gap:1rem;align-items:center}.selected-hotel-card .bottom-content .hotel-details>div>hr{height:1rem;border:1px solid var(--border, #e7eef3)}.selected-hotel-card .bottom-content .hotel-details .id-and-icon{font-weight:700}.selected-hotel-card .bottom-content .hotel-details .id-and-icon .copy-icon{font-size:larger}
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}.card{background-color:var(--dark, #14181f);padding:1rem;border-radius:1rem;display:flex;justify-content:space-between;height:150px;aspect-ratio:1.8;position:relative;overflow:hidden}.card p{color:var(--light, #f9fdff);font-weight:600;z-index:1}.card p.light{color:var(--dark, #14181f)}.card .remove-button{cursor:pointer;z-index:5;display:none;border-radius:.5rem;position:absolute;top:0;right:0;transform:translate(-50%) translateY(50%);height:1.75rem;width:1.75rem;padding:0;background-color:var(--light, #f9fdff);justify-content:center;align-items:center}.card .remove-button span{position:fixed;color:var(--dark, #14181f);display:flex;justify-content:center;align-items:center}.card:hover .remove-button{display:flex}.card .logo{height:50px;max-width:100px}.card>.logo-watermark-container{position:absolute;left:0;top:0;bottom:0;right:0;overflow:hidden}.card>.logo-watermark-container>.logo-watermark{position:absolute;right:-5%;height:100%;max-width:200px;transform:scale(2);opacity:.1}
@@ -4,7 +4,7 @@ import { E as o } from "../../../DateFormats-DZD30Nea.js";
4
4
  import { E as r } from "../../../_styles.flight-booking-DEUJthTJ.js";
5
5
  import "react";
6
6
  import { useTranslation as E } from "react-i18next";
7
- import { a as D } from "../../../index-Bt2pq2GP.js";
7
+ import { F as D } from "../../../index-jyHfrLRo.js";
8
8
  import M from "../../Menu/Menu.js";
9
9
  const U = ({
10
10
  airlines: s,
@@ -1,9 +1,9 @@
1
1
  import { jsxs as e, jsx as i } from "react/jsx-runtime";
2
- import { G as N, c as u } from "../../../index-Bt2pq2GP.js";
2
+ import { G as N, c as u } from "../../../index-jyHfrLRo.js";
3
3
  import { h as $ } from "../../../arrayExtensions-DlcBOj5a.js";
4
4
  import { E as f } from "../../../DateFormats-DZD30Nea.js";
5
5
  import "react";
6
- import '../../../assets/_styles3.css';/* empty css */
6
+ import '../../../assets/_styles.css';/* empty css */
7
7
  import x from "../../Menu/Menu.js";
8
8
  const n = (r, o, l = o + "s") => r === 1 ? o : l;
9
9
  function C(r) {
@@ -2,21 +2,22 @@ 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-Y6wcm2ZM.js";
5
+ import { E as _ } from "../../RewardsService-CB88je4D.js";
6
6
  import { useMemo as S } from "react";
7
- import { F as f } from "../../index-Bt2pq2GP.js";
8
- import { EInvalidAmountDisplayOption as o, EToolTipPosition as T } from "./CashValueTypes.js";
9
- import '../../assets/_styles3.css';import '../../assets/_styles2.css';import '../../assets/_styles.css';/* empty css */
7
+ import { a as f } from "../../index-jyHfrLRo.js";
10
8
  import "react-i18next";
11
- /* empty css */
9
+ import '../../assets/_styles3.css';import '../../assets/_styles.css';import '../../assets/_styles2.css';/* empty css */
12
10
  import "../../_styles.flight-booking-DEUJthTJ.js";
13
11
  /* empty css */
12
+ import { EInvalidAmountDisplayOption as o, EToolTipPosition as T } from "./CashValueTypes.js";
13
+ /* empty css */
14
14
  import "../../configs/awayzClient.js";
15
15
  import { useAwayzContext as D } from "../../hooks/useAwayzContext.js";
16
+ import "../../noRetryInstance-CNXX0Siw.js";
16
17
  import "../../context/AwayzContext.js";
17
18
  import { CurrencyService as I } from "../../services/currency/CurrencyService.js";
18
19
  import { Tooltip as M } from "../Tooltip/Tooltip.js";
19
- const O = 1e3 * 60 * 60, G = ({
20
+ const O = 1e3 * 60 * 60, k = ({
20
21
  amount: t,
21
22
  currency: n,
22
23
  position: y = T.RIGHT,
@@ -109,6 +110,6 @@ const O = 1e3 * 60 * 60, G = ({
109
110
  ] });
110
111
  };
111
112
  export {
112
- G as CashValue,
113
+ k as CashValue,
113
114
  O as CurrencyCallStaleTimeMs
114
115
  };
@@ -1,20 +1,21 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { CashValue as n } from "./CashValue.js";
3
- import { EToolTipPosition as t, EInvalidAmountDisplayOption as o } from "./CashValueTypes.js";
4
- import '../../assets/_styles3.css';import '../../assets/_styles2.css';import '../../assets/_styles.css';/* empty css */
5
2
  import "../../arrayExtensions-DlcBOj5a.js";
6
3
  import "react";
7
4
  import "react-i18next";
8
- /* empty css */
5
+ import '../../assets/_styles3.css';import '../../assets/_styles.css';import '../../assets/_styles2.css';/* empty css */
9
6
  import "../../_styles.flight-booking-DEUJthTJ.js";
10
7
  /* empty css */
8
+ import { CashValue as n } from "./CashValue.js";
9
+ import { EToolTipPosition as t, EInvalidAmountDisplayOption as o } from "./CashValueTypes.js";
10
+ import "../../RewardsService-CB88je4D.js";
11
+ import "@tanstack/react-query";
12
+ /* empty css */
11
13
  import "../../configs/awayzClient.js";
12
14
  import "../../context/AwayzContext.js";
13
- import "@tanstack/react-query";
14
- import "../../noRetryInstance-Y6wcm2ZM.js";
15
+ import "../../noRetryInstance-CNXX0Siw.js";
15
16
  import { AwayzProvider as a } from "../../providers/AwayzProvider.js";
16
17
  import { EAuthFlow as i } from "../../types/EAuthFlow.js";
17
- const f = {
18
+ const h = {
18
19
  title: "Core/Cash Value",
19
20
  component: n,
20
21
  parameters: {
@@ -57,46 +58,46 @@ const f = {
57
58
  }
58
59
  )
59
60
  ]
60
- }, h = {
61
+ }, _ = {
61
62
  name: "Euro to Dollar Cash Value",
62
63
  args: {
63
64
  amount: 100,
64
65
  currency: "EUR"
65
66
  }
66
- }, _ = {
67
+ }, v = {
67
68
  name: "Invalid Amount",
68
69
  args: {
69
70
  amount: "invalid",
70
71
  currency: "EUR"
71
72
  }
72
- }, v = {
73
+ }, U = {
73
74
  name: "Zero Amount with Display as Zero",
74
75
  args: {
75
76
  amount: 0,
76
77
  zeroDisplayOption: o.DISPLAY_AS_ZERO,
77
78
  currency: "EUR"
78
79
  }
79
- }, U = {
80
+ }, I = {
80
81
  name: "Zero Amount with Display as Zero With Currency",
81
82
  args: {
82
83
  amount: 0,
83
84
  zeroDisplayOption: o.DISPLAY_AS_ZERO_WITH_CURRENCY,
84
85
  currency: "EUR"
85
86
  }
86
- }, I = {
87
+ }, b = {
87
88
  name: "Zero Amount with Display as Zero With Currency No Decimal",
88
89
  args: {
89
90
  amount: 0,
90
91
  zeroDisplayOption: o.DISPLAY_AS_ZERO_WITH_CURRENCY_NO_DECIMAL,
91
92
  currency: "EUR"
92
93
  }
93
- }, b = {
94
+ }, N = {
94
95
  name: "Negative Amount",
95
96
  args: {
96
97
  amount: -100,
97
98
  currency: "EUR"
98
99
  }
99
- }, N = {
100
+ }, T = {
100
101
  name: "Custom Zero Amount",
101
102
  args: {
102
103
  amount: 0,
@@ -106,12 +107,12 @@ const f = {
106
107
  }
107
108
  };
108
109
  export {
109
- N as CustomZeroAmount,
110
- h as Default,
111
- _ as InvalidAmount,
112
- b as NegativeAmount,
113
- v as ZeroAmount,
114
- U as ZeroCurrencyAmount,
115
- I as ZeroCurrencyNoDecimalAmount,
116
- f as default
110
+ T as CustomZeroAmount,
111
+ _ as Default,
112
+ v as InvalidAmount,
113
+ N as NegativeAmount,
114
+ U as ZeroAmount,
115
+ I as ZeroCurrencyAmount,
116
+ b as ZeroCurrencyNoDecimalAmount,
117
+ h as default
117
118
  };
@@ -0,0 +1,258 @@
1
+ import { jsxs as v } from "react/jsx-runtime";
2
+ import { b as p, l as A, N as E, r as c, w as F, C as U, c as P, d as y, F as H, E as w } from "../../RewardsService-CB88je4D.js";
3
+ import { useContext as D, useState as m, useEffect as h, useMemo as G } from "react";
4
+ import "react-i18next";
5
+ import { useQuery as u, useMutation as R } from "@tanstack/react-query";
6
+ import "../../arrayExtensions-DlcBOj5a.js";
7
+ import '../../assets/ClientPointsValue.css';const L = () => {
8
+ const e = D(p);
9
+ if (!e)
10
+ throw new Error(
11
+ "Awayz Components must be wrapped in an AwayzProvider. Visit https://docs.awayz.com/providers/awayzprovider for more information."
12
+ );
13
+ return e;
14
+ }, K = () => {
15
+ const { user: e } = L(), { data: r } = u({
16
+ queryKey: [E.PROGRAMS],
17
+ queryFn: A.getAwards,
18
+ placeholderData: []
19
+ }), { data: t } = u({
20
+ queryKey: [E.USER_PROGRAMS, e == null ? void 0 : e.id],
21
+ queryFn: () => e != null && e.id ? A.getUserAwards(e.id) : [],
22
+ placeholderData: [],
23
+ enabled: !!(e != null && e.id)
24
+ }), { data: a } = u({
25
+ queryKey: [E.LINKED_USER_PROGRAMS, e == null ? void 0 : e.id],
26
+ queryFn: () => e != null && e.id ? A.getLinkedUserAwards(e.id) : [],
27
+ placeholderData: [],
28
+ enabled: !!(e != null && e.id)
29
+ }), { data: _ } = u({
30
+ queryKey: [E.BANKS],
31
+ queryFn: A.getBanks,
32
+ placeholderData: []
33
+ }), { data: s } = u({
34
+ queryKey: [E.CARDS],
35
+ queryFn: A.getCards,
36
+ placeholderData: []
37
+ }), { data: o } = u({
38
+ queryKey: [E.USER_CARDS],
39
+ queryFn: A.getUserCards,
40
+ placeholderData: []
41
+ }), { featureFlags: i, featureFlagsLoaded: l } = L(), { data: d } = u({
42
+ queryKey: [E.POINTS_AS_CASH],
43
+ queryFn: A.getPointsAsCash,
44
+ placeholderData: { availablePoints: 0, valuePerPoint: 0, currency: "" },
45
+ enabled: l && i.usePointsAsCashFeature
46
+ }), { mutate: I } = R({
47
+ mutationFn: async (n) => {
48
+ const { mainProgram: S, awardsAmount: T } = typeof n == "string" ? { mainProgram: n, awardsAmount: 0 } : n;
49
+ await A.addAwardProgram(S, T);
50
+ },
51
+ onSuccess: () => {
52
+ c.invalidateQueries({
53
+ queryKey: [E.LINKED_USER_PROGRAMS]
54
+ });
55
+ }
56
+ }), { mutate: O } = R({
57
+ mutationFn: async (n) => {
58
+ await A.removeAwardProgram(n);
59
+ },
60
+ onSuccess: () => {
61
+ c.invalidateQueries({
62
+ queryKey: [E.LINKED_USER_PROGRAMS]
63
+ });
64
+ }
65
+ }), { mutateAsync: N } = R({
66
+ mutationFn: async ({ mainProgram: n, awardsAmount: S }) => {
67
+ const T = r == null ? void 0 : r.find((f) => f.mainProgram === n);
68
+ if (!T)
69
+ throw new Error("Program not found");
70
+ return A.setAwardPoints(T.mainProgram, S);
71
+ },
72
+ onSuccess: () => {
73
+ [
74
+ E.LINKED_USER_PROGRAMS,
75
+ E.USER_PROGRAMS,
76
+ E.PROGRAMS
77
+ ].forEach((n) => {
78
+ c.invalidateQueries({ queryKey: [n] });
79
+ });
80
+ }
81
+ }), { mutateAsync: g } = R({
82
+ mutationFn: async (n) => A.addCardsToWallet(n),
83
+ onSuccess: () => {
84
+ c.invalidateQueries({
85
+ queryKey: [E.USER_CARDS]
86
+ });
87
+ }
88
+ }), { mutateAsync: C } = R({
89
+ mutationFn: async (n) => A.removeCardsFromWallet(n),
90
+ onSuccess: () => {
91
+ c.invalidateQueries({
92
+ queryKey: [E.USER_CARDS]
93
+ });
94
+ }
95
+ });
96
+ return {
97
+ // Program Management
98
+ allPrograms: r || [],
99
+ userPrograms: t || [],
100
+ linkedUserPrograms: a || [],
101
+ hotelPrograms: (r == null ? void 0 : r.filter(
102
+ (n) => n.category.includes(F.HOTEL)
103
+ )) || [],
104
+ airlinePrograms: (r == null ? void 0 : r.filter(
105
+ (n) => n.category.includes(F.AIRLINE)
106
+ )) || [],
107
+ bankPrograms: (r == null ? void 0 : r.filter(
108
+ (n) => n.category.includes(F.BANK)
109
+ )) || [],
110
+ updatePoints: N,
111
+ addAwardProgram: I,
112
+ removeAwardProgram: O,
113
+ // Card Management
114
+ banks: _ || [],
115
+ allCards: s || [],
116
+ userCards: o || [],
117
+ addCards: g,
118
+ removeCards: C,
119
+ pointsAsCash: d || {
120
+ availablePoints: 0,
121
+ valuePerPoint: 0,
122
+ currency: ""
123
+ }
124
+ };
125
+ };
126
+ class q {
127
+ static async getFeatures() {
128
+ try {
129
+ const { data: r } = await U.get(P.FEATURES), t = {};
130
+ for (const a of r.data)
131
+ a.type !== "array" ? t[a.name] = a.value : t[a.name] = a.values.join(",");
132
+ return t;
133
+ } catch (r) {
134
+ return console.error("in service error", r), {};
135
+ }
136
+ }
137
+ static async getFeatureFlags() {
138
+ try {
139
+ const { data: r } = await U.get(P.FEATURES), t = {};
140
+ for (const a of r.data)
141
+ a.type !== "array" ? t[a.name] = a.value : t[a.name] = a.values;
142
+ return t;
143
+ } catch (r) {
144
+ return console.error("in service error", r), {};
145
+ }
146
+ }
147
+ }
148
+ const M = [
149
+ "DEFAULT_CURRENCY_FEATURE",
150
+ "TOTAL_DISPLAY_FEATURE",
151
+ "HOTEL_DETAILS_LAYOUT_FEATURE",
152
+ "TRIP_MANAGEMENT_FEATURE",
153
+ "FLIGHT_FILTER_LAYOUT_FEATURE",
154
+ "WALLET_MANAGEMENT_FEATURE",
155
+ "WALLET_PROGRAM_TYPES_FEATURES",
156
+ "FLIGHT_PAGINATION_FEATURE",
157
+ "AVAILABILITY_ALERTS_DISPLAY_FEATURE",
158
+ "PAYMENT_TYPE_FEATURE",
159
+ "HOTEL_DETAILS_FEATURES",
160
+ "SEARCH_RADIUS_POSITION_FEATURE",
161
+ "NAVIGATION_FEATURE",
162
+ "AMOUNTS_DISPLAY_FEATURE"
163
+ ], Y = [
164
+ "CURRENCY_FILTER_FEATURE",
165
+ "FREE_HOTEL_NIGHTS_FEATURE",
166
+ "SHOW_BOOKABLE_FEATURE",
167
+ "FILTER_PRESETS_FEATURE",
168
+ "SPLIT_HOTEL_CHAINS_FEATURE",
169
+ "FLIGHT_SHOW_ANIMATION_FEATURE",
170
+ "SHOW_FOOTER_FEATURE",
171
+ "SHOW_AVAILABILITY_ALERTS_FEATURE",
172
+ "USE_POINTS_AS_CASH_FEATURE",
173
+ "HEADER_NAVIGATION_FEATURE",
174
+ "SHOW_FLIGHTS_TRANSFER_PARTNER_FEATURE",
175
+ "HOTEL_POINTS_ONLY_FEATURE",
176
+ "FREE_HOTEL_NIGHTS_FEATURE",
177
+ "HOTEL_DISPLAY_BEST_VALUE_FEATURE",
178
+ "HOTEL_DISPLAY_POINTS_BREAKDOWN_FEATURE",
179
+ "USE_TAB_NAVIGATION",
180
+ "TAB_NAVIGATION_FEATURE",
181
+ "ADD_AIRLINE_HEALTH_PAGE_FEATURE",
182
+ "SHOW_NAVIGATION_POPUP_FEATURE",
183
+ "SHOW_ONLY_BOOKABLE_FEATURE"
184
+ ], B = [
185
+ "HOTEL_DETAILS_FEATURE",
186
+ "WALLET_PROGRAM_TYPES_FEATURES",
187
+ "HOTEL_FILTERS_FEATURES",
188
+ "FLIGHT_FILTERS_FEATURES",
189
+ "WALLET_FEATURES"
190
+ ], W = () => {
191
+ const [e, r] = m({}), [t, a] = m(!1), _ = async () => {
192
+ try {
193
+ const s = await q.getFeatureFlags();
194
+ r(s);
195
+ } catch (s) {
196
+ console.error("Error fetching feature flags:", s);
197
+ } finally {
198
+ a(!0);
199
+ }
200
+ };
201
+ return h(() => {
202
+ _();
203
+ }, []), {
204
+ featureFlags: (t && e ? (() => {
205
+ const s = {};
206
+ return M.forEach((o) => {
207
+ const i = y(
208
+ o.toLowerCase()
209
+ );
210
+ e[o] !== void 0 && (s[i] = e[o]);
211
+ }), Y.forEach((o) => {
212
+ const i = y(
213
+ o.toLowerCase()
214
+ );
215
+ e[o] !== void 0 && (s[i] = e[o]);
216
+ }), B.forEach((o) => {
217
+ const i = y(
218
+ o.toLowerCase()
219
+ );
220
+ e[o] !== void 0 && (s[i] = e[o]);
221
+ }), s;
222
+ })() : void 0) ?? {},
223
+ loaded: t
224
+ };
225
+ };
226
+ function V(e) {
227
+ if (!e || isNaN(e) || e < 0) return "N/A";
228
+ let r = e == null ? void 0 : e.toString().split(".")[0];
229
+ return r == null ? void 0 : r.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
230
+ }
231
+ const b = (e, r) => {
232
+ var a;
233
+ return ((a = r == null ? void 0 : r.preferences) == null ? void 0 : a.currency) ?? (r == null ? void 0 : r.userRegion.currency) ?? e;
234
+ }, J = ({
235
+ cashAmount: e,
236
+ currency: r
237
+ }) => {
238
+ const { pointsAsCash: t } = K(), { user: a } = L(), { featureFlags: _ } = W(), s = G(
239
+ () => b(_.defaultCurrencyFeature, a),
240
+ [a]
241
+ ), { data: o } = u({
242
+ queryKey: [w.CONVERT_CURRENCY, r, t.currency],
243
+ queryFn: () => H.convertCurrency({
244
+ baseCurrency: r,
245
+ targetCurrency: t.currency
246
+ }),
247
+ staleTime: 1e3 * 60 * 60,
248
+ // 1 hour
249
+ enabled: !!r && !!s && r !== s && t.currency !== r && !!t.currency
250
+ }), l = e * (o ?? 1), d = Math.floor(l / t.valuePerPoint);
251
+ return /* @__PURE__ */ v("p", { className: "client-points-amount", children: [
252
+ V(d),
253
+ " pts."
254
+ ] });
255
+ };
256
+ export {
257
+ J as ClientPointsValue
258
+ };
@@ -1,10 +1,10 @@
1
1
  import { jsx as u, jsxs as Me } from "react/jsx-runtime";
2
2
  import * as a from "react";
3
3
  import Y from "react";
4
- import { c as ce, a as ue, u as D, b as bn, d as y, e as X, f as Cn, g as yn, o as En, s as Mn, h as wn, i as Rn, j as Sn, k as Pn, l as _n, m as In, n as Se, p as Q, q as Ne, P as Ce, r as xn, R as An, F as On } from "../../Combination-Bx3lWLOq.js";
4
+ import { c as ce, a as ue, u as D, b as bn, d as y, e as X, f as Cn, g as yn, o as En, s as Mn, h as wn, i as Rn, j as Sn, k as Pn, l as _n, m as In, n as Se, p as Q, q as Ne, P as Ce, r as xn, R as An, F as On } from "../../Combination-CrPZjD5u.js";
5
5
  import { r as Nn, R as Tn } from "../../index-Cv-wvFlM.js";
6
6
  import '../../assets/_styles2.css';/* empty css */
7
- import { d as Dn, e as Fn } from "../../index-Bt2pq2GP.js";
7
+ import { d as Dn, e as Fn } from "../../index-jyHfrLRo.js";
8
8
  // @__NO_SIDE_EFFECTS__
9
9
  function Ze(e) {
10
10
  const t = /* @__PURE__ */ Ln(e), n = a.forwardRef((r, o) => {
@@ -1,7 +1,7 @@
1
1
  import { jsx as p, Fragment as nr, jsxs as te } from "react/jsx-runtime";
2
2
  import * as i from "react";
3
3
  import { useState as or, useEffect as sr } from "react";
4
- import { u as A, b as Be, d as M, e as V, a as ie, f as Ue, g as je, n as W, o as Ve, s as Ye, h as Xe, i as Ge, j as ze, k as Ze, l as qe, m as Ke, p as Je, q as Qe, P as et, c as ir, r as ar, R as cr, F as lr } from "../../Combination-Bx3lWLOq.js";
4
+ import { u as A, b as Be, d as M, e as V, a as ie, f as Ue, g as je, n as W, o as Ve, s as Ye, h as Xe, i as Ge, j as ze, k as Ze, l as qe, m as Ke, p as Je, q as Qe, P as et, c as ir, r as ar, R as cr, F as lr } from "../../Combination-CrPZjD5u.js";
5
5
  import { r as tt, R as rt } from "../../index-Cv-wvFlM.js";
6
6
  import '../../assets/_styles4.css';/* empty css */
7
7
  // @__NO_SIDE_EFFECTS__
@@ -1,6 +1,6 @@
1
1
  import { jsxs as i, jsx as o } from "react/jsx-runtime";
2
- import '../../../assets/_styles.css';/* empty css */
3
- import { b as l } from "../../../index-Bt2pq2GP.js";
2
+ import '../../../assets/_styles3.css';/* empty css */
3
+ import { b as l } from "../../../index-jyHfrLRo.js";
4
4
  import "../../../arrayExtensions-DlcBOj5a.js";
5
5
  import "react";
6
6
  const t = (r) => {