@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.
- package/README.md +259 -90
- package/__tests__/BookingQuery/workflows/login.workflow.js +2 -2
- package/__tests__/Checkout/workflows/form.workflow.js +8 -8
- package/__tests__/Deals/__mocks__/deals-success.json +739 -0
- package/__tests__/checkout.spec.jsx +10 -0
- package/__tests__/deals.spec.js +7 -0
- package/build/components/BannerLoyalty/BannerLoyalty.js +70 -63
- package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
- package/build/components/BannerLoyalty/BannerLoyalty.l10n.js +7 -1
- package/build/components/BannerLoyalty/BannerLoyalty.l10n.js.map +1 -1
- package/build/components/BannerLoyalty/BannerLoyalty.module.css +55 -30
- package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js +27 -29
- package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js.map +1 -1
- package/build/components/BannerLoyalty/__tests__/__snapshots__/BannerLoyalty.skeleton.test.js.snap +183 -186
- package/build/components/BannerLoyalty/__tests__/__snapshots__/BannerLoyalty.test.js.snap +61 -62
- package/build/components/Booking/Booking.module.css +3 -3
- package/build/components/Booking/__tests__/__snapshots__/Booking.test.js.snap +10 -10
- package/build/components/BookingQuery/__tests__/__snapshots__/BookingQuery.test.js.snap +12 -12
- package/build/components/ButtonFinder/__tests__/__snapshots__/ButtonFinder.test.js.snap +25 -15
- package/build/components/Chat/Chat.module.css +0 -2
- package/build/components/Chat/__tests__/__snapshots__/Chat.test.js.snap +4 -4
- package/build/components/Checkout/Checkout.module.css +3 -3
- package/build/components/Checkout/__tests__/__snapshots__/Checkout.test.js.snap +16 -16
- package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Form.test.js.snap +20 -20
- package/build/components/Deals/__tests__/__snapshots__/Deals.Calendar.test.js.snap +3 -3
- package/build/components/Deals/__tests__/__snapshots__/Deals.test.js.snap +12 -12
- package/build/components/Finder/Finder.compact.js +20 -20
- package/build/components/Finder/Finder.compact.js.map +1 -1
- package/build/components/Finder/Finder.js +3 -3
- package/build/components/Finder/Finder.js.map +1 -1
- package/build/components/Finder/Finder.module.css +30 -8
- package/build/components/Finder/__tests__/__snapshots__/Finder.test.js.snap +68 -42
- package/build/components/Finder/components/Calendar/Calendar.module.css +1 -1
- package/build/components/Finder/components/Calendar/__tests__/__snapshots__/Calendar.test.js.snap +9 -9
- package/build/components/Finder/components/Places/Places.js +24 -6
- package/build/components/Finder/components/Places/Places.js.map +1 -1
- package/build/components/Finder/components/Places/Places.module.css +27 -2
- package/build/components/Finder/components/Places/__tests__/__snapshots__/Places.test.js.snap +5 -9
- package/build/components/Finder/components/Places/helpers/calcColumns.js +1 -1
- package/build/components/Finder/components/Places/helpers/calcColumns.js.map +1 -1
- package/build/components/Header/Header.js +6 -4
- package/build/components/Header/Header.js.map +1 -1
- package/build/components/Header/__tests__/__snapshots__/Header.test.js.snap +3 -3
- package/build/components/Header/components/BookingProcess/BookingProcess.module.css +9 -5
- package/build/components/Rates/Rates.Header.js +8 -11
- package/build/components/Rates/Rates.Header.js.map +1 -1
- package/build/components/Rates/Rates.RoomSelector.js +1 -1
- package/build/components/Rates/Rates.RoomSelector.js.map +1 -1
- package/build/components/Rates/Rates.Skeleton.js +2 -3
- package/build/components/Rates/Rates.Skeleton.js.map +1 -1
- package/build/components/Rates/Rates.Unavailability.js +2 -1
- package/build/components/Rates/Rates.Unavailability.js.map +1 -1
- package/build/components/Rates/Rates.js +13 -16
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/Rates.module.css +16 -7
- package/build/components/Rates/__tests__/__snapshots__/Rates.Header.test.js.snap +1 -8
- package/build/components/Rates/__tests__/__snapshots__/Rates.test.js.snap +8042 -6319
- package/build/components/Rates/components/CardHotel/CardHotel.js +34 -13
- package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
- package/build/components/Rates/components/CardHotel/CardHotel.l10n.js +3 -0
- package/build/components/Rates/components/CardHotel/CardHotel.l10n.js.map +1 -1
- package/build/components/Rates/components/CardHotel/CardHotel.module.css +19 -2
- package/build/components/Rates/components/CardHotel/__tests__/__snapshots__/CardHotel.test.js.snap +51 -35
- package/build/components/Rates/components/Filters/Filters.Button.js +3 -4
- package/build/components/Rates/components/Filters/Filters.Button.js.map +1 -1
- package/build/components/Rates/components/Filters/Filters.js +2 -1
- package/build/components/Rates/components/Filters/Filters.js.map +1 -1
- package/build/components/Rates/components/Filters/Filters.module.css +23 -1
- package/build/components/Rates/components/Filters/__tests__/__snapshots__/Filters.test.js.snap +1 -1
- package/build/components/Rates/components/Item/Item.Preview.js +25 -9
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Rates.js +8 -5
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +31 -2
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/Item.module.css +4 -0
- package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.Preview.test.js.snap +1 -1
- package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.test.js.snap +1 -1
- package/build/components/Rates/components/Item/components/Amenities/Amenities.module.css +2 -9
- package/build/components/Rates/components/Item/components/ModalCancellationInfo/ModalCancellationInfo.module.css +3 -7
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.module.css +5 -5
- package/build/components/Rates/components/Item/components/ModalInfo/__tests__/__snapshots__/ModalInfo.test.js.snap +2 -2
- package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js +2 -15
- package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.module.css +3 -7
- package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.module.css +6 -6
- package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js +1 -1
- package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js.map +1 -1
- package/build/components/Rates/components/Item/components/Slider/Slider.js +1 -1
- package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
- package/build/components/Rates/components/Item/components/Slider/__tests__/__snapshots__/Slider.test.js.snap +1 -1
- package/build/components/Rates/components/ModalClubRate/ModalClubRate.js +6 -4
- package/build/components/Rates/components/ModalClubRate/ModalClubRate.js.map +1 -1
- package/build/components/Rates/components/ModalClubRate/ModalClubRate.module.css +4 -0
- package/build/components/Rates/components/ModalClubRate/__tests__/__snapshots__/ModalClubRate.test.js.snap +4 -4
- package/build/components/Rates/components/ModalExtras/ModalExtras.module.css +1 -1
- package/build/components/Rates/components/ModalExtras/__tests__/__snapshots__/ModalExtras.test.js.snap +1 -1
- package/build/components/Signup/Signup.module.css +1 -1
- package/build/components/Signup/__tests__/__snapshots__/Signup.test.js.snap +6 -6
- package/build/components/__shared__/BookingSummary/BookingSummary.module.css +3 -3
- package/build/components/__shared__/Card/Card.module.css +16 -15
- package/build/components/__shared__/Field/Field.js +3 -1
- package/build/components/__shared__/Field/Field.js.map +1 -1
- package/build/components/__shared__/Field/Field.module.css +11 -1
- package/build/components/__shared__/FieldOccupation/FieldOccupation.js +3 -6
- package/build/components/__shared__/FieldOccupation/FieldOccupation.js.map +1 -1
- package/build/components/__shared__/FieldOccupation/__tests__/__snapshots__/FieldOccupation.test.js.snap +18 -17
- package/build/components/__shared__/FieldPromocode/FieldPromocode.js +6 -3
- package/build/components/__shared__/FieldPromocode/FieldPromocode.js.map +1 -1
- package/build/components/__shared__/Footer/__tests__/__snapshots__/Footer.test.js.snap +8 -8
- package/build/components/__shared__/Occupation/Occupation.js +6 -4
- package/build/components/__shared__/Occupation/Occupation.js.map +1 -1
- package/build/components/__shared__/Occupation/Occupation.module.css +11 -11
- package/build/components/__shared__/Occupation/__tests__/__snapshots__/Occupation.test.js.snap +44 -44
- package/build/components/__shared__/Payment/__tests__/__snapshots__/Payment.test.js.snap +10 -10
- package/build/components/__shared__/Payment/components/Card/__tests__/__snapshots__/Card.test.js.snap +12 -12
- package/build/components/__shared__/PriceBreakdown/PriceBreakdown.module.css +3 -3
- package/build/components/helpers/ICON.AMENITIES.js +2 -2
- package/build/components/helpers/ICON.AMENITIES.js.map +1 -1
- package/build/components/helpers/__tests__/__snapshots__/parseHtml.test.js.snap +8 -8
- package/build/components/index.js +0 -2
- package/build/components/index.js.map +1 -1
- package/build/contexts/PerformanceManager/PerformanceManager.js +11 -4
- package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
- package/build/contexts/PerformanceManager/helpers/getConsentMode.js +4 -3
- package/build/contexts/PerformanceManager/helpers/getConsentMode.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/analytics/bookingCancel.js +2 -1
- package/build/contexts/PerformanceManager/providers/analytics/bookingCancel.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/analytics/helpers/parseItems.js +12 -5
- package/build/contexts/PerformanceManager/providers/analytics/helpers/parseItems.js.map +1 -1
- package/build/helpers/consolidateStore.js +4 -2
- package/build/helpers/consolidateStore.js.map +1 -1
- package/build/theme.css +44 -5
- package/package.json +1 -1
- package/public/performance/index.html +159 -0
- package/build/components/Chat/Chat.theme.module.css +0 -49
- 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
|
|
package/__tests__/deals.spec.js
CHANGED
|
@@ -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
|
|
56
|
-
_dataSources.Event.publish(_helpers.EVENT.
|
|
57
|
-
|
|
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
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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:
|
|
100
|
-
className: style.
|
|
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:
|
|
103
|
-
|
|
104
|
-
}, description[locale] || description[_BannerLoyalty.DEFAULT_LOCALE]
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
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
|
-
|
|
128
|
-
|
|
160
|
+
row: true,
|
|
161
|
+
key: index
|
|
129
162
|
}, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
130
163
|
accent: true,
|
|
131
164
|
headline: true,
|
|
132
|
-
level:
|
|
165
|
+
level: !isDesktop ? 3 : 2,
|
|
133
166
|
value: _helpers.ICON[icon] || _helpers.ICON.AMENITY
|
|
134
167
|
}), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
135
|
-
action:
|
|
136
|
-
small:
|
|
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(
|
|
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.
|
|
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.
|
|
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
|
-
|
|
14
|
+
justify-content: space-between;
|
|
15
|
+
background-color: var(--mirai-ui-accent-background);
|
|
11
16
|
}
|
|
12
17
|
|
|
13
|
-
.highlight
|
|
14
|
-
|
|
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
|
-
.
|
|
31
|
-
|
|
32
|
-
|
|
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-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
22
|
+
border: 'solid 1px var(--mirai-ui-content-border)'
|
|
24
23
|
}
|
|
25
24
|
}), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
26
|
-
color: "
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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' : '
|
|
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:
|
|
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
|
-
|
|
65
|
-
|
|
58
|
+
minHeight: '1rem',
|
|
59
|
+
minWidth: '1rem'
|
|
66
60
|
} : {
|
|
67
|
-
|
|
68
|
-
|
|
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(
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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","
|
|
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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"}
|