@mirai/core 0.4.445 → 0.4.447
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/build/Core.constants.js +2 -2
- package/build/Core.constants.js.map +1 -1
- package/build/components/Chat/Chat.js +8 -1
- package/build/components/Chat/Chat.js.map +1 -1
- package/build/components/CookieBanner/CookieBanner.js +9 -5
- package/build/components/CookieBanner/CookieBanner.js.map +1 -1
- package/build/components/Finder/Finder.js +0 -6
- package/build/components/Finder/Finder.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Preview.js +2 -1
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/helpers/constants.js +1 -0
- package/build/components/helpers/constants.js.map +1 -1
- package/build/contexts/PerformanceManager/PerformanceManager.events.js +8 -12
- package/build/contexts/PerformanceManager/PerformanceManager.events.js.map +1 -1
- package/build/contexts/PerformanceManager/PerformanceManager.js +2 -2
- package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/analytics/chatOpen.js +25 -0
- package/build/contexts/PerformanceManager/providers/analytics/chatOpen.js.map +1 -0
- package/build/contexts/PerformanceManager/providers/analytics/{finderReady.js → coreReady.js} +6 -6
- package/build/contexts/PerformanceManager/providers/analytics/coreReady.js.map +1 -0
- package/build/contexts/PerformanceManager/providers/analytics/externalTwin.js +3 -1
- package/build/contexts/PerformanceManager/providers/analytics/externalTwin.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/analytics/index.js +4 -2
- package/build/contexts/PerformanceManager/providers/analytics/index.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/gtm/{finderReady.js → coreReady.js} +9 -6
- package/build/contexts/PerformanceManager/providers/gtm/coreReady.js.map +1 -0
- package/build/contexts/PerformanceManager/providers/gtm/index.js +2 -2
- package/build/contexts/PerformanceManager/providers/gtm/index.js.map +1 -1
- package/package.json +1 -1
- package/build/contexts/PerformanceManager/providers/analytics/finderReady.js.map +0 -1
- package/build/contexts/PerformanceManager/providers/gtm/finderReady.js.map +0 -1
package/README.md
CHANGED
|
@@ -444,7 +444,7 @@ window.Mirai.Event.publish('chatOpen');
|
|
|
444
444
|
The `cookieBannerOpen` event triggers the display of the `<CookieBanner>` visual component. When this event is published, the cookie banner will automatically appear, allowing the user to accept or decline the use of cookies.
|
|
445
445
|
|
|
446
446
|
```javascript
|
|
447
|
-
window.Mirai.Event.publish('
|
|
447
|
+
window.Mirai.Event.publish('cookieBannerOpen');
|
|
448
448
|
```
|
|
449
449
|
|
|
450
450
|
## 2.9 `<Header>`
|
package/build/Core.constants.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.VALIDATE_ERROR = exports.TYPE_COMMISSION = exports.TYPE = exports.TRACKING = exports.TAX_DEFAULT = exports.TAXES_TYPE = exports.TAXES = exports.SENTRY_EXCLUDED_HOTELS = exports.REDIRECT_PATH = exports.PERFORMANCE = exports.MIN_STAY_TYPE = exports.FINDER_STORAGE_KEY = exports.EVENT = exports.ERROR = exports.COOKIE = exports.COMPONENTS = exports.CALENDAR_FORMAT = exports.AUTH_TYPE = exports.ACCOMMODATION_TYPE = void 0;
|
|
6
|
+
exports.VALIDATE_ERROR = exports.TYPE_COMMISSION = exports.TYPE = exports.TRACKING = exports.TAX_DEFAULT = exports.TAXES_TYPE = exports.TAXES = exports.SENTRY_EXCLUDED_HOTELS = exports.SARAI_SOURCE = exports.REDIRECT_PATH = exports.PERFORMANCE = exports.MIN_STAY_TYPE = exports.FINDER_STORAGE_KEY = exports.EVENT = exports.ERROR = exports.COOKIE = exports.COMPONENTS = exports.CALENDAR_FORMAT = exports.AUTH_TYPE = exports.ACCOMMODATION_TYPE = void 0;
|
|
7
7
|
const ACCOMMODATION_TYPE = exports.ACCOMMODATION_TYPE = {
|
|
8
8
|
DEFAULT: 0,
|
|
9
9
|
ROOM: 1,
|
|
@@ -19,7 +19,6 @@ const AUTH_TYPE = exports.AUTH_TYPE = {
|
|
|
19
19
|
};
|
|
20
20
|
const CALENDAR_FORMAT = exports.CALENDAR_FORMAT = 'DD/MM/YYYY';
|
|
21
21
|
const COMPONENTS = exports.COMPONENTS = {
|
|
22
|
-
FINDER: 'finder',
|
|
23
22
|
RATES: 'rates',
|
|
24
23
|
CHECKOUT: 'checkout',
|
|
25
24
|
BOOKING: 'booking'
|
|
@@ -67,6 +66,7 @@ const PERFORMANCE = exports.PERFORMANCE = {
|
|
|
67
66
|
COMPARE: 9
|
|
68
67
|
};
|
|
69
68
|
const REDIRECT_PATH = exports.REDIRECT_PATH = 'miraiFrontDispatcher.htm';
|
|
69
|
+
const SARAI_SOURCE = exports.SARAI_SOURCE = 'sarai';
|
|
70
70
|
const SENTRY_EXCLUDED_HOTELS = exports.SENTRY_EXCLUDED_HOTELS = ['100379008' // Monalisa
|
|
71
71
|
];
|
|
72
72
|
const TAX_DEFAULT = exports.TAX_DEFAULT = 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Core.constants.js","names":["ACCOMMODATION_TYPE","exports","DEFAULT","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","AUTH_TYPE","MIRAI","PESTANA","SENATOR","CALENDAR_FORMAT","COMPONENTS","
|
|
1
|
+
{"version":3,"file":"Core.constants.js","names":["ACCOMMODATION_TYPE","exports","DEFAULT","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","AUTH_TYPE","MIRAI","PESTANA","SENATOR","CALENDAR_FORMAT","COMPONENTS","RATES","CHECKOUT","BOOKING","COOKIE","CART","PESTANA_OLD","VALUES","ERROR","NOT_AVAILABLE","PARAMETER_ERROR","UNKNOWN","EVENT","CORE_READY","CORE_EVENTS_READY","TYPE","CHAIN","HOTEL","GUEST","ADULT","CHILD","TYPE_COMMISSION","FINDER_STORAGE_KEY","MIN_STAY_TYPE","CHECK_IN","STAY","PERFORMANCE","ANALYTICS","GOOGLE_ADS","GTM","FACEBOOK","THE_HOTEL_NETWORK","AFFILIRED","BING","COMPARE","REDIRECT_PATH","SARAI_SOURCE","SENTRY_EXCLUDED_HOTELS","TAX_DEFAULT","TAX_FREE","TAX_PARTIAL","TAXES","TAXES_TYPE","ALL_EXCLUDED","ALL_INCLUDED","FEES_INCLUDED","FEES_EXCLUDED","FEES_INCLUDED_TAXES_EXCLUDED","TAXES_INCLUDED","TAXES_EXCLUDED","TAXES_INCLUDED_FEES_EXCLUDED","TRACKING","adwordsTracking","affiliredTracking","analyticsTracking","bingTracking","compareTracking","facebookTracking","gtmTracking","miraiTracking","thnTracking","VALIDATE_ERROR","PRICE_CHANGED","NOT_ENOUGH_ROOMS","NOT_ENOUGH_ROOMS_FOR_OFFER","NO_SELECTED_ROOMS","EXTRA_CHANGED","URL_GENERIC"],"sources":["../src/Core.constants.js"],"sourcesContent":["const ACCOMMODATION_TYPE = {\n DEFAULT: 0,\n ROOM: 1,\n APARTMENT: 2,\n PITCH: 3,\n ACCOMMODATION: 4,\n VILLA: 5,\n};\n\nconst AUTH_TYPE = {\n MIRAI: 1,\n PESTANA: 3,\n SENATOR: 2,\n};\n\nconst CALENDAR_FORMAT = 'DD/MM/YYYY';\n\nconst COMPONENTS = {\n RATES: 'rates',\n CHECKOUT: 'checkout',\n BOOKING: 'booking',\n};\n\nconst COOKIE = {\n CART: 'CART_COOKIE',\n PESTANA_OLD: '_jwt',\n PESTANA: 'pestana-login-token',\n VALUES: 'BOOKING_VALUES',\n};\n\nconst ERROR = {\n NOT_AVAILABLE: 4,\n PARAMETER_ERROR: 3,\n UNKNOWN: 1,\n};\n\nconst EVENT = {\n CORE_READY: 'core:ready',\n CORE_EVENTS_READY: 'core:events:ready',\n};\n\nconst TYPE = {\n CHAIN: 'chain',\n HOTEL: 'hotel',\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n};\n\nconst TYPE_COMMISSION = {\n [TYPE.HOTEL]: '02040',\n [TYPE.CHAIN]: '02080',\n};\n\nconst FINDER_STORAGE_KEY = 'MIRAI:FINDER';\n\nconst MIN_STAY_TYPE = {\n CHECK_IN: 1,\n STAY: 2,\n};\n\nconst PERFORMANCE = {\n ANALYTICS: 1,\n GOOGLE_ADS: 2,\n GTM: 3,\n MIRAI: 4,\n FACEBOOK: 5,\n THE_HOTEL_NETWORK: 6,\n AFFILIRED: 7,\n BING: 8,\n COMPARE: 9,\n};\n\nconst REDIRECT_PATH = 'miraiFrontDispatcher.htm';\n\nconst SARAI_SOURCE = 'sarai';\n\nconst SENTRY_EXCLUDED_HOTELS = [\n '100379008', // Monalisa\n];\n\nconst TAX_DEFAULT = 1;\n\nconst TAX_FREE = 2;\n\nconst TAX_PARTIAL = 3;\n\nconst TAXES = [TAX_DEFAULT, TAX_FREE, TAX_PARTIAL];\n\nconst TAXES_TYPE = {\n ALL_EXCLUDED: 1,\n ALL_INCLUDED: 2,\n FEES_INCLUDED: 3,\n FEES_EXCLUDED: 4,\n FEES_INCLUDED_TAXES_EXCLUDED: 5,\n TAXES_INCLUDED: 6,\n TAXES_EXCLUDED: 7,\n TAXES_INCLUDED_FEES_EXCLUDED: 8,\n};\n\nconst TRACKING = {\n adwordsTracking: PERFORMANCE.GOOGLE_ADS,\n affiliredTracking: PERFORMANCE.AFFILIRED,\n analyticsTracking: PERFORMANCE.ANALYTICS,\n bingTracking: PERFORMANCE.BING,\n compareTracking: PERFORMANCE.COMPARE,\n facebookTracking: PERFORMANCE.FACEBOOK,\n gtmTracking: PERFORMANCE.GTM,\n miraiTracking: PERFORMANCE.MIRAI,\n thnTracking: PERFORMANCE.THE_HOTEL_NETWORK,\n};\n\nconst VALIDATE_ERROR = {\n PRICE_CHANGED: 1,\n NOT_ENOUGH_ROOMS: 2,\n NOT_ENOUGH_ROOMS_FOR_OFFER: 3,\n NO_SELECTED_ROOMS: 4,\n EXTRA_CHANGED: 5,\n URL_GENERIC: 6,\n};\n\nexport {\n ACCOMMODATION_TYPE,\n AUTH_TYPE,\n CALENDAR_FORMAT,\n COMPONENTS,\n COOKIE,\n ERROR,\n EVENT,\n FINDER_STORAGE_KEY,\n MIN_STAY_TYPE,\n PERFORMANCE,\n REDIRECT_PATH,\n SARAI_SOURCE,\n SENTRY_EXCLUDED_HOTELS,\n TAX_DEFAULT,\n TAXES_TYPE,\n TAXES,\n TRACKING,\n TYPE_COMMISSION,\n TYPE,\n VALIDATE_ERROR,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -94,8 +94,15 @@ const Chat = _ref => {
|
|
|
94
94
|
setBusy(false);
|
|
95
95
|
}, _Chat.DELAY_RESPONSE);
|
|
96
96
|
};
|
|
97
|
-
const handleOpen = ()
|
|
97
|
+
const handleOpen = function () {
|
|
98
|
+
let {
|
|
99
|
+
source = _Core.SARAI_SOURCE
|
|
100
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
98
101
|
setVisible(true);
|
|
102
|
+
_dataSources.Event.publish(_helpers2.EVENT.CHAT_OPENED, {
|
|
103
|
+
event: _helpers2.EVENT.CHAT_OPENED,
|
|
104
|
+
source
|
|
105
|
+
});
|
|
99
106
|
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
100
107
|
id: 'SARAI:OPEN'
|
|
101
108
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_helpers","_Core","_helpers2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectDestructuringEmpty","_extends","assign","bind","Chat","_ref","others","translate","useLocale","isMobile","useDevice","assistant","calendar","components","currency","hotel","id","locale","occupation","origin","session","skeleton","type","useStore","useEffect","Event","subscribe","EVENT","CHAT_OPEN","handleOpen","unsubscribe","busy","setBusy","useState","messages","setMessages","visible","setVisible","handleInput","input","shortcutMessage","undefined","nextMessages","text","timestamp","Date","getTime","setTimeout","context","TYPE","CHAIN","process","env","NODE_ENV","chain","response","ServiceSynapse","message","catch","synapse","audioNotification","DELAY_RESPONSE","publish","METRICS","handleClose","hasAura","navigator","mediaDevices","enabled","isReady","every","item","BANNED_COMPONENTS","includes","entities","createElement","Fragment","Modal","fit","portal","className","styles","container","Header","onClose","onRestart","Welcome","onInput","ScrollView","scrollTo","snap","map","index","Message","key","concat","disabled","Input","onValue","Text","light","tiny","warning","L10N","LABEL_WARNING_RESPONSES","name","DEFAULT_NAME","ButtonDispatcher","onPress","exports"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceSynapse } from '@mirai/services';\nimport { Modal, ScrollView, styles, Text, useDevice } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { BANNED_COMPONENTS, DEFAULT_NAME, DELAY_RESPONSE } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { ButtonDispatcher, Header, Input, Message, Welcome } from './components';\nimport { audioNotification } from './helpers';\nimport { TYPE } from '../../Core.constants';\nimport { EVENT } from '../helpers';\n\nconst Chat = ({ ...others }) => {\n const { translate } = useLocale();\n const { isMobile } = useDevice();\n const {\n value: {\n assistant = {},\n calendar,\n components = {},\n currency,\n hotel,\n id,\n locale,\n occupation,\n origin,\n session,\n skeleton = false,\n type,\n } = {},\n } = useStore();\n\n useEffect(() => {\n if (skeleton) return;\n\n Event.subscribe(EVENT.CHAT_OPEN, handleOpen);\n return () => Event.unsubscribe(EVENT.CHAT_OPEN, handleOpen);\n }, [skeleton]);\n\n const [busy, setBusy] = useState(false);\n const [messages, setMessages] = useState([]);\n const [visible, setVisible] = useState(false);\n\n const handleInput = (input, shortcutMessage = false) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n\n const context = { calendar, currency, isMobile, locale, occupation, origin, shortcutMessage };\n if ((type === TYPE.CHAIN && !hotel.id) || (process.env.NODE_ENV === 'preproduction' && id === '100379008'))\n context.chain = { id: process.env.NODE_ENV === 'preproduction' && id === '100379008' ? '500659' : id };\n else context.hotel = hotel;\n\n const response = await ServiceSynapse.message({\n context,\n input,\n session,\n }).catch(() => {});\n\n if (response) {\n setMessages([...nextMessages, { synapse: true, ...response }]);\n\n // ! TODO: Handle locale\n // if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n audioNotification();\n }\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleOpen = () => {\n setVisible(true);\n Event.publish(EVENT.METRICS, { id: 'SARAI:OPEN' });\n };\n\n const handleClose = () => {\n setVisible(false);\n Event.publish(EVENT.METRICS, { id: 'SARAI:CLOSE' });\n };\n\n const hasAura = navigator.mediaDevices && assistant.enabled;\n const isReady =\n !skeleton && Object.keys(components).every((item) => !BANNED_COMPONENTS.includes(item)) && assistant.enabled;\n // ? TODO: Get entities, from where... which strategy?\n const { entities = {} } = messages[messages.length - 1] || {};\n\n return isReady ? (\n <>\n <Modal {...others} fit portal visible={visible} className={styles(style.container, others.className)}>\n <Header onClose={handleClose} onRestart={() => setMessages([])} />\n\n {!messages.length ? (\n <Welcome onInput={handleInput} hasAura={hasAura} />\n ) : (\n <>\n <ScrollView scrollTo={new Date().getTime()} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message key={`message:${index}`} disabled={busy || index < messages.length - 1} {...message} />\n ))}\n {busy && <Message busy synapse />}\n </ScrollView>\n <Input\n disabled={busy}\n entities={entities}\n hasAura={hasAura}\n onValue={handleInput}\n className={style.input}\n />\n </>\n )}\n <Text light tiny className={style.warning}>\n {translate(L10N.LABEL_WARNING_RESPONSES, { name: assistant.name || DEFAULT_NAME })}\n </Text>\n </Modal>\n\n <ButtonDispatcher visible={visible} onPress={handleOpen} />\n </>\n ) : null;\n};\n\nexport { Chat };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_helpers","_Core","_helpers2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectDestructuringEmpty","_extends","assign","bind","Chat","_ref","others","translate","useLocale","isMobile","useDevice","assistant","calendar","components","currency","hotel","id","locale","occupation","origin","session","skeleton","type","useStore","useEffect","Event","subscribe","EVENT","CHAT_OPEN","handleOpen","unsubscribe","busy","setBusy","useState","messages","setMessages","visible","setVisible","handleInput","input","shortcutMessage","undefined","nextMessages","text","timestamp","Date","getTime","setTimeout","context","TYPE","CHAIN","process","env","NODE_ENV","chain","response","ServiceSynapse","message","catch","synapse","audioNotification","DELAY_RESPONSE","source","SARAI_SOURCE","publish","CHAT_OPENED","event","METRICS","handleClose","hasAura","navigator","mediaDevices","enabled","isReady","every","item","BANNED_COMPONENTS","includes","entities","createElement","Fragment","Modal","fit","portal","className","styles","container","Header","onClose","onRestart","Welcome","onInput","ScrollView","scrollTo","snap","map","index","Message","key","concat","disabled","Input","onValue","Text","light","tiny","warning","L10N","LABEL_WARNING_RESPONSES","name","DEFAULT_NAME","ButtonDispatcher","onPress","exports"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceSynapse } from '@mirai/services';\nimport { Modal, ScrollView, styles, Text, useDevice } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { BANNED_COMPONENTS, DEFAULT_NAME, DELAY_RESPONSE } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { ButtonDispatcher, Header, Input, Message, Welcome } from './components';\nimport { audioNotification } from './helpers';\nimport { SARAI_SOURCE, TYPE } from '../../Core.constants';\nimport { EVENT } from '../helpers';\n\nconst Chat = ({ ...others }) => {\n const { translate } = useLocale();\n const { isMobile } = useDevice();\n const {\n value: {\n assistant = {},\n calendar,\n components = {},\n currency,\n hotel,\n id,\n locale,\n occupation,\n origin,\n session,\n skeleton = false,\n type,\n } = {},\n } = useStore();\n\n useEffect(() => {\n if (skeleton) return;\n\n Event.subscribe(EVENT.CHAT_OPEN, handleOpen);\n return () => Event.unsubscribe(EVENT.CHAT_OPEN, handleOpen);\n }, [skeleton]);\n\n const [busy, setBusy] = useState(false);\n const [messages, setMessages] = useState([]);\n const [visible, setVisible] = useState(false);\n\n const handleInput = (input, shortcutMessage = false) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n\n const context = { calendar, currency, isMobile, locale, occupation, origin, shortcutMessage };\n if ((type === TYPE.CHAIN && !hotel.id) || (process.env.NODE_ENV === 'preproduction' && id === '100379008'))\n context.chain = { id: process.env.NODE_ENV === 'preproduction' && id === '100379008' ? '500659' : id };\n else context.hotel = hotel;\n\n const response = await ServiceSynapse.message({\n context,\n input,\n session,\n }).catch(() => {});\n\n if (response) {\n setMessages([...nextMessages, { synapse: true, ...response }]);\n\n // ! TODO: Handle locale\n // if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n audioNotification();\n }\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleOpen = ({ source = SARAI_SOURCE } = {}) => {\n setVisible(true);\n Event.publish(EVENT.CHAT_OPENED, { event: EVENT.CHAT_OPENED, source });\n Event.publish(EVENT.METRICS, { id: 'SARAI:OPEN' });\n };\n\n const handleClose = () => {\n setVisible(false);\n Event.publish(EVENT.METRICS, { id: 'SARAI:CLOSE' });\n };\n\n const hasAura = navigator.mediaDevices && assistant.enabled;\n const isReady =\n !skeleton && Object.keys(components).every((item) => !BANNED_COMPONENTS.includes(item)) && assistant.enabled;\n // ? TODO: Get entities, from where... which strategy?\n const { entities = {} } = messages[messages.length - 1] || {};\n\n return isReady ? (\n <>\n <Modal {...others} fit portal visible={visible} className={styles(style.container, others.className)}>\n <Header onClose={handleClose} onRestart={() => setMessages([])} />\n\n {!messages.length ? (\n <Welcome onInput={handleInput} hasAura={hasAura} />\n ) : (\n <>\n <ScrollView scrollTo={new Date().getTime()} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message key={`message:${index}`} disabled={busy || index < messages.length - 1} {...message} />\n ))}\n {busy && <Message busy synapse />}\n </ScrollView>\n <Input\n disabled={busy}\n entities={entities}\n hasAura={hasAura}\n onValue={handleInput}\n className={style.input}\n />\n </>\n )}\n <Text light tiny className={style.warning}>\n {translate(L10N.LABEL_WARNING_RESPONSES, { name: assistant.name || DEFAULT_NAME })}\n </Text>\n </Modal>\n\n <ButtonDispatcher visible={visible} onPress={handleOpen} />\n </>\n ) : null;\n};\n\nexport { Chat };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -53,17 +53,17 @@ const CookieBanner = () => {
|
|
|
53
53
|
ad_personalization: _CookieBanner.DENIED,
|
|
54
54
|
analytics_storage: _CookieBanner.DENIED
|
|
55
55
|
});
|
|
56
|
-
const value =
|
|
56
|
+
const value = getValue();
|
|
57
57
|
if (value) {
|
|
58
58
|
setAccepted(value === _CookieBanner.GRANTED);
|
|
59
59
|
} else {
|
|
60
|
-
|
|
60
|
+
setVisible(true);
|
|
61
61
|
}
|
|
62
62
|
}, []);
|
|
63
63
|
(0, _react.useEffect)(() => {
|
|
64
64
|
if (skeleton) return;
|
|
65
|
-
_dataSources.Event.subscribe(_helpers2.EVENT.COOKIE_BANNER_OPEN,
|
|
66
|
-
return () => _dataSources.Event.unsubscribe(_helpers2.EVENT.COOKIE_BANNER_OPEN,
|
|
65
|
+
_dataSources.Event.subscribe(_helpers2.EVENT.COOKIE_BANNER_OPEN, handleOpenSettings);
|
|
66
|
+
return () => _dataSources.Event.unsubscribe(_helpers2.EVENT.COOKIE_BANNER_OPEN, handleOpenSettings);
|
|
67
67
|
}, [skeleton]);
|
|
68
68
|
(0, _react.useEffect)(() => {
|
|
69
69
|
if (accepted === undefined) return;
|
|
@@ -79,13 +79,17 @@ const CookieBanner = () => {
|
|
|
79
79
|
localStorage.setItem(_CookieBanner.KEY_COOKIES_ACCEPTED_LEGACY, status);
|
|
80
80
|
}
|
|
81
81
|
}, [accepted]);
|
|
82
|
-
const
|
|
82
|
+
const handleOpenSettings = () => {
|
|
83
|
+
setSettingsAccepted(getValue() === _CookieBanner.GRANTED);
|
|
84
|
+
setExpanded([false, false]);
|
|
85
|
+
setSettings(true);
|
|
83
86
|
setVisible(true);
|
|
84
87
|
};
|
|
85
88
|
const handleResponse = value => {
|
|
86
89
|
setAccepted(value);
|
|
87
90
|
setVisible(false);
|
|
88
91
|
};
|
|
92
|
+
const getValue = () => storage.get(_CookieBanner.KEY_COOKIES_ACCEPTED) || localStorage.getItem(_CookieBanner.KEY_COOKIES_ACCEPTED_LEGACY) || (0, _helpers.getExternalCookie)();
|
|
89
93
|
const [mandatory, analytical] = expanded || [];
|
|
90
94
|
const actionProps = {
|
|
91
95
|
target: '_blank',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CookieBanner.js","names":["_dataSources","require","_locale","_ui","_react","_interopRequireWildcard","_CookieBanner","_CookieBanner2","style","_helpers","_helpers2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","GOOGLE","META","MICROSOFT","X","YANDEX","POLICIES","storage","Storage","adapter","LocalAdapter","gtag","window","dataLayer","push","CookieBanner","isMobile","useDevice","translate","useLocale","value","skeleton","useStore","accepted","setAccepted","useState","expanded","setExpanded","settings","setSettings","settingsAccepted","setSettingsAccepted","visible","setVisible","useEffect","ad_storage","DENIED","ad_user_data","ad_personalization","analytics_storage","KEY_COOKIES_ACCEPTED","localStorage","getItem","KEY_COOKIES_ACCEPTED_LEGACY","getExternalCookie","GRANTED","handleOpen","Event","subscribe","EVENT","COOKIE_BANNER_OPEN","unsubscribe","undefined","status","setItem","handleResponse","mandatory","analytical","actionProps","target","underline","createElement","Modal","fit","portal","title","L10N","LABEL_COOKIES_SETTINGS","LABEL_COOKIES_PREFERENCES","className","modal","testId","View","content","Fragment","Text","action","LABEL_COOKIES_SETTINGS_CONTENT","LABEL_COOKIES_SETTINGS_INFO","LABEL_COOKIES_SETTINGS_PRIVACY","bold","LABEL_CUSTOMIZE_CHOICES","row","setting","Pressable","onPress","Icon","ICON","EXPAND_LESS","EXPAND_MORE","LABEL_MANDATORY_COOKIES_TITLE","success","LABEL_ALWAYS_ACTIVE","info","LABEL_MANDATORY_COOKIES_CONTENT","styles","last","LABEL_ANALYTICAL_COOKIES_TITLE","InputOption","checked","name","small","type","SWITCH","onChange","LABEL_ANALYTICAL_COOKIES_CONTENT","google","Action","href","url","text","meta","microsoft","x","yandex","LABEL_COOKIES_CONTENT","LABEL_COOKIES_MORE_INFO","here","LABEL_HERE","wide","buttons","Button","ACTION_REJECT_ALL","ACTION_SAVE","ACTION_SETTINGS","ACTION_REJECT","ACTION_ACCEPT","exports","displayName"],"sources":["../../../src/components/CookieBanner/CookieBanner.jsx"],"sourcesContent":["import { Event, LocalAdapter, Storage, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, InputOption, Modal, Pressable, styles, SWITCH, Text, useDevice, View } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { DENIED, GRANTED, KEY_COOKIES_ACCEPTED, KEY_COOKIES_ACCEPTED_LEGACY, POLICIES } from './CookieBanner.constants';\nimport { L10N } from './CookieBanner.l10n';\nimport * as style from './CookieBanner.module.css';\nimport { getExternalCookie } from './helpers';\nimport { EVENT, ICON } from '../helpers';\n\nconst { GOOGLE, META, MICROSOFT, X, YANDEX } = POLICIES;\n\nconst storage = new Storage({ adapter: LocalAdapter });\n\nfunction gtag() {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(arguments);\n}\n\nconst CookieBanner = () => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { value: { skeleton = false } = {} } = useStore();\n\n const [accepted, setAccepted] = useState();\n const [expanded, setExpanded] = useState([false, false]);\n const [settings, setSettings] = useState();\n const [settingsAccepted, setSettingsAccepted] = useState(false);\n const [visible, setVisible] = useState();\n\n useEffect(() => {\n gtag('consent', 'default', {\n ad_storage: DENIED,\n ad_user_data: DENIED,\n ad_personalization: DENIED,\n analytics_storage: DENIED,\n });\n\n const value =\n storage.get(KEY_COOKIES_ACCEPTED) || localStorage.getItem(KEY_COOKIES_ACCEPTED_LEGACY) || getExternalCookie();\n if (value) {\n setAccepted(value === GRANTED);\n } else {\n handleOpen();\n }\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n Event.subscribe(EVENT.COOKIE_BANNER_OPEN, handleOpen);\n return () => Event.unsubscribe(EVENT.COOKIE_BANNER_OPEN, handleOpen);\n }, [skeleton]);\n\n useEffect(() => {\n if (accepted === undefined) return;\n\n const status = accepted ? GRANTED : DENIED;\n\n gtag('consent', 'update', {\n ad_storage: status,\n ad_user_data: status,\n ad_personalization: status,\n analytics_storage: status,\n });\n if (getExternalCookie() === undefined) {\n storage.set(KEY_COOKIES_ACCEPTED, status);\n localStorage.setItem(KEY_COOKIES_ACCEPTED_LEGACY, status);\n }\n }, [accepted]);\n\n const handleOpen = () => {\n setVisible(true);\n };\n\n const handleResponse = (value) => {\n setAccepted(value);\n setVisible(false);\n };\n\n const [mandatory, analytical] = expanded || [];\n const actionProps = { target: '_blank', underline: true };\n\n return (\n <Modal\n fit\n portal\n title={translate(settings ? L10N.LABEL_COOKIES_SETTINGS : L10N.LABEL_COOKIES_PREFERENCES)}\n visible={visible}\n className={style.modal}\n testId=\"cookieBanner\"\n >\n <View className={style.content}>\n {settings ? (\n <>\n <Text action>{translate(L10N.LABEL_COOKIES_SETTINGS_CONTENT)}</Text>\n <Text action>{translate(L10N.LABEL_COOKIES_SETTINGS_INFO)}</Text>\n <Text action>{translate(L10N.LABEL_COOKIES_SETTINGS_PRIVACY)}</Text>\n <View className={style.settings}>\n <Text bold>{translate(L10N.LABEL_CUSTOMIZE_CHOICES)}</Text>\n <View>\n <View>\n <View row className={style.setting}>\n <Pressable\n row\n onPress={() => setExpanded([!mandatory, analytical])}\n testId=\"cookieBanner-mandatory\"\n >\n <Icon value={mandatory ? ICON.EXPAND_LESS : ICON.EXPAND_MORE} />\n <Text action bold>\n {translate(L10N.LABEL_MANDATORY_COOKIES_TITLE)}\n </Text>\n </Pressable>\n <Text action bold success>\n {translate(L10N.LABEL_ALWAYS_ACTIVE)}\n </Text>\n </View>\n {mandatory && (\n <Text action className={style.info}>\n {translate(L10N.LABEL_MANDATORY_COOKIES_CONTENT)}\n </Text>\n )}\n </View>\n <View>\n <View row className={styles(style.setting, style.last)}>\n <Pressable\n row\n onPress={() => setExpanded([mandatory, !analytical])}\n testId=\"cookieBanner-analytical\"\n >\n <Icon value={analytical ? ICON.EXPAND_LESS : ICON.EXPAND_MORE} />\n <Text action bold>\n {translate(L10N.LABEL_ANALYTICAL_COOKIES_TITLE)}\n </Text>\n </Pressable>\n <InputOption\n checked={settingsAccepted}\n name=\"accept\"\n small\n type={SWITCH}\n onChange={setSettingsAccepted}\n />\n </View>\n {analytical && (\n <Text action className={style.info}>\n {translate(L10N.LABEL_ANALYTICAL_COOKIES_CONTENT, {\n google: (\n <Action href={GOOGLE.url} {...actionProps}>\n {GOOGLE.text}\n </Action>\n ),\n meta: (\n <Action href={META.url} {...actionProps}>\n {META.text}\n </Action>\n ),\n microsoft: (\n <Action href={MICROSOFT.url} {...actionProps}>\n {MICROSOFT.text}\n </Action>\n ),\n x: (\n <Action href={X.url} {...actionProps}>\n {X.text}\n </Action>\n ),\n yandex: (\n <Action href={YANDEX.url} {...actionProps}>\n {YANDEX.text}\n </Action>\n ),\n })}\n </Text>\n )}\n </View>\n </View>\n </View>\n </>\n ) : (\n <>\n <Text action>{translate(L10N.LABEL_COOKIES_CONTENT)}</Text>\n <Text action>\n {translate(L10N.LABEL_COOKIES_MORE_INFO, {\n here: (\n <Action onPress={() => setSettings(true)} className={style.action}>\n {translate(L10N.LABEL_HERE)}\n </Action>\n ),\n })}\n </Text>\n </>\n )}\n </View>\n <View row={!isMobile} wide={isMobile} className={styles(style.buttons, settings && style.settings)}>\n {settings ? (\n <>\n <Button onPress={() => handleResponse(false)}>{translate(L10N.ACTION_REJECT_ALL)}</Button>\n <Button onPress={() => handleResponse(settingsAccepted)}>{translate(L10N.ACTION_SAVE)}</Button>\n </>\n ) : (\n <>\n <Action onPress={() => setSettings(true)} testId=\"cookieBanner-settings\">\n {translate(L10N.ACTION_SETTINGS)}\n </Action>\n <View row={!isMobile} wide={isMobile}>\n <Button onPress={() => handleResponse(false)}>{translate(L10N.ACTION_REJECT)}</Button>\n <Button onPress={() => handleResponse(true)}>{translate(L10N.ACTION_ACCEPT)}</Button>\n </View>\n </>\n )}\n </View>\n </Modal>\n );\n};\n\nCookieBanner.displayName = 'Mirai:Core:CookieBanner';\n\nexport { CookieBanner };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"CookieBanner.js","names":["_dataSources","require","_locale","_ui","_react","_interopRequireWildcard","_CookieBanner","_CookieBanner2","style","_helpers","_helpers2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","GOOGLE","META","MICROSOFT","X","YANDEX","POLICIES","storage","Storage","adapter","LocalAdapter","gtag","window","dataLayer","push","CookieBanner","isMobile","useDevice","translate","useLocale","value","skeleton","useStore","accepted","setAccepted","useState","expanded","setExpanded","settings","setSettings","settingsAccepted","setSettingsAccepted","visible","setVisible","useEffect","ad_storage","DENIED","ad_user_data","ad_personalization","analytics_storage","getValue","GRANTED","Event","subscribe","EVENT","COOKIE_BANNER_OPEN","handleOpenSettings","unsubscribe","undefined","status","getExternalCookie","KEY_COOKIES_ACCEPTED","localStorage","setItem","KEY_COOKIES_ACCEPTED_LEGACY","handleResponse","getItem","mandatory","analytical","actionProps","target","underline","createElement","Modal","fit","portal","title","L10N","LABEL_COOKIES_SETTINGS","LABEL_COOKIES_PREFERENCES","className","modal","testId","View","content","Fragment","Text","action","LABEL_COOKIES_SETTINGS_CONTENT","LABEL_COOKIES_SETTINGS_INFO","LABEL_COOKIES_SETTINGS_PRIVACY","bold","LABEL_CUSTOMIZE_CHOICES","row","setting","Pressable","onPress","Icon","ICON","EXPAND_LESS","EXPAND_MORE","LABEL_MANDATORY_COOKIES_TITLE","success","LABEL_ALWAYS_ACTIVE","info","LABEL_MANDATORY_COOKIES_CONTENT","styles","last","LABEL_ANALYTICAL_COOKIES_TITLE","InputOption","checked","name","small","type","SWITCH","onChange","LABEL_ANALYTICAL_COOKIES_CONTENT","google","Action","href","url","text","meta","microsoft","x","yandex","LABEL_COOKIES_CONTENT","LABEL_COOKIES_MORE_INFO","here","LABEL_HERE","wide","buttons","Button","ACTION_REJECT_ALL","ACTION_SAVE","ACTION_SETTINGS","ACTION_REJECT","ACTION_ACCEPT","exports","displayName"],"sources":["../../../src/components/CookieBanner/CookieBanner.jsx"],"sourcesContent":["import { Event, LocalAdapter, Storage, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, InputOption, Modal, Pressable, styles, SWITCH, Text, useDevice, View } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { DENIED, GRANTED, KEY_COOKIES_ACCEPTED, KEY_COOKIES_ACCEPTED_LEGACY, POLICIES } from './CookieBanner.constants';\nimport { L10N } from './CookieBanner.l10n';\nimport * as style from './CookieBanner.module.css';\nimport { getExternalCookie } from './helpers';\nimport { EVENT, ICON } from '../helpers';\n\nconst { GOOGLE, META, MICROSOFT, X, YANDEX } = POLICIES;\n\nconst storage = new Storage({ adapter: LocalAdapter });\n\nfunction gtag() {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(arguments);\n}\n\nconst CookieBanner = () => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { value: { skeleton = false } = {} } = useStore();\n\n const [accepted, setAccepted] = useState();\n const [expanded, setExpanded] = useState([false, false]);\n const [settings, setSettings] = useState();\n const [settingsAccepted, setSettingsAccepted] = useState(false);\n const [visible, setVisible] = useState();\n\n useEffect(() => {\n gtag('consent', 'default', {\n ad_storage: DENIED,\n ad_user_data: DENIED,\n ad_personalization: DENIED,\n analytics_storage: DENIED,\n });\n const value = getValue();\n if (value) {\n setAccepted(value === GRANTED);\n } else {\n setVisible(true);\n }\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n Event.subscribe(EVENT.COOKIE_BANNER_OPEN, handleOpenSettings);\n return () => Event.unsubscribe(EVENT.COOKIE_BANNER_OPEN, handleOpenSettings);\n }, [skeleton]);\n\n useEffect(() => {\n if (accepted === undefined) return;\n\n const status = accepted ? GRANTED : DENIED;\n\n gtag('consent', 'update', {\n ad_storage: status,\n ad_user_data: status,\n ad_personalization: status,\n analytics_storage: status,\n });\n if (getExternalCookie() === undefined) {\n storage.set(KEY_COOKIES_ACCEPTED, status);\n localStorage.setItem(KEY_COOKIES_ACCEPTED_LEGACY, status);\n }\n }, [accepted]);\n\n const handleOpenSettings = () => {\n setSettingsAccepted(getValue() === GRANTED);\n setExpanded([false, false]);\n setSettings(true);\n setVisible(true);\n };\n\n const handleResponse = (value) => {\n setAccepted(value);\n setVisible(false);\n };\n\n const getValue = () =>\n storage.get(KEY_COOKIES_ACCEPTED) || localStorage.getItem(KEY_COOKIES_ACCEPTED_LEGACY) || getExternalCookie();\n\n const [mandatory, analytical] = expanded || [];\n const actionProps = { target: '_blank', underline: true };\n\n return (\n <Modal\n fit\n portal\n title={translate(settings ? L10N.LABEL_COOKIES_SETTINGS : L10N.LABEL_COOKIES_PREFERENCES)}\n visible={visible}\n className={style.modal}\n testId=\"cookieBanner\"\n >\n <View className={style.content}>\n {settings ? (\n <>\n <Text action>{translate(L10N.LABEL_COOKIES_SETTINGS_CONTENT)}</Text>\n <Text action>{translate(L10N.LABEL_COOKIES_SETTINGS_INFO)}</Text>\n <Text action>{translate(L10N.LABEL_COOKIES_SETTINGS_PRIVACY)}</Text>\n <View className={style.settings}>\n <Text bold>{translate(L10N.LABEL_CUSTOMIZE_CHOICES)}</Text>\n <View>\n <View>\n <View row className={style.setting}>\n <Pressable\n row\n onPress={() => setExpanded([!mandatory, analytical])}\n testId=\"cookieBanner-mandatory\"\n >\n <Icon value={mandatory ? ICON.EXPAND_LESS : ICON.EXPAND_MORE} />\n <Text action bold>\n {translate(L10N.LABEL_MANDATORY_COOKIES_TITLE)}\n </Text>\n </Pressable>\n <Text action bold success>\n {translate(L10N.LABEL_ALWAYS_ACTIVE)}\n </Text>\n </View>\n {mandatory && (\n <Text action className={style.info}>\n {translate(L10N.LABEL_MANDATORY_COOKIES_CONTENT)}\n </Text>\n )}\n </View>\n <View>\n <View row className={styles(style.setting, style.last)}>\n <Pressable\n row\n onPress={() => setExpanded([mandatory, !analytical])}\n testId=\"cookieBanner-analytical\"\n >\n <Icon value={analytical ? ICON.EXPAND_LESS : ICON.EXPAND_MORE} />\n <Text action bold>\n {translate(L10N.LABEL_ANALYTICAL_COOKIES_TITLE)}\n </Text>\n </Pressable>\n <InputOption\n checked={settingsAccepted}\n name=\"accept\"\n small\n type={SWITCH}\n onChange={setSettingsAccepted}\n />\n </View>\n {analytical && (\n <Text action className={style.info}>\n {translate(L10N.LABEL_ANALYTICAL_COOKIES_CONTENT, {\n google: (\n <Action href={GOOGLE.url} {...actionProps}>\n {GOOGLE.text}\n </Action>\n ),\n meta: (\n <Action href={META.url} {...actionProps}>\n {META.text}\n </Action>\n ),\n microsoft: (\n <Action href={MICROSOFT.url} {...actionProps}>\n {MICROSOFT.text}\n </Action>\n ),\n x: (\n <Action href={X.url} {...actionProps}>\n {X.text}\n </Action>\n ),\n yandex: (\n <Action href={YANDEX.url} {...actionProps}>\n {YANDEX.text}\n </Action>\n ),\n })}\n </Text>\n )}\n </View>\n </View>\n </View>\n </>\n ) : (\n <>\n <Text action>{translate(L10N.LABEL_COOKIES_CONTENT)}</Text>\n <Text action>\n {translate(L10N.LABEL_COOKIES_MORE_INFO, {\n here: (\n <Action onPress={() => setSettings(true)} className={style.action}>\n {translate(L10N.LABEL_HERE)}\n </Action>\n ),\n })}\n </Text>\n </>\n )}\n </View>\n <View row={!isMobile} wide={isMobile} className={styles(style.buttons, settings && style.settings)}>\n {settings ? (\n <>\n <Button onPress={() => handleResponse(false)}>{translate(L10N.ACTION_REJECT_ALL)}</Button>\n <Button onPress={() => handleResponse(settingsAccepted)}>{translate(L10N.ACTION_SAVE)}</Button>\n </>\n ) : (\n <>\n <Action onPress={() => setSettings(true)} testId=\"cookieBanner-settings\">\n {translate(L10N.ACTION_SETTINGS)}\n </Action>\n <View row={!isMobile} wide={isMobile}>\n <Button onPress={() => handleResponse(false)}>{translate(L10N.ACTION_REJECT)}</Button>\n <Button onPress={() => handleResponse(true)}>{translate(L10N.ACTION_ACCEPT)}</Button>\n </View>\n </>\n )}\n </View>\n </Modal>\n );\n};\n\nCookieBanner.displayName = 'Mirai:Core:CookieBanner';\n\nexport { CookieBanner };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -158,12 +158,6 @@ const Finder = _ref => {
|
|
|
158
158
|
}
|
|
159
159
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
160
160
|
}, [value === null || value === void 0 ? void 0 : value.place]);
|
|
161
|
-
(0, _react.useEffect)(() => {
|
|
162
|
-
!onSubmit && !skeleton && _dataSources.Event.publish(_helpers3.EVENT.FINDER_READY, {
|
|
163
|
-
event: _helpers3.EVENT.FINDER_READY
|
|
164
|
-
});
|
|
165
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
166
|
-
}, []);
|
|
167
161
|
(0, _react.useEffect)(() => {
|
|
168
162
|
const handleFinder = function () {
|
|
169
163
|
let {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_helpers2","_prepareRoom","_shared__","_Occupation","_helpers3","_excluded","_excluded2","_excluded3","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","CHAIN","HOTEL","TYPE","Finder","_ref","_dataSource$places","_dataSource$places2","_dataSource$places2$o","_dataSource$places3","_dataSource$places4","_dataSource$places5","compacted","icon","layout","storage","text","onChange","onSubmit","others","isMobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","placesRef","_useStore","useStore","components","currency","propCurrency","finder","storeFinder","forwarder","locale","promo","skeleton","type","store","setCurrency","useState","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","warning","setWarning","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","is","debug","console","log","window","addEventListener","handlePageShow","document","handleClickOutside","removeEventListener","current","el","column","observer","IntersectionObserver","isIntersecting","undefined","getAvailableWidth","threshold","observe","unobserve","disabledDates","place","id","hotelId","isHotel","nextPromocode","rates","variants","code","next","promocode","publishChange","_fetchUrlParams","fetchUrlParams","location","search","fetchCurrency","Event","publish","EVENT","FINDER_READY","event","handleFinder","calendar","handleSubmit","nextValue","subscribe","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","_ref$current","target","contains","persisted","handlePlaceChange","VIEW","PLACE","assistant","_value$calendar","_nextValue","dataSource","places","CALENDAR","firstError","key","forwarderUrl","getForwarderUrl","setStorage","href","includes","FINDER_FIELD_CHANGE","previousValue","ids","getDataSource","hotel","idHotel","_Theme$get","Theme","separatorColor","fieldVariant","inline","expand","fieldProps","hasPlaces","getFieldPosition","L10N","ACTION_SEARCH","ACTION_APPLY","variant","className","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","tag","testId","styles","Field","FIELD","caption","getPlaceCaption","options","label","LABEL_WHERE","expanded","PLACES_LENGTH_LIMIT","markdown","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","centered","LABEL_WHEN","Calendar","parseCalendarProps","rangeMinDays","top","nextCalendar","onError","onValid","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","withWarning","onWarning","FieldPromocode","PROMOCODE","onEnter","onLeave","Skeleton","large","button","words","Button","disabled","tabindex","wide","withIcon","Icon","ICON","SEARCH","exports","displayName","propTypes","PropTypes","bool","oneOf","string","func"],"sources":["../../../src/components/Finder/Finder.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Button, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar, Places } from './components';\nimport { Compact } from './Finder.compact';\nimport { FIELD, PLACES_LENGTH_LIMIT, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getFieldPosition,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n setStorage,\n} from './helpers';\nimport { getAvailableWidth } from './helpers/getAvailableWidth';\nimport { fetchCurrency, fetchUrlParams } from '../../helpers';\n// ! TODO: Why we don't publish prepareRoom in ../../helpers\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode, Skeleton } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { EVENT, getCalendarCaption, ICON } from '../helpers';\n\nconst { CHAIN, HOTEL } = TYPE;\n\nconst Finder = ({\n compacted = false,\n icon = false,\n layout,\n storage = true,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const placesRef = useRef(null);\n const {\n set,\n value: {\n components = {},\n currency: propCurrency,\n finder: storeFinder,\n forwarder,\n locale,\n promo = {},\n skeleton = false,\n type = HOTEL,\n ...store\n },\n } = useStore();\n\n const [currency, setCurrency] = useState();\n const [error, setError] = useState({});\n const [focus, setFocus] = useState();\n const [unavailability, setUnavailability] = useState();\n const [value, setValue] = useState(parseValue(storeFinder));\n const [visited, setVisited] = useState({});\n const [warning, setWarning] = useState();\n const [width, setWidth] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n\n if (is.debug && !storeFinder?.occupation) {\n // eslint-disable-next-line no-console\n console.log({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n }\n window.addEventListener('pageshow', handlePageShow);\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n return () => {\n window.removeEventListener('pageshow', handlePageShow);\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const { current: el } = ref || {};\n if (!is.column || !el) return;\n\n const observer = new IntersectionObserver(\n ([{ isIntersecting } = {}] = []) => isIntersecting && setWidth(getAvailableWidth(el)),\n { threshold: 0.1 },\n );\n if (el) observer.observe(el);\n\n return () => {\n if (el) observer.unobserve(el);\n };\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deviceWidth]);\n\n useEffect(() => {\n unavailability && setUnavailability({ disabledDates: [] });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.occupation, value?.place]);\n\n useEffect(() => {\n const { place: { id: [hotelId] = [], isHotel } = {} } = value || {};\n const nextPromocode = !is.rates && ((promo.variants && promo.variants[hotelId]) || promo.code);\n if (nextPromocode) {\n const next = { ...value, promocode: nextPromocode };\n setValue(next);\n publishChange(next);\n }\n\n if (isHotel) {\n if (!fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n (async () => {\n setCurrency(await fetchCurrency(hotelId));\n })();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.place]);\n\n useEffect(() => {\n !onSubmit && !skeleton && Event.publish(EVENT.FINDER_READY, { event: EVENT.FINDER_READY });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const handleFinder = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n Event.subscribe(EVENT.FINDER, handleFinder);\n\n return () => Event.unsubscribe(EVENT.FINDER, handleFinder);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, propCurrency]);\n\n // ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.\n useEffect(() => {\n setCurrency(propCurrency);\n }, [propCurrency]);\n\n useEffect(\n () => {\n const next = parseValue({ ...value, ...storeFinder });\n if (JSON.stringify(value) !== JSON.stringify(next)) {\n setValue(next);\n publishChange(next);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n focus && setVisited({ ...visited, [`${focus}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus]);\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n publishChange(next);\n };\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n\n const handlePageShow = ({ persisted } = {}) => {\n if (!persisted) return;\n\n setFocus();\n setVisited();\n\n const next = parseValue(storeFinder);\n setValue(next);\n publishChange(next);\n };\n\n const handlePlaceChange = (place) => {\n setWarning(false);\n handleChange(VIEW.PLACE, place);\n !is.rates && assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n if (dataSource.places && value.place === undefined) return setFocus(VIEW.PLACE);\n\n if (value.calendar?.length !== 2) return setFocus(VIEW.CALENDAR);\n\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setWarning(false);\n setFocus(undefined);\n if (!nextValue?.occupation) {\n nextValue = { ...nextValue, occupation: [prepareRoom(DATASOURCE)] };\n }\n set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n storage && setStorage(nextValue, store?.id);\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\n };\n\n const assistant = () => {\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (!compacted || [VIEW.CALENDAR, VIEW.PLACE].includes(focus)) setFocus(undefined);\n };\n\n const publishChange = (next) =>\n Object.keys(next || []).forEach((field) => {\n if (JSON.stringify(value[field]) !== JSON.stringify(next[field])) {\n Event.publish(EVENT.FINDER_FIELD_CHANGE, { field, previousValue: value[field], value: next[field] });\n }\n });\n\n const { calendar = [], occupation, place = {}, promocode } = value;\n const { id: ids = [], isHotel } = place;\n const dataSource = getDataSource({ type, ...store });\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n const { separatorColor = '', ...fieldVariant } = Theme.get('--mirai-finder-field-');\n\n const is = {\n inline: separatorColor !== 'transparent',\n column: layout === 'column',\n expand: !isMobile && layout === 'expand',\n compacted: layout !== 'column' && (isMobile || (compacted && !focus)),\n debug: store?.id === '500138',\n rates: components.rates !== undefined,\n };\n\n const fieldProps = {\n compacted: is.compacted,\n hasPlaces: !!dataSource.places,\n inline: is.inline,\n ...(!is.compacted ? getFieldPosition(ref, placesRef) : undefined),\n text: is.rates ? translate(L10N.ACTION_SEARCH) : translate(L10N.ACTION_APPLY),\n variant: Object.keys(fieldVariant).length ? fieldVariant : undefined,\n className: style.field,\n style: is.column && width ? { maxWidth: width, width } : undefined,\n };\n\n // eslint-disable-next-line no-console\n is.debug && console.log({ place, calendar, occupation });\n\n return (\n <>\n {is.compacted && (\n <Compact\n {...{ dataSource, skeleton, value }}\n onExpand={setFocus}\n onSubmit={!is.rates || (is.rates && !isMobile) ? handleSubmit : undefined}\n {...others}\n />\n )}\n\n <View\n ref={ref}\n role=\"finder\"\n row={!is.column}\n tag=\"finder\"\n testId={others.testId}\n className={\n !is.compacted\n ? styles(style.finder, is.column && style.column, is.expand && style.expand, others.className)\n : undefined\n }\n >\n {(dataSource.places || (skeleton && type === CHAIN)) && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places?.options)}\n label={translate(L10N.LABEL_WHERE)}\n expanded={dataSource?.places?.options?.length >= PLACES_LENGTH_LIMIT}\n markdown={false}\n placeholder={dataSource?.places?.placeholder || translate(L10N.LABEL_WHERE_PLACEHOLDER)}\n visible={focus === VIEW.PLACE}\n onPress={() => setFocus(focus !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n {...fieldProps}\n >\n <Places\n autoColumn={focus === VIEW.PLACE}\n dataSource={dataSource?.places?.options}\n text={compacted ? text : undefined}\n ref={placesRef}\n value={place.value}\n onChange={handlePlaceChange}\n onSubmit={is.rates ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-places` : undefined}\n />\n </Field>\n\n {is.inline && <View className={style.separator} />}\n </>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL && !is.column}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n testId={others.testId ? `${others.testId}-calendar-field` : undefined}\n {...fieldProps}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency || propCurrency}\n locale={locale}\n rangeMinDays={1}\n text={compacted ? text : undefined}\n top={fieldProps?.top}\n skeleton={skeleton}\n unavailability={unavailability}\n value={calendar}\n onChange={(nextCalendar, event) => {\n handleChange(VIEW.CALENDAR, nextCalendar, event);\n if (nextCalendar.length === 2 && !is.rates) {\n setError({ ...error, calendar: undefined });\n assistant();\n }\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, calendar: undefined })}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {is.inline && <View className={style.separator} />}\n\n <FieldOccupation\n dataSource={getOccupationDataSource({\n ...dataSource,\n places: dataSource.places?.options,\n place: place?.value,\n })}\n hotels={getHotels(dataSource.placesSource, place.value)}\n maxRooms={dataSource.maxRooms}\n text={compacted ? text : undefined}\n value={occupation}\n visible={focus === VIEW.OCCUPATION}\n withWarning={warning}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setFocus(focus !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onSubmit={is.rates ? handleSubmit : isMobile && is.compacted ? () => setFocus() : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n onWarning={() => {\n if (focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n }}\n testId={others.testId ? `${others.testId}-occupation` : undefined}\n {...fieldProps}\n />\n\n {is.inline && <View className={style.separator} />}\n\n <FieldPromocode\n value={promocode}\n visible={focus === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={!is.compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!is.compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && is.compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && is.compacted ? (is.rates ? handleSubmit : () => setFocus()) : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted ? (\n skeleton ? (\n <Skeleton large button words={1} />\n ) : (\n <Button\n disabled={skeleton}\n large\n tabindex={4}\n role=\"finder-button\"\n wide={is.column}\n onPress={handleSubmit}\n className={styles(style.button, icon && !is.column && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {icon && !is.column ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )\n ) : null}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n compacted: PropTypes.bool,\n icon: PropTypes.bool,\n layout: PropTypes.oneOf(['column', 'expand']),\n storage: PropTypes.bool,\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_helpers2","_prepareRoom","_shared__","_Occupation","_helpers3","_excluded","_excluded2","_excluded3","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","CHAIN","HOTEL","TYPE","Finder","_ref","_dataSource$places","_dataSource$places2","_dataSource$places2$o","_dataSource$places3","_dataSource$places4","_dataSource$places5","compacted","icon","layout","storage","text","onChange","onSubmit","others","isMobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","placesRef","_useStore","useStore","components","currency","propCurrency","finder","storeFinder","forwarder","locale","promo","skeleton","type","store","setCurrency","useState","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","warning","setWarning","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","is","debug","console","log","window","addEventListener","handlePageShow","document","handleClickOutside","removeEventListener","current","el","column","observer","IntersectionObserver","isIntersecting","undefined","getAvailableWidth","threshold","observe","unobserve","disabledDates","place","id","hotelId","isHotel","nextPromocode","rates","variants","code","next","promocode","publishChange","_fetchUrlParams","fetchUrlParams","location","search","fetchCurrency","handleFinder","calendar","handleSubmit","nextValue","Event","subscribe","EVENT","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","_ref$current","target","contains","persisted","handlePlaceChange","VIEW","PLACE","assistant","_value$calendar","_nextValue","dataSource","places","CALENDAR","firstError","key","forwarderUrl","getForwarderUrl","setStorage","href","includes","publish","FINDER_FIELD_CHANGE","previousValue","ids","getDataSource","hotel","idHotel","_Theme$get","Theme","separatorColor","fieldVariant","inline","expand","fieldProps","hasPlaces","getFieldPosition","L10N","ACTION_SEARCH","ACTION_APPLY","variant","className","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","tag","testId","styles","Field","FIELD","caption","getPlaceCaption","options","label","LABEL_WHERE","expanded","PLACES_LENGTH_LIMIT","markdown","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","centered","LABEL_WHEN","Calendar","parseCalendarProps","rangeMinDays","top","nextCalendar","event","onError","onValid","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","withWarning","onWarning","FieldPromocode","PROMOCODE","onEnter","onLeave","Skeleton","large","button","words","Button","disabled","tabindex","wide","withIcon","Icon","ICON","SEARCH","exports","displayName","propTypes","PropTypes","bool","oneOf","string","func"],"sources":["../../../src/components/Finder/Finder.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Button, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar, Places } from './components';\nimport { Compact } from './Finder.compact';\nimport { FIELD, PLACES_LENGTH_LIMIT, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getFieldPosition,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n setStorage,\n} from './helpers';\nimport { getAvailableWidth } from './helpers/getAvailableWidth';\nimport { fetchCurrency, fetchUrlParams } from '../../helpers';\n// ! TODO: Why we don't publish prepareRoom in ../../helpers\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode, Skeleton } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { EVENT, getCalendarCaption, ICON } from '../helpers';\n\nconst { CHAIN, HOTEL } = TYPE;\n\nconst Finder = ({\n compacted = false,\n icon = false,\n layout,\n storage = true,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const placesRef = useRef(null);\n const {\n set,\n value: {\n components = {},\n currency: propCurrency,\n finder: storeFinder,\n forwarder,\n locale,\n promo = {},\n skeleton = false,\n type = HOTEL,\n ...store\n },\n } = useStore();\n\n const [currency, setCurrency] = useState();\n const [error, setError] = useState({});\n const [focus, setFocus] = useState();\n const [unavailability, setUnavailability] = useState();\n const [value, setValue] = useState(parseValue(storeFinder));\n const [visited, setVisited] = useState({});\n const [warning, setWarning] = useState();\n const [width, setWidth] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n\n if (is.debug && !storeFinder?.occupation) {\n // eslint-disable-next-line no-console\n console.log({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n }\n window.addEventListener('pageshow', handlePageShow);\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n return () => {\n window.removeEventListener('pageshow', handlePageShow);\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const { current: el } = ref || {};\n if (!is.column || !el) return;\n\n const observer = new IntersectionObserver(\n ([{ isIntersecting } = {}] = []) => isIntersecting && setWidth(getAvailableWidth(el)),\n { threshold: 0.1 },\n );\n if (el) observer.observe(el);\n\n return () => {\n if (el) observer.unobserve(el);\n };\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deviceWidth]);\n\n useEffect(() => {\n unavailability && setUnavailability({ disabledDates: [] });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.occupation, value?.place]);\n\n useEffect(() => {\n const { place: { id: [hotelId] = [], isHotel } = {} } = value || {};\n const nextPromocode = !is.rates && ((promo.variants && promo.variants[hotelId]) || promo.code);\n if (nextPromocode) {\n const next = { ...value, promocode: nextPromocode };\n setValue(next);\n publishChange(next);\n }\n\n if (isHotel) {\n if (!fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n (async () => {\n setCurrency(await fetchCurrency(hotelId));\n })();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.place]);\n\n useEffect(() => {\n const handleFinder = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n Event.subscribe(EVENT.FINDER, handleFinder);\n\n return () => Event.unsubscribe(EVENT.FINDER, handleFinder);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, propCurrency]);\n\n // ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.\n useEffect(() => {\n setCurrency(propCurrency);\n }, [propCurrency]);\n\n useEffect(\n () => {\n const next = parseValue({ ...value, ...storeFinder });\n if (JSON.stringify(value) !== JSON.stringify(next)) {\n setValue(next);\n publishChange(next);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n focus && setVisited({ ...visited, [`${focus}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus]);\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n publishChange(next);\n };\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n\n const handlePageShow = ({ persisted } = {}) => {\n if (!persisted) return;\n\n setFocus();\n setVisited();\n\n const next = parseValue(storeFinder);\n setValue(next);\n publishChange(next);\n };\n\n const handlePlaceChange = (place) => {\n setWarning(false);\n handleChange(VIEW.PLACE, place);\n !is.rates && assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n if (dataSource.places && value.place === undefined) return setFocus(VIEW.PLACE);\n\n if (value.calendar?.length !== 2) return setFocus(VIEW.CALENDAR);\n\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setWarning(false);\n setFocus(undefined);\n if (!nextValue?.occupation) {\n nextValue = { ...nextValue, occupation: [prepareRoom(DATASOURCE)] };\n }\n set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n storage && setStorage(nextValue, store?.id);\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\n };\n\n const assistant = () => {\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (!compacted || [VIEW.CALENDAR, VIEW.PLACE].includes(focus)) setFocus(undefined);\n };\n\n const publishChange = (next) =>\n Object.keys(next || []).forEach((field) => {\n if (JSON.stringify(value[field]) !== JSON.stringify(next[field])) {\n Event.publish(EVENT.FINDER_FIELD_CHANGE, { field, previousValue: value[field], value: next[field] });\n }\n });\n\n const { calendar = [], occupation, place = {}, promocode } = value;\n const { id: ids = [], isHotel } = place;\n const dataSource = getDataSource({ type, ...store });\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n const { separatorColor = '', ...fieldVariant } = Theme.get('--mirai-finder-field-');\n\n const is = {\n inline: separatorColor !== 'transparent',\n column: layout === 'column',\n expand: !isMobile && layout === 'expand',\n compacted: layout !== 'column' && (isMobile || (compacted && !focus)),\n debug: store?.id === '500138',\n rates: components.rates !== undefined,\n };\n\n const fieldProps = {\n compacted: is.compacted,\n hasPlaces: !!dataSource.places,\n inline: is.inline,\n ...(!is.compacted ? getFieldPosition(ref, placesRef) : undefined),\n text: is.rates ? translate(L10N.ACTION_SEARCH) : translate(L10N.ACTION_APPLY),\n variant: Object.keys(fieldVariant).length ? fieldVariant : undefined,\n className: style.field,\n style: is.column && width ? { maxWidth: width, width } : undefined,\n };\n\n // eslint-disable-next-line no-console\n is.debug && console.log({ place, calendar, occupation });\n\n return (\n <>\n {is.compacted && (\n <Compact\n {...{ dataSource, skeleton, value }}\n onExpand={setFocus}\n onSubmit={!is.rates || (is.rates && !isMobile) ? handleSubmit : undefined}\n {...others}\n />\n )}\n\n <View\n ref={ref}\n role=\"finder\"\n row={!is.column}\n tag=\"finder\"\n testId={others.testId}\n className={\n !is.compacted\n ? styles(style.finder, is.column && style.column, is.expand && style.expand, others.className)\n : undefined\n }\n >\n {(dataSource.places || (skeleton && type === CHAIN)) && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places?.options)}\n label={translate(L10N.LABEL_WHERE)}\n expanded={dataSource?.places?.options?.length >= PLACES_LENGTH_LIMIT}\n markdown={false}\n placeholder={dataSource?.places?.placeholder || translate(L10N.LABEL_WHERE_PLACEHOLDER)}\n visible={focus === VIEW.PLACE}\n onPress={() => setFocus(focus !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n {...fieldProps}\n >\n <Places\n autoColumn={focus === VIEW.PLACE}\n dataSource={dataSource?.places?.options}\n text={compacted ? text : undefined}\n ref={placesRef}\n value={place.value}\n onChange={handlePlaceChange}\n onSubmit={is.rates ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-places` : undefined}\n />\n </Field>\n\n {is.inline && <View className={style.separator} />}\n </>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL && !is.column}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n testId={others.testId ? `${others.testId}-calendar-field` : undefined}\n {...fieldProps}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency || propCurrency}\n locale={locale}\n rangeMinDays={1}\n text={compacted ? text : undefined}\n top={fieldProps?.top}\n skeleton={skeleton}\n unavailability={unavailability}\n value={calendar}\n onChange={(nextCalendar, event) => {\n handleChange(VIEW.CALENDAR, nextCalendar, event);\n if (nextCalendar.length === 2 && !is.rates) {\n setError({ ...error, calendar: undefined });\n assistant();\n }\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, calendar: undefined })}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {is.inline && <View className={style.separator} />}\n\n <FieldOccupation\n dataSource={getOccupationDataSource({\n ...dataSource,\n places: dataSource.places?.options,\n place: place?.value,\n })}\n hotels={getHotels(dataSource.placesSource, place.value)}\n maxRooms={dataSource.maxRooms}\n text={compacted ? text : undefined}\n value={occupation}\n visible={focus === VIEW.OCCUPATION}\n withWarning={warning}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setFocus(focus !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onSubmit={is.rates ? handleSubmit : isMobile && is.compacted ? () => setFocus() : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n onWarning={() => {\n if (focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n }}\n testId={others.testId ? `${others.testId}-occupation` : undefined}\n {...fieldProps}\n />\n\n {is.inline && <View className={style.separator} />}\n\n <FieldPromocode\n value={promocode}\n visible={focus === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={!is.compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!is.compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && is.compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && is.compacted ? (is.rates ? handleSubmit : () => setFocus()) : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted ? (\n skeleton ? (\n <Skeleton large button words={1} />\n ) : (\n <Button\n disabled={skeleton}\n large\n tabindex={4}\n role=\"finder-button\"\n wide={is.column}\n onPress={handleSubmit}\n className={styles(style.button, icon && !is.column && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {icon && !is.column ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )\n ) : null}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n compacted: PropTypes.bool,\n icon: PropTypes.bool,\n layout: PropTypes.oneOf(['column', 'expand']),\n storage: PropTypes.bool,\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":"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","ignoreList":[]}
|