@mirai/core 0.3.178 → 0.3.179

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.
@@ -58,16 +58,7 @@ const Chat = _ref => {
58
58
  locale,
59
59
  session
60
60
  }).catch(handleError);
61
- if (response) {
62
- set({
63
- lisa: response,
64
- locale: response.locale || locale
65
- });
66
- setMessages([...messages, {
67
- auto: true,
68
- ...response
69
- }]);
70
- }
61
+ if (response) addMessage(response, messages);
71
62
  setBusy(false);
72
63
  })();
73
64
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -111,17 +102,8 @@ const Chat = _ref => {
111
102
  input,
112
103
  session
113
104
  }).catch(handleError);
105
+ if (response) addMessage(response, nextMessages);
114
106
  setBusy(false);
115
- if (response) {
116
- set({
117
- lisa: response,
118
- locale: response.locale || locale
119
- });
120
- setMessages([...nextMessages, {
121
- auto: true,
122
- ...response
123
- }]);
124
- }
125
107
  }, _Chat.DELAY_RESPONSE);
126
108
  };
127
109
  const handleAction = function () {
@@ -159,6 +141,20 @@ const Chat = _ref => {
159
141
  console.error('::handleError::', error);
160
142
  setOnline(false);
161
143
  };
144
+ const addMessage = function () {
145
+ let response = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
146
+ let messages = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
147
+ set({
148
+ lisa: response
149
+ });
150
+ setMessages([...messages, {
151
+ auto: true,
152
+ ...response
153
+ }]);
154
+ if (response.locale !== locale) _dataSources.Event.publish(_helpers.EVENT.INTENT_LOCALE, {
155
+ locale: response.locale
156
+ });
157
+ };
162
158
  return !skeleton ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(isMobile ? _ui.Modal : _ui.View, isMobile ? {
163
159
  className: style.container,
164
160
  visible
@@ -210,9 +206,9 @@ const Chat = _ref => {
210
206
  onValue: handleAction
211
207
  })) : /*#__PURE__*/_react.default.createElement(_components.Offline, null))), /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
212
208
  right: true,
213
- text: !visible ? translate(_Chat2.L10N.LABEL_GREETINGS, {
209
+ text: translate(_Chat2.L10N.LABEL_GREETINGS, {
214
210
  name
215
- }) : undefined
211
+ })
216
212
  }, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
217
213
  disabled: busy,
218
214
  onPress: () => setVisible(true),
@@ -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","lisa","auto","clearInterval","callback","status","setInterval","Date","getTime","storeContext","handleInput","input","nextMessages","text","timestamp","setTimeout","message","context","DELAY_RESPONSE","handleAction","form","intent","undefined","action","error","console","createElement","Fragment","React","Modal","View","className","container","styles","row","header","Avatar","small","wide","Text","bold","L10N","LABEL_ASSISTANT","tiny","bullet","offline","lighten","LABEL_ONLINE","LABEL_OFFLINE","Button","squared","tooltip","ACTION_CLOSE","transparent","onPress","Icon","ICON","CLOSE","ScrollView","snap","map","index","Message","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 { 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 { 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) {\n set({ lisa: response, locale: response.locale || locale });\n setMessages([...messages, { auto: true, ...response }]);\n }\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 setBusy(false);\n\n if (response) {\n set({ lisa: response, locale: response.locale || locale });\n setMessages([...nextMessages, { auto: true, ...response }]);\n }\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 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 tiny className={styles(style.bullet, online ? style.online : style.offline)} />\n <Text small lighten>\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 key={index}\n {...message}\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={!visible ? translate(L10N.LABEL_GREETINGS, { name }) : undefined}>\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","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","tiny","bullet","offline","lighten","LABEL_ONLINE","LABEL_OFFLINE","Button","squared","tooltip","ACTION_CLOSE","transparent","onPress","Icon","ICON","CLOSE","ScrollView","snap","map","index","Message","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 tiny className={styles(style.bullet, online ? style.online : style.offline)} />\n <Text small lighten>\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 key={index}\n {...message}\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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"}
@@ -32,10 +32,14 @@ const Header = _ref => {
32
32
  value: {
33
33
  hotel: {
34
34
  image,
35
- name
35
+ name,
36
+ url
36
37
  } = {}
37
38
  } = {}
38
39
  } = (0, _dataSources.useStore)();
40
+ const handleUrl = () => {
41
+ window.location = url;
42
+ };
39
43
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
40
44
  wide: true,
41
45
  testId: others.testId,
@@ -47,7 +51,9 @@ const Header = _ref => {
47
51
  }, /*#__PURE__*/_react.default.createElement(_ui.View, {
48
52
  row: true,
49
53
  className: style.main
50
- }, logo && (ghost ? /*#__PURE__*/_react.default.createElement(_ui.View, {
54
+ }, logo && (ghost || image || name) && /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
55
+ onPress: url ? handleUrl : undefined
56
+ }, ghost ? /*#__PURE__*/_react.default.createElement(_ui.View, {
51
57
  dangerouslySetInnerHTML: {
52
58
  __html: ghost.outerHTML
53
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_components","style","_interopRequireWildcard","_shared__","_Session","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Header","_ref","currency","showCurrency","locale","showLocale","login","showLogin","ghost","logo","others","isMobile","isDesktop","useDevice","value","hotel","image","name","useStore","createElement","Fragment","View","wide","testId","className","styles","header","row","content","main","dangerouslySetInnerHTML","__html","outerHTML","backgroundImage","concat","Text","bold","headline","level","BookingProcess","options","SelectEnvironment","Session","buttonMode","exports","propTypes","PropTypes","bool","any","skeleton"],"sources":["../../../src/components/Header/Header.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { Text, useDevice, styles, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { BookingProcess } from './components';\nimport * as style from './Header.module.css';\nimport { SelectEnvironment } from '../__shared__';\nimport { Session } from '../Session';\n\nconst Header = ({\n currency: showCurrency = false,\n locale: showLocale = true,\n login: showLogin = true,\n ghost,\n logo = true,\n ...others\n}) => {\n const { isMobile, isDesktop } = useDevice();\n const { value: { hotel: { image, name } = {} } = {} } = useStore();\n\n return (\n <>\n <View wide testId={others.testId} className={styles(style.header, others.className)}>\n <View row wide className={style.content}>\n <View row className={style.main}>\n {logo &&\n (ghost ? (\n <View dangerouslySetInnerHTML={{ __html: ghost.outerHTML }} />\n ) : image ? (\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n ) : (\n <Text bold headline level={2}>\n {name}\n </Text>\n ))}\n\n {isDesktop && <BookingProcess />}\n </View>\n\n <View row className={style.options}>\n <View row>\n {showCurrency && <SelectEnvironment name=\"currency\" />}\n {showLocale && <SelectEnvironment name=\"locale\" />}\n </View>\n\n {showLogin && !isMobile && <Session buttonMode />}\n </View>\n </View>\n </View>\n\n {!isDesktop && <BookingProcess />}\n </>\n );\n};\n\nHeader.propTypes = {\n currency: PropTypes.bool,\n ghost: PropTypes.any,\n locale: PropTypes.bool,\n login: PropTypes.bool,\n logo: PropTypes.bool,\n skeleton: PropTypes.bool,\n};\n\nexport { Header };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Header.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_components","style","_interopRequireWildcard","_shared__","_Session","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Header","_ref","currency","showCurrency","locale","showLocale","login","showLogin","ghost","logo","others","isMobile","isDesktop","useDevice","value","hotel","image","name","url","useStore","handleUrl","window","location","createElement","Fragment","View","wide","testId","className","styles","header","row","content","main","Pressable","onPress","undefined","dangerouslySetInnerHTML","__html","outerHTML","backgroundImage","concat","Text","bold","headline","level","BookingProcess","options","SelectEnvironment","Session","buttonMode","exports","propTypes","PropTypes","bool","any","skeleton"],"sources":["../../../src/components/Header/Header.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { Pressable, Text, useDevice, styles, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { BookingProcess } from './components';\nimport * as style from './Header.module.css';\nimport { SelectEnvironment } from '../__shared__';\nimport { Session } from '../Session';\n\nconst Header = ({\n currency: showCurrency = false,\n locale: showLocale = true,\n login: showLogin = true,\n ghost,\n logo = true,\n ...others\n}) => {\n const { isMobile, isDesktop } = useDevice();\n const { value: { hotel: { image, name, url } = {} } = {} } = useStore();\n\n const handleUrl = () => {\n window.location = url;\n };\n\n return (\n <>\n <View wide testId={others.testId} className={styles(style.header, others.className)}>\n <View row wide className={style.content}>\n <View row className={style.main}>\n {logo && (ghost || image || name) && (\n <Pressable onPress={url ? handleUrl : undefined}>\n {ghost ? (\n <View dangerouslySetInnerHTML={{ __html: ghost.outerHTML }} />\n ) : image ? (\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n ) : (\n <Text bold headline level={2}>\n {name}\n </Text>\n )}\n </Pressable>\n )}\n\n {isDesktop && <BookingProcess />}\n </View>\n\n <View row className={style.options}>\n <View row>\n {showCurrency && <SelectEnvironment name=\"currency\" />}\n {showLocale && <SelectEnvironment name=\"locale\" />}\n </View>\n\n {showLogin && !isMobile && <Session buttonMode />}\n </View>\n </View>\n </View>\n\n {!isDesktop && <BookingProcess />}\n </>\n );\n};\n\nHeader.propTypes = {\n currency: PropTypes.bool,\n ghost: PropTypes.any,\n locale: PropTypes.bool,\n login: PropTypes.bool,\n logo: PropTypes.bool,\n skeleton: PropTypes.bool,\n};\n\nexport { Header };\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_Core","_helpers","_Rates","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Summary","_ref","multiRoom","name","roomName","nights","selected","selectedBoard","taxesType","onSelect","isMobile","useDevice","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","keys","length","cancellationId","checkoutPrice","dayPrice","discount","percentage","discountPercentage","breakdown","id","originalPrice","price","rateId","isSelected","handlePress","undefined","hasDiscountClub","find","_ref2","type","DISCOUNT_TYPE","CLUB","createElement","Fragment","View","className","offset","summary","Text","accent","bold","small","concat","L10N","LABEL_CLUB_MEMBERS","LABEL_DISCOUNT","row","gap","content","headline","level","currencyFormat","maximumFractionDigits","action","lighten","lineThrough","tiny","LABEL_PER_NIGHT","getLabelTaxes","TAXES_TYPE","TAXES_INCLUDED","FEES_INCLUDED","includes","PriceDetails","board","priceDetails","Button","secondary","onPress","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","bool","string","number","shape","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceDetails } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { TAXES_TYPE } from '../../../../Core.constants';\nimport { getLabelTaxes } from '../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Summary = ({\n multiRoom = false,\n name: roomName,\n nights = 2,\n selected = {},\n selectedBoard = {},\n taxesType,\n onSelect,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => Object.keys(selected).length === 0 && setBusy(false), [selected]);\n\n const {\n cancellationId,\n checkoutPrice,\n dayPrice,\n discount: { percentage: discountPercentage = 0, breakdown = [] } = {},\n id,\n name,\n originalPrice,\n price,\n rateId,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n if (!multiRoom) setBusy(true);\n onSelect(!isSelected ? { checkoutPrice, cancellationId, id, name, price, rateId, roomName } : undefined);\n };\n\n const hasDiscountClub = discountPercentage > 0 && breakdown.find(({ type }) => type === DISCOUNT_TYPE.CLUB);\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n {discountPercentage > 0 && (\n <Text accent bold small>\n {hasDiscountClub && `${translate(L10N.LABEL_CLUB_MEMBERS)} `}\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <View row className={[style.gap, style.content]}>\n <View>\n <View row className={style.price}>\n <Text bold headline level={isMobile || multiRoom || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: price })}\n </Text>\n\n {price !== originalPrice && (\n <Text action lighten className={style.lineThrough}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: originalPrice })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({ currency, value: dayPrice })} ${translate(\n L10N.LABEL_PER_NIGHT,\n )}`}</Text>\n )}\n\n {!!taxesType && (\n <Text lighten small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n {([TAXES_TYPE.TAXES_INCLUDED, TAXES_TYPE.FEES_INCLUDED].includes(taxesType) || discountPercentage > 0) && (\n <PriceDetails {...{ board: selectedBoard }} className={style.priceDetails} />\n )}\n </View>\n\n <Button busy={busy} secondary={multiRoom && isSelected} onPress={handlePress}>\n {translate(multiRoom ? (isSelected ? L10N.LABEL_DESELECT : L10N.LABEL_SELECT) : L10N.ACTION_RESERVE)}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item:Summary';\n\nSummary.propTypes = {\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n nights: PropTypes.number,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxesType: PropTypes.number,\n onSelect: PropTypes.func,\n};\nexport { Summary };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_Core","_helpers","_Rates","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Summary","_ref","multiRoom","name","roomName","nights","selected","selectedBoard","taxesType","onSelect","isMobile","useDevice","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","keys","length","cancellationId","checkoutPrice","dayPrice","discount","percentage","discountPercentage","breakdown","id","originalPrice","price","rateId","isSelected","handlePress","undefined","hasDiscountClub","find","_ref2","type","DISCOUNT_TYPE","CLUB","createElement","Fragment","View","className","offset","summary","Text","accent","bold","small","concat","L10N","LABEL_CLUB_MEMBERS","LABEL_DISCOUNT","row","gap","content","headline","level","currencyFormat","maximumFractionDigits","action","lighten","lineThrough","tiny","LABEL_PER_NIGHT","getLabelTaxes","TAXES_TYPE","TAXES_INCLUDED","FEES_INCLUDED","includes","PriceDetails","board","priceDetails","Button","secondary","onPress","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","bool","string","number","shape","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceDetails } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { TAXES_TYPE } from '../../../../Core.constants';\nimport { getLabelTaxes } from '../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Summary = ({\n multiRoom = false,\n name: roomName,\n nights = 2,\n selected = {},\n selectedBoard = {},\n taxesType,\n onSelect,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => Object.keys(selected).length === 0 && setBusy(false), [selected]);\n\n const {\n cancellationId,\n checkoutPrice,\n dayPrice,\n discount: { percentage: discountPercentage = 0, breakdown = [] } = {},\n id,\n name,\n originalPrice,\n price,\n rateId,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n if (!multiRoom) setBusy(true);\n onSelect(!isSelected ? { checkoutPrice, cancellationId, id, name, price, rateId, roomName } : undefined);\n };\n\n const hasDiscountClub = discountPercentage > 0 && breakdown.find(({ type }) => type === DISCOUNT_TYPE.CLUB);\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n {discountPercentage > 0 && (\n <Text accent bold small>\n {hasDiscountClub && `${translate(L10N.LABEL_CLUB_MEMBERS)} `}\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <View row className={[style.gap, style.content]}>\n <View>\n <View row className={style.price}>\n <Text bold headline level={isMobile || multiRoom || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: price })}\n </Text>\n\n {price !== originalPrice && (\n <Text action lighten className={style.lineThrough}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: originalPrice })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({ currency, value: dayPrice })} ${translate(\n L10N.LABEL_PER_NIGHT,\n )}`}</Text>\n )}\n\n {!!taxesType && (\n <Text lighten small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n {([TAXES_TYPE.TAXES_INCLUDED, TAXES_TYPE.FEES_INCLUDED].includes(taxesType) || discountPercentage > 0) && (\n <PriceDetails {...{ board: selectedBoard }} className={style.priceDetails} />\n )}\n </View>\n\n <Button busy={busy} secondary={multiRoom && isSelected} onPress={handlePress}>\n {translate(multiRoom ? (isSelected ? L10N.LABEL_DESELECT : L10N.LABEL_SELECT) : L10N.ACTION_RESERVE)}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item:Summary';\n\nSummary.propTypes = {\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n nights: PropTypes.number,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxesType: PropTypes.number,\n onSelect: PropTypes.func,\n};\n\nexport { Summary };\n"],"mappings":"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"}
@@ -26,19 +26,23 @@ const Item = _ref => {
26
26
  } = _ref;
27
27
  const [selectedBoard, setSelectedBoard] = (0, _react.useState)();
28
28
  (0, _react.useEffect)(() => {
29
- let nextBoard = selected ? boards.find(item => item.id === selected.id) : undefined;
30
- if (!selectedBoard || !nextBoard) {
31
- const [{
32
- id: cancellationId
33
- } = {}] = cancellations;
34
- const [{
35
- id: rateId
36
- } = {}] = rates;
37
- nextBoard = boards.find(board => board.cancellationId === cancellationId && board.rateId === rateId);
38
- }
29
+ if (selectedBoard) return;
30
+ const [{
31
+ id: cancellationId
32
+ } = {}] = cancellations;
33
+ const [{
34
+ id: rateId
35
+ } = {}] = rates;
36
+ const nextBoard = boards.find(board => board.cancellationId === cancellationId && board.rateId === rateId);
39
37
  if (nextBoard) setSelectedBoard(nextBoard);
40
38
  // eslint-disable-next-line react-hooks/exhaustive-deps
41
- }, [boards, selected]);
39
+ }, [boards]);
40
+ (0, _react.useEffect)(() => {
41
+ if (!selected) return;
42
+ const nextBoard = boards.find(board => board.id === selected.id);
43
+ if (nextBoard) setSelectedBoard(nextBoard);
44
+ // eslint-disable-next-line react-hooks/exhaustive-deps
45
+ }, [selected]);
42
46
  const handleBoard = board => {
43
47
  setSelectedBoard(board);
44
48
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_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","Item","_ref","boards","cancellations","cart","selected","features","rates","others","selectedBoard","setSelectedBoard","useState","useEffect","nextBoard","find","item","id","undefined","cancellationId","rateId","board","handleBoard","handleCancellation","_ref2","handleRate","_ref3","findPrice","dataSource","price","showAllBoards","showAllOffers","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","props","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","name","push","sort","b","rate","selectedCancellation","createElement","View","className","card","unselected","Preview","Rates","onBoard","onCancellation","onRate","Summary","exports","displayName","propTypes","PropTypes","arrayOf","shape","string","bool"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Item.module.css';\nimport { Preview } from './Item.Preview';\nimport { Rates } from './Item.Rates';\nimport { Summary } from './Item.Summary';\n\nconst Item = ({ boards = [], cancellations = [], cart: selected, features = {}, rates = [], ...others }) => {\n const [selectedBoard, setSelectedBoard] = useState();\n\n useEffect(() => {\n let nextBoard = selected ? boards.find((item) => item.id === selected.id) : undefined;\n\n if (!selectedBoard || !nextBoard) {\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n }\n\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards, selected]);\n\n const handleBoard = (board) => {\n setSelectedBoard(board);\n };\n\n const handleCancellation = (id) => {\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n };\n\n const handleRate = ({ id, cancellationId }) => {\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const { showAllBoards, showAllOffers, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const ratePrice = findPrice(rateId, rates);\n const visibleBoards = boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n const props = {\n ...others,\n boards: showAllBoards\n ? boards\n .map((board) => {\n const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;\n let { increment } = board;\n\n if (!selectedBoard) {\n const boardCancellationPrice = findPrice(board.cancellationId, cancellations);\n const boardRatePrice = findPrice(board.rateId, rates);\n increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;\n }\n\n return { ...board, disabled: !selectedBoard, increment };\n })\n .filter((board) => {\n if (!board.disabled) return true;\n\n const visible = !visibleBoards.find((item) => item.name === board.name);\n if (visible) visibleBoards.push(board);\n\n return visible;\n })\n .sort((a, b) => a.increment - b.increment)\n : visibleBoards,\n cancellations,\n features,\n rates: showOffersFirst\n ? rates\n .map((rate) => ({ ...rate, price: rate.price + findPrice(rate.cancellationId, cancellations) }))\n .sort((a, b) => a.price - b.price)\n : showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);\n\n return { ...rate, disabled: !showOffersFirst && !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n };\n\n return (\n <View\n className={[\n style.card,\n selected?.id === id && style.selected,\n selected && selected.id !== id && style.unselected,\n others.className,\n ]}\n >\n <Preview {...props} />\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n <Summary {...props} />\n </View>\n );\n};\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nItem.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.shape({})),\n cancellations: PropTypes.arrayOf(PropTypes.shape({})),\n cart: PropTypes.shape({\n id: PropTypes.string,\n }),\n features: PropTypes.shape({}),\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n showAllOffers: PropTypes.bool,\n};\n\nexport { Item };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_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","Item","_ref","boards","cancellations","cart","selected","features","rates","others","selectedBoard","setSelectedBoard","useState","useEffect","id","cancellationId","rateId","nextBoard","find","board","handleBoard","handleCancellation","_ref2","handleRate","_ref3","findPrice","dataSource","undefined","item","price","showAllBoards","showAllOffers","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","props","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","name","push","sort","b","rate","selectedCancellation","createElement","View","className","card","unselected","Preview","Rates","onBoard","onCancellation","onRate","Summary","exports","displayName","propTypes","PropTypes","arrayOf","shape","string","bool"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Item.module.css';\nimport { Preview } from './Item.Preview';\nimport { Rates } from './Item.Rates';\nimport { Summary } from './Item.Summary';\n\nconst Item = ({ boards = [], cancellations = [], cart: selected, features = {}, rates = [], ...others }) => {\n const [selectedBoard, setSelectedBoard] = useState();\n\n useEffect(() => {\n if (selectedBoard) return;\n\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n const nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n if (!selected) return;\n\n const nextBoard = boards.find((board) => board.id === selected.id);\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const handleBoard = (board) => {\n setSelectedBoard(board);\n };\n\n const handleCancellation = (id) => {\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n };\n\n const handleRate = ({ id, cancellationId }) => {\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const { showAllBoards, showAllOffers, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const ratePrice = findPrice(rateId, rates);\n const visibleBoards = boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n const props = {\n ...others,\n boards: showAllBoards\n ? boards\n .map((board) => {\n const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;\n let { increment } = board;\n\n if (!selectedBoard) {\n const boardCancellationPrice = findPrice(board.cancellationId, cancellations);\n const boardRatePrice = findPrice(board.rateId, rates);\n increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;\n }\n\n return { ...board, disabled: !selectedBoard, increment };\n })\n .filter((board) => {\n if (!board.disabled) return true;\n\n const visible = !visibleBoards.find((item) => item.name === board.name);\n if (visible) visibleBoards.push(board);\n\n return visible;\n })\n .sort((a, b) => a.increment - b.increment)\n : visibleBoards,\n cancellations,\n features,\n rates: showOffersFirst\n ? rates\n .map((rate) => ({ ...rate, price: rate.price + findPrice(rate.cancellationId, cancellations) }))\n .sort((a, b) => a.price - b.price)\n : showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);\n\n return { ...rate, disabled: !showOffersFirst && !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n };\n\n return (\n <View\n className={[\n style.card,\n selected?.id === id && style.selected,\n selected && selected.id !== id && style.unselected,\n others.className,\n ]}\n >\n <Preview {...props} />\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n <Summary {...props} />\n </View>\n );\n};\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nItem.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.shape({})),\n cancellations: PropTypes.arrayOf(PropTypes.shape({})),\n cart: PropTypes.shape({\n id: PropTypes.string,\n }),\n features: PropTypes.shape({}),\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n showAllOffers: PropTypes.bool,\n};\n\nexport { Item };\n"],"mappings":"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"}
@@ -297,6 +297,8 @@ const consolidateStore = function () {
297
297
  // -- components
298
298
  deals: undefined,
299
299
  finder,
300
+ lisa: undefined,
301
+ // ! TODO: Rename to chat
300
302
  rates,
301
303
  signup: undefined
302
304
  };
@@ -1 +1 @@
1
- {"version":3,"file":"consolidateStore.js","names":["_locale","require","_loyalty","_interopRequireDefault","_getAccommodationType","_getLocale","_getTags","_themeDirection","_toOccupation","_Core","_process","_process$env","obj","__esModule","default","IS_JEST","process","env","JEST_WORKER_ID","consolidateStore","_config$accomodation","_config$accomodation2","_config$accomodation3","_config$accomodation4","_config$accomodation5","_tags","_promo","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","arguments","length","undefined","forceUri","miraiId","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","accomodation","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","CALENDAR_FORMAT","language","country","getLocale","themeDirection","currency","DEFAULT_CURRENCY","club","discount","discountEnabled","rates","variants","active","authentication","idClub","name","conditionsUrl","conditions","privacyPolicyUrl","privacy","applyClubDiscount","idtokenprovider","idHotel","TYPE","CHAIN","variantDiscount","variantRates","find","toString","url","filter","map","enabled","accommodationType","getAccommodationType","lodgingDenomination","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","Object","entries","_ref","key","occupation","dataSource","ADULT","min","age","CHILD","fulfill","maxRooms","rooms","maxOccupation","commissionCode","hsri","COMMISSION_TYPE","chainSelector","tags","placeHolder","trees","options","getTags","placeholder","chainSelectorValue","checkin","clientCode","nights","parties","parseDate","checkout","parseInt","promo","showPromoNav","configPromo","promoText","place","value","Number","finder","toOccupation","places","promocode","code","cart","JSON","parse","host","concat","document","protocol","isDevelopment","NODE_ENV","forwarder","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","locale","DEFAULT_LOCALE","reduce","_ref2","component","props","loyalty","MOCK_LOYALTY","deals","exports"],"sources":["../../src/helpers/consolidateStore.js"],"sourcesContent":["import { dateCalc, dateFormat, DEFAULT_CURRENCY, DEFAULT_LOCALE, parseDate } from '@mirai/locale';\n\nimport MOCK_LOYALTY from './__mocks__/loyalty.json';\nimport { getAccommodationType } from './getAccommodationType';\nimport { getLocale } from './getLocale';\nimport { getTags } from './getTags';\nimport { themeDirection } from './themeDirection';\nimport { toOccupation } from './toOccupation';\nimport { CALENDAR_FORMAT, COMMISSION_TYPE, TAX_DEFAULT, TAXES, TYPE } from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\n/* eslint-disable no-unused-vars */\nexport const consolidateStore = ({\n components = [],\n config = {},\n cookies = {},\n instance: { el, hotel: hotelId, id, type, ...instance } = {},\n session,\n urlParams = {},\n} = {}) => {\n const { forceUri = false, miraiId } = urlParams;\n\n // -- calendar -------------------------------------------------------------------------------------------------------\n const {\n maxDays = 365,\n maxNights: rangeMaxDays = 31,\n nightsForDeal: rangeMinDays,\n prices: showPrices = false,\n pricesWithTaxes: pricesLegend,\n } = config.accomodation?.calendar || {};\n const calendar = {\n rangeMaxDays,\n rangeMinDays,\n pricesLegend: TAXES.includes(pricesLegend) ? pricesLegend : showPrices ? TAX_DEFAULT : undefined,\n showPrices,\n to: !IS_JEST ? dateFormat(dateCalc(new Date(), maxDays, 'days'), CALENDAR_FORMAT) : undefined,\n };\n\n // -- language & country ---------------------------------------------------------------------------------------------\n // language & country\n const [language, country] = getLocale(instance, urlParams);\n themeDirection(language);\n\n // -- currency -------------------------------------------------------------------------------------------------------\n const currency =\n (forceUri ? urlParams.currency : undefined) ||\n cookies.currency ||\n urlParams.currency ||\n instance.currency ||\n DEFAULT_CURRENCY;\n\n // -- club -----------------------------------------------------------------------------------------------------------\n let club;\n if (config.club) {\n let {\n accomodation: { club: { discount: discountEnabled = false, rates = false } = {}, variants = [] },\n club: {\n club: { active, authentication, idClub: id, name },\n conditionsUrl: conditions,\n privacyPolicyUrl: privacy,\n },\n } = config;\n\n let discount;\n let { applyClubDiscount, idtokenprovider: idHotel = '' } = urlParams;\n discount = applyClubDiscount;\n if (discount === undefined) {\n discount = rates;\n if (type === TYPE.CHAIN) {\n let { discount: variantDiscount, rates: variantRates } =\n variants.find(({ id = '' } = {}) => id.toString() === idHotel.toString()) || {};\n discountEnabled = variantDiscount || discountEnabled;\n discount = variantRates || rates;\n }\n }\n\n club = {\n active,\n authentication,\n discount: active && discountEnabled ? discount : undefined,\n id,\n name,\n url: { conditions, privacy },\n variants: variants\n .filter(({ club } = {}) => club)\n .map(({ club: { discount: enabled, rates: active } = {}, id } = {}) => ({ active, enabled, id })),\n };\n }\n\n // -- hotel ----------------------------------------------------------------------------------------------------------\n const hotel = {\n accommodationType: getAccommodationType(config.lodgingDenomination, hotelId),\n id: type === TYPE.CHAIN ? hotelId : id,\n url: urlParams.home || window.location.origin,\n warningAvailability: config.minRoomsEngineNotification,\n };\n\n if (type === TYPE.CHAIN) {\n const { hotels = {} } = config;\n hotel.variants = {};\n\n Object.entries(hotels).map(([key, { lodgingDenomination: accommodationType }]) => {\n hotel.variants[key] = { accommodationType };\n });\n }\n\n // -- occupation -----------------------------------------------------------------------------------------------------\n const occupation = {\n dataSource: config.accomodation?.occupation || [\n { type: TYPE.ADULT, min: 1, age: [18] },\n { type: TYPE.CHILD, age: [0, 17], fulfill: true },\n ],\n maxRooms: config.accomodation?.rooms?.maxOccupation,\n variants: config.accomodation?.variants || [],\n };\n\n // -- origin ---------------------------------------------------------------------------------------------------------\n const origin = {\n commissionCode: urlParams.hsri || COMMISSION_TYPE[type],\n };\n\n // -- tags -----------------------------------------------------------------------------------------------------------\n const { chainSelector } = config;\n let tags;\n if (type === TYPE.CHAIN && chainSelector) {\n const { placeHolder = {}, trees = [] } = chainSelector;\n tags = { options: getTags(trees, language), placeholder: placeHolder[language] };\n }\n\n // -- finder ---------------------------------------------------------------------------------------------------------\n let { chainSelectorValue, checkin, clientCode, nights = 0, parties } = urlParams;\n checkin = checkin ? parseDate(checkin) : undefined;\n let checkout;\n\n if (checkin) checkout = dateCalc(checkin, parseInt(nights), 'days');\n\n let promo;\n if (config.showPromoNav) {\n const { accomodation: { promo: configPromo = {} } = {}, promoText: placeholder = {} } = config;\n promo = { ...configPromo, placeholder };\n }\n\n let place;\n if (chainSelectorValue && tags) {\n place = tags.options.find(({ value } = {}) => value === Number(chainSelectorValue));\n\n const { id: [id] = [] } = place || {};\n const { accommodationType } = hotel.variants[id] || {};\n if (accommodationType) hotel.accommodationType = accommodationType;\n }\n\n let finder = {\n place,\n calendar: checkin ? [checkin, checkout] : [],\n occupation: parties ? toOccupation({ chainSelectorValue, occupation, parties, places: tags?.options }) : undefined,\n promocode: clientCode || promo?.code,\n };\n\n // -- rates ----------------------------------------------------------------------------------------------------------\n let rates = urlParams.rates ? { cart: urlParams.rates ? JSON.parse(urlParams.rates) : undefined } : undefined;\n\n // -- forwarder ------------------------------------------------------------------------------------------------------\n const host = `${document.location.protocol}//${document.location.host}`;\n const isDevelopment = process.env.NODE_ENV === 'development';\n const forwarder = {\n rates: miraiId ? `${host}/step1-rates` : `${process.env.SERVICE_BOOKING}/miraiFrontDispatcher.htm`,\n checkout: miraiId ? `${host}/step2-checkout` : `${process.env.SERVICE_BOOKING}/forwarder_client_form.htm`,\n booking: miraiId ? `${host}/step3-booking` : `${process.env.SERVICE_BOOKING}/forwarder_manage_reservation.htm`,\n signup:\n miraiId || isDevelopment\n ? `${host}/signup`\n : `${process.env.SERVICE_USER}/club/v1/forwarder/registration_process`,\n profile:\n miraiId || isDevelopment ? `${host}/profile` : `${process.env.SERVICE_USER}/club/v1/forwarder/members_area`,\n };\n\n return {\n config,\n cookies,\n urlParams,\n ...instance,\n id,\n type,\n\n // region\n currency,\n language,\n country,\n locale: language && country ? `${language}-${country}` : DEFAULT_LOCALE,\n\n // entities,\n calendar,\n club,\n components: components.reduce((value, { component, ...props }) => {\n value[component] = props;\n return value;\n }, {}),\n forwarder,\n hotel,\n loyalty: IS_JEST ? undefined : MOCK_LOYALTY,\n occupation,\n origin,\n promo,\n session,\n tags,\n // -- components\n deals: undefined,\n finder,\n rates,\n signup: undefined,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"consolidateStore.js","names":["_locale","require","_loyalty","_interopRequireDefault","_getAccommodationType","_getLocale","_getTags","_themeDirection","_toOccupation","_Core","_process","_process$env","obj","__esModule","default","IS_JEST","process","env","JEST_WORKER_ID","consolidateStore","_config$accomodation","_config$accomodation2","_config$accomodation3","_config$accomodation4","_config$accomodation5","_tags","_promo","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","arguments","length","undefined","forceUri","miraiId","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","accomodation","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","CALENDAR_FORMAT","language","country","getLocale","themeDirection","currency","DEFAULT_CURRENCY","club","discount","discountEnabled","rates","variants","active","authentication","idClub","name","conditionsUrl","conditions","privacyPolicyUrl","privacy","applyClubDiscount","idtokenprovider","idHotel","TYPE","CHAIN","variantDiscount","variantRates","find","toString","url","filter","map","enabled","accommodationType","getAccommodationType","lodgingDenomination","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","Object","entries","_ref","key","occupation","dataSource","ADULT","min","age","CHILD","fulfill","maxRooms","rooms","maxOccupation","commissionCode","hsri","COMMISSION_TYPE","chainSelector","tags","placeHolder","trees","options","getTags","placeholder","chainSelectorValue","checkin","clientCode","nights","parties","parseDate","checkout","parseInt","promo","showPromoNav","configPromo","promoText","place","value","Number","finder","toOccupation","places","promocode","code","cart","JSON","parse","host","concat","document","protocol","isDevelopment","NODE_ENV","forwarder","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","locale","DEFAULT_LOCALE","reduce","_ref2","component","props","loyalty","MOCK_LOYALTY","deals","lisa","exports"],"sources":["../../src/helpers/consolidateStore.js"],"sourcesContent":["import { dateCalc, dateFormat, DEFAULT_CURRENCY, DEFAULT_LOCALE, parseDate } from '@mirai/locale';\n\nimport MOCK_LOYALTY from './__mocks__/loyalty.json';\nimport { getAccommodationType } from './getAccommodationType';\nimport { getLocale } from './getLocale';\nimport { getTags } from './getTags';\nimport { themeDirection } from './themeDirection';\nimport { toOccupation } from './toOccupation';\nimport { CALENDAR_FORMAT, COMMISSION_TYPE, TAX_DEFAULT, TAXES, TYPE } from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\n/* eslint-disable no-unused-vars */\nexport const consolidateStore = ({\n components = [],\n config = {},\n cookies = {},\n instance: { el, hotel: hotelId, id, type, ...instance } = {},\n session,\n urlParams = {},\n} = {}) => {\n const { forceUri = false, miraiId } = urlParams;\n\n // -- calendar -------------------------------------------------------------------------------------------------------\n const {\n maxDays = 365,\n maxNights: rangeMaxDays = 31,\n nightsForDeal: rangeMinDays,\n prices: showPrices = false,\n pricesWithTaxes: pricesLegend,\n } = config.accomodation?.calendar || {};\n const calendar = {\n rangeMaxDays,\n rangeMinDays,\n pricesLegend: TAXES.includes(pricesLegend) ? pricesLegend : showPrices ? TAX_DEFAULT : undefined,\n showPrices,\n to: !IS_JEST ? dateFormat(dateCalc(new Date(), maxDays, 'days'), CALENDAR_FORMAT) : undefined,\n };\n\n // -- language & country ---------------------------------------------------------------------------------------------\n // language & country\n const [language, country] = getLocale(instance, urlParams);\n themeDirection(language);\n\n // -- currency -------------------------------------------------------------------------------------------------------\n const currency =\n (forceUri ? urlParams.currency : undefined) ||\n cookies.currency ||\n urlParams.currency ||\n instance.currency ||\n DEFAULT_CURRENCY;\n\n // -- club -----------------------------------------------------------------------------------------------------------\n let club;\n if (config.club) {\n let {\n accomodation: { club: { discount: discountEnabled = false, rates = false } = {}, variants = [] },\n club: {\n club: { active, authentication, idClub: id, name },\n conditionsUrl: conditions,\n privacyPolicyUrl: privacy,\n },\n } = config;\n\n let discount;\n let { applyClubDiscount, idtokenprovider: idHotel = '' } = urlParams;\n discount = applyClubDiscount;\n if (discount === undefined) {\n discount = rates;\n if (type === TYPE.CHAIN) {\n let { discount: variantDiscount, rates: variantRates } =\n variants.find(({ id = '' } = {}) => id.toString() === idHotel.toString()) || {};\n discountEnabled = variantDiscount || discountEnabled;\n discount = variantRates || rates;\n }\n }\n\n club = {\n active,\n authentication,\n discount: active && discountEnabled ? discount : undefined,\n id,\n name,\n url: { conditions, privacy },\n variants: variants\n .filter(({ club } = {}) => club)\n .map(({ club: { discount: enabled, rates: active } = {}, id } = {}) => ({ active, enabled, id })),\n };\n }\n\n // -- hotel ----------------------------------------------------------------------------------------------------------\n const hotel = {\n accommodationType: getAccommodationType(config.lodgingDenomination, hotelId),\n id: type === TYPE.CHAIN ? hotelId : id,\n url: urlParams.home || window.location.origin,\n warningAvailability: config.minRoomsEngineNotification,\n };\n\n if (type === TYPE.CHAIN) {\n const { hotels = {} } = config;\n hotel.variants = {};\n\n Object.entries(hotels).map(([key, { lodgingDenomination: accommodationType }]) => {\n hotel.variants[key] = { accommodationType };\n });\n }\n\n // -- occupation -----------------------------------------------------------------------------------------------------\n const occupation = {\n dataSource: config.accomodation?.occupation || [\n { type: TYPE.ADULT, min: 1, age: [18] },\n { type: TYPE.CHILD, age: [0, 17], fulfill: true },\n ],\n maxRooms: config.accomodation?.rooms?.maxOccupation,\n variants: config.accomodation?.variants || [],\n };\n\n // -- origin ---------------------------------------------------------------------------------------------------------\n const origin = {\n commissionCode: urlParams.hsri || COMMISSION_TYPE[type],\n };\n\n // -- tags -----------------------------------------------------------------------------------------------------------\n const { chainSelector } = config;\n let tags;\n if (type === TYPE.CHAIN && chainSelector) {\n const { placeHolder = {}, trees = [] } = chainSelector;\n tags = { options: getTags(trees, language), placeholder: placeHolder[language] };\n }\n\n // -- finder ---------------------------------------------------------------------------------------------------------\n let { chainSelectorValue, checkin, clientCode, nights = 0, parties } = urlParams;\n checkin = checkin ? parseDate(checkin) : undefined;\n let checkout;\n\n if (checkin) checkout = dateCalc(checkin, parseInt(nights), 'days');\n\n let promo;\n if (config.showPromoNav) {\n const { accomodation: { promo: configPromo = {} } = {}, promoText: placeholder = {} } = config;\n promo = { ...configPromo, placeholder };\n }\n\n let place;\n if (chainSelectorValue && tags) {\n place = tags.options.find(({ value } = {}) => value === Number(chainSelectorValue));\n\n const { id: [id] = [] } = place || {};\n const { accommodationType } = hotel.variants[id] || {};\n if (accommodationType) hotel.accommodationType = accommodationType;\n }\n\n let finder = {\n place,\n calendar: checkin ? [checkin, checkout] : [],\n occupation: parties ? toOccupation({ chainSelectorValue, occupation, parties, places: tags?.options }) : undefined,\n promocode: clientCode || promo?.code,\n };\n\n // -- rates ----------------------------------------------------------------------------------------------------------\n let rates = urlParams.rates ? { cart: urlParams.rates ? JSON.parse(urlParams.rates) : undefined } : undefined;\n\n // -- forwarder ------------------------------------------------------------------------------------------------------\n const host = `${document.location.protocol}//${document.location.host}`;\n const isDevelopment = process.env.NODE_ENV === 'development';\n const forwarder = {\n rates: miraiId ? `${host}/step1-rates` : `${process.env.SERVICE_BOOKING}/miraiFrontDispatcher.htm`,\n checkout: miraiId ? `${host}/step2-checkout` : `${process.env.SERVICE_BOOKING}/forwarder_client_form.htm`,\n booking: miraiId ? `${host}/step3-booking` : `${process.env.SERVICE_BOOKING}/forwarder_manage_reservation.htm`,\n signup:\n miraiId || isDevelopment\n ? `${host}/signup`\n : `${process.env.SERVICE_USER}/club/v1/forwarder/registration_process`,\n profile:\n miraiId || isDevelopment ? `${host}/profile` : `${process.env.SERVICE_USER}/club/v1/forwarder/members_area`,\n };\n\n return {\n config,\n cookies,\n urlParams,\n ...instance,\n id,\n type,\n\n // region\n currency,\n language,\n country,\n locale: language && country ? `${language}-${country}` : DEFAULT_LOCALE,\n\n // entities,\n calendar,\n club,\n components: components.reduce((value, { component, ...props }) => {\n value[component] = props;\n return value;\n }, {}),\n forwarder,\n hotel,\n loyalty: IS_JEST ? undefined : MOCK_LOYALTY,\n occupation,\n origin,\n promo,\n session,\n tags,\n // -- components\n deals: undefined,\n finder,\n lisa: undefined, // ! TODO: Rename to chat\n rates,\n signup: undefined,\n };\n};\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.3.178",
3
+ "version": "0.3.179",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",