@mirai/core 0.4.16 → 0.4.18

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 (137) hide show
  1. package/README.md +259 -90
  2. package/__tests__/BookingQuery/workflows/login.workflow.js +2 -2
  3. package/__tests__/Checkout/workflows/form.workflow.js +8 -8
  4. package/__tests__/Deals/__mocks__/deals-success.json +739 -0
  5. package/__tests__/checkout.spec.jsx +10 -0
  6. package/__tests__/deals.spec.js +7 -0
  7. package/build/components/BannerLoyalty/BannerLoyalty.js +70 -63
  8. package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
  9. package/build/components/BannerLoyalty/BannerLoyalty.l10n.js +7 -1
  10. package/build/components/BannerLoyalty/BannerLoyalty.l10n.js.map +1 -1
  11. package/build/components/BannerLoyalty/BannerLoyalty.module.css +55 -30
  12. package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js +27 -29
  13. package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js.map +1 -1
  14. package/build/components/BannerLoyalty/__tests__/__snapshots__/BannerLoyalty.skeleton.test.js.snap +183 -186
  15. package/build/components/BannerLoyalty/__tests__/__snapshots__/BannerLoyalty.test.js.snap +61 -62
  16. package/build/components/Booking/Booking.module.css +3 -3
  17. package/build/components/Booking/__tests__/__snapshots__/Booking.test.js.snap +10 -10
  18. package/build/components/BookingQuery/__tests__/__snapshots__/BookingQuery.test.js.snap +12 -12
  19. package/build/components/ButtonFinder/__tests__/__snapshots__/ButtonFinder.test.js.snap +25 -15
  20. package/build/components/Chat/Chat.module.css +0 -2
  21. package/build/components/Chat/__tests__/__snapshots__/Chat.test.js.snap +4 -4
  22. package/build/components/Checkout/Checkout.module.css +3 -3
  23. package/build/components/Checkout/__tests__/__snapshots__/Checkout.test.js.snap +16 -16
  24. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Form.test.js.snap +20 -20
  25. package/build/components/Deals/__tests__/__snapshots__/Deals.Calendar.test.js.snap +3 -3
  26. package/build/components/Deals/__tests__/__snapshots__/Deals.test.js.snap +12 -12
  27. package/build/components/Finder/Finder.compact.js +20 -20
  28. package/build/components/Finder/Finder.compact.js.map +1 -1
  29. package/build/components/Finder/Finder.js +3 -3
  30. package/build/components/Finder/Finder.js.map +1 -1
  31. package/build/components/Finder/Finder.module.css +30 -8
  32. package/build/components/Finder/__tests__/__snapshots__/Finder.test.js.snap +68 -42
  33. package/build/components/Finder/components/Calendar/Calendar.module.css +1 -1
  34. package/build/components/Finder/components/Calendar/__tests__/__snapshots__/Calendar.test.js.snap +9 -9
  35. package/build/components/Finder/components/Places/Places.js +24 -6
  36. package/build/components/Finder/components/Places/Places.js.map +1 -1
  37. package/build/components/Finder/components/Places/Places.module.css +27 -2
  38. package/build/components/Finder/components/Places/__tests__/__snapshots__/Places.test.js.snap +5 -9
  39. package/build/components/Finder/components/Places/helpers/calcColumns.js +1 -1
  40. package/build/components/Finder/components/Places/helpers/calcColumns.js.map +1 -1
  41. package/build/components/Header/Header.js +6 -4
  42. package/build/components/Header/Header.js.map +1 -1
  43. package/build/components/Header/__tests__/__snapshots__/Header.test.js.snap +3 -3
  44. package/build/components/Header/components/BookingProcess/BookingProcess.module.css +9 -5
  45. package/build/components/Rates/Rates.Header.js +8 -11
  46. package/build/components/Rates/Rates.Header.js.map +1 -1
  47. package/build/components/Rates/Rates.RoomSelector.js +1 -1
  48. package/build/components/Rates/Rates.RoomSelector.js.map +1 -1
  49. package/build/components/Rates/Rates.Skeleton.js +2 -3
  50. package/build/components/Rates/Rates.Skeleton.js.map +1 -1
  51. package/build/components/Rates/Rates.Unavailability.js +2 -1
  52. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  53. package/build/components/Rates/Rates.js +13 -16
  54. package/build/components/Rates/Rates.js.map +1 -1
  55. package/build/components/Rates/Rates.module.css +16 -7
  56. package/build/components/Rates/__tests__/__snapshots__/Rates.Header.test.js.snap +1 -8
  57. package/build/components/Rates/__tests__/__snapshots__/Rates.test.js.snap +8042 -6319
  58. package/build/components/Rates/components/CardHotel/CardHotel.js +34 -13
  59. package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
  60. package/build/components/Rates/components/CardHotel/CardHotel.l10n.js +3 -0
  61. package/build/components/Rates/components/CardHotel/CardHotel.l10n.js.map +1 -1
  62. package/build/components/Rates/components/CardHotel/CardHotel.module.css +19 -2
  63. package/build/components/Rates/components/CardHotel/__tests__/__snapshots__/CardHotel.test.js.snap +51 -35
  64. package/build/components/Rates/components/Filters/Filters.Button.js +3 -4
  65. package/build/components/Rates/components/Filters/Filters.Button.js.map +1 -1
  66. package/build/components/Rates/components/Filters/Filters.js +2 -1
  67. package/build/components/Rates/components/Filters/Filters.js.map +1 -1
  68. package/build/components/Rates/components/Filters/Filters.module.css +23 -1
  69. package/build/components/Rates/components/Filters/__tests__/__snapshots__/Filters.test.js.snap +1 -1
  70. package/build/components/Rates/components/Item/Item.Preview.js +25 -9
  71. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  72. package/build/components/Rates/components/Item/Item.Rates.js +8 -5
  73. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  74. package/build/components/Rates/components/Item/Item.js +31 -2
  75. package/build/components/Rates/components/Item/Item.js.map +1 -1
  76. package/build/components/Rates/components/Item/Item.module.css +4 -0
  77. package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.Preview.test.js.snap +1 -1
  78. package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.test.js.snap +1 -1
  79. package/build/components/Rates/components/Item/components/Amenities/Amenities.module.css +2 -9
  80. package/build/components/Rates/components/Item/components/ModalCancellationInfo/ModalCancellationInfo.module.css +3 -7
  81. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.module.css +5 -5
  82. package/build/components/Rates/components/Item/components/ModalInfo/__tests__/__snapshots__/ModalInfo.test.js.snap +2 -2
  83. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js +2 -15
  84. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js.map +1 -1
  85. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.module.css +3 -7
  86. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.module.css +6 -6
  87. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js +1 -1
  88. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js.map +1 -1
  89. package/build/components/Rates/components/Item/components/Slider/Slider.js +1 -1
  90. package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
  91. package/build/components/Rates/components/Item/components/Slider/__tests__/__snapshots__/Slider.test.js.snap +1 -1
  92. package/build/components/Rates/components/ModalClubRate/ModalClubRate.js +6 -4
  93. package/build/components/Rates/components/ModalClubRate/ModalClubRate.js.map +1 -1
  94. package/build/components/Rates/components/ModalClubRate/ModalClubRate.module.css +4 -0
  95. package/build/components/Rates/components/ModalClubRate/__tests__/__snapshots__/ModalClubRate.test.js.snap +4 -4
  96. package/build/components/Rates/components/ModalExtras/ModalExtras.module.css +1 -1
  97. package/build/components/Rates/components/ModalExtras/__tests__/__snapshots__/ModalExtras.test.js.snap +1 -1
  98. package/build/components/Signup/Signup.module.css +1 -1
  99. package/build/components/Signup/__tests__/__snapshots__/Signup.test.js.snap +6 -6
  100. package/build/components/__shared__/BookingSummary/BookingSummary.module.css +3 -3
  101. package/build/components/__shared__/Card/Card.module.css +16 -15
  102. package/build/components/__shared__/Field/Field.js +3 -1
  103. package/build/components/__shared__/Field/Field.js.map +1 -1
  104. package/build/components/__shared__/Field/Field.module.css +11 -1
  105. package/build/components/__shared__/FieldOccupation/FieldOccupation.js +3 -6
  106. package/build/components/__shared__/FieldOccupation/FieldOccupation.js.map +1 -1
  107. package/build/components/__shared__/FieldOccupation/__tests__/__snapshots__/FieldOccupation.test.js.snap +18 -17
  108. package/build/components/__shared__/FieldPromocode/FieldPromocode.js +6 -3
  109. package/build/components/__shared__/FieldPromocode/FieldPromocode.js.map +1 -1
  110. package/build/components/__shared__/Footer/__tests__/__snapshots__/Footer.test.js.snap +8 -8
  111. package/build/components/__shared__/Occupation/Occupation.js +6 -4
  112. package/build/components/__shared__/Occupation/Occupation.js.map +1 -1
  113. package/build/components/__shared__/Occupation/Occupation.module.css +11 -11
  114. package/build/components/__shared__/Occupation/__tests__/__snapshots__/Occupation.test.js.snap +44 -44
  115. package/build/components/__shared__/Payment/__tests__/__snapshots__/Payment.test.js.snap +10 -10
  116. package/build/components/__shared__/Payment/components/Card/__tests__/__snapshots__/Card.test.js.snap +12 -12
  117. package/build/components/__shared__/PriceBreakdown/PriceBreakdown.module.css +3 -3
  118. package/build/components/helpers/ICON.AMENITIES.js +2 -2
  119. package/build/components/helpers/ICON.AMENITIES.js.map +1 -1
  120. package/build/components/helpers/__tests__/__snapshots__/parseHtml.test.js.snap +8 -8
  121. package/build/components/index.js +0 -2
  122. package/build/components/index.js.map +1 -1
  123. package/build/contexts/PerformanceManager/PerformanceManager.js +11 -4
  124. package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
  125. package/build/contexts/PerformanceManager/helpers/getConsentMode.js +4 -3
  126. package/build/contexts/PerformanceManager/helpers/getConsentMode.js.map +1 -1
  127. package/build/contexts/PerformanceManager/providers/analytics/bookingCancel.js +2 -1
  128. package/build/contexts/PerformanceManager/providers/analytics/bookingCancel.js.map +1 -1
  129. package/build/contexts/PerformanceManager/providers/analytics/helpers/parseItems.js +12 -5
  130. package/build/contexts/PerformanceManager/providers/analytics/helpers/parseItems.js.map +1 -1
  131. package/build/helpers/consolidateStore.js +4 -2
  132. package/build/helpers/consolidateStore.js.map +1 -1
  133. package/build/theme.css +44 -5
  134. package/package.json +1 -1
  135. package/public/performance/index.html +159 -0
  136. package/build/components/Chat/Chat.theme.module.css +0 -49
  137. package/build/components/__shared__/FieldOccupation/FieldOccupation.module.css +0 -5
@@ -10,6 +10,16 @@ test.beforeEach(async ({ context }) => {
10
10
  });
11
11
 
12
12
  const enviroment = async ({ page, payment }) => {
13
+ await page.route(
14
+ 'https://reservation.mirai.com/XMAS/reservation/request_is_possible_prereserve_V2.json*',
15
+ (route) => {
16
+ route.fulfill({
17
+ status: 200,
18
+ contentType: 'application/json',
19
+ body: JSON.stringify({ status: 'OK', message: '', data: null }),
20
+ });
21
+ },
22
+ );
13
23
  await page.route(/https:\/\/reservation\.mirai\.com\/XMAS\/reservation\/v2\/booking\/checkout(\?.*)?$/, (route) => {
14
24
  const method = route.request().method().toLowerCase();
15
25
 
@@ -5,6 +5,13 @@ import { calendar, clear, occupation, promocode, submit } from './Deals/workflow
5
5
  test.beforeEach(async ({ context, page }) => {
6
6
  await context.addInitScript(() => (window.IS_PLAYWRIGHT = true));
7
7
 
8
+ await page.route('https://index-deal.mirai.com/100379008/350807', (route) => {
9
+ route.fulfill({
10
+ status: 200,
11
+ contentType: 'application/json',
12
+ body: JSON.stringify(require('./Deals/__mocks__/deals-success.json')),
13
+ });
14
+ });
8
15
  await page.goto('http://local.mirai.com:8080/deals', { waitUntil: 'networkidle', timeout: 10000 });
9
16
  });
10
17
 
@@ -25,6 +25,7 @@ const BannerLoyalty = _ref => {
25
25
  ...others
26
26
  } = _ref;
27
27
  const {
28
+ isDesktop,
28
29
  isMobile
29
30
  } = (0, _ui.useDevice)();
30
31
  const {
@@ -45,27 +46,25 @@ const BannerLoyalty = _ref => {
45
46
  session
46
47
  }
47
48
  } = (0, _dataSources.useStore)();
49
+ const [expanded, setExpanded] = (0, _react.useState)(false);
48
50
  const [scrollIndex, setScrollIndex] = (0, _react.useState)(0);
51
+ const [clubDiscount, setClubDiscount] = (0, _react.useState)(discount);
52
+ (0, _react.useEffect)(() => {
53
+ const callback = nextClubDiscount => setClubDiscount(nextClubDiscount);
54
+ _dataSources.Event.subscribe(_helpers.EVENT.RATES_FILTER_CLUB, callback);
55
+ return () => _dataSources.Event.unsubscribe(_helpers.EVENT.RATES_FILTER_CLUB, callback);
56
+ }, []);
49
57
  (0, _react.useEffect)(() => {
50
58
  if (!session && title && benefits.length > 0) _dataSources.Event.publish(_helpers.EVENT.METRICS, {
51
59
  id: 'BANNER_LOYALTY:RENDER'
52
60
  });
53
61
  // eslint-disable-next-line react-hooks/exhaustive-deps
54
62
  }, [session]);
55
- const handlePressFilter = () => {
56
- _dataSources.Event.publish(_helpers.EVENT.RATES_FILTER_CLUB, true);
57
- _dataSources.Event.publish(_helpers.EVENT.METRICS, {
58
- id: 'BANNER_LOYALTY:CLUBDISCOUNT',
59
- value: true
60
- });
61
- };
62
- const handlePressLogin = () => {
63
- _dataSources.Event.publish(_helpers.EVENT.LOGIN, {
64
- visible: true
65
- });
66
- _dataSources.Event.publish(_helpers.EVENT.METRICS, {
67
- id: 'BANNER_LOYALTY:LOGIN'
63
+ const handleExpanded = () => {
64
+ if (!expanded) _dataSources.Event.publish(_helpers.EVENT.METRICS, {
65
+ id: 'BANNER_LOYALTY:EXPAND_BENEFITS'
68
66
  });
67
+ setExpanded(!expanded);
69
68
  };
70
69
  const handlePressBenefit = index => {
71
70
  setScrollIndex(index);
@@ -73,41 +72,75 @@ const BannerLoyalty = _ref => {
73
72
  id: 'BANNER_LOYALTY:BUTTON_BENEFITS'
74
73
  });
75
74
  };
76
- const locale = (0, _helpers.getNormalizedLocale)(stateLocale);
77
- const actionProps = {
78
- action: !isMobile,
79
- bold: true,
80
- small: isMobile,
81
- className: style.textInline
75
+ const handlePressFilter = value => {
76
+ _dataSources.Event.publish(_helpers.EVENT.RATES_FILTER_CLUB, value);
77
+ _dataSources.Event.publish(_helpers.EVENT.METRICS, {
78
+ id: 'BANNER_LOYALTY:CLUBDISCOUNT',
79
+ value
80
+ });
82
81
  };
82
+ const Filter = () => /*#__PURE__*/_react.default.createElement(_ui.View, {
83
+ row: true,
84
+ className: style.filter
85
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
86
+ action: true,
87
+ medium: true
88
+ }, translate(_BannerLoyalty2.L10N.LABEL_ONLY_MEMBERS)), /*#__PURE__*/_react.default.createElement(_ui.Switch, {
89
+ checked: clubDiscount,
90
+ name: "switch",
91
+ onChange: handlePressFilter
92
+ }));
83
93
  const buttonProps = {
84
94
  secondary: true,
85
95
  squared: true,
86
96
  rounded: true
87
97
  };
88
98
  const lastBenefit = scrollIndex === benefits.length - 4;
99
+ const locale = (0, _helpers.getNormalizedLocale)(stateLocale);
89
100
  return skeleton && !session ? /*#__PURE__*/_react.default.createElement(_BannerLoyalty3.default, null) : !session && title && benefits.length > 0 ? /*#__PURE__*/_react.default.createElement(_ui.View, {
90
- row: !isMobile,
91
101
  testId: others.testId,
92
102
  className: [style.container, others.className]
93
103
  }, /*#__PURE__*/_react.default.createElement(_ui.View, {
104
+ row: true,
94
105
  className: style.highlight
95
- }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
106
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
96
107
  bold: true,
97
108
  brand: true,
98
109
  headline: true,
99
- level: isMobile ? 2 : 1,
100
- className: style.text
110
+ level: isDesktop ? 2 : 3,
111
+ className: style.title
101
112
  }, title[locale] || title[_BannerLoyalty.DEFAULT_LOCALE]), /*#__PURE__*/_react.default.createElement(_ui.Text, {
102
- action: isMobile,
103
- className: style.text
104
- }, description[locale] || description[_BannerLoyalty.DEFAULT_LOCALE])), /*#__PURE__*/_react.default.createElement(_ui.View, {
105
- wide: true,
106
- style: {
107
- position: 'relative'
108
- }
113
+ action: isDesktop,
114
+ small: !isDesktop
115
+ }, description[locale] || description[_BannerLoyalty.DEFAULT_LOCALE], url && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, ' ', /*#__PURE__*/_react.default.createElement(_ui.Action, {
116
+ action: isDesktop,
117
+ bold: true,
118
+ small: !isDesktop,
119
+ href: url,
120
+ target: "_blank",
121
+ className: style.textInline
122
+ }, translate(_BannerLoyalty2.L10N.ACTION_MORE_INFO)))), clubConditions && /*#__PURE__*/_react.default.createElement(_ui.Text, {
123
+ action: isDesktop,
124
+ small: !isDesktop
125
+ }, translate(_BannerLoyalty2.L10N.LABEL_CLUB_CONDITIONS, {
126
+ conditions: /*#__PURE__*/_react.default.createElement(_ui.Action, {
127
+ action: isDesktop,
128
+ small: !isDesktop,
129
+ href: clubConditions,
130
+ target: "_blank",
131
+ className: style.textInline
132
+ }, translate(_BannerLoyalty2.L10N.ACTION_CLUB_VIEW_CONDITIONS))
133
+ }))), isMobile ? /*#__PURE__*/_react.default.createElement(_ui.Button, {
134
+ small: true,
135
+ squared: true,
136
+ transparent: true,
137
+ onPress: handleExpanded
138
+ }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
139
+ value: expanded ? _helpers.ICON.EXPAND_LESS : _helpers.ICON.EXPAND_MORE
140
+ })) : /*#__PURE__*/_react.default.createElement(Filter, null)), (!isMobile || expanded) && /*#__PURE__*/_react.default.createElement(_ui.View, {
141
+ row: true,
142
+ wide: true
109
143
  }, !isMobile && scrollIndex !== 0 && /*#__PURE__*/_react.default.createElement(_ui.Button, _extends({}, buttonProps, {
110
- className: [style.button, style.buttonLeft],
111
144
  onPress: () => handlePressBenefit(scrollIndex - 1)
112
145
  }), /*#__PURE__*/_react.default.createElement(_ui.Icon, {
113
146
  value: _helpers.ICON.LEFT
@@ -124,48 +157,22 @@ const BannerLoyalty = _ref => {
124
157
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
125
158
  let index = arguments.length > 1 ? arguments[1] : undefined;
126
159
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
127
- key: index,
128
- row: isMobile
160
+ row: true,
161
+ key: index
129
162
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
130
163
  accent: true,
131
164
  headline: true,
132
- level: isMobile ? 2 : 1,
165
+ level: !isDesktop ? 3 : 2,
133
166
  value: _helpers.ICON[icon] || _helpers.ICON.AMENITY
134
167
  }), /*#__PURE__*/_react.default.createElement(_ui.Text, {
135
- action: !isMobile,
136
- small: isMobile,
137
- className: style.text
168
+ action: isDesktop,
169
+ small: !isDesktop
138
170
  }, description[locale] || description[_BannerLoyalty.DEFAULT_LOCALE]));
139
171
  })), !isMobile && benefits.length > 4 && /*#__PURE__*/_react.default.createElement(_ui.Button, _extends({}, buttonProps, {
140
- className: [style.button, style.buttonRight],
141
172
  onPress: () => handlePressBenefit(lastBenefit ? 0 : scrollIndex + 1)
142
173
  }), /*#__PURE__*/_react.default.createElement(_ui.Icon, {
143
174
  value: lastBenefit ? _helpers.ICON.REPLAY : _helpers.ICON.RIGHT
144
- })), /*#__PURE__*/_react.default.createElement(_ui.Text, {
145
- light: true,
146
- action: !isMobile,
147
- small: isMobile
148
- }, discount === false && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Action, _extends({}, actionProps, {
149
- onPress: handlePressFilter
150
- }), translate(_BannerLoyalty2.L10N.LABEL_UNLOCK_EXCLUSIVE_MEMBER)), ' '), clubConditions ? translate(_BannerLoyalty2.L10N.LABEL_CLUB_CONDITIONS, {
151
- conditions: /*#__PURE__*/_react.default.createElement(_ui.Action, {
152
- action: !isMobile,
153
- small: isMobile,
154
- href: clubConditions,
155
- target: "_blank",
156
- className: style.textInline
157
- }, translate(_BannerLoyalty2.L10N.ACTION_CLUB_VIEW_CONDITIONS))
158
- }) : translate(_BannerLoyalty2.L10N.LABEL_LOGIN_NOW, {
159
- login: /*#__PURE__*/_react.default.createElement(_ui.Action, _extends({}, actionProps, {
160
- onPress: handlePressLogin
161
- }), translate(_BannerLoyalty2.L10N.ACTION_LOGIN).toLowerCase())
162
- }), url && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, ' ', /*#__PURE__*/_react.default.createElement(_ui.Action, {
163
- action: !isMobile,
164
- href: url,
165
- small: isMobile,
166
- target: "_blank",
167
- className: style.textInline
168
- }, translate(_BannerLoyalty2.L10N.ACTION_MORE_INFO)))))) : null;
175
+ }))), isMobile && /*#__PURE__*/_react.default.createElement(Filter, null)) : null;
169
176
  };
170
177
  exports.BannerLoyalty = BannerLoyalty;
171
178
  BannerLoyalty.displayName = 'Mirai:Core:BannerLoyalty';
@@ -1 +1 @@
1
- {"version":3,"file":"BannerLoyalty.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BannerLoyalty","_BannerLoyalty2","style","_BannerLoyalty3","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","BannerLoyalty","_ref","clubConditions","skeleton","others","isMobile","useDevice","locale","stateLocale","translate","useLocale","value","club","banner","benefits","description","title","url","discount","session","useStore","scrollIndex","setScrollIndex","useState","useEffect","Event","publish","EVENT","METRICS","id","handlePressFilter","RATES_FILTER_CLUB","handlePressLogin","LOGIN","visible","handlePressBenefit","index","getNormalizedLocale","actionProps","action","bold","small","className","textInline","buttonProps","secondary","squared","rounded","lastBenefit","createElement","View","row","testId","container","highlight","Text","brand","headline","level","text","DEFAULT_LOCALE","wide","position","Button","button","buttonLeft","onPress","Icon","ICON","LEFT","React","ScrollView","horizontal","scrollTo","BENEFIT_MIN_WIDTH","list","map","icon","undefined","accent","AMENITY","buttonRight","REPLAY","RIGHT","light","Fragment","Action","L10N","LABEL_UNLOCK_EXCLUSIVE_MEMBER","LABEL_CLUB_CONDITIONS","conditions","href","ACTION_CLUB_VIEW_CONDITIONS","LABEL_LOGIN_NOW","login","ACTION_LOGIN","toLowerCase","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { DEFAULT_LOCALE, BENEFIT_MIN_WIDTH } from './BannerLoyalty.constants';\nimport { L10N } from './BannerLoyalty.l10n';\nimport * as style from './BannerLoyalty.module.css';\nimport Skeleton from './BannerLoyalty.skeleton';\nimport { EVENT, getNormalizedLocale, ICON } from '../helpers';\n\nconst BannerLoyalty = ({ clubConditions, skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const { locale: stateLocale, translate } = useLocale();\n const {\n value: { club: { banner: { benefits = [], description = {}, title, url } = {}, discount } = {}, session },\n } = useStore();\n\n const [scrollIndex, setScrollIndex] = useState(0);\n\n useEffect(() => {\n if (!session && title && benefits.length > 0) Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:RENDER' });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handlePressFilter = () => {\n Event.publish(EVENT.RATES_FILTER_CLUB, true);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:CLUBDISCOUNT', value: true });\n };\n\n const handlePressLogin = () => {\n Event.publish(EVENT.LOGIN, { visible: true });\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:LOGIN' });\n };\n\n const handlePressBenefit = (index) => {\n setScrollIndex(index);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:BUTTON_BENEFITS' });\n };\n\n const locale = getNormalizedLocale(stateLocale);\n const actionProps = { action: !isMobile, bold: true, small: isMobile, className: style.textInline };\n const buttonProps = { secondary: true, squared: true, rounded: true };\n\n const lastBenefit = scrollIndex === benefits.length - 4;\n\n return skeleton && !session ? (\n <Skeleton />\n ) : !session && title && benefits.length > 0 ? (\n <View row={!isMobile} testId={others.testId} className={[style.container, others.className]}>\n <View className={style.highlight}>\n <Text bold brand headline level={isMobile ? 2 : 1} className={style.text}>\n {title[locale] || title[DEFAULT_LOCALE]}\n </Text>\n <Text action={isMobile} className={style.text}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n\n <View wide style={{ position: 'relative' }}>\n {!isMobile && scrollIndex !== 0 && (\n <Button\n {...buttonProps}\n className={[style.button, style.buttonLeft]}\n onPress={() => handlePressBenefit(scrollIndex - 1)}\n >\n <Icon value={ICON.LEFT} />\n </Button>\n )}\n {React.createElement(\n isMobile ? View : ScrollView,\n {\n ...(!isMobile ? { horizontal: !isMobile, scrollTo: scrollIndex * BENEFIT_MIN_WIDTH } : {}),\n className: style.list,\n },\n benefits.map(({ description = {}, icon } = {}, index) => (\n <View key={index} row={isMobile}>\n <Icon accent headline level={isMobile ? 2 : 1} value={ICON[icon] || ICON.AMENITY} />\n <Text action={!isMobile} small={isMobile} className={style.text}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n )),\n )}\n\n {!isMobile && benefits.length > 4 && (\n <Button\n {...buttonProps}\n className={[style.button, style.buttonRight]}\n onPress={() => handlePressBenefit(lastBenefit ? 0 : scrollIndex + 1)}\n >\n <Icon value={lastBenefit ? ICON.REPLAY : ICON.RIGHT} />\n </Button>\n )}\n\n <Text light action={!isMobile} small={isMobile}>\n {discount === false && (\n <>\n <Action {...actionProps} onPress={handlePressFilter}>\n {translate(L10N.LABEL_UNLOCK_EXCLUSIVE_MEMBER)}\n </Action>{' '}\n </>\n )}\n\n {clubConditions\n ? translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action\n action={!isMobile}\n small={isMobile}\n href={clubConditions}\n target=\"_blank\"\n className={style.textInline}\n >\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })\n : translate(L10N.LABEL_LOGIN_NOW, {\n login: (\n <Action {...actionProps} onPress={handlePressLogin}>\n {translate(L10N.ACTION_LOGIN).toLowerCase()}\n </Action>\n ),\n })}\n\n {url && (\n <>\n {' '}\n <Action action={!isMobile} href={url} small={isMobile} target=\"_blank\" className={style.textInline}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n )}\n </Text>\n </View>\n </View>\n ) : null;\n};\n\nBannerLoyalty.displayName = 'Mirai:Core:BannerLoyalty';\n\nBannerLoyalty.propTypes = {\n clubConditions: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { BannerLoyalty };\n"],"mappings":"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"}
1
+ {"version":3,"file":"BannerLoyalty.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BannerLoyalty","_BannerLoyalty2","style","_BannerLoyalty3","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","BannerLoyalty","_ref","clubConditions","skeleton","others","isDesktop","isMobile","useDevice","locale","stateLocale","translate","useLocale","value","club","banner","benefits","description","title","url","discount","session","useStore","expanded","setExpanded","useState","scrollIndex","setScrollIndex","clubDiscount","setClubDiscount","useEffect","callback","nextClubDiscount","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","publish","METRICS","id","handleExpanded","handlePressBenefit","index","handlePressFilter","Filter","createElement","View","row","className","filter","Text","action","medium","L10N","LABEL_ONLY_MEMBERS","Switch","checked","name","onChange","buttonProps","secondary","squared","rounded","lastBenefit","getNormalizedLocale","testId","container","highlight","bold","brand","headline","level","DEFAULT_LOCALE","small","Fragment","Action","href","textInline","ACTION_MORE_INFO","LABEL_CLUB_CONDITIONS","conditions","ACTION_CLUB_VIEW_CONDITIONS","Button","transparent","onPress","Icon","ICON","EXPAND_LESS","EXPAND_MORE","wide","LEFT","React","ScrollView","horizontal","scrollTo","BENEFIT_MIN_WIDTH","list","map","icon","undefined","accent","AMENITY","REPLAY","RIGHT","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, ScrollView, Switch, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { DEFAULT_LOCALE, BENEFIT_MIN_WIDTH } from './BannerLoyalty.constants';\nimport { L10N } from './BannerLoyalty.l10n';\nimport * as style from './BannerLoyalty.module.css';\nimport Skeleton from './BannerLoyalty.skeleton';\nimport { EVENT, getNormalizedLocale, ICON } from '../helpers';\n\nconst BannerLoyalty = ({ clubConditions, skeleton, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { locale: stateLocale, translate } = useLocale();\n const {\n value: { club: { banner: { benefits = [], description = {}, title, url } = {}, discount } = {}, session },\n } = useStore();\n\n const [expanded, setExpanded] = useState(false);\n const [scrollIndex, setScrollIndex] = useState(0);\n const [clubDiscount, setClubDiscount] = useState(discount);\n\n useEffect(() => {\n const callback = (nextClubDiscount) => setClubDiscount(nextClubDiscount);\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n }, []);\n\n useEffect(() => {\n if (!session && title && benefits.length > 0) Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:RENDER' });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handleExpanded = () => {\n if (!expanded) Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:EXPAND_BENEFITS' });\n setExpanded(!expanded);\n };\n\n const handlePressBenefit = (index) => {\n setScrollIndex(index);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:BUTTON_BENEFITS' });\n };\n\n const handlePressFilter = (value) => {\n Event.publish(EVENT.RATES_FILTER_CLUB, value);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:CLUBDISCOUNT', value });\n };\n\n const Filter = () => (\n <View row className={style.filter}>\n <Text action medium>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n <Switch checked={clubDiscount} name={`switch`} onChange={handlePressFilter} />\n </View>\n );\n\n const buttonProps = { secondary: true, squared: true, rounded: true };\n const lastBenefit = scrollIndex === benefits.length - 4;\n const locale = getNormalizedLocale(stateLocale);\n\n return skeleton && !session ? (\n <Skeleton />\n ) : !session && title && benefits.length > 0 ? (\n <View testId={others.testId} className={[style.container, others.className]}>\n <View row className={style.highlight}>\n <View>\n <Text bold brand headline level={isDesktop ? 2 : 3} className={style.title}>\n {title[locale] || title[DEFAULT_LOCALE]}\n </Text>\n <Text action={isDesktop} small={!isDesktop}>\n {description[locale] || description[DEFAULT_LOCALE]}\n {url && (\n <>\n {' '}\n <Action\n action={isDesktop}\n bold\n small={!isDesktop}\n href={url}\n target=\"_blank\"\n className={style.textInline}\n >\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n )}\n </Text>\n {clubConditions && (\n <Text action={isDesktop} small={!isDesktop}>\n {translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action\n action={isDesktop}\n small={!isDesktop}\n href={clubConditions}\n target=\"_blank\"\n className={style.textInline}\n >\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })}\n </Text>\n )}\n </View>\n\n {isMobile ? (\n <Button small squared transparent onPress={handleExpanded}>\n <Icon value={expanded ? ICON.EXPAND_LESS : ICON.EXPAND_MORE} />\n </Button>\n ) : (\n <Filter />\n )}\n </View>\n\n {(!isMobile || expanded) && (\n <View row wide>\n {!isMobile && scrollIndex !== 0 && (\n <Button {...buttonProps} onPress={() => handlePressBenefit(scrollIndex - 1)}>\n <Icon value={ICON.LEFT} />\n </Button>\n )}\n\n {React.createElement(\n isMobile ? View : ScrollView,\n {\n ...(!isMobile ? { horizontal: !isMobile, scrollTo: scrollIndex * BENEFIT_MIN_WIDTH } : {}),\n className: style.list,\n },\n benefits.map(({ description = {}, icon } = {}, index) => (\n <View row key={index}>\n <Icon accent headline level={!isDesktop ? 3 : 2} value={ICON[icon] || ICON.AMENITY} />\n <Text action={isDesktop} small={!isDesktop}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n )),\n )}\n\n {!isMobile && benefits.length > 4 && (\n <Button {...buttonProps} onPress={() => handlePressBenefit(lastBenefit ? 0 : scrollIndex + 1)}>\n <Icon value={lastBenefit ? ICON.REPLAY : ICON.RIGHT} />\n </Button>\n )}\n </View>\n )}\n\n {isMobile && <Filter />}\n </View>\n ) : null;\n};\n\nBannerLoyalty.displayName = 'Mirai:Core:BannerLoyalty';\n\nBannerLoyalty.propTypes = {\n clubConditions: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { BannerLoyalty };\n"],"mappings":"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"}
@@ -14,14 +14,20 @@ const L10N = exports.L10N = {
14
14
  ACTION_MORE_INFO: {
15
15
  id: 'common.action.more_info'
16
16
  },
17
+ LABEL_CLUB_MEMBERS_EXCLUSIVE: {
18
+ id: 'finder.label.club_members_exclusive'
19
+ },
17
20
  LABEL_CLUB_CONDITIONS: {
18
21
  id: 'finder.label.club_conditions'
19
22
  },
20
23
  LABEL_LOGIN_NOW: {
21
24
  id: 'user.label.login_now'
22
25
  },
26
+ LABEL_ONLY_MEMBERS: {
27
+ id: 'finder.label.only_members'
28
+ },
23
29
  LABEL_UNLOCK_EXCLUSIVE_MEMBER: {
24
- id: 'user.label.unlock_exclusive_member_benefits'
30
+ id: 'user.label.unlock_exclusive_member'
25
31
  }
26
32
  };
27
33
  //# sourceMappingURL=BannerLoyalty.l10n.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BannerLoyalty.l10n.js","names":["L10N","exports","ACTION_CLUB_VIEW_CONDITIONS","id","ACTION_LOGIN","ACTION_MORE_INFO","LABEL_CLUB_CONDITIONS","LABEL_LOGIN_NOW","LABEL_UNLOCK_EXCLUSIVE_MEMBER"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_CLUB_VIEW_CONDITIONS: { id: 'finder.action.club_view_conditions' },\n ACTION_LOGIN: { id: 'common.action.login' },\n ACTION_MORE_INFO: { id: 'common.action.more_info' },\n\n LABEL_CLUB_CONDITIONS: { id: 'finder.label.club_conditions' },\n LABEL_LOGIN_NOW: { id: 'user.label.login_now' },\n LABEL_UNLOCK_EXCLUSIVE_MEMBER: { id: 'user.label.unlock_exclusive_member_benefits' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,2BAA2B,EAAE;IAAEC,EAAE,EAAE;EAAqC,CAAC;EACzEC,YAAY,EAAE;IAAED,EAAE,EAAE;EAAsB,CAAC;EAC3CE,gBAAgB,EAAE;IAAEF,EAAE,EAAE;EAA0B,CAAC;EAEnDG,qBAAqB,EAAE;IAAEH,EAAE,EAAE;EAA+B,CAAC;EAC7DI,eAAe,EAAE;IAAEJ,EAAE,EAAE;EAAuB,CAAC;EAC/CK,6BAA6B,EAAE;IAAEL,EAAE,EAAE;EAA8C;AACrF,CAAC"}
1
+ {"version":3,"file":"BannerLoyalty.l10n.js","names":["L10N","exports","ACTION_CLUB_VIEW_CONDITIONS","id","ACTION_LOGIN","ACTION_MORE_INFO","LABEL_CLUB_MEMBERS_EXCLUSIVE","LABEL_CLUB_CONDITIONS","LABEL_LOGIN_NOW","LABEL_ONLY_MEMBERS","LABEL_UNLOCK_EXCLUSIVE_MEMBER"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_CLUB_VIEW_CONDITIONS: { id: 'finder.action.club_view_conditions' },\n ACTION_LOGIN: { id: 'common.action.login' },\n ACTION_MORE_INFO: { id: 'common.action.more_info' },\n\n LABEL_CLUB_MEMBERS_EXCLUSIVE: { id: 'finder.label.club_members_exclusive' },\n LABEL_CLUB_CONDITIONS: { id: 'finder.label.club_conditions' },\n LABEL_LOGIN_NOW: { id: 'user.label.login_now' },\n LABEL_ONLY_MEMBERS: { id: 'finder.label.only_members' },\n LABEL_UNLOCK_EXCLUSIVE_MEMBER: { id: 'user.label.unlock_exclusive_member' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,2BAA2B,EAAE;IAAEC,EAAE,EAAE;EAAqC,CAAC;EACzEC,YAAY,EAAE;IAAED,EAAE,EAAE;EAAsB,CAAC;EAC3CE,gBAAgB,EAAE;IAAEF,EAAE,EAAE;EAA0B,CAAC;EAEnDG,4BAA4B,EAAE;IAAEH,EAAE,EAAE;EAAsC,CAAC;EAC3EI,qBAAqB,EAAE;IAAEJ,EAAE,EAAE;EAA+B,CAAC;EAC7DK,eAAe,EAAE;IAAEL,EAAE,EAAE;EAAuB,CAAC;EAC/CM,kBAAkB,EAAE;IAAEN,EAAE,EAAE;EAA4B,CAAC;EACvDO,6BAA6B,EAAE;IAAEP,EAAE,EAAE;EAAqC;AAC5E,CAAC"}
@@ -2,83 +2,108 @@
2
2
  align-items: normal;
3
3
  background-color: var(--mirai-ui-base);
4
4
  border-radius: var(--mirai-ui-border-radius);
5
- border: solid 1px var(--mirai-ui-accent);
5
+ border: solid 1px var(--mirai-ui-accent-border);
6
6
  overflow: hidden;
7
7
  }
8
8
 
9
+ .container > *:not(:last-child) {
10
+ border-bottom: solid 1px var(--mirai-ui-accent-border);
11
+ }
12
+
9
13
  .highlight {
10
- background-color: var(--mirai-ui-accent);
14
+ justify-content: space-between;
15
+ background-color: var(--mirai-ui-accent-background);
11
16
  }
12
17
 
13
- .highlight .text {
14
- color: var(--mirai-ui-base);
18
+ .highlight > :first-child {
19
+ gap: var(--mirai-ui-space-XXS);
20
+ }
21
+
22
+ .highlight .title {
23
+ color: var(--mirai-ui-accent-dark);
15
24
  }
16
25
 
17
26
  .list {
18
27
  align-items: flex-start;
28
+ overflow: hidden;
19
29
  }
20
30
 
21
31
  .list > * {
22
32
  direction: var(--mirai-ui-text-direction);
23
33
  flex: 1;
34
+ gap: var(--mirai-ui-space-XS);
24
35
  }
25
36
 
26
37
  .textInline {
27
38
  display: inline;
28
39
  }
29
40
 
30
- .button {
31
- position: absolute;
32
- top: var(--mirai-ui-space-XXL);
33
- }
34
-
35
- .buttonLeft {
36
- left: var(--mirai-ui-space-M);
37
- }
38
-
39
- .buttonRight {
40
- right: var(--mirai-ui-space-M);
41
+ .filter {
42
+ background-color: var(--mirai-ui-base);
43
+ gap: var(--mirai-ui-space-M);
41
44
  }
42
45
 
43
46
  /* S */
44
47
  @media only screen and (max-width: 480px) {
45
48
  .container > * {
46
- gap: var(--mirai-ui-space-XS);
47
49
  padding: var(--mirai-ui-space-S);
48
50
  }
49
51
 
52
+ .highlight {
53
+ gap: var(--mirai-ui-space-M);
54
+ }
55
+
50
56
  .list {
51
- gap: var(--mirai-ui-space-XXS);
52
- margin-bottom: var(--mirai-ui-space-S);
57
+ gap: var(--mirai-ui-space-XS);
53
58
  }
54
59
 
55
60
  .list > * {
56
- gap: var(--mirai-ui-space-XS);
57
61
  width: 100%;
58
62
  }
63
+
64
+ .filter {
65
+ justify-content: space-between;
66
+ }
59
67
  }
60
68
 
61
69
  /* M & L */
62
70
  @media only screen and (min-width: 481px) {
63
71
  .container > * {
64
- gap: var(--mirai-ui-space-M);
65
- padding: var(--mirai-ui-space-L);
66
- }
67
-
68
- .highlight {
69
- max-width: 33%;
70
- min-width: 33%;
72
+ padding: var(--mirai-ui-space-M);
71
73
  }
72
74
 
73
75
  .list {
74
- gap: var(--mirai-ui-space-L);
75
- margin-bottom: var(--mirai-ui-space-L);
76
- min-width: 100%;
76
+ flex: 1;
77
77
  }
78
78
 
79
79
  .list > * {
80
- gap: var(--mirai-ui-space-S);
81
80
  min-width: calc(25% - var(--mirai-ui-space-L));
82
81
  width: 25%;
83
82
  }
83
+
84
+ .filter {
85
+ border-radius: var(--mirai-ui-border-radius);
86
+ padding: var(--mirai-ui-space-S) var(--mirai-ui-space-M);
87
+ }
88
+ }
89
+
90
+ @media only screen and (min-width: 481px) and (max-width: 1179px) {
91
+ .highlight > :first-child {
92
+ max-width: 60%;
93
+ }
94
+
95
+ .list {
96
+ flex: 1;
97
+ gap: var(--mirai-ui-space-M);
98
+ }
99
+ }
100
+
101
+ @media only screen and (min-width: 1180px) {
102
+ .highlight > :first-child {
103
+ max-width: 66%;
104
+ }
105
+
106
+ .list {
107
+ gap: var(--mirai-ui-space-L);
108
+ }
84
109
  }
@@ -18,62 +18,60 @@ const BannerLoyaltySkeleton = _ref => {
18
18
  } = (0, _ui.useDevice)();
19
19
  return /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({}, others, {
20
20
  color: "base",
21
- row: !isMobile,
22
21
  style: {
23
- alignItems: 'stretch'
22
+ border: 'solid 1px var(--mirai-ui-content-border)'
24
23
  }
25
24
  }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
26
- color: "border",
27
- style: isMobile ? {
28
- gap: '1rem',
29
- padding: '1rem',
30
- width: '100%'
31
- } : {
32
- gap: '1rem',
33
- maxWidth: '33%',
34
- minWidth: '33%',
35
- padding: '2rem'
25
+ color: "accent",
26
+ row: true,
27
+ style: {
28
+ borderBottom: 'solid 1px var(--mirai-ui-content-border)',
29
+ justifyContent: 'space-between',
30
+ padding: '1rem'
31
+ }
32
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, {
33
+ style: {
34
+ gap: '0.25rem'
36
35
  }
37
36
  }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
38
37
  headline: true,
39
38
  level: isMobile ? 2 : 1
40
39
  }, "Banner Loyalty"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
41
40
  action: isMobile
42
- }, "Choose CLUB MEMBER rate, join and enjoy Web Bonus, special benefits for members!")), /*#__PURE__*/_react.default.createElement(_ui.View, {
43
- style: {
44
- gap: '2rem',
45
- justifyContent: 'space-between',
46
- padding: isMobile ? '1rem' : '2rem'
47
- }
48
- }, /*#__PURE__*/_react.default.createElement(_ui.View, {
41
+ }, "Choose CLUB MEMBER rate, join and enjoy Web Bonus, special benefits for members!")), !isMobile && /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, null, "See loyalty benefits CHECK")), /*#__PURE__*/_react.default.createElement(_ui.View, {
49
42
  row: !isMobile,
50
43
  style: {
51
- gap: isMobile ? '1rem' : '2rem'
44
+ gap: isMobile ? '1rem' : '4rem',
45
+ padding: '1.5rem 1rem'
52
46
  },
53
47
  wide: true
54
48
  }, Array.from({
55
49
  length: 4
56
50
  }).map((_, index) => /*#__PURE__*/_react.default.createElement(_ui.View, {
57
- row: isMobile,
51
+ row: true,
58
52
  key: index,
59
53
  style: {
60
54
  gap: '1rem'
61
55
  }
62
56
  }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
63
57
  style: isMobile ? {
64
- height: '1rem',
65
- width: '1rem'
58
+ minHeight: '1rem',
59
+ minWidth: '1rem'
66
60
  } : {
67
- height: '2rem',
68
- width: '2rem'
61
+ minHeight: '2rem',
62
+ minWidth: '2rem'
69
63
  }
70
64
  }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
71
65
  action: !isMobile,
72
66
  small: isMobile
73
- }, "5$ reward on your web bookings guaranteed")))), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
74
- action: !isMobile,
75
- small: isMobile
76
- }, "You will be able to login or sign up in the next step of the booking process. More information")));
67
+ }, "5$ reward on your web bookings guaranteed")))), isMobile && /*#__PURE__*/_react.default.createElement(_ui.View, {
68
+ row: true,
69
+ style: {
70
+ borderTop: 'solid 1px var(--mirai-ui-content-border)',
71
+ justifyContent: 'space-between',
72
+ padding: '1rem'
73
+ }
74
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, null, "See loyalty benefits CHECK"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, null, "CHECK")));
77
75
  };
78
76
  BannerLoyaltySkeleton.displayName = 'Mirai:Core:BannerLoyalty:Skeleton';
79
77
  BannerLoyaltySkeleton.propTypes = {};
@@ -1 +1 @@
1
- {"version":3,"file":"BannerLoyalty.skeleton.js","names":["_ui","require","_react","_interopRequireDefault","_shared__","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","BannerLoyaltySkeleton","_ref","others","isMobile","useDevice","createElement","Skeleton","color","row","style","alignItems","gap","padding","width","maxWidth","minWidth","headline","level","action","View","justifyContent","wide","Array","from","map","_","index","height","small","displayName","propTypes","_default","exports"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.skeleton.jsx"],"sourcesContent":["import { useDevice, View } from '@mirai/ui';\nimport React from 'react';\n\nimport { Skeleton } from '../__shared__';\n\nconst BannerLoyaltySkeleton = ({ ...others }) => {\n const { isMobile } = useDevice();\n\n return (\n <Skeleton {...others} color=\"base\" row={!isMobile} style={{ alignItems: 'stretch' }}>\n <Skeleton\n color=\"border\"\n style={\n isMobile\n ? { gap: '1rem', padding: '1rem', width: '100%' }\n : { gap: '1rem', maxWidth: '33%', minWidth: '33%', padding: '2rem' }\n }\n >\n <Skeleton headline level={isMobile ? 2 : 1}>\n Banner Loyalty\n </Skeleton>\n <Skeleton action={isMobile}>\n Choose CLUB MEMBER rate, join and enjoy Web Bonus, special benefits for members!\n </Skeleton>\n </Skeleton>\n\n <View style={{ gap: '2rem', justifyContent: 'space-between', padding: isMobile ? '1rem' : '2rem' }}>\n <View row={!isMobile} style={{ gap: isMobile ? '1rem' : '2rem' }} wide>\n {Array.from({ length: 4 }).map((_, index) => (\n <View row={isMobile} key={index} style={{ gap: '1rem' }}>\n <Skeleton style={isMobile ? { height: '1rem', width: '1rem' } : { height: '2rem', width: '2rem' }} />\n <Skeleton action={!isMobile} small={isMobile}>\n 5$ reward on your web bookings guaranteed\n </Skeleton>\n </View>\n ))}\n </View>\n <Skeleton action={!isMobile} small={isMobile}>\n You will be able to login or sign up in the next step of the booking process. More information\n </Skeleton>\n </View>\n </Skeleton>\n );\n};\n\nBannerLoyaltySkeleton.displayName = 'Mirai:Core:BannerLoyalty:Skeleton';\n\nBannerLoyaltySkeleton.propTypes = {};\n\nexport default BannerLoyaltySkeleton;\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AAAyC,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAEzC,MAAMQ,qBAAqB,GAAGC,IAAA,IAAmB;EAAA,IAAlB;IAAE,GAAGC;EAAO,CAAC,GAAAD,IAAA;EAC1C,MAAM;IAAEE;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAEhC,oBACExB,MAAA,CAAAK,OAAA,CAAAoB,aAAA,CAACvB,SAAA,CAAAwB,QAAQ,EAAApB,QAAA,KAAKgB,MAAM;IAAEK,KAAK,EAAC,MAAM;IAACC,GAAG,EAAE,CAACL,QAAS;IAACM,KAAK,EAAE;MAAEC,UAAU,EAAE;IAAU;EAAE,iBAClF9B,MAAA,CAAAK,OAAA,CAAAoB,aAAA,CAACvB,SAAA,CAAAwB,QAAQ;IACPC,KAAK,EAAC,QAAQ;IACdE,KAAK,EACHN,QAAQ,GACJ;MAAEQ,GAAG,EAAE,MAAM;MAAEC,OAAO,EAAE,MAAM;MAAEC,KAAK,EAAE;IAAO,CAAC,GAC/C;MAAEF,GAAG,EAAE,MAAM;MAAEG,QAAQ,EAAE,KAAK;MAAEC,QAAQ,EAAE,KAAK;MAAEH,OAAO,EAAE;IAAO;EACtE,gBAEDhC,MAAA,CAAAK,OAAA,CAAAoB,aAAA,CAACvB,SAAA,CAAAwB,QAAQ;IAACU,QAAQ;IAACC,KAAK,EAAEd,QAAQ,GAAG,CAAC,GAAG;EAAE,GAAC,gBAElC,CAAC,eACXvB,MAAA,CAAAK,OAAA,CAAAoB,aAAA,CAACvB,SAAA,CAAAwB,QAAQ;IAACY,MAAM,EAAEf;EAAS,GAAC,kFAElB,CACF,CAAC,eAEXvB,MAAA,CAAAK,OAAA,CAAAoB,aAAA,CAAC3B,GAAA,CAAAyC,IAAI;IAACV,KAAK,EAAE;MAAEE,GAAG,EAAE,MAAM;MAAES,cAAc,EAAE,eAAe;MAAER,OAAO,EAAET,QAAQ,GAAG,MAAM,GAAG;IAAO;EAAE,gBACjGvB,MAAA,CAAAK,OAAA,CAAAoB,aAAA,CAAC3B,GAAA,CAAAyC,IAAI;IAACX,GAAG,EAAE,CAACL,QAAS;IAACM,KAAK,EAAE;MAAEE,GAAG,EAAER,QAAQ,GAAG,MAAM,GAAG;IAAO,CAAE;IAACkB,IAAI;EAAA,GACnEC,KAAK,CAACC,IAAI,CAAC;IAAE9B,MAAM,EAAE;EAAE,CAAC,CAAC,CAAC+B,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,kBACtC9C,MAAA,CAAAK,OAAA,CAAAoB,aAAA,CAAC3B,GAAA,CAAAyC,IAAI;IAACX,GAAG,EAAEL,QAAS;IAACR,GAAG,EAAE+B,KAAM;IAACjB,KAAK,EAAE;MAAEE,GAAG,EAAE;IAAO;EAAE,gBACtD/B,MAAA,CAAAK,OAAA,CAAAoB,aAAA,CAACvB,SAAA,CAAAwB,QAAQ;IAACG,KAAK,EAAEN,QAAQ,GAAG;MAAEwB,MAAM,EAAE,MAAM;MAAEd,KAAK,EAAE;IAAO,CAAC,GAAG;MAAEc,MAAM,EAAE,MAAM;MAAEd,KAAK,EAAE;IAAO;EAAE,CAAE,CAAC,eACrGjC,MAAA,CAAAK,OAAA,CAAAoB,aAAA,CAACvB,SAAA,CAAAwB,QAAQ;IAACY,MAAM,EAAE,CAACf,QAAS;IAACyB,KAAK,EAAEzB;EAAS,GAAC,2CAEpC,CACN,CACP,CACG,CAAC,eACPvB,MAAA,CAAAK,OAAA,CAAAoB,aAAA,CAACvB,SAAA,CAAAwB,QAAQ;IAACY,MAAM,EAAE,CAACf,QAAS;IAACyB,KAAK,EAAEzB;EAAS,GAAC,gGAEpC,CACN,CACE,CAAC;AAEf,CAAC;AAEDH,qBAAqB,CAAC6B,WAAW,GAAG,mCAAmC;AAEvE7B,qBAAqB,CAAC8B,SAAS,GAAG,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA/C,OAAA,GAEtBe,qBAAqB"}
1
+ {"version":3,"file":"BannerLoyalty.skeleton.js","names":["_ui","require","_react","_interopRequireDefault","_shared__","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","BannerLoyaltySkeleton","_ref","others","isMobile","useDevice","createElement","Skeleton","color","style","border","row","borderBottom","justifyContent","padding","View","gap","headline","level","action","wide","Array","from","map","_","index","minHeight","minWidth","small","borderTop","displayName","propTypes","_default","exports"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.skeleton.jsx"],"sourcesContent":["import { useDevice, View } from '@mirai/ui';\nimport React from 'react';\n\nimport { Skeleton } from '../__shared__';\n\nconst BannerLoyaltySkeleton = ({ ...others }) => {\n const { isMobile } = useDevice();\n\n return (\n <Skeleton {...others} color=\"base\" style={{ border: 'solid 1px var(--mirai-ui-content-border)' }}>\n <Skeleton\n color=\"accent\"\n row\n style={{\n borderBottom: 'solid 1px var(--mirai-ui-content-border)',\n justifyContent: 'space-between',\n padding: '1rem',\n }}\n >\n <View style={{ gap: '0.25rem' }}>\n <Skeleton headline level={isMobile ? 2 : 1}>\n Banner Loyalty\n </Skeleton>\n <Skeleton action={isMobile}>\n Choose CLUB MEMBER rate, join and enjoy Web Bonus, special benefits for members!\n </Skeleton>\n </View>\n {!isMobile && <Skeleton>See loyalty benefits CHECK</Skeleton>}\n </Skeleton>\n\n <View row={!isMobile} style={{ gap: isMobile ? '1rem' : '4rem', padding: '1.5rem 1rem' }} wide>\n {Array.from({ length: 4 }).map((_, index) => (\n <View row key={index} style={{ gap: '1rem' }}>\n <Skeleton\n style={isMobile ? { minHeight: '1rem', minWidth: '1rem' } : { minHeight: '2rem', minWidth: '2rem' }}\n />\n <Skeleton action={!isMobile} small={isMobile}>\n 5$ reward on your web bookings guaranteed\n </Skeleton>\n </View>\n ))}\n </View>\n\n {isMobile && (\n <View\n row\n style={{\n borderTop: 'solid 1px var(--mirai-ui-content-border)',\n justifyContent: 'space-between',\n padding: '1rem',\n }}\n >\n <Skeleton>See loyalty benefits CHECK</Skeleton>\n <Skeleton>CHECK</Skeleton>\n </View>\n )}\n </Skeleton>\n );\n};\n\nBannerLoyaltySkeleton.displayName = 'Mirai:Core:BannerLoyalty:Skeleton';\n\nBannerLoyaltySkeleton.propTypes = {};\n\nexport default BannerLoyaltySkeleton;\n"],"mappings":"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"}