@mirai/core 0.3.310 → 0.3.312
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/components/Chat/Chat.js +12 -1
- package/build/components/Chat/Chat.js.map +1 -1
- package/build/components/Rates/Rates.Footer.js +6 -0
- package/build/components/Rates/Rates.Footer.js.map +1 -1
- package/build/components/Rates/Rates.Header.js +3 -2
- package/build/components/Rates/Rates.Header.js.map +1 -1
- package/build/components/Rates/Rates.Unavailability.js +13 -4
- package/build/components/Rates/Rates.Unavailability.js.map +1 -1
- package/build/components/Rates/Rates.js +11 -10
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/Rates.module.css +5 -0
- package/build/components/helpers/constants.js +5 -1
- package/build/components/helpers/constants.js.map +1 -1
- package/package.json +1 -1
- package/public/App.Container.jsx +59 -57
|
@@ -46,10 +46,21 @@ const Chat = _ref => {
|
|
|
46
46
|
}
|
|
47
47
|
} = (0, _dataSources.useStore)();
|
|
48
48
|
const [busy, setBusy] = (0, _react.useState)(false);
|
|
49
|
+
const [hide, setHide] = (0, _react.useState)(false);
|
|
49
50
|
const [messages, setMessages] = (0, _react.useState)([]);
|
|
50
51
|
const [online, setOnline] = (0, _react.useState)(false);
|
|
51
52
|
const [scrollTo, setScrollTo] = (0, _react.useState)();
|
|
52
53
|
const [visible, setVisible] = (0, _react.useState)(false);
|
|
54
|
+
(0, _react.useEffect)(() => {
|
|
55
|
+
const callback = _ref2 => {
|
|
56
|
+
let {
|
|
57
|
+
visible: modalVisible
|
|
58
|
+
} = _ref2;
|
|
59
|
+
return setHide(modalVisible);
|
|
60
|
+
};
|
|
61
|
+
_dataSources.Event.subscribe(_helpers.EVENT.MODAL_VISIBLE, callback);
|
|
62
|
+
return () => _dataSources.Event.unsubscribe(_helpers.EVENT.MODAL_VISIBLE, callback);
|
|
63
|
+
}, []);
|
|
53
64
|
(0, _react.useEffect)(() => {
|
|
54
65
|
if (skeleton) return;
|
|
55
66
|
(async () => {
|
|
@@ -210,7 +221,7 @@ const Chat = _ref => {
|
|
|
210
221
|
}, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
|
|
211
222
|
disabled: busy,
|
|
212
223
|
onPress: () => setVisible(true),
|
|
213
|
-
className: (0, _ui.styles)(style.buttonExtend, visible && style.hide)
|
|
224
|
+
className: (0, _ui.styles)(style.buttonExtend, (hide || visible) && style.hide)
|
|
214
225
|
}, /*#__PURE__*/_react.default.createElement(_components.Avatar, {
|
|
215
226
|
disabled: visible,
|
|
216
227
|
className: style.avatar
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_services","_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","onlineInterval","Chat","_ref","skeleton","name","NAME","isMobile","useDevice","translate","useLocale","value","calendar","currency","hotel","locale","occupation","origin","session","tags","type","useStore","busy","setBusy","useState","messages","setMessages","online","setOnline","scrollTo","setScrollTo","visible","setVisible","useEffect","response","ServiceLisa","welcome","catch","handleError","addMessage","clearInterval","callback","status","setInterval","Date","getTime","storeContext","handleInput","input","nextMessages","text","timestamp","setTimeout","message","context","DELAY_RESPONSE","handleAction","form","intent","undefined","action","lisa","auto","error","console","Event","publish","EVENT","INTENT_LOCALE","createElement","Fragment","React","Modal","View","className","container","styles","row","header","Avatar","small","wide","Text","bold","L10N","LABEL_ASSISTANT","bullet","offline","light","LABEL_ONLINE","LABEL_OFFLINE","Button","squared","tooltip","ACTION_CLOSE","transparent","onPress","Icon","ICON","CLOSE","ScrollView","snap","map","index","Message","concat","disabled","onAction","Input","onValue","InputRich","Offline","Tooltip","right","LABEL_GREETINGS","Pressable","buttonExtend","hide","avatar","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, Modal, Pressable, ScrollView, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { DELAY_RESPONSE, NAME } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { Avatar, Input, InputRich, Offline, Message } from './components';\nimport { ServiceLisa } from '../../services';\nimport { EVENT, ICON } from '../helpers';\n\nlet onlineInterval;\n\nconst Chat = ({ skeleton, name = NAME }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { calendar, currency, hotel, locale, occupation, origin, session, tags, type },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [messages, setMessages] = useState([]);\n const [online, setOnline] = useState(false);\n const [scrollTo, setScrollTo] = useState();\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n setBusy(true);\n const response = await ServiceLisa.welcome({ locale, session }).catch(handleError);\n if (response) addMessage(response, messages);\n setBusy(false);\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n // ! TODO: It's just a demo\n // if (visible && !messages.length) handleInput('Do you have any available offer or discount?');\n if (!visible) return clearInterval(onlineInterval);\n\n const callback = async () => {\n const response = await ServiceLisa.status().catch(() => setOnline(false));\n if (response && !online) setOnline(response);\n };\n\n callback();\n onlineInterval = setInterval(callback, online ? 60000 : 10000);\n\n return () => {\n clearInterval(onlineInterval);\n };\n }, [online, visible]);\n\n useEffect(() => visible && setScrollTo(new Date().getTime()), [busy, messages, visible]);\n\n const storeContext = { calendar, currency, hotel, occupation, origin, tags, type };\n\n const handleInput = (input) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const response = await ServiceLisa.message({ context: { ...storeContext }, input, session }).catch(handleError);\n if (response) addMessage(response, nextMessages);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent } = {}) => {\n setBusy(true);\n\n setTimeout(async () => {\n const response = await ServiceLisa.action({\n context: { ...storeContext, ...context, form },\n intent,\n locale,\n session,\n }).catch(handleError);\n if (response) {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n }\n\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleError = (error) => {\n // eslint-disable-next-line no-console\n console.error('::handleError::', error);\n setOnline(false);\n };\n\n const addMessage = (response = {}, messages = []) => {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n };\n\n return !skeleton ? (\n <>\n {React.createElement(\n isMobile ? Modal : View,\n isMobile\n ? { className: style.container, visible }\n : { className: styles(style.container, visible && style.visible) },\n <>\n <View row className={style.header}>\n <Avatar small />\n <View wide>\n <Text bold>{translate(L10N.LABEL_ASSISTANT)}</Text>\n <View row>\n <View className={styles(style.bullet, online ? style.online : style.offline)} />\n <Text small light>\n {translate(online ? L10N.LABEL_ONLINE : L10N.LABEL_OFFLINE)}\n </Text>\n </View>\n </View>\n\n <View row>\n {/* ! TODO: When store chats */}\n {/* <Button small squared tooltip={translate(L10N.ACTION_MINIMIZE)} transparent onPress={() => {}}>\n <Icon value={ICON.MINIMIZE} />\n </Button> */}\n\n <Button\n small\n squared\n tooltip={translate(L10N.ACTION_CLOSE)}\n transparent\n onPress={() => setVisible(false)}\n >\n <Icon value={ICON.CLOSE} />\n </Button>\n </View>\n </View>\n\n <ScrollView scrollTo={scrollTo} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < messages.length - 1}\n onAction={handleAction}\n />\n ))}\n {busy && <Message auto busy />}\n </ScrollView>\n\n {online ? (\n <>\n <Input disabled={busy} onValue={handleInput} />\n <InputRich onValue={handleAction} />\n </>\n ) : (\n <Offline />\n )}\n </>,\n )}\n\n <Tooltip right text={translate(L10N.LABEL_GREETINGS, { name })}>\n <Pressable\n disabled={busy}\n onPress={() => setVisible(true)}\n className={styles(style.buttonExtend, visible && style.hide)}\n >\n <Avatar disabled={visible} className={style.avatar} />\n </Pressable>\n </Tooltip>\n </>\n ) : null;\n};\n\nChat.displayName = 'Mirai:Core:Chat';\n\nChat.propTypes = {\n name: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Chat };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_services","_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","onlineInterval","Chat","_ref","skeleton","name","NAME","isMobile","useDevice","translate","useLocale","value","calendar","currency","hotel","locale","occupation","origin","session","tags","type","useStore","busy","setBusy","useState","hide","setHide","messages","setMessages","online","setOnline","scrollTo","setScrollTo","visible","setVisible","useEffect","callback","_ref2","modalVisible","Event","subscribe","EVENT","MODAL_VISIBLE","unsubscribe","response","ServiceLisa","welcome","catch","handleError","addMessage","clearInterval","status","setInterval","Date","getTime","storeContext","handleInput","input","nextMessages","text","timestamp","setTimeout","message","context","DELAY_RESPONSE","handleAction","form","intent","undefined","action","lisa","auto","error","console","publish","INTENT_LOCALE","createElement","Fragment","React","Modal","View","className","container","styles","row","header","Avatar","small","wide","Text","bold","L10N","LABEL_ASSISTANT","bullet","offline","light","LABEL_ONLINE","LABEL_OFFLINE","Button","squared","tooltip","ACTION_CLOSE","transparent","onPress","Icon","ICON","CLOSE","ScrollView","snap","map","index","Message","concat","disabled","onAction","Input","onValue","InputRich","Offline","Tooltip","right","LABEL_GREETINGS","Pressable","buttonExtend","avatar","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, Modal, Pressable, ScrollView, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { DELAY_RESPONSE, NAME } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { Avatar, Input, InputRich, Offline, Message } from './components';\nimport { ServiceLisa } from '../../services';\nimport { EVENT, ICON } from '../helpers';\n\nlet onlineInterval;\n\nconst Chat = ({ skeleton, name = NAME }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { calendar, currency, hotel, locale, occupation, origin, session, tags, type },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [hide, setHide] = useState(false);\n const [messages, setMessages] = useState([]);\n const [online, setOnline] = useState(false);\n const [scrollTo, setScrollTo] = useState();\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n const callback = ({ visible: modalVisible }) => setHide(modalVisible);\n\n Event.subscribe(EVENT.MODAL_VISIBLE, callback);\n\n return () => Event.unsubscribe(EVENT.MODAL_VISIBLE, callback);\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n setBusy(true);\n const response = await ServiceLisa.welcome({ locale, session }).catch(handleError);\n if (response) addMessage(response, messages);\n setBusy(false);\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n // ! TODO: It's just a demo\n // if (visible && !messages.length) handleInput('Do you have any available offer or discount?');\n if (!visible) return clearInterval(onlineInterval);\n\n const callback = async () => {\n const response = await ServiceLisa.status().catch(() => setOnline(false));\n if (response && !online) setOnline(response);\n };\n\n callback();\n onlineInterval = setInterval(callback, online ? 60000 : 10000);\n\n return () => {\n clearInterval(onlineInterval);\n };\n }, [online, visible]);\n\n useEffect(() => visible && setScrollTo(new Date().getTime()), [busy, messages, visible]);\n\n const storeContext = { calendar, currency, hotel, occupation, origin, tags, type };\n\n const handleInput = (input) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const response = await ServiceLisa.message({ context: { ...storeContext }, input, session }).catch(handleError);\n if (response) addMessage(response, nextMessages);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent } = {}) => {\n setBusy(true);\n\n setTimeout(async () => {\n const response = await ServiceLisa.action({\n context: { ...storeContext, ...context, form },\n intent,\n locale,\n session,\n }).catch(handleError);\n if (response) {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n }\n\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleError = (error) => {\n // eslint-disable-next-line no-console\n console.error('::handleError::', error);\n setOnline(false);\n };\n\n const addMessage = (response = {}, messages = []) => {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n };\n\n return !skeleton ? (\n <>\n {React.createElement(\n isMobile ? Modal : View,\n isMobile\n ? { className: style.container, visible }\n : { className: styles(style.container, visible && style.visible) },\n <>\n <View row className={style.header}>\n <Avatar small />\n <View wide>\n <Text bold>{translate(L10N.LABEL_ASSISTANT)}</Text>\n <View row>\n <View className={styles(style.bullet, online ? style.online : style.offline)} />\n <Text small light>\n {translate(online ? L10N.LABEL_ONLINE : L10N.LABEL_OFFLINE)}\n </Text>\n </View>\n </View>\n\n <View row>\n {/* ! TODO: When store chats */}\n {/* <Button small squared tooltip={translate(L10N.ACTION_MINIMIZE)} transparent onPress={() => {}}>\n <Icon value={ICON.MINIMIZE} />\n </Button> */}\n\n <Button\n small\n squared\n tooltip={translate(L10N.ACTION_CLOSE)}\n transparent\n onPress={() => setVisible(false)}\n >\n <Icon value={ICON.CLOSE} />\n </Button>\n </View>\n </View>\n\n <ScrollView scrollTo={scrollTo} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < messages.length - 1}\n onAction={handleAction}\n />\n ))}\n {busy && <Message auto busy />}\n </ScrollView>\n\n {online ? (\n <>\n <Input disabled={busy} onValue={handleInput} />\n <InputRich onValue={handleAction} />\n </>\n ) : (\n <Offline />\n )}\n </>,\n )}\n\n <Tooltip right text={translate(L10N.LABEL_GREETINGS, { name })}>\n <Pressable\n disabled={busy}\n onPress={() => setVisible(true)}\n className={styles(style.buttonExtend, (hide || visible) && style.hide)}\n >\n <Avatar disabled={visible} className={style.avatar} />\n </Pressable>\n </Tooltip>\n </>\n ) : null;\n};\n\nChat.displayName = 'Mirai:Core:Chat';\n\nChat.propTypes = {\n name: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Chat };\n"],"mappings":"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"}
|
|
@@ -42,6 +42,12 @@ const Footer = _ref => {
|
|
|
42
42
|
} = {}
|
|
43
43
|
} = (0, _dataSources.useStore)();
|
|
44
44
|
const [busy, setBusy] = (0, _react.useState)(false);
|
|
45
|
+
(0, _react.useEffect)(() => {
|
|
46
|
+
const items = cart.filter(item => item !== undefined);
|
|
47
|
+
_dataSources.Event.publish(_helpers2.EVENT.MODAL_VISIBLE, {
|
|
48
|
+
visible: items.length > 0
|
|
49
|
+
});
|
|
50
|
+
}, [cart]);
|
|
45
51
|
(0, _react.useEffect)(() => !extras && setBusy(false), [extras]);
|
|
46
52
|
(0, _react.useEffect)(() => !login && setBusy(false), [login]);
|
|
47
53
|
const items = cart.filter(item => item !== undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Rates","style","_helpers2","_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","Footer","_ref","cart","dataSource","taxesType","extras","login","multiRoom","occupation","onSubmit","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","items","filter","item","undefined","totalPrice","reduce","price","valid","handleSubmit","createElement","View","className","styles","footer","visible","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","concat","cartItem","room","Icon","ICON","PERSON","GROUP","GROUPS","Text","small","description","bold","action","light","maximumFractionDigits","Button","disabled","large","onPress","L10N","ACTION_RESERVE","summary","headline","level","tiny","getLabelTaxes","exports","displayName","propTypes","PropTypes","arrayOf","shape","bool","ages","number","type","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getLabelTaxes } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON } from '../helpers';\n\nconst Footer = ({\n cart = [],\n dataSource: { taxesType } = {},\n extras,\n login,\n multiRoom,\n occupation = [],\n onSubmit = () => {},\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => !extras && setBusy(false), [extras]);\n\n useEffect(() => !login && setBusy(false), [login]);\n\n const items = cart.filter((item) => item !== undefined);\n const totalPrice = cart.reduce((value, { price = 0 } = {}) => value + price, 0);\n const valid = items.length === occupation.length;\n\n const handleSubmit = () => {\n setBusy(true);\n onSubmit();\n };\n\n return (\n <View className={styles(style.footer, items.length && style.visible)}>\n <View>\n <View className={style.wrapper} wide>\n {items.map(({ amount = 1, id, name: boardName, price, roomName } = {}, index) => {\n const guests = occupation[index].reduce((total, { amount } = {}) => total + amount, 0);\n\n return (\n <View row key={`${id}${index}`} className={style.cartItem}>\n {multiRoom && (\n <View row className={style.room}>\n <Icon value={guests === 1 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS} />\n <Text small>{guests}</Text>\n </View>\n )}\n\n <View className={style.description}>\n <Text bold action={!isMobile} small={isMobile} className={style.description}>\n {`${roomName} `}\n {multiRoom && <Text light small>{` | ${boardName}`}</Text>}\n </Text>\n {!multiRoom && (\n <Text light small>\n {boardName}\n </Text>\n )}\n </View>\n\n <Text bold {...(multiRoom ? { action: !isMobile, small: isMobile } : { action: isMobile })}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: amount * price })}\n </Text>\n\n {!multiRoom && (\n <Button small busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n )}\n </View>\n );\n })}\n </View>\n </View>\n\n {multiRoom && (\n <View row className={[style.wrapper, style.summary]}>\n <View className={style.totalPrice}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: totalPrice })}\n </Text>\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Rates:Footer';\n\nFooter.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n dataSource: PropTypes.shape({}),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n login: PropTypes.bool,\n multiRoom: PropTypes.bool,\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n onSubmit: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAH,uBAAA,CAAAN,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AAAkC,SAAAW,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,SAAAN,wBAAAM,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,SAAAhB,uBAAA4B,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;AAElC,MAAMK,MAAM,GAAGC,IAAA,IAQT;EAAA,IARU;IACdC,IAAI,GAAG,EAAE;IACTC,UAAU,EAAE;MAAEC;IAAU,CAAC,GAAG,CAAC,CAAC;IAC9BC,MAAM;IACNC,KAAK;IACLC,SAAS;IACTC,UAAU,GAAG,EAAE;IACfC,QAAQ,GAAGA,CAAA,KAAM,CAAC;EACpB,CAAC,GAAAR,IAAA;EACC,MAAM;IAAES;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC,cAAc;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjD,MAAM;IAAEC,KAAK,EAAE;MAAEC;IAAS,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAE/C,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAEvC,IAAAC,gBAAS,EAAC,MAAM,CAAChB,MAAM,IAAIc,OAAO,CAAC,KAAK,CAAC,EAAE,CAACd,MAAM,CAAC,CAAC;EAEpD,IAAAgB,gBAAS,EAAC,MAAM,CAACf,KAAK,IAAIa,OAAO,CAAC,KAAK,CAAC,EAAE,CAACb,KAAK,CAAC,CAAC;EAElD,MAAMgB,KAAK,GAAGpB,IAAI,CAACqB,MAAM,CAAEC,IAAI,IAAKA,IAAI,KAAKC,SAAS,CAAC;EACvD,MAAMC,UAAU,GAAGxB,IAAI,CAACyB,MAAM,CAAC,UAACZ,KAAK;IAAA,IAAE;MAAEa,KAAK,GAAG;IAAE,CAAC,GAAAjC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA8B,SAAA,GAAA9B,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKoB,KAAK,GAAGa,KAAK;EAAA,GAAE,CAAC,CAAC;EAC/E,MAAMC,KAAK,GAAGP,KAAK,CAAC1B,MAAM,KAAKY,UAAU,CAACZ,MAAM;EAEhD,MAAMkC,YAAY,GAAGA,CAAA,KAAM;IACzBX,OAAO,CAAC,IAAI,CAAC;IACbV,QAAQ,CAAC,CAAC;EACZ,CAAC;EAED,oBACE9C,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwE,IAAI;IAACC,SAAS,EAAE,IAAAC,UAAM,EAACnE,KAAK,CAACoE,MAAM,EAAEb,KAAK,CAAC1B,MAAM,IAAI7B,KAAK,CAACqE,OAAO;EAAE,gBACnEzE,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwE,IAAI,qBACHrE,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwE,IAAI;IAACC,SAAS,EAAElE,KAAK,CAACsE,OAAQ;IAACC,IAAI;EAAA,GACjChB,KAAK,CAACiB,GAAG,CAAC,YAAsE;IAAA,IAArE;MAAEC,MAAM,GAAG,CAAC;MAAEC,EAAE;MAAEC,IAAI,EAAEC,SAAS;MAAEf,KAAK;MAAEgB;IAAS,CAAC,GAAAjD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA8B,SAAA,GAAA9B,SAAA,MAAG,CAAC,CAAC;IAAA,IAAEkD,KAAK,GAAAlD,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAA8B,SAAA;IAC1E,MAAMqB,MAAM,GAAGtC,UAAU,CAACqC,KAAK,CAAC,CAAClB,MAAM,CAAC,UAACoB,KAAK;MAAA,IAAE;QAAEP;MAAO,CAAC,GAAA7C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA8B,SAAA,GAAA9B,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKoD,KAAK,GAAGP,MAAM;IAAA,GAAE,CAAC,CAAC;IAEtF,oBACE7E,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwE,IAAI;MAACgB,GAAG;MAAClD,GAAG,KAAAmD,MAAA,CAAKR,EAAE,EAAAQ,MAAA,CAAGJ,KAAK,CAAG;MAACZ,SAAS,EAAElE,KAAK,CAACmF;IAAS,GACvD3C,SAAS,iBACR5C,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwE,IAAI;MAACgB,GAAG;MAACf,SAAS,EAAElE,KAAK,CAACoF;IAAK,gBAC9BxF,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAA4F,IAAI;MAACrC,KAAK,EAAE+B,MAAM,KAAK,CAAC,GAAGO,cAAI,CAACC,MAAM,GAAGR,MAAM,KAAK,CAAC,GAAGO,cAAI,CAACE,KAAK,GAAGF,cAAI,CAACG;IAAO,CAAE,CAAC,eACrF7F,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAiG,IAAI;MAACC,KAAK;IAAA,GAAEZ,MAAa,CACtB,CACP,eAEDnF,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwE,IAAI;MAACC,SAAS,EAAElE,KAAK,CAAC4F;IAAY,gBACjChG,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAiG,IAAI;MAACG,IAAI;MAACC,MAAM,EAAE,CAACnD,QAAS;MAACgD,KAAK,EAAEhD,QAAS;MAACuB,SAAS,EAAElE,KAAK,CAAC4F;IAAY,MAAAV,MAAA,CACtEL,QAAQ,QACXrC,SAAS,iBAAI5C,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAiG,IAAI;MAACK,KAAK;MAACJ,KAAK;IAAA,SAAAT,MAAA,CAAQN,SAAS,CAAS,CACrD,CAAC,EACN,CAACpC,SAAS,iBACT5C,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAiG,IAAI;MAACK,KAAK;MAACJ,KAAK;IAAA,GACdf,SACG,CAEJ,CAAC,eAEPhF,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAiG,IAAI,EAAAlE,QAAA;MAACqE,IAAI;IAAA,GAAMrD,SAAS,GAAG;MAAEsD,MAAM,EAAE,CAACnD,QAAQ;MAAEgD,KAAK,EAAEhD;IAAS,CAAC,GAAG;MAAEmD,MAAM,EAAEnD;IAAS,CAAC,GACtFE,cAAc,CAAC;MAAEI,QAAQ;MAAE+C,qBAAqB,EAAE,CAAC;MAAEhD,KAAK,EAAEyB,MAAM,GAAGZ;IAAM,CAAC,CACzE,CAAC,EAEN,CAACrB,SAAS,iBACT5C,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwG,MAAM;MAACN,KAAK;MAACxC,IAAI,EAAEA,IAAK;MAAC+C,QAAQ,EAAE,CAACpC,KAAM;MAACqC,KAAK,EAAE,CAACxD,QAAS;MAACyD,OAAO,EAAErC;IAAa,GACjFjB,SAAS,CAACuD,WAAI,CAACC,cAAc,CACxB,CAEN,CAAC;EAEX,CAAC,CACG,CACF,CAAC,EAEN9D,SAAS,iBACR5C,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwE,IAAI;IAACgB,GAAG;IAACf,SAAS,EAAE,CAAClE,KAAK,CAACsE,OAAO,EAAEtE,KAAK,CAACuG,OAAO;EAAE,gBAClD3G,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwE,IAAI;IAACC,SAAS,EAAElE,KAAK,CAAC2D;EAAW,gBAChC/D,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAiG,IAAI;IAACG,IAAI;IAACW,QAAQ;IAACC,KAAK,EAAE9D,QAAQ,GAAG,CAAC,GAAG;EAAE,GACzCE,cAAc,CAAC;IAAEI,QAAQ;IAAE+C,qBAAqB,EAAE,CAAC;IAAEhD,KAAK,EAAEW;EAAW,CAAC,CACrE,CAAC,EAEN,CAAC,CAACtB,SAAS,iBACVzC,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAiG,IAAI;IAACK,KAAK;IAACJ,KAAK,EAAE,CAAChD,QAAS;IAAC+D,IAAI,EAAE/D;EAAS,GAC1CG,SAAS,CAAC,IAAA6D,sBAAa,EAACtE,SAAS,CAAC,CAC/B,CAEJ,CAAC,eAEPzC,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwG,MAAM;IAAC9C,IAAI,EAAEA,IAAK;IAAC+C,QAAQ,EAAE,CAACpC,KAAM;IAACqC,KAAK,EAAE,CAACxD,QAAS;IAACyD,OAAO,EAAErC;EAAa,GAC3EjB,SAAS,CAACuD,WAAI,CAACC,cAAc,CACxB,CACJ,CAEJ,CAAC;AAEX,CAAC;AAACM,OAAA,CAAA3E,MAAA,GAAAA,MAAA;AAEFA,MAAM,CAAC4E,WAAW,GAAG,yBAAyB;AAE9C5E,MAAM,CAAC6E,SAAS,GAAG;EACjB3E,IAAI,EAAE4E,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC5C7E,UAAU,EAAE2E,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC;EAC/B3E,MAAM,EAAEyE,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9C1E,KAAK,EAAEwE,kBAAS,CAACG,IAAI;EACrB1E,SAAS,EAAEuE,kBAAS,CAACG,IAAI;EACzBzE,UAAU,EAAEsE,kBAAS,CAACC,OAAO,CAC3BD,kBAAS,CAACC,OAAO,CACfD,kBAAS,CAACE,KAAK,CAAC;IACdE,IAAI,EAAEJ,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACK,MAAM,CAAC;IACzC3C,MAAM,EAAEsC,kBAAS,CAACK,MAAM;IACxBC,IAAI,EAAEN,kBAAS,CAACK;EAClB,CAAC,CACH,CACF,CAAC;EACD1E,QAAQ,EAAEqE,kBAAS,CAACO;AACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Rates","style","_helpers2","_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","Footer","_ref","cart","dataSource","taxesType","extras","login","multiRoom","occupation","onSubmit","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","items","filter","item","undefined","Event","publish","EVENT","MODAL_VISIBLE","visible","totalPrice","reduce","price","valid","handleSubmit","createElement","View","className","styles","footer","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","concat","cartItem","room","Icon","ICON","PERSON","GROUP","GROUPS","Text","small","description","bold","action","light","maximumFractionDigits","Button","disabled","large","onPress","L10N","ACTION_RESERVE","summary","headline","level","tiny","getLabelTaxes","exports","displayName","propTypes","PropTypes","arrayOf","shape","bool","ages","number","type","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getLabelTaxes } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT, ICON } from '../helpers';\n\nconst Footer = ({\n cart = [],\n dataSource: { taxesType } = {},\n extras,\n login,\n multiRoom,\n occupation = [],\n onSubmit = () => {},\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => {\n const items = cart.filter((item) => item !== undefined);\n\n Event.publish(EVENT.MODAL_VISIBLE, { visible: items.length > 0 });\n }, [cart]);\n\n useEffect(() => !extras && setBusy(false), [extras]);\n\n useEffect(() => !login && setBusy(false), [login]);\n\n const items = cart.filter((item) => item !== undefined);\n const totalPrice = cart.reduce((value, { price = 0 } = {}) => value + price, 0);\n const valid = items.length === occupation.length;\n\n const handleSubmit = () => {\n setBusy(true);\n onSubmit();\n };\n\n return (\n <View className={styles(style.footer, items.length && style.visible)}>\n <View>\n <View className={style.wrapper} wide>\n {items.map(({ amount = 1, id, name: boardName, price, roomName } = {}, index) => {\n const guests = occupation[index].reduce((total, { amount } = {}) => total + amount, 0);\n\n return (\n <View row key={`${id}${index}`} className={style.cartItem}>\n {multiRoom && (\n <View row className={style.room}>\n <Icon value={guests === 1 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS} />\n <Text small>{guests}</Text>\n </View>\n )}\n\n <View className={style.description}>\n <Text bold action={!isMobile} small={isMobile} className={style.description}>\n {`${roomName} `}\n {multiRoom && <Text light small>{` | ${boardName}`}</Text>}\n </Text>\n {!multiRoom && (\n <Text light small>\n {boardName}\n </Text>\n )}\n </View>\n\n <Text bold {...(multiRoom ? { action: !isMobile, small: isMobile } : { action: isMobile })}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: amount * price })}\n </Text>\n\n {!multiRoom && (\n <Button small busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n )}\n </View>\n );\n })}\n </View>\n </View>\n\n {multiRoom && (\n <View row className={[style.wrapper, style.summary]}>\n <View className={style.totalPrice}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: totalPrice })}\n </Text>\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Rates:Footer';\n\nFooter.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n dataSource: PropTypes.shape({}),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n login: PropTypes.bool,\n multiRoom: PropTypes.bool,\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n onSubmit: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":"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"}
|
|
@@ -110,8 +110,9 @@ const Header = _ref => {
|
|
|
110
110
|
}, others, {
|
|
111
111
|
className: [style.tag, style.highlight]
|
|
112
112
|
})), hotels.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
113
|
-
|
|
114
|
-
wide: isMobile
|
|
113
|
+
secondary: true,
|
|
114
|
+
wide: isMobile,
|
|
115
|
+
onPress: () => onMapView(hotels)
|
|
115
116
|
}, translate(_Rates.L10N.ACTION_SHOW_ON_MAP)), showStrictSearch && /*#__PURE__*/_react.default.createElement(InputFilter, {
|
|
116
117
|
checked: strictSearch,
|
|
117
118
|
name: "strictSearch",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.Header.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Rates","style","_interopRequireWildcard","_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","Header","_ref","children","clubDiscount","dataSource","clubConditions","hotels","items","features","showClubDiscount","multiRoom","showStrictSearch","strictSearch","onClubDiscount","onMapView","onSelect","onStrictSearch","others","isMobile","useDevice","translate","useLocale","value","club","banner","discount","name","finder","promocode","session","urlParams","idoffers","roomTypeId","useStore","contentBackground","Theme","expandClubDiscount","undefined","hasItems","filters","InputFilter","_ref2","checked","text","onChange","createElement","View","row","className","tag","filter","InputOption","Text","action","Switch","switch","styles","header","blur","sticky","backgroundColor","opacity","Hotelverse","highlight","Button","onPress","wide","L10N","ACTION_SHOW_ON_MAP","LABEL_SHOW_FILTERED_RESULTS","LABEL_SHOW_ONLY_PROMOS","LABEL_SHOW_ONLY_DEALS","LABEL_SHOW_ONLY_ROOM","LABEL_APPLY_DISCOUNTS","Tooltip","pressable","Template","Fragment","bold","LABEL_CLUB_MEMBERS_EXCLUSIVE","small","LABEL_CLUB_CONDITIONS","conditions","Action","href","inline","ACTION_CLUB_VIEW_CONDITIONS","LABEL_CLUB_BENEFITS","visible","tooltip","Icon","ICON","INFO","exports","displayName","propTypes","PropTypes","node","bool","shape","func"],"sources":["../../../src/components/Rates/Rates.Header.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, InputOption, styles, Switch, Text, Theme, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Hotelverse } from './components';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON, opacity } from '../helpers';\n\nconst Header = ({\n children,\n clubDiscount = false,\n dataSource: { clubConditions, hotels = [], items = [], ...dataSource } = {},\n features: { showClubDiscount = false } = {},\n multiRoom,\n showStrictSearch,\n strictSearch = true,\n onClubDiscount = () => {},\n onMapView = () => {},\n onSelect = () => {},\n onStrictSearch = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n club: { banner, discount, name } = {},\n finder: { promocode } = {},\n session,\n urlParams: { idoffers, roomTypeId },\n } = {},\n } = useStore();\n\n const { contentBackground } = Theme.get();\n const expandClubDiscount = clubConditions !== undefined || showClubDiscount || clubDiscount === false || false;\n const hasItems = items.length > 0;\n const filters = [promocode, idoffers, roomTypeId];\n\n // eslint-disable-next-line react/prop-types\n const InputFilter = ({ checked, children, name, text, onChange }) => (\n <View row className={[style.tag, style.filter]}>\n {!isMobile && <InputOption {...{ checked, name, onChange }} />}\n <View row className={style.text}>\n <Text action>{text}</Text>\n {children}\n </View>\n {isMobile && <Switch {...{ checked, name, onChange }} className={style.switch} />}\n </View>\n );\n\n return (\n <View\n row\n className={styles(style.header, style.blur, multiRoom && !isMobile && style.sticky, others.className)}\n style={{ backgroundColor: opacity(contentBackground, 0.66) }}\n >\n {children}\n\n {hasItems && (\n <Hotelverse\n {...{ ...dataSource, items, multiRoom, onSelect, ...others }}\n className={[style.tag, style.highlight]}\n />\n )}\n\n {hotels.length > 0 && (\n <Button onPress={() => onMapView(true)} wide={isMobile}>\n {translate(L10N.ACTION_SHOW_ON_MAP)}\n </Button>\n )}\n\n {showStrictSearch && (\n <InputFilter\n checked={strictSearch}\n name=\"strictSearch\"\n text={translate(\n filters.filter((filter) => !!filter).length > 1\n ? L10N.LABEL_SHOW_FILTERED_RESULTS\n : promocode\n ? L10N.LABEL_SHOW_ONLY_PROMOS\n : idoffers\n ? L10N.LABEL_SHOW_ONLY_DEALS\n : L10N.LABEL_SHOW_ONLY_ROOM,\n )}\n onChange={onStrictSearch}\n />\n )}\n\n {discount !== undefined && !session && hasItems && (\n <InputFilter\n checked={clubDiscount}\n name=\"clubDiscount\"\n text={translate(L10N.LABEL_APPLY_DISCOUNTS)}\n onChange={onClubDiscount}\n >\n {!banner && (\n <Tooltip\n pressable\n Template={() => (\n <>\n <Text bold action>\n {translate(L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE, { club: name })}\n </Text>\n\n {clubConditions ? (\n <Text small>\n {translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action href={clubConditions} inline target=\"_blank\" className={style.action}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })}\n </Text>\n ) : (\n <Text small>{translate(L10N.LABEL_CLUB_BENEFITS)}</Text>\n )}\n </>\n )}\n visible={expandClubDiscount}\n className={style.tooltip}\n >\n <Icon value={ICON.INFO} />\n </Tooltip>\n )}\n </InputFilter>\n )}\n </View>\n );\n};\n\nHeader.displayName = 'Mirai:Core:Rates:Header';\n\nHeader.propTypes = {\n children: PropTypes.node,\n clubDiscount: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n features: PropTypes.shape({}),\n multiRoom: PropTypes.bool,\n showStrictSearch: PropTypes.bool,\n strictSearch: PropTypes.bool,\n onClubDiscount: PropTypes.func,\n onMapView: PropTypes.func,\n onStrictSearch: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Header };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rates.Header.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Rates","style","_interopRequireWildcard","_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","Header","_ref","children","clubDiscount","dataSource","clubConditions","hotels","items","features","showClubDiscount","multiRoom","showStrictSearch","strictSearch","onClubDiscount","onMapView","onSelect","onStrictSearch","others","isMobile","useDevice","translate","useLocale","value","club","banner","discount","name","finder","promocode","session","urlParams","idoffers","roomTypeId","useStore","contentBackground","Theme","expandClubDiscount","undefined","hasItems","filters","InputFilter","_ref2","checked","text","onChange","createElement","View","row","className","tag","filter","InputOption","Text","action","Switch","switch","styles","header","blur","sticky","backgroundColor","opacity","Hotelverse","highlight","Button","secondary","wide","onPress","L10N","ACTION_SHOW_ON_MAP","LABEL_SHOW_FILTERED_RESULTS","LABEL_SHOW_ONLY_PROMOS","LABEL_SHOW_ONLY_DEALS","LABEL_SHOW_ONLY_ROOM","LABEL_APPLY_DISCOUNTS","Tooltip","pressable","Template","Fragment","bold","LABEL_CLUB_MEMBERS_EXCLUSIVE","small","LABEL_CLUB_CONDITIONS","conditions","Action","href","inline","ACTION_CLUB_VIEW_CONDITIONS","LABEL_CLUB_BENEFITS","visible","tooltip","Icon","ICON","INFO","exports","displayName","propTypes","PropTypes","node","bool","shape","func"],"sources":["../../../src/components/Rates/Rates.Header.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, InputOption, styles, Switch, Text, Theme, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Hotelverse } from './components';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON, opacity } from '../helpers';\n\nconst Header = ({\n children,\n clubDiscount = false,\n dataSource: { clubConditions, hotels = [], items = [], ...dataSource } = {},\n features: { showClubDiscount = false } = {},\n multiRoom,\n showStrictSearch,\n strictSearch = true,\n onClubDiscount = () => {},\n onMapView = () => {},\n onSelect = () => {},\n onStrictSearch = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n club: { banner, discount, name } = {},\n finder: { promocode } = {},\n session,\n urlParams: { idoffers, roomTypeId },\n } = {},\n } = useStore();\n\n const { contentBackground } = Theme.get();\n const expandClubDiscount = clubConditions !== undefined || showClubDiscount || clubDiscount === false || false;\n const hasItems = items.length > 0;\n const filters = [promocode, idoffers, roomTypeId];\n\n // eslint-disable-next-line react/prop-types\n const InputFilter = ({ checked, children, name, text, onChange }) => (\n <View row className={[style.tag, style.filter]}>\n {!isMobile && <InputOption {...{ checked, name, onChange }} />}\n <View row className={style.text}>\n <Text action>{text}</Text>\n {children}\n </View>\n {isMobile && <Switch {...{ checked, name, onChange }} className={style.switch} />}\n </View>\n );\n\n return (\n <View\n row\n className={styles(style.header, style.blur, multiRoom && !isMobile && style.sticky, others.className)}\n style={{ backgroundColor: opacity(contentBackground, 0.66) }}\n >\n {children}\n\n {hasItems && (\n <Hotelverse\n {...{ ...dataSource, items, multiRoom, onSelect, ...others }}\n className={[style.tag, style.highlight]}\n />\n )}\n\n {hotels.length > 0 && (\n <Button secondary wide={isMobile} onPress={() => onMapView(hotels)}>\n {translate(L10N.ACTION_SHOW_ON_MAP)}\n </Button>\n )}\n\n {showStrictSearch && (\n <InputFilter\n checked={strictSearch}\n name=\"strictSearch\"\n text={translate(\n filters.filter((filter) => !!filter).length > 1\n ? L10N.LABEL_SHOW_FILTERED_RESULTS\n : promocode\n ? L10N.LABEL_SHOW_ONLY_PROMOS\n : idoffers\n ? L10N.LABEL_SHOW_ONLY_DEALS\n : L10N.LABEL_SHOW_ONLY_ROOM,\n )}\n onChange={onStrictSearch}\n />\n )}\n\n {discount !== undefined && !session && hasItems && (\n <InputFilter\n checked={clubDiscount}\n name=\"clubDiscount\"\n text={translate(L10N.LABEL_APPLY_DISCOUNTS)}\n onChange={onClubDiscount}\n >\n {!banner && (\n <Tooltip\n pressable\n Template={() => (\n <>\n <Text bold action>\n {translate(L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE, { club: name })}\n </Text>\n\n {clubConditions ? (\n <Text small>\n {translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action href={clubConditions} inline target=\"_blank\" className={style.action}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })}\n </Text>\n ) : (\n <Text small>{translate(L10N.LABEL_CLUB_BENEFITS)}</Text>\n )}\n </>\n )}\n visible={expandClubDiscount}\n className={style.tooltip}\n >\n <Icon value={ICON.INFO} />\n </Tooltip>\n )}\n </InputFilter>\n )}\n </View>\n );\n};\n\nHeader.displayName = 'Mirai:Core:Rates:Header';\n\nHeader.propTypes = {\n children: PropTypes.node,\n clubDiscount: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n features: PropTypes.shape({}),\n multiRoom: PropTypes.bool,\n showStrictSearch: PropTypes.bool,\n strictSearch: PropTypes.bool,\n onClubDiscount: PropTypes.func,\n onMapView: PropTypes.func,\n onStrictSearch: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Header };\n"],"mappings":"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"}
|
|
@@ -34,7 +34,8 @@ const Unavailability = _ref => {
|
|
|
34
34
|
description,
|
|
35
35
|
occupation: occupationSuggestions = []
|
|
36
36
|
} = {},
|
|
37
|
-
taxesType
|
|
37
|
+
taxesType,
|
|
38
|
+
onMapView
|
|
38
39
|
} = _ref;
|
|
39
40
|
const {
|
|
40
41
|
isMobile,
|
|
@@ -259,12 +260,19 @@ const Unavailability = _ref => {
|
|
|
259
260
|
taxes,
|
|
260
261
|
onPress: () => handleOccupation(rooms)
|
|
261
262
|
})));
|
|
262
|
-
})), hasSuggestions && hotels.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.
|
|
263
|
+
})), hasSuggestions && hotels.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
264
|
+
row: !isMobile,
|
|
265
|
+
className: style.spaceBetween
|
|
266
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
263
267
|
bold: true,
|
|
264
268
|
headline: true
|
|
265
269
|
}, translate(_Rates2.L10N.LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS, {
|
|
266
270
|
value: hotels.length
|
|
267
|
-
})), /*#__PURE__*/_react.default.createElement(
|
|
271
|
+
})), /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
272
|
+
secondary: true,
|
|
273
|
+
wide: isMobile,
|
|
274
|
+
onPress: () => onMapView(hotels)
|
|
275
|
+
}, translate(_Rates2.L10N.ACTION_SHOW_ON_MAP))), /*#__PURE__*/_react.default.createElement(_shared__.Cards, null, hotels.map((item, index) => /*#__PURE__*/_react.default.createElement(_components.CardHotel, _extends({
|
|
268
276
|
key: "".concat(item.index || index, ":").concat(width)
|
|
269
277
|
}, item, {
|
|
270
278
|
nights: nights
|
|
@@ -284,6 +292,7 @@ Unavailability.propTypes = {
|
|
|
284
292
|
calendar: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
285
293
|
occupation: _propTypes.default.arrayOf(_propTypes.default.shape({}))
|
|
286
294
|
}),
|
|
287
|
-
taxesType: _propTypes.default.number
|
|
295
|
+
taxesType: _propTypes.default.number,
|
|
296
|
+
onMapView: _propTypes.default.func
|
|
288
297
|
};
|
|
289
298
|
//# sourceMappingURL=Rates.Unavailability.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_shared__","_helpers2","_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","Unavailability","_ref","calendar","hotel","email","phone","hotels","nights","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","currency","finder","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","rooms","undefined","map","handleFinder","isCalendar","focus","renderPrice","price","onPress","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","light","getLabelTaxes","Button","ACTION_VIEW_MORE","renderContactInfo","action","contactInfo","LABEL_CONTACT_INFO","Action","inline","href","concat","place","id","hasSuggestions","unavailability","banner","Icon","accent","ICON","CALENDAR_BUSY","PERSON_OFF","wide","texts","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","Cards","taxes","others","index","parseDate","Card","card","dateFormat","DATE_FORMAT","anchorDates","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","getAccommodationLabel","plural","type","distribution","name","roomIndex","room","_item$ages","item","itemIndex","getOccupationLabel","ages","OCCUPATION_TYPE","CHILD","LABEL_YEARS_OLD","amount","sort","join","LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS","CardHotel","exports","displayName","propTypes","PropTypes","shape","string","arrayOf","number"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, parseDate, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { Card, Cards } from '../__shared__';\nimport { EVENT, OCCUPATION_TYPE } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotel: { email, phone } = {},\n hotels = [],\n nights = 1,\n suggestions: { calendar: calendarSuggestions = [], description, occupation: occupationSuggestions = [] } = {},\n taxesType,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = store;\n\n const handleCalendar = (from, to) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, calendar: [from, to] } });\n };\n\n const handleOccupation = (rooms = []) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, occupation: rooms.map(({ occupation } = {}) => occupation) } });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, isCalendar ? { calendar, focus: 'calendar' } : { focus: 'occupation' });\n };\n\n const renderPrice = ({ price, onPress } = {}) => (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n\n const renderContactInfo = () => (\n <Text action={!isMobile} small={isMobile} className={style.contactInfo}>\n {translate(L10N.LABEL_CONTACT_INFO, {\n email: (\n <Action inline href={`mailto:${email}`} small={isMobile} target=\"_blank\" className={style.action}>\n {email}\n </Action>\n ),\n phone: (\n <Action inline href={`tel:${phone}`} small={isMobile} target=\"_blank\" className={style.action}>\n {phone}\n </Action>\n ),\n })}\n </Text>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const hasSuggestions = calendarSuggestions.length > 0 || occupationSuggestions.length > 0;\n const isCalendar = calendarSuggestions.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon accent value={isCalendar ? ICON.CALENDAR_BUSY : ICON.PERSON_OFF} />\n <View wide className={style.texts}>\n <Text accent bold headline>\n {isCalendar\n ? description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)\n : translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)}\n </Text>\n {!isMobile && renderContactInfo()}\n </View>\n <Button wide={isMobile} onPress={handleFinder}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n {isMobile && renderContactInfo()}\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {isCalendar && (\n <Cards>\n {calendarSuggestions.map(({ price = 0, taxes, ...others } = {}, index) => {\n const from = parseDate(others?.from);\n const to = parseDate(others?.to);\n\n return (\n <Card key={`calendar:${index}`}>\n <View className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n </Card>\n );\n })}\n </Cards>\n )}\n\n {occupationSuggestions.length > 0 && (\n <Cards>\n {occupationSuggestions.map(({ rooms = [], price = 0, taxes }, index) => (\n <Card key={`rooms:${index}`}>\n <View className={style.card}>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${rooms.length} ${getAccommodationLabel(\n { plural: rooms.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {rooms.map(({ name, occupation = [] } = {}, roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>\n {name}\n </Text>\n {occupation.map((item = {}, itemIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${itemIndex}`} light small>\n {`${getOccupationLabel({ ...item, ages: [] }, translate)} ${\n item.type === OCCUPATION_TYPE.CHILD\n ? `(${translate(L10N.LABEL_YEARS_OLD, { amount: item.ages?.sort().join('-') })})`\n : ''\n }`}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(rooms) })}\n </View>\n </Card>\n ))}\n </Cards>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <Text bold headline>\n {translate(L10N.LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS, { value: hotels.length })}\n </Text>\n )}\n <Cards>\n {hotels.map((item, index) => (\n <CardHotel key={`${item.index || index}:${width}`} {...item} nights={nights} />\n ))}\n </Cards>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotel: PropTypes.shape({\n email: PropTypes.string,\n phone: PropTypes.string,\n }),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n nights: PropTypes.number,\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n};\n\nexport { Unavailability };\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,WAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,KAAA,GAAAL,uBAAA,CAAAN,OAAA;AACA,IAAAY,SAAA,GAAAZ,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AAAoD,SAAAc,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,SAAAT,wBAAAS,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,SAAAnB,uBAAA+B,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;AAGpD,MAAMK,cAAc,GAAGC,IAAA,IAOjB;EAAA,IAPkB;IACtBC,QAAQ,GAAG,CAAC,CAAC;IACbC,KAAK,EAAE;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAG,CAAC,CAAC;IAC5BC,MAAM,GAAG,EAAE;IACXC,MAAM,GAAG,CAAC;IACVC,WAAW,EAAE;MAAEN,QAAQ,EAAEO,mBAAmB,GAAG,EAAE;MAAEC,WAAW;MAAEC,UAAU,EAAEC,qBAAqB,GAAG;IAAG,CAAC,GAAG,CAAC,CAAC;IAC7GC;EACF,CAAC,GAAAZ,IAAA;EACC,MAAM;IAAEa,QAAQ;IAAEC;EAAM,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACvC,MAAM;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACzC,MAAM;IAAEC,KAAK,EAAEC;EAAM,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEnC,IAAAC,gBAAS,EAAC,MAAM;IACdC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,MAAM,EAAE;MAAEzB;IAAS,CAAC,CAAC;IACzC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM;IAAE0B,QAAQ;IAAEC,MAAM,GAAG,CAAC,CAAC;IAAE1B,KAAK,EAAE;MAAE2B,iBAAiB,EAAEC,sBAAsB;MAAEC,QAAQ,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGX,KAAK;EAEjH,MAAMY,cAAc,GAAGA,CAACC,IAAI,EAAEC,EAAE,KAAK;IACnCX,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,MAAM,EAAE;MAAEE,MAAM,EAAE;QAAE,GAAGA,MAAM;QAAE3B,QAAQ,EAAE,CAACgC,IAAI,EAAEC,EAAE;MAAE;IAAE,CAAC,CAAC;EAC9E,CAAC;EAED,MAAMC,gBAAgB,GAAG,SAAAA,CAAA,EAAgB;IAAA,IAAfC,KAAK,GAAA1C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA2C,SAAA,GAAA3C,SAAA,MAAG,EAAE;IAClC6B,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,MAAM,EAAE;MAAEE,MAAM,EAAE;QAAE,GAAGA,MAAM;QAAElB,UAAU,EAAE0B,KAAK,CAACE,GAAG,CAAC;UAAA,IAAC;YAAE5B;UAAW,CAAC,GAAAhB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA2C,SAAA,GAAA3C,SAAA,MAAG,CAAC,CAAC;UAAA,OAAKgB,UAAU;QAAA;MAAE;IAAE,CAAC,CAAC;EACpH,CAAC;EAED,MAAM6B,YAAY,GAAGA,CAAA,KAAM;IACzBhB,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,MAAM,EAAEc,UAAU,GAAG;MAAEvC,QAAQ;MAAEwC,KAAK,EAAE;IAAW,CAAC,GAAG;MAAEA,KAAK,EAAE;IAAa,CAAC,CAAC;EACrG,CAAC;EAED,MAAMC,WAAW,GAAG,SAAAA,CAAA;IAAA,IAAC;MAAEC,KAAK;MAAEC;IAAQ,CAAC,GAAAlD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA2C,SAAA,GAAA3C,SAAA,MAAG,CAAC,CAAC;IAAA,oBAC1CnC,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA0F,IAAI;MAACC,GAAG;MAACC,SAAS,EAAEnF,KAAK,CAAC8E;IAAM,gBAC/BpF,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA0F,IAAI,qBACHvF,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA6F,IAAI;MAACC,KAAK;IAAA,GAAEjC,SAAS,CAACkC,YAAI,CAACC,UAAU,CAAQ,CAAC,eAC/C7F,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA6F,IAAI;MAACI,IAAI;MAACC,QAAQ;MAACC,KAAK,EAAE1C,QAAQ,IAAI8B,KAAK,IAAI,KAAK,GAAG,CAAC,GAAG;IAAE,GAC3D,IAAAa,sBAAc,EAAC;MAAE7B,QAAQ;MAAEX,MAAM;MAAEyC,qBAAqB,EAAE,CAAC;MAAEtC,KAAK,EAAEwB;IAAM,CAAC,CACxE,CAAC,EACN,CAAC,CAAC/B,SAAS,iBACVrD,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA6F,IAAI;MAACS,KAAK;MAACR,KAAK;IAAA,GACdjC,SAAS,CAAC,IAAA0C,sBAAa,EAAC/C,SAAS,CAAC,CAC/B,CAEJ,CAAC,eAEPrD,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAAwG,MAAM;MAAChB,OAAO,EAAEA;IAAQ,GAAE3B,SAAS,CAACkC,YAAI,CAACU,gBAAgB,CAAU,CAChE,CAAC;EAAA,CACR;EAED,MAAMC,iBAAiB,GAAGA,CAAA,kBACxBvG,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA6F,IAAI;IAACc,MAAM,EAAE,CAAClD,QAAS;IAACqC,KAAK,EAAErC,QAAS;IAACmC,SAAS,EAAEnF,KAAK,CAACmG;EAAY,GACpE/C,SAAS,CAACkC,YAAI,CAACc,kBAAkB,EAAE;IAClC9D,KAAK,eACH5C,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA8G,MAAM;MAACC,MAAM;MAACC,IAAI,YAAAC,MAAA,CAAYlE,KAAK,CAAG;MAAC+C,KAAK,EAAErC,QAAS;MAACpB,MAAM,EAAC,QAAQ;MAACuD,SAAS,EAAEnF,KAAK,CAACkG;IAAO,GAC9F5D,KACK,CACT;IACDC,KAAK,eACH7C,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA8G,MAAM;MAACC,MAAM;MAACC,IAAI,SAAAC,MAAA,CAASjE,KAAK,CAAG;MAAC8C,KAAK,EAAErC,QAAS;MAACpB,MAAM,EAAC,QAAQ;MAACuD,SAAS,EAAEnF,KAAK,CAACkG;IAAO,GAC3F3D,KACK;EAEZ,CAAC,CACG,CACP;EAED,MAAM;IAAEkE,KAAK,EAAE;MAAEC,EAAE,EAAE,CAACA,EAAE,CAAC,GAAG;IAAG,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG3C,MAAM;EAChD,MAAM;IAAEC,iBAAiB,GAAGC;EAAuB,CAAC,GAAGC,QAAQ,CAACwC,EAAE,CAAC,IAAI,CAAC,CAAC;EAEzE,MAAMC,cAAc,GAAGhE,mBAAmB,CAACb,MAAM,GAAG,CAAC,IAAIgB,qBAAqB,CAAChB,MAAM,GAAG,CAAC;EACzF,MAAM6C,UAAU,GAAGhC,mBAAmB,CAACb,MAAM,GAAG,CAAC;EAEjD,oBACEpC,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA0F,IAAI;IAACE,SAAS,EAAEnF,KAAK,CAAC4G;EAAe,gBACpClH,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA0F,IAAI;IAACC,GAAG,EAAE,CAAClC,QAAS;IAACmC,SAAS,EAAEnF,KAAK,CAAC6G;EAAO,gBAC5CnH,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAAuH,IAAI;IAACC,MAAM;IAACzD,KAAK,EAAEqB,UAAU,GAAGqC,cAAI,CAACC,aAAa,GAAGD,cAAI,CAACE;EAAW,CAAE,CAAC,eACzExH,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA0F,IAAI;IAACkC,IAAI;IAAChC,SAAS,EAAEnF,KAAK,CAACoH;EAAM,gBAChC1H,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA6F,IAAI;IAAC2B,MAAM;IAACvB,IAAI;IAACC,QAAQ;EAAA,GACvBd,UAAU,GACP/B,WAAW,IAAIQ,SAAS,CAACkC,YAAI,CAAC+B,8BAA8B,CAAC,GAC7DjE,SAAS,CAACkC,YAAI,CAACgC,gCAAgC,CAC/C,CAAC,EACN,CAACtE,QAAQ,IAAIiD,iBAAiB,CAAC,CAC5B,CAAC,eACPvG,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAAwG,MAAM;IAACoB,IAAI,EAAEnE,QAAS;IAAC+B,OAAO,EAAEL;EAAa,GAC3CtB,SAAS,CAACkC,YAAI,CAACiC,oBAAoB,CAC9B,CAAC,EACRvE,QAAQ,IAAIiD,iBAAiB,CAAC,CAC3B,CAAC,EAENU,cAAc,iBACbjH,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA6F,IAAI;IAACI,IAAI;IAACC,QAAQ;EAAA,GAChBrC,SAAS,CAACkC,YAAI,CAACkC,4BAA4B,CACxC,CACP,EAEA7C,UAAU,iBACTjF,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAAC/E,SAAA,CAAAwH,KAAK,QACH9E,mBAAmB,CAAC8B,GAAG,CAAC,YAAiD;IAAA,IAAhD;MAAEK,KAAK,GAAG,CAAC;MAAE4C,KAAK;MAAE,GAAGC;IAAO,CAAC,GAAA9F,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA2C,SAAA,GAAA3C,SAAA,MAAG,CAAC,CAAC;IAAA,IAAE+F,KAAK,GAAA/F,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAA2C,SAAA;IACnE,MAAMJ,IAAI,GAAG,IAAAyD,iBAAS,EAACF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEvD,IAAI,CAAC;IACpC,MAAMC,EAAE,GAAG,IAAAwD,iBAAS,EAACF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEtD,EAAE,CAAC;IAEhC,oBACE3E,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAAC/E,SAAA,CAAA6H,IAAI;MAAC9F,GAAG,cAAAwE,MAAA,CAAcoB,KAAK;IAAG,gBAC7BlI,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA0F,IAAI;MAACE,SAAS,EAAEnF,KAAK,CAAC+H;IAAK,gBAC1BrI,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA0F,IAAI,qBACHvF,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA0F,IAAI;MAACC,GAAG;IAAA,gBACPxF,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA6F,IAAI;MAACI,IAAI;MAACC,QAAQ,EAAE,CAACzC,QAAS;MAAC0C,KAAK,EAAE;IAAE,GACtC,IAAAsC,kBAAU,EAAC5D,IAAI,EAAE;MAAEjB,MAAM;MAAE,GAAG8E;IAAY,CAAC,CACxC,CAAC,eACPvI,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA6F,IAAI;MAACD,SAAS,EAAEnF,KAAK,CAACkI;IAAY,GAAC,QAAO,CAAC,eAC5CxI,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA6F,IAAI;MAACI,IAAI;MAACC,QAAQ,EAAE,CAACzC,QAAS;MAAC0C,KAAK,EAAE;IAAE,GACtC,IAAAsC,kBAAU,EAAC3D,EAAE,IAAIO,KAAK,EAAE;MAAEzB,MAAM;MAAE,GAAG8E;IAAY,CAAC,CAC/C,CACF,CAAC,eACPvI,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA6F,IAAI;MAACc,MAAM,EAAE,CAAClD,QAAS;MAACqC,KAAK,EAAErC;IAAS,MAAAwD,MAAA,CAAK,IAAA2B,gBAAQ,EAAC/D,IAAI,EAAEC,EAAE,CAAC,CAAC+D,IAAI,OAAA5B,MAAA,CAAIpD,SAAS,CAChFkC,YAAI,CAAC+C,YACP,CAAC,CAAS,CACN,CAAC,EAENxD,WAAW,CAAC;MAAEC,KAAK;MAAE4C,KAAK;MAAE3C,OAAO,EAAEA,CAAA,KAAMZ,cAAc,CAACC,IAAI,EAAEC,EAAE;IAAE,CAAC,CAClE,CACF,CAAC;EAEX,CAAC,CACI,CACR,EAEAvB,qBAAqB,CAAChB,MAAM,GAAG,CAAC,iBAC/BpC,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAAC/E,SAAA,CAAAwH,KAAK,QACH3E,qBAAqB,CAAC2B,GAAG,CAAC,CAAA6D,KAAA,EAAmCV,KAAK;IAAA,IAAvC;MAAErD,KAAK,GAAG,EAAE;MAAEO,KAAK,GAAG,CAAC;MAAE4C;IAAM,CAAC,GAAAY,KAAA;IAAA,oBAC1D5I,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAAC/E,SAAA,CAAA6H,IAAI;MAAC9F,GAAG,WAAAwE,MAAA,CAAWoB,KAAK;IAAG,gBAC1BlI,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA0F,IAAI;MAACE,SAAS,EAAEnF,KAAK,CAAC+H;IAAK,gBAC1BrI,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA6F,IAAI;MAACI,IAAI;MAAC+C,UAAU;MAAC9C,QAAQ,EAAE,CAACzC,QAAS;MAAC0C,KAAK,EAAE;IAAE,MAAAc,MAAA,CAC9CjC,KAAK,CAACzC,MAAM,OAAA0E,MAAA,CAAI,IAAAgC,+BAAqB,EACvC;MAAEC,MAAM,EAAElE,KAAK,CAACzC,MAAM,GAAG,CAAC;MAAE4G,IAAI,EAAE1E;IAAkB,CAAC,EACrDZ,SACF,CAAC,CACG,CAAC,eAEP1D,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA0F,IAAI;MAACE,SAAS,EAAEnF,KAAK,CAAC2I;IAAa,GACjCpE,KAAK,CAACE,GAAG,CAAC;MAAA,IAAC;QAAEmE,IAAI;QAAE/F,UAAU,GAAG;MAAG,CAAC,GAAAhB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA2C,SAAA,GAAA3C,SAAA,MAAG,CAAC,CAAC;MAAA,IAAEgH,SAAS,GAAAhH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAA2C,SAAA;MAAA,oBACnD9E,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA0F,IAAI;QAACjD,GAAG,gBAAAwE,MAAA,CAAgBoB,KAAK,YAAApB,MAAA,CAASqC,SAAS,CAAG;QAAC1D,SAAS,EAAEnF,KAAK,CAAC8I;MAAK,gBACxEpJ,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA6F,IAAI;QAACc,MAAM;QAACqC,UAAU;MAAA,GACpBK,IACG,CAAC,EACN/F,UAAU,CAAC4B,GAAG,CAAC;QAAA,IAAAsE,UAAA;QAAA,IAACC,IAAI,GAAAnH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA2C,SAAA,GAAA3C,SAAA,MAAG,CAAC,CAAC;QAAA,IAAEoH,SAAS,GAAApH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAA2C,SAAA;QAAA,oBACnC9E,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA6F,IAAI;UAACpD,GAAG,gBAAAwE,MAAA,CAAgBoB,KAAK,YAAApB,MAAA,CAASqC,SAAS,OAAArC,MAAA,CAAIyC,SAAS,CAAG;UAACpD,KAAK;UAACR,KAAK;QAAA,MAAAmB,MAAA,CACtE,IAAA0C,4BAAkB,EAAC;UAAE,GAAGF,IAAI;UAAEG,IAAI,EAAE;QAAG,CAAC,EAAE/F,SAAS,CAAC,OAAAoD,MAAA,CACtDwC,IAAI,CAACN,IAAI,KAAKU,yBAAe,CAACC,KAAK,OAAA7C,MAAA,CAC3BpD,SAAS,CAACkC,YAAI,CAACgE,eAAe,EAAE;UAAEC,MAAM,GAAAR,UAAA,GAAEC,IAAI,CAACG,IAAI,cAAAJ,UAAA,uBAATA,UAAA,CAAWS,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG;QAAE,CAAC,CAAC,SAC5E,EAAE,CAEJ,CAAC;MAAA,CACR,CACG,CAAC;IAAA,CACR,CACG,CAAC,EAEN5E,WAAW,CAAC;MAAEC,KAAK;MAAE4C,KAAK;MAAE3C,OAAO,EAAEA,CAAA,KAAMT,gBAAgB,CAACC,KAAK;IAAE,CAAC,CACjE,CACF,CAAC;EAAA,CACR,CACI,CACR,EAEAoC,cAAc,IAAInE,MAAM,CAACV,MAAM,GAAG,CAAC,iBAClCpC,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA6F,IAAI;IAACI,IAAI;IAACC,QAAQ;EAAA,GAChBrC,SAAS,CAACkC,YAAI,CAACoE,mCAAmC,EAAE;IAAEpG,KAAK,EAAEd,MAAM,CAACV;EAAO,CAAC,CACzE,CACP,eACDpC,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAAC/E,SAAA,CAAAwH,KAAK,QACHjF,MAAM,CAACiC,GAAG,CAAC,CAACuE,IAAI,EAAEpB,KAAK,kBACtBlI,MAAA,CAAAe,OAAA,CAAAuE,aAAA,CAACpF,WAAA,CAAA+J,SAAS,EAAAlI,QAAA;IAACO,GAAG,KAAAwE,MAAA,CAAKwC,IAAI,CAACpB,KAAK,IAAIA,KAAK,OAAApB,MAAA,CAAIvD,KAAK;EAAG,GAAK+F,IAAI;IAAEvG,MAAM,EAAEA;EAAO,EAAE,CAC/E,CACI,CACH,CAAC;AAEX,CAAC;AAACmH,OAAA,CAAA1H,cAAA,GAAAA,cAAA;AAEFA,cAAc,CAAC2H,WAAW,GAAG,iCAAiC;AAE9D3H,cAAc,CAAC4H,SAAS,GAAG;EACzB1H,QAAQ,EAAE2H,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7B3H,KAAK,EAAE0H,kBAAS,CAACC,KAAK,CAAC;IACrB1H,KAAK,EAAEyH,kBAAS,CAACE,MAAM;IACvB1H,KAAK,EAAEwH,kBAAS,CAACE;EACnB,CAAC,CAAC;EACFzH,MAAM,EAAEuH,kBAAS,CAACG,OAAO,CAACH,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9CvH,MAAM,EAAEsH,kBAAS,CAACI,MAAM;EACxBzH,WAAW,EAAEqH,kBAAS,CAACC,KAAK,CAAC;IAC3B5H,QAAQ,EAAE2H,kBAAS,CAACG,OAAO,CAACH,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChDnH,UAAU,EAAEkH,kBAAS,CAACG,OAAO,CAACH,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EACnD,CAAC,CAAC;EACFjH,SAAS,EAAEgH,kBAAS,CAACI;AACvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_shared__","_helpers2","_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","Unavailability","_ref","calendar","hotel","email","phone","hotels","nights","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","onMapView","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","currency","finder","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","rooms","undefined","map","handleFinder","isCalendar","focus","renderPrice","price","onPress","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","light","getLabelTaxes","Button","ACTION_VIEW_MORE","renderContactInfo","action","contactInfo","LABEL_CONTACT_INFO","Action","inline","href","concat","place","id","hasSuggestions","unavailability","banner","Icon","accent","ICON","CALENDAR_BUSY","PERSON_OFF","wide","texts","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","Cards","taxes","others","index","parseDate","Card","card","dateFormat","DATE_FORMAT","anchorDates","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","getAccommodationLabel","plural","type","distribution","name","roomIndex","room","_item$ages","item","itemIndex","getOccupationLabel","ages","OCCUPATION_TYPE","CHILD","LABEL_YEARS_OLD","amount","sort","join","spaceBetween","LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS","secondary","ACTION_SHOW_ON_MAP","CardHotel","exports","displayName","propTypes","PropTypes","shape","string","arrayOf","number","func"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, parseDate, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { Card, Cards } from '../__shared__';\nimport { EVENT, OCCUPATION_TYPE } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotel: { email, phone } = {},\n hotels = [],\n nights = 1,\n suggestions: { calendar: calendarSuggestions = [], description, occupation: occupationSuggestions = [] } = {},\n taxesType,\n onMapView,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = store;\n\n const handleCalendar = (from, to) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, calendar: [from, to] } });\n };\n\n const handleOccupation = (rooms = []) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, occupation: rooms.map(({ occupation } = {}) => occupation) } });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, isCalendar ? { calendar, focus: 'calendar' } : { focus: 'occupation' });\n };\n\n const renderPrice = ({ price, onPress } = {}) => (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n\n const renderContactInfo = () => (\n <Text action={!isMobile} small={isMobile} className={style.contactInfo}>\n {translate(L10N.LABEL_CONTACT_INFO, {\n email: (\n <Action inline href={`mailto:${email}`} small={isMobile} target=\"_blank\" className={style.action}>\n {email}\n </Action>\n ),\n phone: (\n <Action inline href={`tel:${phone}`} small={isMobile} target=\"_blank\" className={style.action}>\n {phone}\n </Action>\n ),\n })}\n </Text>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const hasSuggestions = calendarSuggestions.length > 0 || occupationSuggestions.length > 0;\n const isCalendar = calendarSuggestions.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon accent value={isCalendar ? ICON.CALENDAR_BUSY : ICON.PERSON_OFF} />\n <View wide className={style.texts}>\n <Text accent bold headline>\n {isCalendar\n ? description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)\n : translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)}\n </Text>\n {!isMobile && renderContactInfo()}\n </View>\n <Button wide={isMobile} onPress={handleFinder}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n {isMobile && renderContactInfo()}\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {isCalendar && (\n <Cards>\n {calendarSuggestions.map(({ price = 0, taxes, ...others } = {}, index) => {\n const from = parseDate(others?.from);\n const to = parseDate(others?.to);\n\n return (\n <Card key={`calendar:${index}`}>\n <View className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n </Card>\n );\n })}\n </Cards>\n )}\n\n {occupationSuggestions.length > 0 && (\n <Cards>\n {occupationSuggestions.map(({ rooms = [], price = 0, taxes }, index) => (\n <Card key={`rooms:${index}`}>\n <View className={style.card}>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${rooms.length} ${getAccommodationLabel(\n { plural: rooms.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {rooms.map(({ name, occupation = [] } = {}, roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>\n {name}\n </Text>\n {occupation.map((item = {}, itemIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${itemIndex}`} light small>\n {`${getOccupationLabel({ ...item, ages: [] }, translate)} ${\n item.type === OCCUPATION_TYPE.CHILD\n ? `(${translate(L10N.LABEL_YEARS_OLD, { amount: item.ages?.sort().join('-') })})`\n : ''\n }`}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(rooms) })}\n </View>\n </Card>\n ))}\n </Cards>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <View row={!isMobile} className={style.spaceBetween}>\n <Text bold headline>\n {translate(L10N.LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS, { value: hotels.length })}\n </Text>\n <Button secondary wide={isMobile} onPress={() => onMapView(hotels)}>\n {translate(L10N.ACTION_SHOW_ON_MAP)}\n </Button>\n </View>\n )}\n <Cards>\n {hotels.map((item, index) => (\n <CardHotel key={`${item.index || index}:${width}`} {...item} nights={nights} />\n ))}\n </Cards>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotel: PropTypes.shape({\n email: PropTypes.string,\n phone: PropTypes.string,\n }),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n nights: PropTypes.number,\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n onMapView: PropTypes.func,\n};\n\nexport { Unavailability };\n"],"mappings":"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"}
|
|
@@ -34,7 +34,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
34
34
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
35
35
|
let loginShown = false;
|
|
36
36
|
const Rates = _ref => {
|
|
37
|
-
var _dataSource$items, _dataSource$hotels, _dataSource$
|
|
37
|
+
var _dataSource$items, _dataSource$hotels, _dataSource$items2;
|
|
38
38
|
let {
|
|
39
39
|
skeleton,
|
|
40
40
|
...others
|
|
@@ -83,7 +83,7 @@ const Rates = _ref => {
|
|
|
83
83
|
const [itemUrl, setItemUrl] = (0, _react.useState)();
|
|
84
84
|
const [itemPreview, setItemPreview] = (0, _react.useState)();
|
|
85
85
|
const [login, setLogin] = (0, _react.useState)(false);
|
|
86
|
-
const [mapView, setMapView] = (0, _react.useState)(
|
|
86
|
+
const [mapView, setMapView] = (0, _react.useState)();
|
|
87
87
|
const [responseError, setResponseError] = (0, _react.useState)();
|
|
88
88
|
const [room, setRoom] = (0, _react.useState)();
|
|
89
89
|
const [strictSearch, setStrictSearch] = (0, _react.useState)();
|
|
@@ -405,7 +405,8 @@ const Rates = _ref => {
|
|
|
405
405
|
nights: nights
|
|
406
406
|
}));
|
|
407
407
|
})) : responseError ? /*#__PURE__*/_react.default.createElement(_Rates8.Unavailability, _extends({}, responseError, {
|
|
408
|
-
nights: nights
|
|
408
|
+
nights: nights,
|
|
409
|
+
onMapView: setMapView
|
|
409
410
|
})) : /*#__PURE__*/_react.default.createElement(_Rates7.default, {
|
|
410
411
|
multiRoom: multiRoom
|
|
411
412
|
})), /*#__PURE__*/_react.default.createElement(_Rates3.Footer, {
|
|
@@ -434,12 +435,7 @@ const Rates = _ref => {
|
|
|
434
435
|
visible: !!extras,
|
|
435
436
|
onCancel: () => multiRoom ? setExtras() : handleSelect(),
|
|
436
437
|
onSubmit: extras => handleCheckout(cart, extras)
|
|
437
|
-
})), ((_dataSource$
|
|
438
|
-
items: dataSource.hotels,
|
|
439
|
-
nights: nights,
|
|
440
|
-
visible: mapView,
|
|
441
|
-
onClose: () => setMapView(false)
|
|
442
|
-
}), club.active && ((_dataSource$items2 = dataSource.items) === null || _dataSource$items2 === void 0 ? void 0 : _dataSource$items2.length) > 0 && /*#__PURE__*/_react.default.createElement(_SessionLogin.Modal, {
|
|
438
|
+
})), club.active && ((_dataSource$items2 = dataSource.items) === null || _dataSource$items2 === void 0 ? void 0 : _dataSource$items2.length) > 0 && /*#__PURE__*/_react.default.createElement(_SessionLogin.Modal, {
|
|
443
439
|
showSignup: false,
|
|
444
440
|
title: translate(_Rates5.L10N.LABEL_FARE_EXCLUSIVE_MEMBERS),
|
|
445
441
|
visible: login,
|
|
@@ -448,7 +444,12 @@ const Rates = _ref => {
|
|
|
448
444
|
}, /*#__PURE__*/_react.default.createElement(_components.ClubRate, {
|
|
449
445
|
onCancel: () => handleClubDiscount(false),
|
|
450
446
|
onSubmit: () => handleSubmit(cart)
|
|
451
|
-
}))), /*#__PURE__*/_react.default.createElement(
|
|
447
|
+
}))), /*#__PURE__*/_react.default.createElement(_components.ModalMapView, {
|
|
448
|
+
items: mapView,
|
|
449
|
+
nights: nights,
|
|
450
|
+
visible: !!mapView,
|
|
451
|
+
onClose: () => setMapView()
|
|
452
|
+
}), /*#__PURE__*/_react.default.createElement(_shared__.Footer, null));
|
|
452
453
|
};
|
|
453
454
|
exports.Rates = Rates;
|
|
454
455
|
Rates.displayName = 'Mirai:Core:Rates';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_helpers2","_services2","_shared__","_Finder","_Header","_helpers3","_SessionLogin","_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","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$hotels2","_dataSource$items2","skeleton","others","isDesktop","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","refItems","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","occupation","maxRooms","rates","meta","metaCart","session","urlParams","useStore","cart","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","itemPreview","setItemPreview","login","setLogin","mapView","setMapView","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","useEffect","getMetaBoard","then","board","notification","L10N","NOTIFICATION_META_RATE_FOUND","NOTIFICATION_META_RATE_NOT_FOUND","Event","publish","EVENT","NOTIFICATION","contrast","defaultMessage","handleSelect","catch","debounceFetch","multiRoom","current","offsetHeight","offsetTop","scrollTo","tracking","trackDataSource","fetchUrlParams","location","search","fetch","nextOccupation","FINDER","checkin","nights","parties","getFinderParams","replaceUrlParams","params","selectedIds","map","join","parseToParties","nextDataSource","ServiceRates","externalSignout","signout","debounce","handleClubDiscount","next","handleStrictSearch","handleFinder","values","nextCart","scrollToRoom","roomId","trackSelectItem","handleSubmit","isPestana","ServiceFeatures","FEATURES","PESTANA","getCheckoutParams","getOccupationTotals","infantAge","hotelCurrency","selectableExtras","some","included","handleCheckout","document","href","getForwarderUrl","window","top","behavior","_refItems$current$roo","getBoundingClientRect","scrollY","contentBackground","Theme","dateDiff","days","response","roomSelectorProps","onPress","showStrictSearch","promocode","idoffers","roomTypeId","showPreviewPrice","features","getFeatures","createElement","Fragment","Header","name","SHOW_NAME_IN_HEADER","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","icon","storage","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","onClubDiscount","onMapView","onSelect","onStrictSearch","Cards","items","_ref2","index","item","Item","taxesType","concat","el","selected","onMoreInfo","onPreview","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","ModalMapView","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport {\n CardHotel,\n ClubRate,\n Item,\n ModalExtras,\n ModalItemInfo,\n ModalItemRateInfo,\n ModalItemUrl,\n ModalMapView,\n} from './components';\nimport {\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n getMetaBoard,\n signout,\n trackDataSource,\n trackSelectItem,\n} from './helpers';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer as RatesFooter } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { debounce, fetchUrlParams } from '../../helpers';\nimport { ServiceRates } from '../../services';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, parseToParties, replaceUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const refItems = useRef({});\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n occupation: { maxRooms } = {},\n rates: { meta: metaCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [itemPreview, setItemPreview] = useState();\n const [login, setLogin] = useState(false);\n const [mapView, setMapView] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n // -- hooks ----------------------------------------------------------------------------------------------------------\n useEffect(() => {\n if (!dataSource || !metaCart.length) return;\n\n getMetaBoard({ cart, dataSource, metaCart })\n .then((board) => {\n const notification = board ? L10N.NOTIFICATION_META_RATE_FOUND : L10N.NOTIFICATION_META_RATE_NOT_FOUND;\n Event.publish(EVENT.NOTIFICATION, { contrast: true, defaultMessage: translate(notification, urlParams) });\n if (board) handleSelect(board);\n })\n .catch(() => set({ rates: undefined }));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, metaCart]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n !login && setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n scrollTo(offsetTop + (isMobile ? offsetHeight : 0));\n }\n setDataSource();\n }\n\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n if ((!dataSource && (!responseError || !responseError.tracking)) || room) return;\n\n trackDataSource({\n ...(dataSource || responseError),\n ...fetchUrlParams(location.search),\n isMobile,\n occupation,\n place,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, responseError]);\n\n // -- methods --------------------------------------------------------------------------------------------------------\n const fetch = async (room, nextOccupation = occupation) => {\n if (skeleton) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n setFetching(true);\n setResponseError();\n\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n\n const params = {\n ...urlParams,\n club,\n clubDiscount,\n id,\n locale,\n maxRooms,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ id } = {}) => id).join(','),\n session,\n strictSearch,\n };\n if (room !== undefined) params.parties = parseToParties([nextOccupation[room || 0]]);\n\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && nextOccupation?.length > 1 && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleClubDiscount = async (next) => {\n setClubDiscount(next);\n login && setLogin(false);\n };\n\n const handleStrictSearch = (value) => {\n setStrictSearch(value);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setItemPreview(undefined);\n setRoom();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n debounceFetch(undefined, values.occupation);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n trackSelectItem({\n ...dataSource,\n ...fetchUrlParams(location.search),\n board,\n cart: nextCart,\n isMobile,\n occupation,\n });\n }\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (multiRoom && !board) set({ rates: undefined });\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: fetchUrlParams(location.search) }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n extras,\n forwarder,\n session,\n urlParams: fetchUrlParams(location.search),\n });\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n\n if (top) scrollTo(top + window.scrollY - (isMobile ? 16 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const multiRoom = occupation?.length > 1 || metaCart.length > 0;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const showStrictSearch = !!finder?.promocode || !!urlParams?.idoffers || urlParams?.roomTypeId;\n const { showPreviewPrice, ...features } = getFeatures(id, urlParams, { isDesktop, isMobile }, multiRoom);\n\n return (\n <>\n <Header currency login name={ServiceFeatures.get(FEATURES.SHOW_NAME_IN_HEADER, id)} />\n\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder assisted={!isMobile} compacted icon storage={false} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n clubDiscount,\n dataSource,\n features,\n multiRoom,\n showStrictSearch,\n strictSearch,\n onClubDiscount: handleClubDiscount,\n onMapView: setMapView,\n onSelect: handleSelect,\n onStrictSearch: handleStrictSearch,\n }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n {...item}\n {...{\n id,\n cart,\n features,\n multiRoom,\n nights,\n room,\n taxesType: dataSource.taxesType,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onPreview={showPreviewPrice && !multiRoom ? setItemPreview : undefined}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} nights={nights} />\n ))}\n </Cards>\n ) : responseError ? (\n <Unavailability {...responseError} nights={nights} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n <RatesFooter\n {...{ cart: multiRoom ? cart : [itemPreview], dataSource, extras, login, multiRoom, occupation }}\n onSubmit={() => (multiRoom ? handleSubmit(cart) : handleSelect(itemPreview))}\n />\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n\n {dataSource.hotels?.length > 0 && (\n <ModalMapView\n items={dataSource.hotels}\n nights={nights}\n visible={mapView}\n onClose={() => setMapView(false)}\n />\n )}\n\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => (multiRoom ? setLogin(false) : handleSelect())}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n\n <Footer />\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_helpers2","_services2","_shared__","_Finder","_Header","_helpers3","_SessionLogin","_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","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isDesktop","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","refItems","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","occupation","maxRooms","rates","meta","metaCart","session","urlParams","useStore","cart","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","itemPreview","setItemPreview","login","setLogin","mapView","setMapView","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","useEffect","getMetaBoard","then","board","notification","L10N","NOTIFICATION_META_RATE_FOUND","NOTIFICATION_META_RATE_NOT_FOUND","Event","publish","EVENT","NOTIFICATION","contrast","defaultMessage","handleSelect","catch","debounceFetch","multiRoom","current","offsetHeight","offsetTop","scrollTo","tracking","trackDataSource","fetchUrlParams","location","search","fetch","nextOccupation","FINDER","checkin","nights","parties","getFinderParams","replaceUrlParams","params","selectedIds","map","join","parseToParties","nextDataSource","ServiceRates","externalSignout","signout","debounce","handleClubDiscount","next","handleStrictSearch","handleFinder","values","nextCart","scrollToRoom","roomId","trackSelectItem","handleSubmit","isPestana","ServiceFeatures","FEATURES","PESTANA","getCheckoutParams","getOccupationTotals","infantAge","hotelCurrency","selectableExtras","some","included","handleCheckout","document","href","getForwarderUrl","window","top","behavior","_refItems$current$roo","getBoundingClientRect","scrollY","contentBackground","Theme","dateDiff","days","response","roomSelectorProps","onPress","showStrictSearch","promocode","idoffers","roomTypeId","showPreviewPrice","features","getFeatures","createElement","Fragment","Header","name","SHOW_NAME_IN_HEADER","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","icon","storage","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","onClubDiscount","onMapView","onSelect","onStrictSearch","Cards","items","_ref2","index","item","Item","taxesType","concat","el","selected","onMoreInfo","onPreview","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","ModalMapView","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport {\n CardHotel,\n ClubRate,\n Item,\n ModalExtras,\n ModalItemInfo,\n ModalItemRateInfo,\n ModalItemUrl,\n ModalMapView,\n} from './components';\nimport {\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n getMetaBoard,\n signout,\n trackDataSource,\n trackSelectItem,\n} from './helpers';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer as RatesFooter } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { debounce, fetchUrlParams } from '../../helpers';\nimport { ServiceRates } from '../../services';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, parseToParties, replaceUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const refItems = useRef({});\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n occupation: { maxRooms } = {},\n rates: { meta: metaCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [itemPreview, setItemPreview] = useState();\n const [login, setLogin] = useState(false);\n const [mapView, setMapView] = useState();\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n // -- hooks ----------------------------------------------------------------------------------------------------------\n useEffect(() => {\n if (!dataSource || !metaCart.length) return;\n\n getMetaBoard({ cart, dataSource, metaCart })\n .then((board) => {\n const notification = board ? L10N.NOTIFICATION_META_RATE_FOUND : L10N.NOTIFICATION_META_RATE_NOT_FOUND;\n Event.publish(EVENT.NOTIFICATION, { contrast: true, defaultMessage: translate(notification, urlParams) });\n if (board) handleSelect(board);\n })\n .catch(() => set({ rates: undefined }));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, metaCart]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n !login && setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n scrollTo(offsetTop + (isMobile ? offsetHeight : 0));\n }\n setDataSource();\n }\n\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n if ((!dataSource && (!responseError || !responseError.tracking)) || room) return;\n\n trackDataSource({\n ...(dataSource || responseError),\n ...fetchUrlParams(location.search),\n isMobile,\n occupation,\n place,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, responseError]);\n\n // -- methods --------------------------------------------------------------------------------------------------------\n const fetch = async (room, nextOccupation = occupation) => {\n if (skeleton) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n setFetching(true);\n setResponseError();\n\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n\n const params = {\n ...urlParams,\n club,\n clubDiscount,\n id,\n locale,\n maxRooms,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ id } = {}) => id).join(','),\n session,\n strictSearch,\n };\n if (room !== undefined) params.parties = parseToParties([nextOccupation[room || 0]]);\n\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && nextOccupation?.length > 1 && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleClubDiscount = async (next) => {\n setClubDiscount(next);\n login && setLogin(false);\n };\n\n const handleStrictSearch = (value) => {\n setStrictSearch(value);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setItemPreview(undefined);\n setRoom();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n debounceFetch(undefined, values.occupation);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n trackSelectItem({\n ...dataSource,\n ...fetchUrlParams(location.search),\n board,\n cart: nextCart,\n isMobile,\n occupation,\n });\n }\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (multiRoom && !board) set({ rates: undefined });\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: fetchUrlParams(location.search) }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n extras,\n forwarder,\n session,\n urlParams: fetchUrlParams(location.search),\n });\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n\n if (top) scrollTo(top + window.scrollY - (isMobile ? 16 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const multiRoom = occupation?.length > 1 || metaCart.length > 0;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const showStrictSearch = !!finder?.promocode || !!urlParams?.idoffers || urlParams?.roomTypeId;\n const { showPreviewPrice, ...features } = getFeatures(id, urlParams, { isDesktop, isMobile }, multiRoom);\n\n return (\n <>\n <Header currency login name={ServiceFeatures.get(FEATURES.SHOW_NAME_IN_HEADER, id)} />\n\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder assisted={!isMobile} compacted icon storage={false} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n clubDiscount,\n dataSource,\n features,\n multiRoom,\n showStrictSearch,\n strictSearch,\n onClubDiscount: handleClubDiscount,\n onMapView: setMapView,\n onSelect: handleSelect,\n onStrictSearch: handleStrictSearch,\n }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n {...item}\n {...{\n id,\n cart,\n features,\n multiRoom,\n nights,\n room,\n taxesType: dataSource.taxesType,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onPreview={showPreviewPrice && !multiRoom ? setItemPreview : undefined}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} nights={nights} />\n ))}\n </Cards>\n ) : responseError ? (\n <Unavailability {...responseError} nights={nights} onMapView={setMapView} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n <RatesFooter\n {...{ cart: multiRoom ? cart : [itemPreview], dataSource, extras, login, multiRoom, occupation }}\n onSubmit={() => (multiRoom ? handleSubmit(cart) : handleSelect(itemPreview))}\n />\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => (multiRoom ? setLogin(false) : handleSelect())}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n\n <ModalMapView items={mapView} nights={nights} visible={!!mapView} onClose={() => setMapView()} />\n\n <Footer />\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
@@ -284,6 +284,11 @@ body {
|
|
|
284
284
|
margin-right: calc(var(--mirai-ui-space-XS) / 8);
|
|
285
285
|
}
|
|
286
286
|
|
|
287
|
+
.unavailability .spaceBetween {
|
|
288
|
+
align-items: center;
|
|
289
|
+
justify-content: space-between;
|
|
290
|
+
}
|
|
291
|
+
|
|
287
292
|
/* -- common ---------------------------------------------------------------- */
|
|
288
293
|
.box {
|
|
289
294
|
background-color: var(--mirai-ui-base);
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.STEP = exports.PAYMENT_PROVIDER = exports.PAYMENT_METHOD = exports.PAYMENT_CARD_VALIDATION_PROVIDER = exports.PAYMENT_CARD = exports.OCCUPATION_TYPE = exports.MONTHS_IN_MOBILE = exports.LOCALES = exports.EVENT = exports.CALENDAR_FORMAT = exports.ACCOMMODATION_TYPE = void 0;
|
|
7
|
+
var _ui = require("@mirai/ui");
|
|
7
8
|
const ACCOMMODATION_TYPE = exports.ACCOMMODATION_TYPE = {
|
|
8
9
|
ROOM: 1,
|
|
9
10
|
APARTMENT: 2,
|
|
@@ -13,6 +14,7 @@ const ACCOMMODATION_TYPE = exports.ACCOMMODATION_TYPE = {
|
|
|
13
14
|
};
|
|
14
15
|
const CALENDAR_FORMAT = exports.CALENDAR_FORMAT = 'DD/MM/YYYY';
|
|
15
16
|
const EVENT = exports.EVENT = {
|
|
17
|
+
// -- core
|
|
16
18
|
FINDER: 'finder',
|
|
17
19
|
FINDER_FIELD_CHANGE: 'finderFieldChange',
|
|
18
20
|
INTENT_CURRENCY: 'intentCurrency',
|
|
@@ -20,7 +22,9 @@ const EVENT = exports.EVENT = {
|
|
|
20
22
|
INTENT_LOCALE: 'intentLocale',
|
|
21
23
|
LOGIN: 'login',
|
|
22
24
|
NOTIFICATION: 'notification',
|
|
23
|
-
PAY_LATER: 'payLater'
|
|
25
|
+
PAY_LATER: 'payLater',
|
|
26
|
+
// -- @mirai/ui
|
|
27
|
+
MODAL_VISIBLE: _ui.MODAL_EVENT_VISIBLE
|
|
24
28
|
};
|
|
25
29
|
const LOCALES = exports.LOCALES = ['en-GB', 'es-ES', 'fr-FR', 'de-DE', 'ja-JP', 'it-IT', 'pt-PT', 'da-DK', 'fi-FI', 'nb-NO', 'nl-NL', 'pl-PL', 'ru-RU', 'sv-SE', 'tr-TR', 'zh-CN', 'cs-CZ', 'el-GR', 'ar-DZ', 'hu-HU', 'ca-ES', 'eu-ES'];
|
|
26
30
|
const MONTHS_IN_MOBILE = exports.MONTHS_IN_MOBILE = 12;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["ACCOMMODATION_TYPE","exports","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","CALENDAR_FORMAT","EVENT","FINDER","FINDER_FIELD_CHANGE","INTENT_CURRENCY","INTENT_ENVIRONMENT","INTENT_LOCALE","LOGIN","NOTIFICATION","PAY_LATER","LOCALES","MONTHS_IN_MOBILE","OCCUPATION_TYPE","GUEST","ADULT","CHILD","BABY","PAYMENT_CARD","AMERICAN_EXPRESS","DINERS_CLUB","DISCOVER","JCB","MAESTRO","MASTERCARD","UNIONPAY","VISA","PAYMENT_METHOD","ALIPAY","AMAZON_PAY","APLAZAME","BIZUM","CARD","CARD_PREPAY","CRIPTAN","IDEAL","OXXO","PAYLATER","PAYPAL","PCIPROXY","SOFORT","TPV","TRANSFER","WECHATPAY","PAYMENT_PROVIDER","ADDON","CARDNET","CHECKOUT","HIPAY","MULTIPAGOS","REDSYS","REDUNIQ","PAYBOX","PAYCOMET","PAYNOPAIN","SIPAY","STRIPE","PAYMENT_CARD_VALIDATION_PROVIDER","STEP","BOOKING_CANCELLATION","BOOKING_CONFIRMATION","HOTELS","RATES"],"sources":["../../../src/components/helpers/constants.js"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"constants.js","names":["_ui","require","ACCOMMODATION_TYPE","exports","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","CALENDAR_FORMAT","EVENT","FINDER","FINDER_FIELD_CHANGE","INTENT_CURRENCY","INTENT_ENVIRONMENT","INTENT_LOCALE","LOGIN","NOTIFICATION","PAY_LATER","MODAL_VISIBLE","MODAL_EVENT_VISIBLE","LOCALES","MONTHS_IN_MOBILE","OCCUPATION_TYPE","GUEST","ADULT","CHILD","BABY","PAYMENT_CARD","AMERICAN_EXPRESS","DINERS_CLUB","DISCOVER","JCB","MAESTRO","MASTERCARD","UNIONPAY","VISA","PAYMENT_METHOD","ALIPAY","AMAZON_PAY","APLAZAME","BIZUM","CARD","CARD_PREPAY","CRIPTAN","IDEAL","OXXO","PAYLATER","PAYPAL","PCIPROXY","SOFORT","TPV","TRANSFER","WECHATPAY","PAYMENT_PROVIDER","ADDON","CARDNET","CHECKOUT","HIPAY","MULTIPAGOS","REDSYS","REDUNIQ","PAYBOX","PAYCOMET","PAYNOPAIN","SIPAY","STRIPE","PAYMENT_CARD_VALIDATION_PROVIDER","STEP","BOOKING_CANCELLATION","BOOKING_CONFIRMATION","HOTELS","RATES"],"sources":["../../../src/components/helpers/constants.js"],"sourcesContent":["import { MODAL_EVENT_VISIBLE } from '@mirai/ui';\n\nconst ACCOMMODATION_TYPE = {\n ROOM: 1,\n APARTMENT: 2,\n PITCH: 3,\n ACCOMMODATION: 4,\n VILLA: 5,\n};\n\nconst CALENDAR_FORMAT = 'DD/MM/YYYY';\n\nconst EVENT = {\n // -- core\n FINDER: 'finder',\n FINDER_FIELD_CHANGE: 'finderFieldChange',\n INTENT_CURRENCY: 'intentCurrency',\n INTENT_ENVIRONMENT: 'intentEnvironment',\n INTENT_LOCALE: 'intentLocale',\n LOGIN: 'login',\n NOTIFICATION: 'notification',\n PAY_LATER: 'payLater',\n // -- @mirai/ui\n MODAL_VISIBLE: MODAL_EVENT_VISIBLE,\n};\n\nconst LOCALES = [\n 'en-GB',\n 'es-ES',\n 'fr-FR',\n 'de-DE',\n 'ja-JP',\n 'it-IT',\n 'pt-PT',\n 'da-DK',\n 'fi-FI',\n 'nb-NO',\n 'nl-NL',\n 'pl-PL',\n 'ru-RU',\n 'sv-SE',\n 'tr-TR',\n 'zh-CN',\n 'cs-CZ',\n 'el-GR',\n 'ar-DZ',\n 'hu-HU',\n 'ca-ES',\n 'eu-ES',\n];\n\nconst MONTHS_IN_MOBILE = 12;\n\nconst OCCUPATION_TYPE = {\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n BABY: 4,\n};\n\nconst PAYMENT_CARD = {\n AMERICAN_EXPRESS: 'AMERICAN_EXPRESS',\n DINERS_CLUB: 'DINERS_CLUB',\n DISCOVER: 'DISCOVER',\n JCB: 'JCB',\n MAESTRO: 'MAESTRO', // low resolution logo\n MASTERCARD: 'MASTERCARD',\n UNIONPAY: 'UNIONPAY',\n VISA: 'VISA',\n};\n\nconst PAYMENT_METHOD = {\n ALIPAY: 'ALIPAY',\n AMAZON_PAY: 'AMAZON_PAY',\n APLAZAME: 'APLAZAME',\n BIZUM: 'BIZUM',\n CARD: 'CARD',\n CARD_PREPAY: 'CARD_PREPAY',\n CRIPTAN: 'CRIPTAN',\n IDEAL: 'IDEAL',\n OXXO: 'OXXO',\n PAYLATER: 'PAYLATER',\n PAYPAL: 'PAYPAL',\n PCIPROXY: 'PCIPROXY',\n SOFORT: 'SOFORT',\n TPV: 'TPV',\n TRANSFER: 'TRANSFER',\n WECHATPAY: 'WECHATPAY',\n};\n\nconst PAYMENT_PROVIDER = {\n ADDON: 'ADDON',\n CARDNET: 'CARDNET',\n CHECKOUT: 'CHECKOUT',\n HIPAY: 'HIPAY',\n MULTIPAGOS: 'MULTIPAGOS',\n REDSYS: 'REDSYS',\n REDUNIQ: 'REDUNIQ',\n PAYBOX: 'PAYBOX',\n PAYCOMET: 'PAYCOMET',\n PAYNOPAIN: 'PAYNOPAIN',\n SIPAY: 'SIPAY',\n STRIPE: 'STRIPE',\n};\n\nconst { ADDON, CHECKOUT, PAYNOPAIN, REDSYS, SIPAY, STRIPE } = PAYMENT_PROVIDER;\n\nconst PAYMENT_CARD_VALIDATION_PROVIDER = [ADDON, CHECKOUT, PAYNOPAIN, REDSYS, SIPAY, STRIPE];\n\nconst STEP = {\n BOOKING_CANCELLATION: 'CANCELLATION',\n BOOKING_CONFIRMATION: 'CONFIRMATION',\n CHECKOUT: 'CLIENTFORM',\n FINDER: 'BOOKINGENTRANCE',\n HOTELS: 'CHAINRESULT',\n RATES: 'BOOKINGSTEP1',\n};\n\nexport {\n ACCOMMODATION_TYPE,\n CALENDAR_FORMAT,\n EVENT,\n LOCALES,\n MONTHS_IN_MOBILE,\n OCCUPATION_TYPE,\n PAYMENT_CARD,\n PAYMENT_CARD_VALIDATION_PROVIDER,\n PAYMENT_METHOD,\n PAYMENT_PROVIDER,\n STEP,\n};\n"],"mappings":"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"}
|
package/package.json
CHANGED
package/public/App.Container.jsx
CHANGED
|
@@ -13,11 +13,11 @@ export const Container = ({ children }) => {
|
|
|
13
13
|
value: { session },
|
|
14
14
|
} = useStore();
|
|
15
15
|
|
|
16
|
-
const
|
|
16
|
+
const richTemplate = !location.includes('/step');
|
|
17
17
|
|
|
18
18
|
return (
|
|
19
19
|
<>
|
|
20
|
-
{
|
|
20
|
+
{richTemplate && (
|
|
21
21
|
<View tag="header" className={style.header}>
|
|
22
22
|
<View row className={[style.wrapper, style.environment]}>
|
|
23
23
|
<Text small className={[style.contact, style.hideMobile]}>
|
|
@@ -74,66 +74,68 @@ export const Container = ({ children }) => {
|
|
|
74
74
|
|
|
75
75
|
<View data-mirai-component="chat" />
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
<View
|
|
79
|
-
<View>
|
|
80
|
-
<
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
77
|
+
{richTemplate && (
|
|
78
|
+
<View tag="footer" className={style.footer}>
|
|
79
|
+
<View row className={[style.wrapper, style.links]}>
|
|
80
|
+
<View>
|
|
81
|
+
<Text bold>Site map</Text>
|
|
82
|
+
<Action inline small onPress={() => setLocation('/')}>
|
|
83
|
+
Home
|
|
84
|
+
</Action>
|
|
85
|
+
<Action inline small onPress={() => setLocation('/signup')}>
|
|
86
|
+
Signup
|
|
87
|
+
</Action>
|
|
88
|
+
<Action inline small onPress={() => setLocation('/profile')}>
|
|
89
|
+
Profile
|
|
90
|
+
</Action>
|
|
91
|
+
<Action inline small onPress={() => setLocation('/deals')}>
|
|
92
|
+
Deals
|
|
93
|
+
</Action>
|
|
94
|
+
</View>
|
|
94
95
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
96
|
+
<View>
|
|
97
|
+
<Text bold>Reservation</Text>
|
|
98
|
+
<Action inline small onPress={() => setLocation('/step1-rates')}>
|
|
99
|
+
1. rates
|
|
100
|
+
</Action>
|
|
101
|
+
<Action inline small onPress={() => setLocation('/step2-checkout')}>
|
|
102
|
+
2. checkout
|
|
103
|
+
</Action>
|
|
104
|
+
<Action inline small onPress={() => setLocation('/step3-booking')}>
|
|
105
|
+
3. booking
|
|
106
|
+
</Action>
|
|
107
|
+
</View>
|
|
107
108
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
109
|
+
<View>
|
|
110
|
+
<Text bold>More</Text>
|
|
111
|
+
<Action inline small onPress={() => setLocation('/legal-advice')}>
|
|
112
|
+
Legal Advice
|
|
113
|
+
</Action>
|
|
114
|
+
<Action inline small onPress={() => setLocation('/cookie-policy')}>
|
|
115
|
+
Cookie Policy
|
|
116
|
+
</Action>
|
|
117
|
+
<Action inline small onPress={() => setLocation('/privacy-policy')}>
|
|
118
|
+
Privacy Policy
|
|
119
|
+
</Action>
|
|
120
|
+
<Action inline small onPress={() => setLocation('/complaints-channel')}>
|
|
121
|
+
Complaints Channel
|
|
122
|
+
</Action>
|
|
123
|
+
</View>
|
|
123
124
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
125
|
+
<View className={[style.newsletter, style.hideMobile]}>
|
|
126
|
+
<Text bold>Sign up for get our newsletter</Text>
|
|
127
|
+
<Input name="newsletter" placeholder="Your email..." />
|
|
128
|
+
</View>
|
|
127
129
|
</View>
|
|
128
|
-
</View>
|
|
129
130
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
131
|
+
<Text small className={[style.wrapper, style.copyright]}>
|
|
132
|
+
<Text bold brand headline level={2}>
|
|
133
|
+
Monalisa
|
|
134
|
+
</Text>{' '}
|
|
135
|
+
© 1980-2024 Monalisa Hotel Group Santa Engracia 120. 28003 Madrid, Spain
|
|
136
|
+
</Text>
|
|
137
|
+
</View>
|
|
138
|
+
)}
|
|
137
139
|
</>
|
|
138
140
|
);
|
|
139
141
|
};
|