@mirai/core 0.4.425 → 0.4.427

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 CHANGED
@@ -335,6 +335,7 @@ document.addEventListener('MIRAI:EVENT:core:events:ready', () => {
335
335
  ```
336
336
 
337
337
  ### Using the `setStore` Event
338
+
338
339
  The `setStore` event allows you to update the component's state by publishing data. You can include one or more values as needed:
339
340
 
340
341
  ```javascript
@@ -344,17 +345,19 @@ window.Mirai.Event.publish('setStore', {
344
345
  hsri: '02080',
345
346
  occupation: [
346
347
  { ages: [null, null], amount: 2, type: 2 }, // Type 2: adults
347
- { ages: [3], amount: 1, type: 3 }, // Type 3: children
348
+ { ages: [3], amount: 1, type: 3 }, // Type 3: children
348
349
  ],
349
350
  promocode: 'TEST',
350
351
  });
351
352
  ```
352
353
 
353
354
  **Notes:**
355
+
354
356
  - `type` values: 1 = guest, 2 = adult, 3 = children.
355
357
  - You can send partial data (e.g., only `promocode`) or the full object.
356
358
 
357
359
  ### Using the `finderChange` Event
360
+
358
361
  The `finderChange` event notifies you when a field in the finder changes. It provides the affected field, its previous value, and the new value:
359
362
 
360
363
  ```javascript
@@ -365,6 +368,7 @@ window.Mirai.Event.subscribe('finderChange', ({ field, previousValue, value } =
365
368
  ```
366
369
 
367
370
  ### Using the `finderLoaded` Event
371
+
368
372
  The `finderLoaded` event fires when the finder is fully loaded, providing the initial values of its fields:
369
373
 
370
374
  ```javascript
@@ -374,6 +378,7 @@ window.Mirai.Event.subscribe('finderLoaded', ({ calendar, occupation, place, pro
374
378
  ```
375
379
 
376
380
  ### Using the `logged` Event
381
+
377
382
  The `logged` event is fired after a successful user login. This event provides user information and is primarily used for analytics tracking.
378
383
 
379
384
  ```javascript
@@ -386,12 +391,13 @@ window.Mirai.Event.subscribe('logged', ({ event, response } = {}) => {
386
391
  firstName: response.firstName,
387
392
  lastName: response.lastName,
388
393
  country: response.country,
389
- level: response.level
394
+ level: response.level,
390
395
  });
391
396
  });
392
397
  ```
393
398
 
394
399
  **Event Data Structure:**
400
+
395
401
  - `event`: The event type (`'logged'`)
396
402
  - `response`: Object containing user information:
397
403
  - `email`: User's email address
@@ -401,10 +407,12 @@ window.Mirai.Event.subscribe('logged', ({ event, response } = {}) => {
401
407
  - `level`: User's membership level
402
408
 
403
409
  **Notes:**
410
+
404
411
  - This event is automatically published after successful authentication via the login modal
405
412
  - Subscribe to this event to implement custom user authentication workflows or analytics
406
413
 
407
414
  ### Using the `loggedOut` Event
415
+
408
416
  The `loggedOut` event is fired when a user logs out or when their session expires. This event provides the user information that was available before logout.
409
417
 
410
418
  ```javascript
@@ -414,13 +422,23 @@ window.Mirai.Event.subscribe('loggedOut', () => {
414
422
  ```
415
423
 
416
424
  **When is this event triggered:**
425
+
417
426
  - Manual logout via the session menu
418
427
  - Automatic logout due to external token expiration
419
428
 
420
429
  **Notes:**
430
+
421
431
  - This event is published before the session is cleared from the store
422
432
  - Use this event to implement custom logout workflows or cleanup processes
423
433
 
434
+ ### Using the `chatOpen` Event
435
+
436
+ The `chatOpen` event triggers the display of the `<Chat>` visual component. When this event is published, the chat interface will automatically appear, allowing the user to start a conversation or inquiry.
437
+
438
+ ```javascript
439
+ window.Mirai.Event.publish('chatOpen');
440
+ ```
441
+
424
442
  ## 2.9 `<Header>`
425
443
 
426
444
  The `<Header>` component is another new addition to the Mirai component suite. It allows you to create a header for your pages that can include:
@@ -45,6 +45,11 @@ const Chat = _ref => {
45
45
  skeleton = false
46
46
  } = {}
47
47
  } = (0, _dataSources.useStore)();
48
+ (0, _react.useEffect)(() => {
49
+ if (skeleton) return;
50
+ _dataSources.Event.subscribe(_helpers2.EVENT.CHAT_OPEN, handleOpen);
51
+ return () => _dataSources.Event.unsubscribe(_helpers2.EVENT.CHAT_OPEN, handleOpen);
52
+ }, [skeleton]);
48
53
  const [busy, setBusy] = (0, _react.useState)(false);
49
54
  const [messages, setMessages] = (0, _react.useState)([]);
50
55
  const [visible, setVisible] = (0, _react.useState)(false);
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_helpers","_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","locale","occupation","origin","session","skeleton","useStore","busy","setBusy","useState","messages","setMessages","visible","setVisible","handleInput","input","shortcutMessage","undefined","nextMessages","text","timestamp","Date","getTime","setTimeout","response","ServiceSynapse","message","agents","getAgents","context","catch","synapse","audioNotification","DELAY_RESPONSE","handleOpen","Event","publish","EVENT","METRICS","id","handleClose","hasAura","navigator","mediaDevices","aura","isReady","every","item","BANNED_COMPONENTS","includes","mira","lisa","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, { 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, getAgents } from './helpers';\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 locale,\n occupation,\n origin,\n session,\n skeleton = false,\n } = {},\n } = useStore();\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 response = await ServiceSynapse.message({\n agents: getAgents(assistant),\n context: {\n calendar,\n currency,\n hotel,\n isMobile,\n locale,\n occupation,\n origin,\n shortcutMessage,\n },\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.aura;\n const isReady =\n !skeleton &&\n Object.keys(components).every((item) => !BANNED_COMPONENTS.includes(item)) &&\n (assistant.mira || assistant.lisa || hasAura);\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","_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","locale","occupation","origin","session","skeleton","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","response","ServiceSynapse","message","agents","getAgents","context","catch","synapse","audioNotification","DELAY_RESPONSE","publish","METRICS","id","handleClose","hasAura","navigator","mediaDevices","aura","isReady","every","item","BANNED_COMPONENTS","includes","mira","lisa","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, getAgents } from './helpers';\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 locale,\n occupation,\n origin,\n session,\n skeleton = false,\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 response = await ServiceSynapse.message({\n agents: getAgents(assistant),\n context: {\n calendar,\n currency,\n hotel,\n isMobile,\n locale,\n occupation,\n origin,\n shortcutMessage,\n },\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.aura;\n const isReady =\n !skeleton &&\n Object.keys(components).every((item) => !BANNED_COMPONENTS.includes(item)) &&\n (assistant.mira || assistant.lisa || hasAura);\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":[]}
@@ -10,9 +10,10 @@ var _ui = require("@mirai/ui");
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _react = _interopRequireDefault(require("react"));
12
12
  var _components = require("./components");
13
+ var _helpers = require("./helpers");
13
14
  var _Message = require("./Message.l10n");
14
15
  var style = _interopRequireWildcard(require("./Message.module.css"));
15
- var _helpers = require("../../../helpers");
16
+ var _helpers2 = require("../../../helpers");
16
17
  const _excluded = ["busy", "disabled", "synapse", "text", "url"],
17
18
  _excluded2 = ["testId"];
18
19
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
@@ -63,12 +64,12 @@ const Message = _ref => {
63
64
  className: style.spinner
64
65
  }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Text, {
65
66
  className: style.text
66
- }, text), url && /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
67
+ }, (0, _helpers.parseLinks)(text)), url && /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
67
68
  onPress: !disabled ? () => handlePress(url) : undefined,
68
69
  className: style.card
69
70
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
70
71
  light: true,
71
- value: _helpers.ICON.LINK
72
+ value: _helpers2.ICON.LINK
72
73
  }), /*#__PURE__*/_react.default.createElement(_ui.Text, {
73
74
  action: true,
74
75
  className: style.text
@@ -1 +1 @@
1
- {"version":3,"file":"Message.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Message","style","_interopRequireWildcard","_helpers","_excluded","_excluded2","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","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Message","_ref","busy","disabled","synapse","text","url","others","urlParams","useStore","translate","useLocale","testId","synapseProps","Text","Typewriter","TextBase","handlePress","window","open","createElement","View","wide","row","className","styles","message","content","spinner","Fragment","Pressable","onPress","undefined","card","Icon","light","ICON","LINK","action","L10N","LABEL_VIEW_LINK","sarai","Environment","exports","propTypes","PropTypes","bool","string"],"sources":["../../../../../src/components/Chat/components/Message/Message.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, styles, Pressable, Text as TextBase, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Environment, Typewriter } from './components';\nimport { L10N } from './Message.l10n';\nimport * as style from './Message.module.css';\nimport { ICON } from '../../../helpers';\n\n// ! TODO: Refacto use of intent/response vs lisa.intent/response\nconst Message = ({ busy = false, disabled, synapse, text, url, ...others }) => {\n const { value: { urlParams = {} } = {} } = useStore();\n const { translate } = useLocale();\n\n const { testId, ...synapseProps } = others;\n const Text = synapse && !disabled && !busy ? Typewriter : TextBase;\n\n const handlePress = (url) => {\n window.open(url, '_blank');\n };\n\n return (\n <View testId={testId} wide>\n <View row wide className={styles(style.message, synapse && style.synapse)}>\n <View className={styles(style.content, synapse && style.synapse, busy && style.busy)}>\n {busy ? (\n <View className={style.spinner} />\n ) : (\n <>\n <Text className={style.text}>{text}</Text>\n {url && (\n <Pressable onPress={!disabled ? () => handlePress(url) : undefined} className={style.card}>\n <Icon light value={ICON.LINK} />\n <TextBase action className={style.text}>\n {translate(L10N.LABEL_VIEW_LINK)}\n </TextBase>\n </Pressable>\n )}\n </>\n )}\n </View>\n </View>\n\n {!busy && synapse && urlParams.sarai === 'environment' && (\n <Environment {...{ synapse, ...others, ...synapseProps }} />\n )}\n </View>\n );\n};\n\nMessage.propTypes = {\n busy: PropTypes.bool,\n disabled: PropTypes.bool,\n synapse: PropTypes.bool,\n text: PropTypes.string,\n url: PropTypes.string,\n};\n\nexport { Message };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAEA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAC,uBAAA,CAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AAAwC,MAAAW,SAAA;EAAAC,UAAA;AAAA,SAAAH,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAV,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA;AAAA,SAAAmB,QAAAnB,CAAA,EAAAG,CAAA,QAAAF,CAAA,GAAAe,MAAA,CAAAI,IAAA,CAAApB,CAAA,OAAAgB,MAAA,CAAAK,qBAAA,QAAAf,CAAA,GAAAU,MAAA,CAAAK,qBAAA,CAAArB,CAAA,GAAAG,CAAA,KAAAG,CAAA,GAAAA,CAAA,CAAAgB,MAAA,WAAAnB,CAAA,WAAAa,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,EAAAoB,UAAA,OAAAtB,CAAA,CAAAuB,IAAA,CAAAC,KAAA,CAAAxB,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAAyB,cAAA1B,CAAA,aAAAG,CAAA,MAAAA,CAAA,GAAAwB,SAAA,CAAAC,MAAA,EAAAzB,CAAA,UAAAF,CAAA,WAAA0B,SAAA,CAAAxB,CAAA,IAAAwB,SAAA,CAAAxB,CAAA,QAAAA,CAAA,OAAAgB,OAAA,CAAAH,MAAA,CAAAf,CAAA,OAAA4B,OAAA,WAAA1B,CAAA,IAAA2B,eAAA,CAAA9B,CAAA,EAAAG,CAAA,EAAAF,CAAA,CAAAE,CAAA,SAAAa,MAAA,CAAAe,yBAAA,GAAAf,MAAA,CAAAgB,gBAAA,CAAAhC,CAAA,EAAAgB,MAAA,CAAAe,yBAAA,CAAA9B,CAAA,KAAAkB,OAAA,CAAAH,MAAA,CAAAf,CAAA,GAAA4B,OAAA,WAAA1B,CAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAjB,CAAA,EAAAG,CAAA,EAAAa,MAAA,CAAAE,wBAAA,CAAAjB,CAAA,EAAAE,CAAA,iBAAAH,CAAA;AAAA,SAAA8B,gBAAA9B,CAAA,EAAAG,CAAA,EAAAF,CAAA,YAAAE,CAAA,GAAA8B,cAAA,CAAA9B,CAAA,MAAAH,CAAA,GAAAgB,MAAA,CAAAC,cAAA,CAAAjB,CAAA,EAAAG,CAAA,IAAA+B,KAAA,EAAAjC,CAAA,EAAAsB,UAAA,MAAAY,YAAA,MAAAC,QAAA,UAAApC,CAAA,CAAAG,CAAA,IAAAF,CAAA,EAAAD,CAAA;AAAA,SAAAiC,eAAAhC,CAAA,QAAAM,CAAA,GAAA8B,YAAA,CAAApC,CAAA,uCAAAM,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAA8B,aAAApC,CAAA,EAAAE,CAAA,2BAAAF,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAqC,MAAA,CAAAC,WAAA,kBAAAvC,CAAA,QAAAO,CAAA,GAAAP,CAAA,CAAAe,IAAA,CAAAd,CAAA,EAAAE,CAAA,uCAAAI,CAAA,SAAAA,CAAA,YAAAiC,SAAA,yEAAArC,CAAA,GAAAsC,MAAA,GAAAC,MAAA,EAAAzC,CAAA;AAAA,SAAA0C,yBAAA3C,CAAA,EAAAC,CAAA,gBAAAD,CAAA,iBAAAM,CAAA,EAAAH,CAAA,EAAAI,CAAA,GAAAqC,6BAAA,CAAA5C,CAAA,EAAAC,CAAA,OAAAe,MAAA,CAAAK,qBAAA,QAAAjB,CAAA,GAAAY,MAAA,CAAAK,qBAAA,CAAArB,CAAA,QAAAG,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAAwB,MAAA,EAAAzB,CAAA,IAAAG,CAAA,GAAAF,CAAA,CAAAD,CAAA,UAAAF,CAAA,CAAA4C,OAAA,CAAAvC,CAAA,QAAAwC,oBAAA,CAAA/B,IAAA,CAAAf,CAAA,EAAAM,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAN,CAAA,CAAAM,CAAA,aAAAC,CAAA;AAAA,SAAAqC,8BAAAzC,CAAA,EAAAH,CAAA,gBAAAG,CAAA,iBAAAF,CAAA,gBAAAG,CAAA,IAAAD,CAAA,SAAAW,cAAA,CAAAC,IAAA,CAAAZ,CAAA,EAAAC,CAAA,gBAAAJ,CAAA,CAAA6C,OAAA,CAAAzC,CAAA,aAAAH,CAAA,CAAAG,CAAA,IAAAD,CAAA,CAAAC,CAAA,YAAAH,CAAA;AAExC;AACA,MAAM8C,OAAO,GAAGC,IAAA,IAA+D;EAAA,IAA9D;MAAEC,IAAI,GAAG,KAAK;MAAEC,QAAQ;MAAEC,OAAO;MAAEC,IAAI;MAAEC;IAAe,CAAC,GAAAL,IAAA;IAARM,MAAM,GAAAX,wBAAA,CAAAK,IAAA,EAAAlD,SAAA;EACtE,MAAM;IAAEoC,KAAK,EAAE;MAAEqB,SAAS,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EACrD,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAEjC,MAAM;MAAEC;IAAwB,CAAC,GAAGL,MAAM;IAAvBM,YAAY,GAAAjB,wBAAA,CAAKW,MAAM,EAAAvD,UAAA;EAC1C,MAAM8D,IAAI,GAAGV,OAAO,IAAI,CAACD,QAAQ,IAAI,CAACD,IAAI,GAAGa,sBAAU,GAAGC,QAAQ;EAElE,MAAMC,WAAW,GAAIX,GAAG,IAAK;IAC3BY,MAAM,CAACC,IAAI,CAACb,GAAG,EAAE,QAAQ,CAAC;EAC5B,CAAC;EAED,oBACE7D,MAAA,CAAAkB,OAAA,CAAAyD,aAAA,CAAC9E,GAAA,CAAA+E,IAAI;IAACT,MAAM,EAAEA,MAAO;IAACU,IAAI;EAAA,gBACxB7E,MAAA,CAAAkB,OAAA,CAAAyD,aAAA,CAAC9E,GAAA,CAAA+E,IAAI;IAACE,GAAG;IAACD,IAAI;IAACE,SAAS,EAAE,IAAAC,UAAM,EAAC7E,KAAK,CAAC8E,OAAO,EAAEtB,OAAO,IAAIxD,KAAK,CAACwD,OAAO;EAAE,gBACxE3D,MAAA,CAAAkB,OAAA,CAAAyD,aAAA,CAAC9E,GAAA,CAAA+E,IAAI;IAACG,SAAS,EAAE,IAAAC,UAAM,EAAC7E,KAAK,CAAC+E,OAAO,EAAEvB,OAAO,IAAIxD,KAAK,CAACwD,OAAO,EAAEF,IAAI,IAAItD,KAAK,CAACsD,IAAI;EAAE,GAClFA,IAAI,gBACHzD,MAAA,CAAAkB,OAAA,CAAAyD,aAAA,CAAC9E,GAAA,CAAA+E,IAAI;IAACG,SAAS,EAAE5E,KAAK,CAACgF;EAAQ,CAAE,CAAC,gBAElCnF,MAAA,CAAAkB,OAAA,CAAAyD,aAAA,CAAA3E,MAAA,CAAAkB,OAAA,CAAAkE,QAAA,qBACEpF,MAAA,CAAAkB,OAAA,CAAAyD,aAAA,CAACN,IAAI;IAACU,SAAS,EAAE5E,KAAK,CAACyD;EAAK,GAAEA,IAAW,CAAC,EACzCC,GAAG,iBACF7D,MAAA,CAAAkB,OAAA,CAAAyD,aAAA,CAAC9E,GAAA,CAAAwF,SAAS;IAACC,OAAO,EAAE,CAAC5B,QAAQ,GAAG,MAAMc,WAAW,CAACX,GAAG,CAAC,GAAG0B,SAAU;IAACR,SAAS,EAAE5E,KAAK,CAACqF;EAAK,gBACxFxF,MAAA,CAAAkB,OAAA,CAAAyD,aAAA,CAAC9E,GAAA,CAAA4F,IAAI;IAACC,KAAK;IAAChD,KAAK,EAAEiD,aAAI,CAACC;EAAK,CAAE,CAAC,eAChC5F,MAAA,CAAAkB,OAAA,CAAAyD,aAAA,CAAC9E,GAAA,CAAAwE,IAAQ;IAACwB,MAAM;IAACd,SAAS,EAAE5E,KAAK,CAACyD;EAAK,GACpCK,SAAS,CAAC6B,aAAI,CAACC,eAAe,CACvB,CACD,CAEb,CAEA,CACF,CAAC,EAEN,CAACtC,IAAI,IAAIE,OAAO,IAAII,SAAS,CAACiC,KAAK,KAAK,aAAa,iBACpDhG,MAAA,CAAAkB,OAAA,CAAAyD,aAAA,CAAC1E,WAAA,CAAAgG,WAAW,EAAA/D,aAAA,CAAAA,aAAA;IAAOyB;EAAO,GAAKG,MAAM,GAAKM,YAAY,CAAK,CAEzD,CAAC;AAEX,CAAC;AAAC8B,OAAA,CAAA3C,OAAA,GAAAA,OAAA;AAEFA,OAAO,CAAC4C,SAAS,GAAG;EAClB1C,IAAI,EAAE2C,kBAAS,CAACC,IAAI;EACpB3C,QAAQ,EAAE0C,kBAAS,CAACC,IAAI;EACxB1C,OAAO,EAAEyC,kBAAS,CAACC,IAAI;EACvBzC,IAAI,EAAEwC,kBAAS,CAACE,MAAM;EACtBzC,GAAG,EAAEuC,kBAAS,CAACE;AACjB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Message.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_helpers","_Message","style","_interopRequireWildcard","_helpers2","_excluded","_excluded2","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","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Message","_ref","busy","disabled","synapse","text","url","others","urlParams","useStore","translate","useLocale","testId","synapseProps","Text","Typewriter","TextBase","handlePress","window","open","createElement","View","wide","row","className","styles","message","content","spinner","Fragment","parseLinks","Pressable","onPress","undefined","card","Icon","light","ICON","LINK","action","L10N","LABEL_VIEW_LINK","sarai","Environment","exports","propTypes","PropTypes","bool","string"],"sources":["../../../../../src/components/Chat/components/Message/Message.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, styles, Pressable, Text as TextBase, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Environment, Typewriter } from './components';\nimport { parseLinks } from './helpers';\nimport { L10N } from './Message.l10n';\nimport * as style from './Message.module.css';\nimport { ICON } from '../../../helpers';\n\n// ! TODO: Refacto use of intent/response vs lisa.intent/response\nconst Message = ({ busy = false, disabled, synapse, text, url, ...others }) => {\n const { value: { urlParams = {} } = {} } = useStore();\n const { translate } = useLocale();\n\n const { testId, ...synapseProps } = others;\n const Text = synapse && !disabled && !busy ? Typewriter : TextBase;\n\n const handlePress = (url) => {\n window.open(url, '_blank');\n };\n\n return (\n <View testId={testId} wide>\n <View row wide className={styles(style.message, synapse && style.synapse)}>\n <View className={styles(style.content, synapse && style.synapse, busy && style.busy)}>\n {busy ? (\n <View className={style.spinner} />\n ) : (\n <>\n <Text className={style.text}>{parseLinks(text)}</Text>\n {url && (\n <Pressable onPress={!disabled ? () => handlePress(url) : undefined} className={style.card}>\n <Icon light value={ICON.LINK} />\n <TextBase action className={style.text}>\n {translate(L10N.LABEL_VIEW_LINK)}\n </TextBase>\n </Pressable>\n )}\n </>\n )}\n </View>\n </View>\n\n {!busy && synapse && urlParams.sarai === 'environment' && (\n <Environment {...{ synapse, ...others, ...synapseProps }} />\n )}\n </View>\n );\n};\n\nMessage.propTypes = {\n busy: PropTypes.bool,\n disabled: PropTypes.bool,\n synapse: PropTypes.bool,\n text: PropTypes.string,\n url: PropTypes.string,\n};\n\nexport { Message };\n"],"mappings":"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","ignoreList":[]}
@@ -25,21 +25,41 @@ const Typewriter = _ref => {
25
25
  onTyped
26
26
  } = _ref,
27
27
  others = _objectWithoutProperties(_ref, _excluded);
28
- const [displayedText, setDisplayedText] = (0, _react.useState)('');
28
+ const [displayedNodes, setDisplayedNodes] = (0, _react.useState)([]);
29
29
  const [wordIndex, setWordIndex] = (0, _react.useState)(0);
30
- const wordsRef = (0, _react.useRef)(children.split(' '));
30
+ const tokensRef = (0, _react.useRef)([]);
31
31
  const timeoutRef = (0, _react.useRef)(null);
32
- const getWordDelay = word => {
32
+ const getWordDelay = function () {
33
+ let text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
33
34
  let delay = BASE_DELAY;
34
- delay += word.length * WORD_LENGTH_FACTOR;
35
- const lastChar = word[word.length - 1];
35
+ const length = typeof text === 'string' ? text.length : 0;
36
+ delay += length * WORD_LENGTH_FACTOR;
37
+ const lastChar = typeof text === 'string' && text[length - 1];
36
38
  if (['.', ',', '!', '?', ':', ';'].includes(lastChar)) delay += PUNCTUATION_DELAY;
37
39
  const variance = 1 + (Math.random() * VARIANCE * 2 - VARIANCE);
38
40
  return Math.round(delay * variance);
39
41
  };
42
+ const toTokens = nodes => {
43
+ const list = [];
44
+ _react.Children.toArray(nodes).forEach(node => {
45
+ if (typeof node === 'string') {
46
+ node.split(' ').filter(Boolean).forEach(word => list.push({
47
+ node: word,
48
+ text: word
49
+ }));
50
+ } else if (/*#__PURE__*/(0, _react.isValidElement)(node)) {
51
+ var _node$props;
52
+ list.push({
53
+ node,
54
+ text: typeof ((_node$props = node.props) === null || _node$props === void 0 ? void 0 : _node$props.children) === 'string' ? node.props.children : ''
55
+ });
56
+ }
57
+ });
58
+ return list;
59
+ };
40
60
  (0, _react.useEffect)(() => {
41
- wordsRef.current = children.split(' ');
42
- setDisplayedText('');
61
+ tokensRef.current = toTokens(children);
62
+ setDisplayedNodes([]);
43
63
  setWordIndex(0);
44
64
  return () => {
45
65
  if (timeoutRef.current) clearTimeout(timeoutRef.current);
@@ -47,13 +67,17 @@ const Typewriter = _ref => {
47
67
  }, [children]);
48
68
  (0, _react.useEffect)(() => {
49
69
  if (disabled) return;
50
- if (wordIndex < wordsRef.current.length) {
51
- const currentWord = wordsRef.current[wordIndex];
52
- const delay = getWordDelay(currentWord);
70
+ if (wordIndex < tokensRef.current.length) {
71
+ const current = tokensRef.current[wordIndex];
72
+ const delay = getWordDelay(current.text);
53
73
  timeoutRef.current = setTimeout(() => {
54
- setDisplayedText(prev => prev ? "".concat(prev, " ").concat(currentWord) : currentWord);
74
+ setDisplayedNodes(prev => {
75
+ if (!prev.length) return [current.node];
76
+ const isPunctuation = typeof current.node === 'string' && /^[.,!?;:]/.test(current.node);
77
+ return isPunctuation ? [...prev, current.node] : [...prev, ' ', current.node];
78
+ });
55
79
  setWordIndex(prevIndex => prevIndex + 1);
56
- if (wordIndex === wordsRef.current.length - 1 && onTyped) onTyped();
80
+ if (wordIndex === tokensRef.current.length - 1 && onTyped) onTyped();
57
81
  }, delay);
58
82
  return () => clearTimeout(timeoutRef.current);
59
83
  }
@@ -64,12 +88,12 @@ const Typewriter = _ref => {
64
88
  className: [style.scaffold, others.className]
65
89
  }), children), /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({}, others, {
66
90
  className: [style.animated, others.className]
67
- }), displayedText));
91
+ }), displayedNodes));
68
92
  };
69
93
  exports.Typewriter = Typewriter;
70
94
  Typewriter.displayName = 'Typewriter';
71
95
  Typewriter.propTypes = {
72
- children: _propTypes.default.string,
96
+ children: _propTypes.default.node,
73
97
  disabled: _propTypes.default.bool,
74
98
  onTyped: _propTypes.default.func
75
99
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Typewriter.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_excluded","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","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","BASE_DELAY","WORD_LENGTH_FACTOR","PUNCTUATION_DELAY","VARIANCE","Typewriter","_ref","children","disabled","onTyped","others","displayedText","setDisplayedText","useState","wordIndex","setWordIndex","wordsRef","useRef","split","timeoutRef","getWordDelay","word","delay","lastChar","includes","variance","Math","random","round","useEffect","current","clearTimeout","currentWord","setTimeout","prev","concat","prevIndex","createElement","Text","View","className","typewriter","scaffold","animated","exports","displayName","propTypes","PropTypes","string","bool","func"],"sources":["../../../../../../src/components/Chat/components/Message/components/Typewriter.jsx"],"sourcesContent":["import { Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport * as style from './Typewriter.module.css';\n\nconst BASE_DELAY = 60;\nconst WORD_LENGTH_FACTOR = 5;\nconst PUNCTUATION_DELAY = 80;\nconst VARIANCE = 0.2;\n\nconst Typewriter = ({ children = '', disabled = false, onTyped, ...others }) => {\n const [displayedText, setDisplayedText] = useState('');\n const [wordIndex, setWordIndex] = useState(0);\n const wordsRef = useRef(children.split(' '));\n const timeoutRef = useRef(null);\n\n const getWordDelay = (word) => {\n let delay = BASE_DELAY;\n delay += word.length * WORD_LENGTH_FACTOR;\n\n const lastChar = word[word.length - 1];\n if (['.', ',', '!', '?', ':', ';'].includes(lastChar)) delay += PUNCTUATION_DELAY;\n\n const variance = 1 + (Math.random() * VARIANCE * 2 - VARIANCE);\n return Math.round(delay * variance);\n };\n\n useEffect(() => {\n wordsRef.current = children.split(' ');\n setDisplayedText('');\n setWordIndex(0);\n\n return () => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n };\n }, [children]);\n\n useEffect(() => {\n if (disabled) return;\n\n if (wordIndex < wordsRef.current.length) {\n const currentWord = wordsRef.current[wordIndex];\n const delay = getWordDelay(currentWord);\n\n timeoutRef.current = setTimeout(() => {\n setDisplayedText((prev) => (prev ? `${prev} ${currentWord}` : currentWord));\n setWordIndex((prevIndex) => prevIndex + 1);\n\n if (wordIndex === wordsRef.current.length - 1 && onTyped) onTyped();\n }, delay);\n\n return () => clearTimeout(timeoutRef.current);\n }\n }, [disabled, wordIndex, onTyped]);\n\n return disabled ? (\n <Text {...others}>{children}</Text>\n ) : (\n <View className={[style.typewriter, others.className]}>\n <Text {...others} className={[style.scaffold, others.className]}>\n {children}\n </Text>\n\n <Text {...others} className={[style.animated, others.className]}>\n {displayedText}\n </Text>\n </View>\n );\n};\n\nTypewriter.displayName = 'Typewriter';\n\nTypewriter.propTypes = {\n children: PropTypes.string,\n disabled: PropTypes.bool,\n onTyped: PropTypes.func,\n};\n\nexport { Typewriter };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Typewriter.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_excluded","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","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","BASE_DELAY","WORD_LENGTH_FACTOR","PUNCTUATION_DELAY","VARIANCE","Typewriter","_ref","children","disabled","onTyped","others","displayedNodes","setDisplayedNodes","useState","wordIndex","setWordIndex","tokensRef","useRef","timeoutRef","getWordDelay","text","undefined","delay","lastChar","includes","variance","Math","random","round","toTokens","nodes","list","Children","toArray","forEach","node","split","filter","Boolean","word","push","isValidElement","_node$props","props","useEffect","current","clearTimeout","setTimeout","prev","isPunctuation","test","prevIndex","createElement","Text","View","className","typewriter","scaffold","animated","exports","displayName","propTypes","PropTypes","bool","func"],"sources":["../../../../../../src/components/Chat/components/Message/components/Typewriter.jsx"],"sourcesContent":["import { Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { Children, isValidElement, useEffect, useRef, useState } from 'react';\n\nimport * as style from './Typewriter.module.css';\n\nconst BASE_DELAY = 60;\nconst WORD_LENGTH_FACTOR = 5;\nconst PUNCTUATION_DELAY = 80;\nconst VARIANCE = 0.2;\n\nconst Typewriter = ({ children = '', disabled = false, onTyped, ...others }) => {\n const [displayedNodes, setDisplayedNodes] = useState([]);\n const [wordIndex, setWordIndex] = useState(0);\n const tokensRef = useRef([]);\n const timeoutRef = useRef(null);\n\n const getWordDelay = (text = '') => {\n let delay = BASE_DELAY;\n const length = typeof text === 'string' ? text.length : 0;\n delay += length * WORD_LENGTH_FACTOR;\n const lastChar = typeof text === 'string' && text[length - 1];\n if (['.', ',', '!', '?', ':', ';'].includes(lastChar)) delay += PUNCTUATION_DELAY;\n const variance = 1 + (Math.random() * VARIANCE * 2 - VARIANCE);\n return Math.round(delay * variance);\n };\n\n const toTokens = (nodes) => {\n const list = [];\n Children.toArray(nodes).forEach((node) => {\n if (typeof node === 'string') {\n node\n .split(' ')\n .filter(Boolean)\n .forEach((word) => list.push({ node: word, text: word }));\n } else if (isValidElement(node)) {\n list.push({ node, text: typeof node.props?.children === 'string' ? node.props.children : '' });\n }\n });\n return list;\n };\n\n useEffect(() => {\n tokensRef.current = toTokens(children);\n setDisplayedNodes([]);\n setWordIndex(0);\n return () => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n };\n }, [children]);\n\n useEffect(() => {\n if (disabled) return;\n\n if (wordIndex < tokensRef.current.length) {\n const current = tokensRef.current[wordIndex];\n const delay = getWordDelay(current.text);\n timeoutRef.current = setTimeout(() => {\n setDisplayedNodes((prev) => {\n if (!prev.length) return [current.node];\n const isPunctuation = typeof current.node === 'string' && /^[.,!?;:]/.test(current.node);\n return isPunctuation ? [...prev, current.node] : [...prev, ' ', current.node];\n });\n setWordIndex((prevIndex) => prevIndex + 1);\n if (wordIndex === tokensRef.current.length - 1 && onTyped) onTyped();\n }, delay);\n return () => clearTimeout(timeoutRef.current);\n }\n }, [disabled, wordIndex, onTyped]);\n\n return disabled ? (\n <Text {...others}>{children}</Text>\n ) : (\n <View className={[style.typewriter, others.className]}>\n <Text {...others} className={[style.scaffold, others.className]}>\n {children}\n </Text>\n\n <Text {...others} className={[style.animated, others.className]}>\n {displayedNodes}\n </Text>\n </View>\n );\n};\n\nTypewriter.displayName = 'Typewriter';\n\nTypewriter.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n onTyped: PropTypes.func,\n};\n\nexport { Typewriter };\n"],"mappings":"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","ignoreList":[]}
@@ -25,4 +25,15 @@ Object.keys(_getTime).forEach(function (key) {
25
25
  }
26
26
  });
27
27
  });
28
+ var _parseLinks = require("./parseLinks");
29
+ Object.keys(_parseLinks).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _parseLinks[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _parseLinks[key];
36
+ }
37
+ });
38
+ });
28
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_getActionIcon","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_getTime"],"sources":["../../../../../../src/components/Chat/components/Message/helpers/index.js"],"sourcesContent":["export * from './getActionIcon';\nexport * from './getTime';\n"],"mappings":";;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,cAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,QAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,QAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,QAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,QAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_getActionIcon","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_getTime","_parseLinks"],"sources":["../../../../../../src/components/Chat/components/Message/helpers/index.js"],"sourcesContent":["export * from './getActionIcon';\nexport * from './getTime';\nexport * from './parseLinks';\n"],"mappings":";;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,cAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,QAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,QAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,QAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,QAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,WAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,WAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,WAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,WAAA,CAAAN,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseLinks = void 0;
7
+ var _ui = require("@mirai/ui");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ const URL_REGEX = /(https?:\/\/[^\s]+)/g;
11
+ const parseLinks = text => {
12
+ if (!text) return text;
13
+ const parts = text.split(URL_REGEX);
14
+
15
+ // If no URLs found, return original text
16
+ if (parts.length === 1) return text;
17
+ return parts.map((part, index) => {
18
+ if (URL_REGEX.test(part)) {
19
+ // Remove trailing punctuation from URL
20
+ const cleanUrl = part.replace(/[.,!?;:]$/, '');
21
+ return /*#__PURE__*/_react.default.createElement(_ui.Action, {
22
+ key: index,
23
+ href: cleanUrl,
24
+ paragraph: true,
25
+ rel: "noopener noreferrer",
26
+ target: "_blank",
27
+ underline: true
28
+ }, cleanUrl);
29
+ }
30
+ return part;
31
+ });
32
+ };
33
+ exports.parseLinks = parseLinks;
34
+ //# sourceMappingURL=parseLinks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseLinks.js","names":["_ui","require","_react","_interopRequireDefault","e","__esModule","default","URL_REGEX","parseLinks","text","parts","split","length","map","part","index","test","cleanUrl","replace","createElement","Action","key","href","paragraph","rel","target","underline","exports"],"sources":["../../../../../../src/components/Chat/components/Message/helpers/parseLinks.js"],"sourcesContent":["import { Action } from '@mirai/ui';\nimport React from 'react';\n\nconst URL_REGEX = /(https?:\\/\\/[^\\s]+)/g;\n\nexport const parseLinks = (text) => {\n if (!text) return text;\n\n const parts = text.split(URL_REGEX);\n\n // If no URLs found, return original text\n if (parts.length === 1) return text;\n\n return parts.map((part, index) => {\n if (URL_REGEX.test(part)) {\n // Remove trailing punctuation from URL\n const cleanUrl = part.replace(/[.,!?;:]$/, '');\n return (\n <Action key={index} href={cleanUrl} paragraph rel=\"noopener noreferrer\" target=\"_blank\" underline>\n {cleanUrl}\n </Action>\n );\n }\n return part;\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0B,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1B,MAAMG,SAAS,GAAG,sBAAsB;AAEjC,MAAMC,UAAU,GAAIC,IAAI,IAAK;EAClC,IAAI,CAACA,IAAI,EAAE,OAAOA,IAAI;EAEtB,MAAMC,KAAK,GAAGD,IAAI,CAACE,KAAK,CAACJ,SAAS,CAAC;;EAEnC;EACA,IAAIG,KAAK,CAACE,MAAM,KAAK,CAAC,EAAE,OAAOH,IAAI;EAEnC,OAAOC,KAAK,CAACG,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAK;IAChC,IAAIR,SAAS,CAACS,IAAI,CAACF,IAAI,CAAC,EAAE;MACxB;MACA,MAAMG,QAAQ,GAAGH,IAAI,CAACI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;MAC9C,oBACEhB,MAAA,CAAAI,OAAA,CAAAa,aAAA,CAACnB,GAAA,CAAAoB,MAAM;QAACC,GAAG,EAAEN,KAAM;QAACO,IAAI,EAAEL,QAAS;QAACM,SAAS;QAACC,GAAG,EAAC,qBAAqB;QAACC,MAAM,EAAC,QAAQ;QAACC,SAAS;MAAA,GAC9FT,QACK,CAAC;IAEb;IACA,OAAOH,IAAI;EACb,CAAC,CAAC;AACJ,CAAC;AAACa,OAAA,CAAAnB,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -17,6 +17,7 @@ const EVENT = exports.EVENT = {
17
17
  // -- @mirai/core
18
18
  BOOKING_RESPONSE: 'bookingResponse',
19
19
  BOOKING_CANCEL: 'bookingCancel',
20
+ CHAT_OPEN: 'chatOpen',
20
21
  CHECKOUT_RESPONSE: 'checkoutResponse',
21
22
  CHECKOUT_FORM: 'checkoutForm',
22
23
  EXTERNAL_TWIN: 'externalTwin',
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["_ui","require","ACCOMMODATION_TYPE","exports","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","CALENDAR_FORMAT","EVENT","BOOKING_RESPONSE","BOOKING_CANCEL","CHECKOUT_RESPONSE","CHECKOUT_FORM","EXTERNAL_TWIN","FINDER","FINDER_FIELD_CHANGE","FINDER_READY","FOOTER_HEIGHT_CHANGE","INTENT_CURRENCY","INTENT_LOCALE","LOGGED","LOGGED_OUT","LOGIN","LOCALE_CHANGED","METRICS","NOTIFICATION","OTA_PRICES_READY","PAY_LATER","RATES_ADD_TO_CART","RATES_RESPONSE","RATES_FILTER_CLUB","RATES_FILTER_PROMOCODE","SARAI_MESSAGE_SENT","MODAL_VISIBLE","MODAL_EVENT_VISIBLE","LOCALES","MONTHS_IN_MOBILE","OCCUPATION_TYPE","GUEST","ADULT","CHILD","BABY","PAYMENT_CARD","AMERICAN_EXPRESS","DINERS_CLUB","DISCOVER","JCB","MAESTRO","MASTERCARD","UNIONPAY","VISA","PAYMENT_METHOD","ALIPAY","AMAZON_PAY","APLAZAME","BIZUM","CARD","CARD_PREPAY","CRIPTAN","IDEAL","OXXO","PAYLATER","PAYPAL","PCIPROXY","SOFORT","TPV","TRANSFER","WECHATPAY","PAYMENT_PROVIDER","ADDON","ADYEN","CARDNET","CHECKOUT","HIPAY","LINKAGEPAY","MULTIPAGOS","OPENPAY","PAYBOX","PAYCOMET","PAYNOPAIN","REDSYS","REDUNIQ","SIPAY","STRIPE","STEP","BOOKING_CANCELLATION","BOOKING_CONFIRMATION","HOTELS","RATES","SUBMIT_DELAY"],"sources":["../../../src/components/helpers/constants.js"],"sourcesContent":["import { MODAL_EVENT_VISIBLE } from '@mirai/ui';\n\nconst ACCOMMODATION_TYPE = {\n ROOM: 1,\n APARTMENT: 2,\n PITCH: 3,\n ACCOMMODATION: 4,\n VILLA: 5,\n};\n\nconst CALENDAR_FORMAT = 'DD/MM/YYYY';\n\nconst EVENT = {\n // -- @mirai/core\n BOOKING_RESPONSE: 'bookingResponse',\n BOOKING_CANCEL: 'bookingCancel',\n CHECKOUT_RESPONSE: 'checkoutResponse',\n CHECKOUT_FORM: 'checkoutForm',\n EXTERNAL_TWIN: 'externalTwin',\n FINDER: 'finder',\n FINDER_FIELD_CHANGE: 'finderFieldChange',\n FINDER_READY: 'finderReady',\n FOOTER_HEIGHT_CHANGE: 'footerHeightChenge',\n INTENT_CURRENCY: 'intentCurrency',\n INTENT_LOCALE: 'intentLocale',\n LOGGED: 'logged',\n LOGGED_OUT: 'loggedOut',\n LOGIN: 'login',\n LOCALE_CHANGED: 'localeChanged',\n METRICS: 'metrics',\n NOTIFICATION: 'notification',\n OTA_PRICES_READY: 'otaPricesReady',\n PAY_LATER: 'payLater',\n RATES_ADD_TO_CART: 'ratesAddToCart',\n RATES_RESPONSE: 'ratesResponse',\n RATES_FILTER_CLUB: 'ratesFilterClub',\n RATES_FILTER_PROMOCODE: 'ratesFilterPromocode',\n SARAI_MESSAGE_SENT: 'saraiMessageSent',\n // -- @mirai/ui\n MODAL_VISIBLE: MODAL_EVENT_VISIBLE,\n};\n\nconst LOCALES = [\n 'en-GB',\n 'es-ES',\n 'fr-FR',\n 'de-DE',\n 'ja-JP',\n 'it-IT',\n 'pt-PT',\n 'da-DK',\n 'fi-FI',\n 'nb-NO',\n 'nl-NL',\n 'pl-PL',\n 'ru-RU',\n 'sv-SE',\n 'tr-TR',\n 'zh-CN',\n 'cs-CZ',\n 'el-GR',\n 'ar-DZ',\n 'hu-HU',\n 'ca-ES',\n 'eu-ES',\n 'vi-VN',\n];\n\nconst MONTHS_IN_MOBILE = 3;\n\nconst OCCUPATION_TYPE = {\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n BABY: 4,\n};\n\nconst PAYMENT_CARD = {\n AMERICAN_EXPRESS: 'AMERICAN_EXPRESS',\n DINERS_CLUB: 'DINERS_CLUB',\n DISCOVER: 'DISCOVER',\n JCB: 'JCB',\n MAESTRO: 'MAESTRO', // low resolution logo\n MASTERCARD: 'MASTERCARD',\n UNIONPAY: 'UNIONPAY',\n VISA: 'VISA',\n};\n\nconst PAYMENT_METHOD = {\n ALIPAY: 'ALIPAY',\n AMAZON_PAY: 'AMAZON_PAY',\n APLAZAME: 'APLAZAME',\n BIZUM: 'BIZUM',\n CARD: 'CARD',\n CARD_PREPAY: 'CARD_PREPAY',\n CRIPTAN: 'CRIPTAN',\n IDEAL: 'IDEAL',\n OXXO: 'OXXO',\n PAYLATER: 'PAYLATER',\n PAYPAL: 'PAYPAL',\n PCIPROXY: 'PCIPROXY',\n SOFORT: 'SOFORT',\n TPV: 'TPV',\n TRANSFER: 'TRANSFER',\n WECHATPAY: 'WECHATPAY',\n};\n\nconst PAYMENT_PROVIDER = {\n ADDON: 'ADDON',\n ADYEN: 'ADYEN',\n CARDNET: 'CARDNET',\n CHECKOUT: 'CHECKOUT',\n HIPAY: 'HIPAY',\n LINKAGEPAY: 'LINKAGEPAY',\n MULTIPAGOS: 'MULTIPAGOS',\n OPENPAY: 'OPENPAY',\n PAYBOX: 'PAYBOX',\n PAYCOMET: 'PAYCOMET',\n PAYNOPAIN: 'PAYNOPAIN',\n REDSYS: 'REDSYS',\n REDUNIQ: 'REDUNIQ',\n SIPAY: 'SIPAY',\n STRIPE: 'STRIPE',\n};\n\nconst STEP = {\n BOOKING_CANCELLATION: 'CANCELLATION',\n BOOKING_CONFIRMATION: 'CONFIRMATION',\n CHECKOUT: 'CLIENTFORM',\n FINDER: 'BOOKINGENTRANCE',\n HOTELS: 'CHAINRESULT',\n RATES: 'BOOKINGSTEP1',\n};\n\nconst SUBMIT_DELAY = 800;\n\nexport {\n ACCOMMODATION_TYPE,\n CALENDAR_FORMAT,\n EVENT,\n LOCALES,\n MONTHS_IN_MOBILE,\n OCCUPATION_TYPE,\n PAYMENT_CARD,\n PAYMENT_METHOD,\n PAYMENT_PROVIDER,\n STEP,\n SUBMIT_DELAY,\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"constants.js","names":["_ui","require","ACCOMMODATION_TYPE","exports","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","CALENDAR_FORMAT","EVENT","BOOKING_RESPONSE","BOOKING_CANCEL","CHAT_OPEN","CHECKOUT_RESPONSE","CHECKOUT_FORM","EXTERNAL_TWIN","FINDER","FINDER_FIELD_CHANGE","FINDER_READY","FOOTER_HEIGHT_CHANGE","INTENT_CURRENCY","INTENT_LOCALE","LOGGED","LOGGED_OUT","LOGIN","LOCALE_CHANGED","METRICS","NOTIFICATION","OTA_PRICES_READY","PAY_LATER","RATES_ADD_TO_CART","RATES_RESPONSE","RATES_FILTER_CLUB","RATES_FILTER_PROMOCODE","SARAI_MESSAGE_SENT","MODAL_VISIBLE","MODAL_EVENT_VISIBLE","LOCALES","MONTHS_IN_MOBILE","OCCUPATION_TYPE","GUEST","ADULT","CHILD","BABY","PAYMENT_CARD","AMERICAN_EXPRESS","DINERS_CLUB","DISCOVER","JCB","MAESTRO","MASTERCARD","UNIONPAY","VISA","PAYMENT_METHOD","ALIPAY","AMAZON_PAY","APLAZAME","BIZUM","CARD","CARD_PREPAY","CRIPTAN","IDEAL","OXXO","PAYLATER","PAYPAL","PCIPROXY","SOFORT","TPV","TRANSFER","WECHATPAY","PAYMENT_PROVIDER","ADDON","ADYEN","CARDNET","CHECKOUT","HIPAY","LINKAGEPAY","MULTIPAGOS","OPENPAY","PAYBOX","PAYCOMET","PAYNOPAIN","REDSYS","REDUNIQ","SIPAY","STRIPE","STEP","BOOKING_CANCELLATION","BOOKING_CONFIRMATION","HOTELS","RATES","SUBMIT_DELAY"],"sources":["../../../src/components/helpers/constants.js"],"sourcesContent":["import { MODAL_EVENT_VISIBLE } from '@mirai/ui';\n\nconst ACCOMMODATION_TYPE = {\n ROOM: 1,\n APARTMENT: 2,\n PITCH: 3,\n ACCOMMODATION: 4,\n VILLA: 5,\n};\n\nconst CALENDAR_FORMAT = 'DD/MM/YYYY';\n\nconst EVENT = {\n // -- @mirai/core\n BOOKING_RESPONSE: 'bookingResponse',\n BOOKING_CANCEL: 'bookingCancel',\n CHAT_OPEN: 'chatOpen',\n CHECKOUT_RESPONSE: 'checkoutResponse',\n CHECKOUT_FORM: 'checkoutForm',\n EXTERNAL_TWIN: 'externalTwin',\n FINDER: 'finder',\n FINDER_FIELD_CHANGE: 'finderFieldChange',\n FINDER_READY: 'finderReady',\n FOOTER_HEIGHT_CHANGE: 'footerHeightChenge',\n INTENT_CURRENCY: 'intentCurrency',\n INTENT_LOCALE: 'intentLocale',\n LOGGED: 'logged',\n LOGGED_OUT: 'loggedOut',\n LOGIN: 'login',\n LOCALE_CHANGED: 'localeChanged',\n METRICS: 'metrics',\n NOTIFICATION: 'notification',\n OTA_PRICES_READY: 'otaPricesReady',\n PAY_LATER: 'payLater',\n RATES_ADD_TO_CART: 'ratesAddToCart',\n RATES_RESPONSE: 'ratesResponse',\n RATES_FILTER_CLUB: 'ratesFilterClub',\n RATES_FILTER_PROMOCODE: 'ratesFilterPromocode',\n SARAI_MESSAGE_SENT: 'saraiMessageSent',\n // -- @mirai/ui\n MODAL_VISIBLE: MODAL_EVENT_VISIBLE,\n};\n\nconst LOCALES = [\n 'en-GB',\n 'es-ES',\n 'fr-FR',\n 'de-DE',\n 'ja-JP',\n 'it-IT',\n 'pt-PT',\n 'da-DK',\n 'fi-FI',\n 'nb-NO',\n 'nl-NL',\n 'pl-PL',\n 'ru-RU',\n 'sv-SE',\n 'tr-TR',\n 'zh-CN',\n 'cs-CZ',\n 'el-GR',\n 'ar-DZ',\n 'hu-HU',\n 'ca-ES',\n 'eu-ES',\n 'vi-VN',\n];\n\nconst MONTHS_IN_MOBILE = 3;\n\nconst OCCUPATION_TYPE = {\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n BABY: 4,\n};\n\nconst PAYMENT_CARD = {\n AMERICAN_EXPRESS: 'AMERICAN_EXPRESS',\n DINERS_CLUB: 'DINERS_CLUB',\n DISCOVER: 'DISCOVER',\n JCB: 'JCB',\n MAESTRO: 'MAESTRO', // low resolution logo\n MASTERCARD: 'MASTERCARD',\n UNIONPAY: 'UNIONPAY',\n VISA: 'VISA',\n};\n\nconst PAYMENT_METHOD = {\n ALIPAY: 'ALIPAY',\n AMAZON_PAY: 'AMAZON_PAY',\n APLAZAME: 'APLAZAME',\n BIZUM: 'BIZUM',\n CARD: 'CARD',\n CARD_PREPAY: 'CARD_PREPAY',\n CRIPTAN: 'CRIPTAN',\n IDEAL: 'IDEAL',\n OXXO: 'OXXO',\n PAYLATER: 'PAYLATER',\n PAYPAL: 'PAYPAL',\n PCIPROXY: 'PCIPROXY',\n SOFORT: 'SOFORT',\n TPV: 'TPV',\n TRANSFER: 'TRANSFER',\n WECHATPAY: 'WECHATPAY',\n};\n\nconst PAYMENT_PROVIDER = {\n ADDON: 'ADDON',\n ADYEN: 'ADYEN',\n CARDNET: 'CARDNET',\n CHECKOUT: 'CHECKOUT',\n HIPAY: 'HIPAY',\n LINKAGEPAY: 'LINKAGEPAY',\n MULTIPAGOS: 'MULTIPAGOS',\n OPENPAY: 'OPENPAY',\n PAYBOX: 'PAYBOX',\n PAYCOMET: 'PAYCOMET',\n PAYNOPAIN: 'PAYNOPAIN',\n REDSYS: 'REDSYS',\n REDUNIQ: 'REDUNIQ',\n SIPAY: 'SIPAY',\n STRIPE: 'STRIPE',\n};\n\nconst STEP = {\n BOOKING_CANCELLATION: 'CANCELLATION',\n BOOKING_CONFIRMATION: 'CONFIRMATION',\n CHECKOUT: 'CLIENTFORM',\n FINDER: 'BOOKINGENTRANCE',\n HOTELS: 'CHAINRESULT',\n RATES: 'BOOKINGSTEP1',\n};\n\nconst SUBMIT_DELAY = 800;\n\nexport {\n ACCOMMODATION_TYPE,\n CALENDAR_FORMAT,\n EVENT,\n LOCALES,\n MONTHS_IN_MOBILE,\n OCCUPATION_TYPE,\n PAYMENT_CARD,\n PAYMENT_METHOD,\n PAYMENT_PROVIDER,\n STEP,\n SUBMIT_DELAY,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEA,MAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG;EACzBE,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE,CAAC;EACZC,KAAK,EAAE,CAAC;EACRC,aAAa,EAAE,CAAC;EAChBC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,eAAe,GAAAN,OAAA,CAAAM,eAAA,GAAG,YAAY;AAEpC,MAAMC,KAAK,GAAAP,OAAA,CAAAO,KAAA,GAAG;EACZ;EACAC,gBAAgB,EAAE,iBAAiB;EACnCC,cAAc,EAAE,eAAe;EAC/BC,SAAS,EAAE,UAAU;EACrBC,iBAAiB,EAAE,kBAAkB;EACrCC,aAAa,EAAE,cAAc;EAC7BC,aAAa,EAAE,cAAc;EAC7BC,MAAM,EAAE,QAAQ;EAChBC,mBAAmB,EAAE,mBAAmB;EACxCC,YAAY,EAAE,aAAa;EAC3BC,oBAAoB,EAAE,oBAAoB;EAC1CC,eAAe,EAAE,gBAAgB;EACjCC,aAAa,EAAE,cAAc;EAC7BC,MAAM,EAAE,QAAQ;EAChBC,UAAU,EAAE,WAAW;EACvBC,KAAK,EAAE,OAAO;EACdC,cAAc,EAAE,eAAe;EAC/BC,OAAO,EAAE,SAAS;EAClBC,YAAY,EAAE,cAAc;EAC5BC,gBAAgB,EAAE,gBAAgB;EAClCC,SAAS,EAAE,UAAU;EACrBC,iBAAiB,EAAE,gBAAgB;EACnCC,cAAc,EAAE,eAAe;EAC/BC,iBAAiB,EAAE,iBAAiB;EACpCC,sBAAsB,EAAE,sBAAsB;EAC9CC,kBAAkB,EAAE,kBAAkB;EACtC;EACAC,aAAa,EAAEC;AACjB,CAAC;AAED,MAAMC,OAAO,GAAAnC,OAAA,CAAAmC,OAAA,GAAG,CACd,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,CACR;AAED,MAAMC,gBAAgB,GAAApC,OAAA,CAAAoC,gBAAA,GAAG,CAAC;AAE1B,MAAMC,eAAe,GAAArC,OAAA,CAAAqC,eAAA,GAAG;EACtBC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,CAAC;EACRC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,YAAY,GAAA1C,OAAA,CAAA0C,YAAA,GAAG;EACnBC,gBAAgB,EAAE,kBAAkB;EACpCC,WAAW,EAAE,aAAa;EAC1BC,QAAQ,EAAE,UAAU;EACpBC,GAAG,EAAE,KAAK;EACVC,OAAO,EAAE,SAAS;EAAE;EACpBC,UAAU,EAAE,YAAY;EACxBC,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,cAAc,GAAAnD,OAAA,CAAAmD,cAAA,GAAG;EACrBC,MAAM,EAAE,QAAQ;EAChBC,UAAU,EAAE,YAAY;EACxBC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,WAAW,EAAE,aAAa;EAC1BC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,UAAU;EACpBC,MAAM,EAAE,QAAQ;EAChBC,QAAQ,EAAE,UAAU;EACpBC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,KAAK;EACVC,QAAQ,EAAE,UAAU;EACpBC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,gBAAgB,GAAApE,OAAA,CAAAoE,gBAAA,GAAG;EACvBC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE,SAAS;EAClBC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE,OAAO;EACdC,UAAU,EAAE,YAAY;EACxBC,UAAU,EAAE,YAAY;EACxBC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,QAAQ,EAAE,UAAU;EACpBC,SAAS,EAAE,WAAW;EACtBC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,IAAI,GAAApF,OAAA,CAAAoF,IAAA,GAAG;EACXC,oBAAoB,EAAE,cAAc;EACpCC,oBAAoB,EAAE,cAAc;EACpCd,QAAQ,EAAE,YAAY;EACtB1D,MAAM,EAAE,iBAAiB;EACzByE,MAAM,EAAE,aAAa;EACrBC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,YAAY,GAAAzF,OAAA,CAAAyF,YAAA,GAAG,GAAG","ignoreList":[]}
@@ -77,7 +77,8 @@ const ratesResponse = function () {
77
77
  taxesIncluded,
78
78
  userCurrency: {
79
79
  value: userCurrencyValue
80
- } = {}
80
+ } = {},
81
+ userLocation = {}
81
82
  } = tracking;
82
83
  const {
83
84
  adults = 0,
@@ -189,7 +190,8 @@ const ratesResponse = function () {
189
190
  };
190
191
  }),
191
192
  taxesIncluded,
192
- userCurrency: currency
193
+ userCurrency: currency,
194
+ userLocation
193
195
  }) : (hotelInfoBAR === null || hotelInfoBAR === void 0 ? void 0 : hotelInfoBAR.length) > 0 ? _objectSpread(_objectSpread({}, common), {}, {
194
196
  availability: 'yes',
195
197
  exchangeRate: userCurrencyValue && hotelInfoBAR[0].currency.value && userCurrencyValue / hotelInfoBAR[0].currency.value,
@@ -205,7 +207,8 @@ const ratesResponse = function () {
205
207
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
206
208
  return hotelName;
207
209
  }).join(','),
208
- lowestRate: (0, _legacy.formatPrice)(hotelInfoBAR[0].bestAvailableRate.totalPrice.internalWithTaxes / nights, hotelInfoBAR[0].currency)
210
+ lowestRate: (0, _legacy.formatPrice)(hotelInfoBAR[0].bestAvailableRate.totalPrice.internalWithTaxes / nights, hotelInfoBAR[0].currency),
211
+ userLocation
209
212
  }) : common;
210
213
  (0, _helpers5.dataLayerPush)((0, _helpers.getInitEvent)({
211
214
  mobile,
@@ -1 +1 @@
1
- {"version":3,"file":"ratesResponse.js","names":["_locale","require","_duetto","_helpers","_helpers2","_helpers3","_Core","_helpers4","_helpers5","_helpers6","_legacy","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ACCOMMODATION_TYPE_NAME","ACCOMMODATION_TYPE","ratesResponse","_variants$hotelId","device","mobile","response","calendar","calendarSuggestion","hotels","infantAge","tracking","store","currency","finder","occupation","place","title","searchCategory","promocode","hotel","accommodationType","features","variants","id","language","session","type","urlParams","undefined","idchain","idoffers","idtokenprovider","hotelId","roomTypeId","fetchUrlParams","location","search","country","hotelInfo","hotelCurrency","propertyName","propertyType","hotelInfoBAR","localTaxesIncluded","rates","taxesIncluded","userCurrency","userCurrencyValue","adults","children","getOccupationTotals","minRate","maxRate","getRatesPriceRange","days","nights","dateDiff","showPricePerNight","getFeatures","step","common","availability","chainId","checkin","dateFormat","format","checkout","coupon","home","document","hostname","idOffer","parseInt","idRoom","lodgingDenomination","multiroom","numAdults","numChildren","numRooms","pricePerNight","userCountry","userLogged","dataLayer","code","exchangeRate","highestRate","parseRate","lowestRate","ratesByRoom","values","map","name","occupationOptions","occupations","numFirstRangeChildren","numSecondRangeChildren","boardOptions","boards","totalBasePrice","totalLocalTaxes","totalPriceWithTaxes","localTaxes","formatPrice","netPrice","taxes","hotelIds","idTokenProvider","join","hotelNames","hotelName","bestAvailableRate","totalPrice","internalWithTaxes","dataLayerPush","getInitEvent","event","duettoRatesResponse","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/gtm/ratesResponse.js"],"sourcesContent":["import { dateDiff, dateFormat } from '@mirai/locale';\n\nimport { ratesResponse as duettoRatesResponse } from './duetto';\nimport { getInitEvent, parseRate } from './helpers';\nimport { getOccupationTotals } from '../../../../components/helpers';\nimport { getFeatures } from '../../../../components/Rates/helpers';\nimport { ACCOMMODATION_TYPE } from '../../../../Core.constants';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { dataLayerPush } from '../../helpers';\nimport { getRatesPriceRange } from '../helpers';\nimport { formatPrice } from '../helpers/legacy';\n\nconst ACCOMMODATION_TYPE_NAME = Object.keys(ACCOMMODATION_TYPE);\n\nexport const ratesResponse = ({\n device: { mobile } = {},\n response: { calendar: calendarSuggestion, hotels, infantAge, tracking = {} } = {},\n store: {\n currency,\n finder: { calendar = [], occupation = [], place: { title: searchCategory } = {}, promocode = '' } = {},\n hotel: { accommodationType, features = {}, variants = {} } = {},\n id,\n language,\n session,\n type,\n urlParams,\n } = {},\n} = {}) => {\n // ! -- TODO: Try to get all data from store -------------------------------------------------------------------------\n const {\n idchain,\n idoffers,\n idtokenprovider: hotelId, // ? TODO: Could we take it from store?\n roomTypeId,\n } = fetchUrlParams(location.search);\n\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const {\n country,\n hotelInfo: { currency: hotelCurrency = {}, propertyName, propertyType } = {},\n hotelInfoBAR,\n localTaxesIncluded,\n rates,\n taxesIncluded,\n userCurrency: { value: userCurrencyValue } = {},\n } = tracking;\n\n const { adults = 0, children = 0 } = getOccupationTotals({ infantAge, occupation });\n const { minRate, maxRate } = getRatesPriceRange(rates, hotelCurrency);\n const { days: nights } = dateDiff(...calendar);\n const { showPricePerNight = false } = getFeatures(features, urlParams);\n\n const step = hotels && !calendarSuggestion && searchCategory ? 'CHAINRESULT' : 'BOOKINGSTEP1';\n const common = {\n ...(!rates && hotelInfoBAR?.length === 0 ? { availability: 'no' } : undefined),\n chainId: idchain,\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n checkout: dateFormat(calendar[1], { format: 'DD/MM/YYYY' }),\n coupon: promocode,\n device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',\n home: document.location.hostname,\n hotelId,\n idOffer: idoffers ? parseInt(idoffers) : undefined,\n idRoom: roomTypeId ? parseInt(roomTypeId) : undefined,\n language,\n lodgingDenomination: ACCOMMODATION_TYPE_NAME[variants[hotelId]?.accommodationType || accommodationType],\n multiroom: occupation.length > 1,\n numAdults: adults,\n numChildren: children,\n numRooms: occupation.length,\n pricePerNight: showPricePerNight,\n propertyName,\n propertyType,\n ...(!rates && hotelInfoBAR ? { searchCategory } : undefined),\n step,\n userCountry: country,\n userLogged: !!session,\n };\n\n const dataLayer = rates\n ? {\n ...common,\n currency: hotelCurrency.code,\n exchangeRate: userCurrencyValue && hotelCurrency.value && userCurrencyValue / hotelCurrency.value,\n highestRate: parseRate(maxRate, hotelCurrency, nights),\n localTaxesIncluded,\n lowestRate: parseRate(minRate, hotelCurrency, nights),\n nights,\n ratesByRoom: Object.values(rates).map(({ id, name, occupationOptions = {} } = {}) => ({\n id,\n name,\n occupations: Object.values(occupationOptions).map(\n ({ numAdults = 0, numFirstRangeChildren = 0, numSecondRangeChildren = 0, id, rates = {} } = {}) => ({\n adults: numAdults,\n children: numFirstRangeChildren + numSecondRangeChildren,\n id,\n rates: Object.values(rates).map(({ boardOptions = {}, id, name } = {}) => ({\n boards: Object.values(boardOptions).map(\n ({ id, name, totalBasePrice, totalLocalTaxes = 0, totalPriceWithTaxes } = {}) => ({\n id,\n localTaxes: formatPrice(totalLocalTaxes, hotelCurrency),\n name,\n netPrice: formatPrice(totalBasePrice, hotelCurrency),\n taxes: formatPrice(totalPriceWithTaxes - totalBasePrice, hotelCurrency),\n }),\n ),\n id,\n name,\n })),\n }),\n ),\n })),\n taxesIncluded,\n userCurrency: currency,\n }\n : hotelInfoBAR?.length > 0\n ? {\n ...common,\n availability: 'yes',\n exchangeRate:\n userCurrencyValue && hotelInfoBAR[0].currency.value && userCurrencyValue / hotelInfoBAR[0].currency.value,\n hotelIds: hotelInfoBAR.map(({ idTokenProvider } = {}) => idTokenProvider).join(','),\n hotelNames: hotelInfoBAR.map(({ hotelName } = {}) => hotelName).join(','),\n lowestRate: formatPrice(\n hotelInfoBAR[0].bestAvailableRate.totalPrice.internalWithTaxes / nights,\n hotelInfoBAR[0].currency,\n ),\n }\n : common;\n\n dataLayerPush(getInitEvent({ mobile, hotel: { accommodationType, id: hotelId, variants }, id, step, type }));\n dataLayerPush({\n event: rates || hotelInfoBAR?.length > 0 ? 'mirai.Availability' : 'mirai.noAvailability',\n 'mirai.data': dataLayer,\n });\n duettoRatesResponse({ ...common, hotelCurrency, rates });\n\n return dataLayer;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ratesResponse.js","names":["_locale","require","_duetto","_helpers","_helpers2","_helpers3","_Core","_helpers4","_helpers5","_helpers6","_legacy","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ACCOMMODATION_TYPE_NAME","ACCOMMODATION_TYPE","ratesResponse","_variants$hotelId","device","mobile","response","calendar","calendarSuggestion","hotels","infantAge","tracking","store","currency","finder","occupation","place","title","searchCategory","promocode","hotel","accommodationType","features","variants","id","language","session","type","urlParams","undefined","idchain","idoffers","idtokenprovider","hotelId","roomTypeId","fetchUrlParams","location","search","country","hotelInfo","hotelCurrency","propertyName","propertyType","hotelInfoBAR","localTaxesIncluded","rates","taxesIncluded","userCurrency","userCurrencyValue","userLocation","adults","children","getOccupationTotals","minRate","maxRate","getRatesPriceRange","days","nights","dateDiff","showPricePerNight","getFeatures","step","common","availability","chainId","checkin","dateFormat","format","checkout","coupon","home","document","hostname","idOffer","parseInt","idRoom","lodgingDenomination","multiroom","numAdults","numChildren","numRooms","pricePerNight","userCountry","userLogged","dataLayer","code","exchangeRate","highestRate","parseRate","lowestRate","ratesByRoom","values","map","name","occupationOptions","occupations","numFirstRangeChildren","numSecondRangeChildren","boardOptions","boards","totalBasePrice","totalLocalTaxes","totalPriceWithTaxes","localTaxes","formatPrice","netPrice","taxes","hotelIds","idTokenProvider","join","hotelNames","hotelName","bestAvailableRate","totalPrice","internalWithTaxes","dataLayerPush","getInitEvent","event","duettoRatesResponse","exports"],"sources":["../../../../../src/contexts/PerformanceManager/providers/gtm/ratesResponse.js"],"sourcesContent":["import { dateDiff, dateFormat } from '@mirai/locale';\n\nimport { ratesResponse as duettoRatesResponse } from './duetto';\nimport { getInitEvent, parseRate } from './helpers';\nimport { getOccupationTotals } from '../../../../components/helpers';\nimport { getFeatures } from '../../../../components/Rates/helpers';\nimport { ACCOMMODATION_TYPE } from '../../../../Core.constants';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { dataLayerPush } from '../../helpers';\nimport { getRatesPriceRange } from '../helpers';\nimport { formatPrice } from '../helpers/legacy';\n\nconst ACCOMMODATION_TYPE_NAME = Object.keys(ACCOMMODATION_TYPE);\n\nexport const ratesResponse = ({\n device: { mobile } = {},\n response: { calendar: calendarSuggestion, hotels, infantAge, tracking = {} } = {},\n store: {\n currency,\n finder: { calendar = [], occupation = [], place: { title: searchCategory } = {}, promocode = '' } = {},\n hotel: { accommodationType, features = {}, variants = {} } = {},\n id,\n language,\n session,\n type,\n urlParams,\n } = {},\n} = {}) => {\n // ! -- TODO: Try to get all data from store -------------------------------------------------------------------------\n const {\n idchain,\n idoffers,\n idtokenprovider: hotelId, // ? TODO: Could we take it from store?\n roomTypeId,\n } = fetchUrlParams(location.search);\n\n // ! -- TODO: use of tracking should be a temporary approach ---------------------------------------------------------\n const {\n country,\n hotelInfo: { currency: hotelCurrency = {}, propertyName, propertyType } = {},\n hotelInfoBAR,\n localTaxesIncluded,\n rates,\n taxesIncluded,\n userCurrency: { value: userCurrencyValue } = {},\n userLocation = {},\n } = tracking;\n\n const { adults = 0, children = 0 } = getOccupationTotals({ infantAge, occupation });\n const { minRate, maxRate } = getRatesPriceRange(rates, hotelCurrency);\n const { days: nights } = dateDiff(...calendar);\n const { showPricePerNight = false } = getFeatures(features, urlParams);\n\n const step = hotels && !calendarSuggestion && searchCategory ? 'CHAINRESULT' : 'BOOKINGSTEP1';\n const common = {\n ...(!rates && hotelInfoBAR?.length === 0 ? { availability: 'no' } : undefined),\n chainId: idchain,\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n checkout: dateFormat(calendar[1], { format: 'DD/MM/YYYY' }),\n coupon: promocode,\n device: mobile ? 'MOBILE' : 'DESKTOP_TABLET',\n home: document.location.hostname,\n hotelId,\n idOffer: idoffers ? parseInt(idoffers) : undefined,\n idRoom: roomTypeId ? parseInt(roomTypeId) : undefined,\n language,\n lodgingDenomination: ACCOMMODATION_TYPE_NAME[variants[hotelId]?.accommodationType || accommodationType],\n multiroom: occupation.length > 1,\n numAdults: adults,\n numChildren: children,\n numRooms: occupation.length,\n pricePerNight: showPricePerNight,\n propertyName,\n propertyType,\n ...(!rates && hotelInfoBAR ? { searchCategory } : undefined),\n step,\n userCountry: country,\n userLogged: !!session,\n };\n\n const dataLayer = rates\n ? {\n ...common,\n currency: hotelCurrency.code,\n exchangeRate: userCurrencyValue && hotelCurrency.value && userCurrencyValue / hotelCurrency.value,\n highestRate: parseRate(maxRate, hotelCurrency, nights),\n localTaxesIncluded,\n lowestRate: parseRate(minRate, hotelCurrency, nights),\n nights,\n ratesByRoom: Object.values(rates).map(({ id, name, occupationOptions = {} } = {}) => ({\n id,\n name,\n occupations: Object.values(occupationOptions).map(\n ({ numAdults = 0, numFirstRangeChildren = 0, numSecondRangeChildren = 0, id, rates = {} } = {}) => ({\n adults: numAdults,\n children: numFirstRangeChildren + numSecondRangeChildren,\n id,\n rates: Object.values(rates).map(({ boardOptions = {}, id, name } = {}) => ({\n boards: Object.values(boardOptions).map(\n ({ id, name, totalBasePrice, totalLocalTaxes = 0, totalPriceWithTaxes } = {}) => ({\n id,\n localTaxes: formatPrice(totalLocalTaxes, hotelCurrency),\n name,\n netPrice: formatPrice(totalBasePrice, hotelCurrency),\n taxes: formatPrice(totalPriceWithTaxes - totalBasePrice, hotelCurrency),\n }),\n ),\n id,\n name,\n })),\n }),\n ),\n })),\n taxesIncluded,\n userCurrency: currency,\n userLocation,\n }\n : hotelInfoBAR?.length > 0\n ? {\n ...common,\n availability: 'yes',\n exchangeRate:\n userCurrencyValue && hotelInfoBAR[0].currency.value && userCurrencyValue / hotelInfoBAR[0].currency.value,\n hotelIds: hotelInfoBAR.map(({ idTokenProvider } = {}) => idTokenProvider).join(','),\n hotelNames: hotelInfoBAR.map(({ hotelName } = {}) => hotelName).join(','),\n lowestRate: formatPrice(\n hotelInfoBAR[0].bestAvailableRate.totalPrice.internalWithTaxes / nights,\n hotelInfoBAR[0].currency,\n ),\n userLocation,\n }\n : common;\n\n dataLayerPush(getInitEvent({ mobile, hotel: { accommodationType, id: hotelId, variants }, id, step, type }));\n dataLayerPush({\n event: rates || hotelInfoBAR?.length > 0 ? 'mirai.Availability' : 'mirai.noAvailability',\n 'mirai.data': dataLayer,\n });\n duettoRatesResponse({ ...common, hotelCurrency, rates });\n\n return dataLayer;\n};\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.425",
3
+ "version": "0.4.427",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",