@mirai/core 0.4.103 → 0.4.105
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/build/Core.js +3 -5
- package/build/Core.js.map +1 -1
- package/build/components/BannerLoyalty/BannerLoyalty.js +3 -4
- package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
- package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js +28 -28
- package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js.map +1 -1
- package/build/components/Booking/Booking.js +3 -6
- package/build/components/Booking/Booking.js.map +1 -1
- package/build/components/Booking/Booking.skeleton.js +219 -27
- package/build/components/Booking/Booking.skeleton.js.map +1 -1
- package/build/components/Chat/Chat.js +2 -3
- package/build/components/Chat/Chat.js.map +1 -1
- package/build/components/Checkout/Checkout.js +3 -6
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/Checkout.skeleton.js +175 -25
- package/build/components/Checkout/Checkout.skeleton.js.map +1 -1
- package/build/components/Deals/Deals.js +17 -6
- package/build/components/Deals/Deals.js.map +1 -1
- package/build/components/Deals/Deals.skeleton.js +7 -7
- package/build/components/Deals/Deals.skeleton.js.map +1 -1
- package/build/components/Finder/Finder.compact.js +30 -13
- package/build/components/Finder/Finder.compact.js.map +1 -1
- package/build/components/Finder/Finder.js +18 -11
- package/build/components/Finder/Finder.js.map +1 -1
- package/build/components/Finder/Finder.l10n.js +4 -3
- package/build/components/Finder/Finder.l10n.js.map +1 -1
- package/build/components/Finder/Finder.module.css +7 -2
- package/build/components/Finder/components/Calendar/Calendar.js +4 -3
- package/build/components/Finder/components/Calendar/Calendar.js.map +1 -1
- package/build/components/Header/Header.js +8 -4
- package/build/components/Header/Header.js.map +1 -1
- package/build/components/Header/components/BookingProcess/BookingProcess.js +4 -2
- package/build/components/Header/components/BookingProcess/BookingProcess.js.map +1 -1
- package/build/components/Header/components/BookingProcess/BookingProcess.skeleton.js +52 -0
- package/build/components/Header/components/BookingProcess/BookingProcess.skeleton.js.map +1 -0
- package/build/components/Profile/components/Settings/Settings.Password.js +2 -6
- package/build/components/Profile/components/Settings/Settings.Password.js.map +1 -1
- package/build/components/Rates/Rates.Skeleton.js +92 -77
- package/build/components/Rates/Rates.Skeleton.js.map +1 -1
- package/build/components/Rates/Rates.js +3 -3
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/components/Filters/Filters.Button.js +13 -1
- package/build/components/Rates/components/Filters/Filters.Button.js.map +1 -1
- package/build/components/Session/Session.Login.js +3 -4
- package/build/components/Session/Session.Login.js.map +1 -1
- package/build/components/__shared__/BookingDates/BookingDates.l10n.js +2 -2
- package/build/components/__shared__/BookingDates/BookingDates.l10n.js.map +1 -1
- package/build/components/__shared__/Field/Field.js +25 -7
- package/build/components/__shared__/Field/Field.js.map +1 -1
- package/build/components/__shared__/Field/Field.module.css +4 -0
- package/build/components/__shared__/Footer/Footer.js +7 -2
- package/build/components/__shared__/Footer/Footer.js.map +1 -1
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js +11 -5
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js.map +1 -1
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.module.css +4 -0
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.skeleton.js +30 -0
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.skeleton.js.map +1 -0
- package/build/components/__shared__/Skeleton/Skeleton.js +18 -6
- package/build/components/__shared__/Skeleton/Skeleton.js.map +1 -1
- package/build/components/__shared__/Skeleton/Skeleton.module.css +36 -19
- package/build/components/helpers/getAccommodationLabel.js +1 -1
- package/build/components/helpers/getAccommodationLabel.js.map +1 -1
- package/build/index.js +3 -2
- package/build/index.js.map +1 -1
- package/package.json +1 -1
package/build/Core.js
CHANGED
|
@@ -23,8 +23,7 @@ const ghosts = {};
|
|
|
23
23
|
const Core = _ref => {
|
|
24
24
|
let {
|
|
25
25
|
children,
|
|
26
|
-
components = []
|
|
27
|
-
skeleton = false
|
|
26
|
+
components = []
|
|
28
27
|
} = _ref;
|
|
29
28
|
const {
|
|
30
29
|
isMobile
|
|
@@ -38,6 +37,7 @@ const Core = _ref => {
|
|
|
38
37
|
id
|
|
39
38
|
} = {},
|
|
40
39
|
locale = _locale.DEFAULT_LOCALE,
|
|
40
|
+
skeleton = false,
|
|
41
41
|
...store
|
|
42
42
|
}
|
|
43
43
|
} = (0, _dataSources.useStore)();
|
|
@@ -117,7 +117,6 @@ const Core = _ref => {
|
|
|
117
117
|
dangerousChildren: contents[index],
|
|
118
118
|
el,
|
|
119
119
|
ghost: ghosts[index],
|
|
120
|
-
skeleton,
|
|
121
120
|
['data-testid']: process.env.NODE_ENV === 'production' ? component : undefined
|
|
122
121
|
}), el);
|
|
123
122
|
})), children);
|
|
@@ -128,7 +127,6 @@ Core.propTypes = {
|
|
|
128
127
|
components: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
129
128
|
component: _propTypes.default.oneOf(Object.keys(_components.COMPONENTS)),
|
|
130
129
|
el: _propTypes.default.any
|
|
131
|
-
}))
|
|
132
|
-
skeleton: _propTypes.default.bool
|
|
130
|
+
}))
|
|
133
131
|
};
|
|
134
132
|
//# sourceMappingURL=Core.js.map
|
package/build/Core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Core.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_reactDom","_components","_helpers","_Core","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","contents","ghosts","Core","_ref","children","components","
|
|
1
|
+
{"version":3,"file":"Core.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_reactDom","_components","_helpers","_Core","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","contents","ghosts","Core","_ref","children","components","isMobile","useDevice","value","club","currency","hotel","id","locale","DEFAULT_LOCALE","skeleton","store","useStore","dictionary","setDictionary","useState","ServiceDictionary","cache","undefined","useEffect","fetchDictionary","Event","subscribe","EVENT","INTENT_CURRENCY","handleIntentCurrency","INTENT_LOCALE","handleIntentLocale","unsubscribe","_ref2","_ref3","language","split","getClubUrl","themeDirection","arguments","length","cached","next","createElement","LocaleProvider","Fragment","Notifications","filter","desktop","mobile","map","el","component","props","index","getGhost","getContents","sanitizeComponent","ReactDOM","createPortal","React","COMPONENTS","dangerousChildren","ghost","process","env","NODE_ENV","exports","propTypes","PropTypes","node","arrayOf","shape","oneOf","keys","any"],"sources":["../src/Core.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { DEFAULT_LOCALE, LocaleProvider } from '@mirai/locale';\nimport { ServiceDictionary } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { COMPONENTS } from './components';\nimport { EVENT } from './components/helpers';\nimport { Notifications } from './Core.Notifications';\nimport { getClubUrl, getContents, getGhost, sanitizeComponent, themeDirection } from './helpers';\n\nconst contents = {};\nconst ghosts = {};\n\nconst Core = ({ children, components = [] }) => {\n const { isMobile } = useDevice();\n const {\n set,\n value: { club, currency, hotel: { id } = {}, locale = DEFAULT_LOCALE, skeleton = false, ...store },\n } = useStore();\n\n const [dictionary, setDictionary] = useState(!skeleton ? ServiceDictionary.cache(locale) : undefined);\n\n useEffect(() => {\n if (skeleton) return;\n\n fetchDictionary(locale);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n Event.subscribe(EVENT.INTENT_CURRENCY, handleIntentCurrency);\n Event.subscribe(EVENT.INTENT_LOCALE, handleIntentLocale);\n\n return () => {\n Event.unsubscribe(EVENT.INTENT_CURRENCY, handleIntentCurrency);\n Event.unsubscribe(EVENT.INTENT_LOCALE, handleIntentLocale);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [store]);\n\n const handleIntentCurrency = ({ currency }) => {\n set({ currency });\n };\n\n const handleIntentLocale = async ({ locale }) => {\n const [language] = locale.split('-');\n\n set({\n club: { ...club, ...(await getClubUrl({ id, language })) },\n language,\n locale,\n });\n\n themeDirection(language);\n fetchDictionary(locale);\n };\n\n const fetchDictionary = async (locale = DEFAULT_LOCALE) => {\n const cached = ServiceDictionary.cache(locale);\n if (cached) setDictionary(cached);\n\n const next = await ServiceDictionary.get(locale, false);\n if (next) setDictionary(next);\n\n return next;\n };\n\n return (\n <LocaleProvider {...{ currency, dictionary, locale }}>\n <>\n {!skeleton && <Notifications />}\n\n {components\n .filter(\n ({ desktop, mobile } = {}) =>\n (isMobile && (mobile === undefined || mobile === true) && desktop !== true) ||\n (!isMobile && (desktop === undefined || desktop === true) && mobile !== true),\n )\n .map(({ el, component, ...props } = {}, index) => {\n if (!ghosts[index]) ghosts[index] = getGhost(el);\n if (!contents[index]) contents[index] = getContents(el);\n sanitizeComponent(el);\n\n return ReactDOM.createPortal(\n React.createElement(COMPONENTS[component], {\n ...props,\n dangerousChildren: contents[index],\n el,\n ghost: ghosts[index],\n ['data-testid']: process.env.NODE_ENV === 'production' ? component : undefined,\n }),\n el,\n );\n })}\n </>\n {children}\n </LocaleProvider>\n );\n};\n\nCore.propTypes = {\n children: PropTypes.node,\n components: PropTypes.arrayOf(\n PropTypes.shape({\n component: PropTypes.oneOf(Object.keys(COMPONENTS)),\n el: PropTypes.any,\n }),\n ),\n};\n\nexport { Core };\n"],"mappings":"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"}
|
|
@@ -21,7 +21,6 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
21
21
|
const BannerLoyalty = _ref => {
|
|
22
22
|
let {
|
|
23
23
|
clubConditions,
|
|
24
|
-
skeleton,
|
|
25
24
|
...others
|
|
26
25
|
} = _ref;
|
|
27
26
|
const {
|
|
@@ -43,7 +42,8 @@ const BannerLoyalty = _ref => {
|
|
|
43
42
|
} = {},
|
|
44
43
|
discount
|
|
45
44
|
} = {},
|
|
46
|
-
session
|
|
45
|
+
session,
|
|
46
|
+
skeleton = false
|
|
47
47
|
}
|
|
48
48
|
} = (0, _dataSources.useStore)();
|
|
49
49
|
const [expanded, setExpanded] = (0, _react.useState)(false);
|
|
@@ -179,7 +179,6 @@ const BannerLoyalty = _ref => {
|
|
|
179
179
|
exports.BannerLoyalty = BannerLoyalty;
|
|
180
180
|
BannerLoyalty.displayName = 'Mirai:Core:BannerLoyalty';
|
|
181
181
|
BannerLoyalty.propTypes = {
|
|
182
|
-
clubConditions: _propTypes.default.string
|
|
183
|
-
skeleton: _propTypes.default.bool
|
|
182
|
+
clubConditions: _propTypes.default.string
|
|
184
183
|
};
|
|
185
184
|
//# sourceMappingURL=BannerLoyalty.js.map
|
|
@@ -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","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","underline","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 underline\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 underline\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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"}
|
|
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","others","isDesktop","isMobile","useDevice","locale","stateLocale","translate","useLocale","value","club","banner","benefits","description","title","url","discount","session","skeleton","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","underline","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"],"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, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { locale: stateLocale, translate } = useLocale();\n const {\n value: {\n club: { banner: { benefits = [], description = {}, title, url } = {}, discount } = {},\n session,\n skeleton = false,\n },\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 underline\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 underline\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};\n\nexport { BannerLoyalty };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,cAAA,GAAAP,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAH,uBAAA,CAAAN,OAAA;AACA,IAAAU,eAAA,GAAAN,sBAAA,CAAAJ,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AAA8D,SAAAY,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAjB,uBAAA6B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAE9D,MAAMK,aAAa,GAAGC,IAAA,IAAmC;EAAA,IAAlC;IAAEC,cAAc;IAAE,GAAGC;EAAO,CAAC,GAAAF,IAAA;EAClD,MAAM;IAAEG,SAAS;IAAEC;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAC3C,MAAM;IAAEC,MAAM,EAAEC,WAAW;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACtD,MAAM;IACJC,KAAK,EAAE;MACLC,IAAI,EAAE;QAAEC,MAAM,EAAE;UAAEC,QAAQ,GAAG,EAAE;UAAEC,WAAW,GAAG,CAAC,CAAC;UAAEC,KAAK;UAAEC;QAAI,CAAC,GAAG,CAAC,CAAC;QAAEC;MAAS,CAAC,GAAG,CAAC,CAAC;MACrFC,OAAO;MACPC,QAAQ,GAAG;IACb;EACF,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAC/C,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC,CAAC;EACjD,MAAM,CAACG,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAJ,eAAQ,EAACN,QAAQ,CAAC;EAE1D,IAAAW,gBAAS,EAAC,MAAM;IACd,MAAMC,QAAQ,GAAIC,gBAAgB,IAAKH,eAAe,CAACG,gBAAgB,CAAC;IAExEC,kBAAK,CAACC,SAAS,CAACC,cAAK,CAACC,iBAAiB,EAAEL,QAAQ,CAAC;IAElD,OAAO,MAAME,kBAAK,CAACI,WAAW,CAACF,cAAK,CAACC,iBAAiB,EAAEL,QAAQ,CAAC;EACnE,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACV,OAAO,IAAIH,KAAK,IAAIF,QAAQ,CAAClB,MAAM,GAAG,CAAC,EAAEoC,kBAAK,CAACK,OAAO,CAACH,cAAK,CAACI,OAAO,EAAE;MAAEC,EAAE,EAAE;IAAwB,CAAC,CAAC;IAC3G;EACF,CAAC,EAAE,CAACpB,OAAO,CAAC,CAAC;EAEb,MAAMqB,cAAc,GAAGA,CAAA,KAAM;IAC3B,IAAI,CAAClB,QAAQ,EAAEU,kBAAK,CAACK,OAAO,CAACH,cAAK,CAACI,OAAO,EAAE;MAAEC,EAAE,EAAE;IAAiC,CAAC,CAAC;IACrFhB,WAAW,CAAC,CAACD,QAAQ,CAAC;EACxB,CAAC;EAED,MAAMmB,kBAAkB,GAAIC,KAAK,IAAK;IACpChB,cAAc,CAACgB,KAAK,CAAC;IACrBV,kBAAK,CAACK,OAAO,CAACH,cAAK,CAACI,OAAO,EAAE;MAAEC,EAAE,EAAE;IAAiC,CAAC,CAAC;EACxE,CAAC;EAED,MAAMI,iBAAiB,GAAIhC,KAAK,IAAK;IACnCqB,kBAAK,CAACK,OAAO,CAACH,cAAK,CAACC,iBAAiB,EAAExB,KAAK,CAAC;IAC7CqB,kBAAK,CAACK,OAAO,CAACH,cAAK,CAACI,OAAO,EAAE;MAAEC,EAAE,EAAE,6BAA6B;MAAE5B;IAAM,CAAC,CAAC;EAC5E,CAAC;EAED,MAAMiC,MAAM,GAAGA,CAAA,kBACblF,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAAuF,IAAI;IAACC,GAAG;IAACC,SAAS,EAAElF,KAAK,CAACmF;EAAO,gBAChCvF,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAA2F,IAAI;IAACC,MAAM;IAACC,MAAM;EAAA,GAChB3C,SAAS,CAAC4C,oBAAI,CAACC,kBAAkB,CAC9B,CAAC,eACP5F,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAAgG,MAAM;IAACC,OAAO,EAAE7B,YAAa;IAAC8B,IAAI,UAAW;IAACC,QAAQ,EAAEf;EAAkB,CAAE,CACzE,CACP;EAED,MAAMgB,WAAW,GAAG;IAAEC,SAAS,EAAE,IAAI;IAAEC,OAAO,EAAE,IAAI;IAAEC,OAAO,EAAE;EAAK,CAAC;EACrE,MAAMC,WAAW,GAAGtC,WAAW,KAAKX,QAAQ,CAAClB,MAAM,GAAG,CAAC;EACvD,MAAMW,MAAM,GAAG,IAAAyD,4BAAmB,EAACxD,WAAW,CAAC;EAE/C,OAAOY,QAAQ,IAAI,CAACD,OAAO,gBACzBzD,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAAC9E,eAAA,CAAAQ,OAAQ,MAAE,CAAC,GACV,CAAC4C,OAAO,IAAIH,KAAK,IAAIF,QAAQ,CAAClB,MAAM,GAAG,CAAC,gBAC1ClC,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAAuF,IAAI;IAACmB,MAAM,EAAE9D,MAAM,CAAC8D,MAAO;IAACjB,SAAS,EAAE,CAAClF,KAAK,CAACoG,SAAS,EAAE/D,MAAM,CAAC6C,SAAS;EAAE,gBAC1EtF,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAAuF,IAAI;IAACC,GAAG;IAACC,SAAS,EAAElF,KAAK,CAACqG;EAAU,gBACnCzG,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAAuF,IAAI,qBACHpF,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAA2F,IAAI;IAACkB,IAAI;IAACC,KAAK;IAACC,QAAQ;IAACC,KAAK,EAAEnE,SAAS,GAAG,CAAC,GAAG,CAAE;IAAC4C,SAAS,EAAElF,KAAK,CAACkD;EAAM,GACxEA,KAAK,CAACT,MAAM,CAAC,IAAIS,KAAK,CAACwD,6BAAc,CAClC,CAAC,eACP9G,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAA2F,IAAI;IAACC,MAAM,EAAE/C,SAAU;IAACqE,KAAK,EAAE,CAACrE;EAAU,GACxCW,WAAW,CAACR,MAAM,CAAC,IAAIQ,WAAW,CAACyD,6BAAc,CAAC,EAClDvD,GAAG,iBACFvD,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAAAnF,MAAA,CAAAa,OAAA,CAAAmG,QAAA,QACG,GAAG,eACJhH,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAAoH,MAAM;IACLxB,MAAM,EAAE/C,SAAU;IAClBgE,IAAI;IACJK,KAAK,EAAE,CAACrE,SAAU;IAClBwE,IAAI,EAAE3D,GAAI;IACVvB,MAAM,EAAC,QAAQ;IACfmF,SAAS;IACT7B,SAAS,EAAElF,KAAK,CAACgH;EAAW,GAE3BrE,SAAS,CAAC4C,oBAAI,CAAC0B,gBAAgB,CAC1B,CACR,CAEA,CAAC,EACN7E,cAAc,iBACbxC,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAA2F,IAAI;IAACC,MAAM,EAAE/C,SAAU;IAACqE,KAAK,EAAE,CAACrE;EAAU,GACxCK,SAAS,CAAC4C,oBAAI,CAAC2B,qBAAqB,EAAE;IACrCC,UAAU,eACRvH,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAAoH,MAAM;MACLxB,MAAM,EAAE/C,SAAU;MAClBqE,KAAK,EAAE,CAACrE,SAAU;MAClBwE,IAAI,EAAE1E,cAAe;MACrBR,MAAM,EAAC,QAAQ;MACfmF,SAAS;MACT7B,SAAS,EAAElF,KAAK,CAACgH;IAAW,GAE3BrE,SAAS,CAAC4C,oBAAI,CAAC6B,2BAA2B,CACrC;EAEZ,CAAC,CACG,CAEJ,CAAC,EAEN7E,QAAQ,gBACP3C,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAA4H,MAAM;IAACV,KAAK;IAACZ,OAAO;IAACuB,WAAW;IAACC,OAAO,EAAE7C;EAAe,gBACxD9E,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAA+H,IAAI;IAAC3E,KAAK,EAAEW,QAAQ,GAAGiE,aAAI,CAACC,WAAW,GAAGD,aAAI,CAACE;EAAY,CAAE,CACxD,CAAC,gBAET/H,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACD,MAAM,MAAE,CAEP,CAAC,EAEN,CAAC,CAACvC,QAAQ,IAAIiB,QAAQ,kBACrB5D,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAAuF,IAAI;IAACC,GAAG;IAAC2C,IAAI;EAAA,GACX,CAACrF,QAAQ,IAAIoB,WAAW,KAAK,CAAC,iBAC7B/D,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAA4H,MAAM,EAAA5F,QAAA,KAAKoE,WAAW;IAAE0B,OAAO,EAAEA,CAAA,KAAM5C,kBAAkB,CAAChB,WAAW,GAAG,CAAC;EAAE,iBAC1E/D,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAA+H,IAAI;IAAC3E,KAAK,EAAE4E,aAAI,CAACI;EAAK,CAAE,CACnB,CACT,eAEAC,cAAK,CAAC/C,aAAa,CAClBxC,QAAQ,GAAGyC,QAAI,GAAG+C,cAAU,EAC5B;IACE,IAAI,CAACxF,QAAQ,GAAG;MAAEyF,UAAU,EAAE,CAACzF,QAAQ;MAAE0F,QAAQ,EAAEtE,WAAW,GAAGuE;IAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1FhD,SAAS,EAAElF,KAAK,CAACmI;EACnB,CAAC,EACDnF,QAAQ,CAACoF,GAAG,CAAC;IAAA,IAAC;MAAEnF,WAAW,GAAG,CAAC,CAAC;MAAEoF;IAAK,CAAC,GAAAxG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAyG,SAAA,GAAAzG,SAAA,MAAG,CAAC,CAAC;IAAA,IAAE+C,KAAK,GAAA/C,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAyG,SAAA;IAAA,oBAClD1I,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAAuF,IAAI;MAACC,GAAG;MAACjD,GAAG,EAAE4C;IAAM,gBACnBhF,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAA+H,IAAI;MAACe,MAAM;MAAC/B,QAAQ;MAACC,KAAK,EAAE,CAACnE,SAAS,GAAG,CAAC,GAAG,CAAE;MAACO,KAAK,EAAE4E,aAAI,CAACY,IAAI,CAAC,IAAIZ,aAAI,CAACe;IAAQ,CAAE,CAAC,eACtF5I,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAA2F,IAAI;MAACC,MAAM,EAAE/C,SAAU;MAACqE,KAAK,EAAE,CAACrE;IAAU,GACxCW,WAAW,CAACR,MAAM,CAAC,IAAIQ,WAAW,CAACyD,6BAAc,CAC9C,CACF,CAAC;EAAA,CACR,CACH,CAAC,EAEA,CAACnE,QAAQ,IAAIS,QAAQ,CAAClB,MAAM,GAAG,CAAC,iBAC/BlC,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAA4H,MAAM,EAAA5F,QAAA,KAAKoE,WAAW;IAAE0B,OAAO,EAAEA,CAAA,KAAM5C,kBAAkB,CAACsB,WAAW,GAAG,CAAC,GAAGtC,WAAW,GAAG,CAAC;EAAE,iBAC5F/D,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACtF,GAAA,CAAA+H,IAAI;IAAC3E,KAAK,EAAEoD,WAAW,GAAGwB,aAAI,CAACgB,MAAM,GAAGhB,aAAI,CAACiB;EAAM,CAAE,CAChD,CAEN,CACP,EAEAnG,QAAQ,iBAAI3C,MAAA,CAAAa,OAAA,CAAAsE,aAAA,CAACD,MAAM,MAAE,CAClB,CAAC,GACL,IAAI;AACV,CAAC;AAAC6D,OAAA,CAAAzG,aAAA,GAAAA,aAAA;AAEFA,aAAa,CAAC0G,WAAW,GAAG,0BAA0B;AAEtD1G,aAAa,CAAC2G,SAAS,GAAG;EACxBzG,cAAc,EAAE0G,kBAAS,CAACC;AAC5B,CAAC"}
|
|
@@ -17,32 +17,33 @@ const BannerLoyaltySkeleton = _ref => {
|
|
|
17
17
|
isMobile
|
|
18
18
|
} = (0, _ui.useDevice)();
|
|
19
19
|
return /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({}, others, {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
border: 'solid 1px var(--mirai-ui-content-border)'
|
|
23
|
-
}
|
|
24
|
-
}), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
20
|
+
base: true
|
|
21
|
+
}), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
25
22
|
color: "accent",
|
|
26
23
|
row: true,
|
|
27
24
|
style: {
|
|
28
|
-
borderBottom: 'solid 1px var(--mirai-ui-content-
|
|
25
|
+
borderBottom: 'solid 1px var(--mirai-ui-content-background)',
|
|
29
26
|
justifyContent: 'space-between',
|
|
30
|
-
padding: '
|
|
27
|
+
padding: 'var(--mirai-ui-space-M)'
|
|
31
28
|
}
|
|
32
29
|
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
33
30
|
style: {
|
|
34
31
|
gap: '0.25rem'
|
|
35
32
|
}
|
|
36
33
|
}, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
37
|
-
headline:
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
action: isMobile
|
|
41
|
-
|
|
42
|
-
|
|
34
|
+
headline: !isMobile,
|
|
35
|
+
words: 2
|
|
36
|
+
}), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
37
|
+
action: !isMobile,
|
|
38
|
+
small: isMobile,
|
|
39
|
+
words: 13
|
|
40
|
+
})), !isMobile && /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
41
|
+
words: 4
|
|
42
|
+
})), !isMobile && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
43
|
+
row: true,
|
|
43
44
|
style: {
|
|
44
|
-
gap:
|
|
45
|
-
padding: '1.5rem
|
|
45
|
+
gap: '4rem',
|
|
46
|
+
padding: '1.5rem var(--mirai-ui-space-M)'
|
|
46
47
|
},
|
|
47
48
|
wide: true
|
|
48
49
|
}, Array.from({
|
|
@@ -51,27 +52,26 @@ const BannerLoyaltySkeleton = _ref => {
|
|
|
51
52
|
row: true,
|
|
52
53
|
key: index,
|
|
53
54
|
style: {
|
|
54
|
-
gap: '
|
|
55
|
+
gap: 'var(--mirai-ui-space-M)'
|
|
55
56
|
}
|
|
56
57
|
}, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
57
|
-
|
|
58
|
-
minHeight: '1rem',
|
|
59
|
-
minWidth: '1rem'
|
|
60
|
-
} : {
|
|
61
|
-
minHeight: '2rem',
|
|
62
|
-
minWidth: '2rem'
|
|
63
|
-
}
|
|
58
|
+
icon: true
|
|
64
59
|
}), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
65
60
|
action: !isMobile,
|
|
66
|
-
small: isMobile
|
|
67
|
-
|
|
61
|
+
small: isMobile,
|
|
62
|
+
words: 7
|
|
63
|
+
})))), isMobile && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
68
64
|
row: true,
|
|
69
65
|
style: {
|
|
70
|
-
borderTop: 'solid 1px var(--mirai-ui-content-border)',
|
|
71
66
|
justifyContent: 'space-between',
|
|
72
|
-
padding: '
|
|
67
|
+
padding: 'var(--mirai-ui-space-M)'
|
|
73
68
|
}
|
|
74
|
-
}, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton,
|
|
69
|
+
}, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
70
|
+
action: true,
|
|
71
|
+
words: 4
|
|
72
|
+
}), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
73
|
+
icon: true
|
|
74
|
+
})));
|
|
75
75
|
};
|
|
76
76
|
BannerLoyaltySkeleton.displayName = 'Mirai:Core:BannerLoyalty:Skeleton';
|
|
77
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","
|
|
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","base","View","color","row","style","borderBottom","justifyContent","padding","gap","headline","words","action","small","wide","Array","from","map","_","index","icon","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} base>\n <View\n color=\"accent\"\n row\n style={{\n borderBottom: 'solid 1px var(--mirai-ui-content-background)',\n justifyContent: 'space-between',\n padding: 'var(--mirai-ui-space-M)',\n }}\n >\n <View style={{ gap: '0.25rem' }}>\n <Skeleton headline={!isMobile} words={2} />\n <Skeleton action={!isMobile} small={isMobile} words={13} />\n </View>\n {!isMobile && <Skeleton words={4} />}\n </View>\n\n {!isMobile && (\n <View row style={{ gap: '4rem', padding: '1.5rem var(--mirai-ui-space-M)' }} wide>\n {Array.from({ length: 4 }).map((_, index) => (\n <View row key={index} style={{ gap: 'var(--mirai-ui-space-M)' }}>\n <Skeleton icon />\n <Skeleton action={!isMobile} small={isMobile} words={7} />\n </View>\n ))}\n </View>\n )}\n\n {isMobile && (\n <View row style={{ justifyContent: 'space-between', padding: 'var(--mirai-ui-space-M)' }}>\n <Skeleton action words={4} />\n <Skeleton icon />\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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"}
|
|
@@ -8,7 +8,6 @@ var _dataSources = require("@mirai/data-sources");
|
|
|
8
8
|
var _locale = require("@mirai/locale");
|
|
9
9
|
var _services = require("@mirai/services");
|
|
10
10
|
var _ui = require("@mirai/ui");
|
|
11
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
12
|
var _Booking = require("./Booking.constants");
|
|
14
13
|
var _Booking2 = require("./Booking.l10n");
|
|
@@ -20,12 +19,11 @@ var _Booking4 = require("./partials/Booking.Payment");
|
|
|
20
19
|
var _shared__ = require("../__shared__");
|
|
21
20
|
var _Header = require("../Header");
|
|
22
21
|
var _helpers = require("../helpers");
|
|
22
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
23
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
24
24
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
25
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
26
25
|
const Booking = _ref => {
|
|
27
26
|
let {
|
|
28
|
-
skeleton,
|
|
29
27
|
...others
|
|
30
28
|
} = _ref;
|
|
31
29
|
const {
|
|
@@ -41,6 +39,7 @@ const Booking = _ref => {
|
|
|
41
39
|
hotel: {
|
|
42
40
|
url
|
|
43
41
|
} = {},
|
|
42
|
+
skeleton = false,
|
|
44
43
|
urlParams: {
|
|
45
44
|
code: token,
|
|
46
45
|
reservationCode: id,
|
|
@@ -183,7 +182,5 @@ const Booking = _ref => {
|
|
|
183
182
|
};
|
|
184
183
|
exports.Booking = Booking;
|
|
185
184
|
Booking.displayName = 'Mirai:Core:Booking';
|
|
186
|
-
Booking.propTypes = {
|
|
187
|
-
skeleton: _propTypes.default.bool
|
|
188
|
-
};
|
|
185
|
+
Booking.propTypes = {};
|
|
189
186
|
//# sourceMappingURL=Booking.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Booking.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Booking","_Booking2","style","_Booking3","_components","_partials","_Booking4","_shared__","_Header","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Booking","_ref","skeleton","others","isDesktop","isMobile","useDevice","locale","translate","useLocale","value","hotel","url","urlParams","code","token","reservationCode","id","hasToTracking","tracking","useStore","action","setAction","useState","dataSource","setDataSource","expanded","setExpanded","responseError","setResponseError","useEffect","Event","publish","EVENT","METRICS","ServiceBooking","catch","error","event","state","STATE","CANCELLED","BOOKING_CANCEL","BOOKING_RESPONSE","response","handleMenuPress","ACTION","PRINT","setTimeout","window","print","handleBackHome","payload","location","href","hotelUrl","origin","payment","undefined","isCancelled","createElement","Fragment","Header","View","role","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","POS_ERROR","Notification","info","COMPLETED","small","success","CONFIRMED","warning","POSTPONED","wide","L10N","NOTIFICATION","Hotelverse","BookingPayment","onError","BookingSummary","box","showBasePrice","Information","BookingDetails","BookingTerms","side","noPrint","Menu","onPress","Modal","onChange","_ref2","onClose","large","NOTIFICATION_ERROR","ERROR","GENERIC","Action","paragraph","underline","ACTION_BACK_HOME","Footer","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Booking/Booking.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ACTION, ERROR, STATE } from './Booking.constants';\nimport { L10N } from './Booking.l10n';\nimport * as style from './Booking.module.css';\nimport Skeleton from './Booking.skeleton';\nimport { Hotelverse } from './components';\nimport { Information, Menu, Modal } from './partials';\nimport { BookingPayment } from './partials/Booking.Payment';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer } from '../__shared__';\nimport { Header } from '../Header';\nimport { EVENT } from '../helpers';\n\nconst Booking = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { locale, translate } = useLocale();\n const {\n value: { hotel: { url } = {}, urlParams: { code: token, reservationCode: id, hasToTracking: tracking } = {} },\n } = useStore();\n\n const [action, setAction] = useState();\n const [dataSource, setDataSource] = useState();\n const [expanded, setExpanded] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => Event.publish(EVENT.METRICS, { id: 'BOOKING:RENDER' }), []);\n\n useEffect(() => {\n if (skeleton || !id || !token) return;\n\n (async () => {\n setDataSource(\n await ServiceBooking.get({ id, locale, token, tracking, url }).catch((error) => setResponseError(error)),\n );\n setAction();\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id, locale]);\n\n useEffect(() => {\n if (!dataSource || !dataSource.tracking) return;\n\n const event = dataSource.state === STATE.CANCELLED ? EVENT.BOOKING_CANCEL : EVENT.BOOKING_RESPONSE;\n Event.publish(event, { event, response: { ...dataSource } });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource?.state]);\n\n const handleMenuPress = (action) => {\n if (action === ACTION.PRINT) {\n setExpanded(true);\n setTimeout(window.print, 10);\n } else {\n setAction(action);\n }\n };\n\n const handleBackHome = () => {\n const { payload } = responseError;\n\n window.location.href = payload?.hotelUrl || window.location.origin;\n };\n\n const { payment, state } = dataSource || {};\n const response = dataSource !== undefined;\n const isCancelled = state === STATE.CANCELLED;\n\n return (\n <>\n <Header />\n\n <View role=\"booking\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <View row={isDesktop} className={style.content}>\n <View>\n {state !== STATE.POS_ERROR && (\n <Notification\n error={isCancelled}\n info={state === STATE.COMPLETED}\n small={isMobile}\n success={state === STATE.CONFIRMED}\n warning={state === STATE.POSTPONED}\n wide\n >\n {translate(L10N.NOTIFICATION[state])}\n <Hotelverse {...dataSource} />\n </Notification>\n )}\n\n {payment && !isCancelled && <BookingPayment {...{ dataSource, onError: setResponseError }} />}\n\n <BookingSummary\n box={!isDesktop}\n dataSource={{ ...dataSource, showBasePrice: true }}\n className={styles(isDesktop && style.print)}\n />\n\n <Information dataSource={dataSource} />\n <BookingDetails {...{ dataSource, expanded }} expanded={isMobile} className={style.box} />\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <View className={style.side}>\n {isDesktop && (\n <BookingSummary box dataSource={{ ...dataSource, showBasePrice: true }} className={style.noPrint} />\n )}\n\n <Menu dataSource={dataSource} onPress={handleMenuPress} />\n </View>\n </View>\n\n <Modal\n {...{ action, dataSource: { ...dataSource, token } }}\n onChange={({ response: { tracking } = {}, state }) =>\n state && setDataSource({ ...dataSource, tracking, state })\n }\n onClose={() => setAction()}\n />\n </>\n ) : responseError ? (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code] || L10N.NOTIFICATION_ERROR[ERROR.GENERIC])}\n <Action paragraph underline wide onPress={handleBackHome}>\n {translate(L10N.ACTION_BACK_HOME)}\n </Action>\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n\n <Footer />\n </>\n );\n};\n\nBooking.displayName = 'Mirai:Core:Booking';\n\nBooking.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Booking };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Booking.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Booking","_Booking2","style","_Booking3","_interopRequireDefault","_components","_partials","_Booking4","_shared__","_Header","_helpers","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Booking","_ref","others","isDesktop","isMobile","useDevice","locale","translate","useLocale","value","hotel","url","skeleton","urlParams","code","token","reservationCode","id","hasToTracking","tracking","useStore","action","setAction","useState","dataSource","setDataSource","expanded","setExpanded","responseError","setResponseError","useEffect","Event","publish","EVENT","METRICS","ServiceBooking","catch","error","event","state","STATE","CANCELLED","BOOKING_CANCEL","BOOKING_RESPONSE","response","handleMenuPress","ACTION","PRINT","setTimeout","window","print","handleBackHome","payload","location","href","hotelUrl","origin","payment","undefined","isCancelled","createElement","Fragment","Header","View","role","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","POS_ERROR","Notification","info","COMPLETED","small","success","CONFIRMED","warning","POSTPONED","wide","L10N","NOTIFICATION","Hotelverse","BookingPayment","onError","BookingSummary","box","showBasePrice","Information","BookingDetails","BookingTerms","side","noPrint","Menu","onPress","Modal","onChange","_ref2","onClose","large","NOTIFICATION_ERROR","ERROR","GENERIC","Action","paragraph","underline","ACTION_BACK_HOME","Footer","exports","displayName","propTypes"],"sources":["../../../src/components/Booking/Booking.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { ACTION, ERROR, STATE } from './Booking.constants';\nimport { L10N } from './Booking.l10n';\nimport * as style from './Booking.module.css';\nimport Skeleton from './Booking.skeleton';\nimport { Hotelverse } from './components';\nimport { Information, Menu, Modal } from './partials';\nimport { BookingPayment } from './partials/Booking.Payment';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer } from '../__shared__';\nimport { Header } from '../Header';\nimport { EVENT } from '../helpers';\n\nconst Booking = ({ ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { locale, translate } = useLocale();\n const {\n value: {\n hotel: { url } = {},\n skeleton = false,\n urlParams: { code: token, reservationCode: id, hasToTracking: tracking } = {},\n },\n } = useStore();\n\n const [action, setAction] = useState();\n const [dataSource, setDataSource] = useState();\n const [expanded, setExpanded] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => Event.publish(EVENT.METRICS, { id: 'BOOKING:RENDER' }), []);\n\n useEffect(() => {\n if (skeleton || !id || !token) return;\n\n (async () => {\n setDataSource(\n await ServiceBooking.get({ id, locale, token, tracking, url }).catch((error) => setResponseError(error)),\n );\n setAction();\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id, locale]);\n\n useEffect(() => {\n if (!dataSource || !dataSource.tracking) return;\n\n const event = dataSource.state === STATE.CANCELLED ? EVENT.BOOKING_CANCEL : EVENT.BOOKING_RESPONSE;\n Event.publish(event, { event, response: { ...dataSource } });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource?.state]);\n\n const handleMenuPress = (action) => {\n if (action === ACTION.PRINT) {\n setExpanded(true);\n setTimeout(window.print, 10);\n } else {\n setAction(action);\n }\n };\n\n const handleBackHome = () => {\n const { payload } = responseError;\n\n window.location.href = payload?.hotelUrl || window.location.origin;\n };\n\n const { payment, state } = dataSource || {};\n const response = dataSource !== undefined;\n const isCancelled = state === STATE.CANCELLED;\n\n return (\n <>\n <Header />\n\n <View role=\"booking\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <View row={isDesktop} className={style.content}>\n <View>\n {state !== STATE.POS_ERROR && (\n <Notification\n error={isCancelled}\n info={state === STATE.COMPLETED}\n small={isMobile}\n success={state === STATE.CONFIRMED}\n warning={state === STATE.POSTPONED}\n wide\n >\n {translate(L10N.NOTIFICATION[state])}\n <Hotelverse {...dataSource} />\n </Notification>\n )}\n\n {payment && !isCancelled && <BookingPayment {...{ dataSource, onError: setResponseError }} />}\n\n <BookingSummary\n box={!isDesktop}\n dataSource={{ ...dataSource, showBasePrice: true }}\n className={styles(isDesktop && style.print)}\n />\n\n <Information dataSource={dataSource} />\n <BookingDetails {...{ dataSource, expanded }} expanded={isMobile} className={style.box} />\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <View className={style.side}>\n {isDesktop && (\n <BookingSummary box dataSource={{ ...dataSource, showBasePrice: true }} className={style.noPrint} />\n )}\n\n <Menu dataSource={dataSource} onPress={handleMenuPress} />\n </View>\n </View>\n\n <Modal\n {...{ action, dataSource: { ...dataSource, token } }}\n onChange={({ response: { tracking } = {}, state }) =>\n state && setDataSource({ ...dataSource, tracking, state })\n }\n onClose={() => setAction()}\n />\n </>\n ) : responseError ? (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code] || L10N.NOTIFICATION_ERROR[ERROR.GENERIC])}\n <Action paragraph underline wide onPress={handleBackHome}>\n {translate(L10N.ACTION_BACK_HOME)}\n </Action>\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n\n <Footer />\n </>\n );\n};\n\nBooking.displayName = 'Mirai:Core:Booking';\n\nBooking.propTypes = {};\n\nexport { Booking };\n"],"mappings":"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"}
|