@mirai/core 0.4.426 → 0.4.428

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":"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","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":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAC,uBAAA,CAAAJ,OAAA;AAEA,IAAAK,KAAA,GAAAD,uBAAA,CAAAJ,OAAA;AAAiD,MAAAM,SAAA;AAAA,SAAAF,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,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,SAAAN,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA;AAAA,SAAAmB,SAAA,WAAAA,QAAA,GAAAH,MAAA,CAAAI,MAAA,GAAAJ,MAAA,CAAAI,MAAA,CAAAC,IAAA,eAAAjB,CAAA,aAAAJ,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAC,CAAA,GAAAqB,SAAA,CAAAtB,CAAA,YAAAG,CAAA,IAAAF,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAd,CAAA,EAAAE,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAF,CAAA,CAAAE,CAAA,aAAAC,CAAA,KAAAe,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAAA,SAAAG,yBAAAzB,CAAA,EAAAC,CAAA,gBAAAD,CAAA,iBAAAM,CAAA,EAAAH,CAAA,EAAAI,CAAA,GAAAmB,6BAAA,CAAA1B,CAAA,EAAAC,CAAA,OAAAe,MAAA,CAAAW,qBAAA,QAAAvB,CAAA,GAAAY,MAAA,CAAAW,qBAAA,CAAA3B,CAAA,QAAAG,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAAmB,MAAA,EAAApB,CAAA,IAAAG,CAAA,GAAAF,CAAA,CAAAD,CAAA,UAAAF,CAAA,CAAA2B,OAAA,CAAAtB,CAAA,QAAAuB,oBAAA,CAAAd,IAAA,CAAAf,CAAA,EAAAM,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAN,CAAA,CAAAM,CAAA,aAAAC,CAAA;AAAA,SAAAmB,8BAAAvB,CAAA,EAAAH,CAAA,gBAAAG,CAAA,iBAAAF,CAAA,gBAAAG,CAAA,IAAAD,CAAA,SAAAW,cAAA,CAAAC,IAAA,CAAAZ,CAAA,EAAAC,CAAA,gBAAAJ,CAAA,CAAA4B,OAAA,CAAAxB,CAAA,aAAAH,CAAA,CAAAG,CAAA,IAAAD,CAAA,CAAAC,CAAA,YAAAH,CAAA;AAEjD,MAAM6B,UAAU,GAAG,EAAE;AACrB,MAAMC,kBAAkB,GAAG,CAAC;AAC5B,MAAMC,iBAAiB,GAAG,EAAE;AAC5B,MAAMC,QAAQ,GAAG,GAAG;AAEpB,MAAMC,UAAU,GAAGC,IAAA,IAA6D;EAAA,IAA5D;MAAEC,QAAQ,GAAG,EAAE;MAAEC,QAAQ,GAAG,KAAK;MAAEC;IAAmB,CAAC,GAAAH,IAAA;IAARI,MAAM,GAAAd,wBAAA,CAAAU,IAAA,EAAApC,SAAA;EACvE,MAAM,CAACyC,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAC,eAAQ,EAAC,EAAE,CAAC;EACxD,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC,CAAC;EAC7C,MAAMG,SAAS,GAAG,IAAAC,aAAM,EAAC,EAAE,CAAC;EAC5B,MAAMC,UAAU,GAAG,IAAAD,aAAM,EAAC,IAAI,CAAC;EAE/B,MAAME,YAAY,GAAG,SAAAA,CAAA,EAAe;IAAA,IAAdC,IAAI,GAAA3B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA4B,SAAA,GAAA5B,SAAA,MAAG,EAAE;IAC7B,IAAI6B,KAAK,GAAGrB,UAAU;IACtB,MAAMP,MAAM,GAAG,OAAO0B,IAAI,KAAK,QAAQ,GAAGA,IAAI,CAAC1B,MAAM,GAAG,CAAC;IACzD4B,KAAK,IAAI5B,MAAM,GAAGQ,kBAAkB;IACpC,MAAMqB,QAAQ,GAAG,OAAOH,IAAI,KAAK,QAAQ,IAAIA,IAAI,CAAC1B,MAAM,GAAG,CAAC,CAAC;IAC7D,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC8B,QAAQ,CAACD,QAAQ,CAAC,EAAED,KAAK,IAAInB,iBAAiB;IACjF,MAAMsB,QAAQ,GAAG,CAAC,IAAIC,IAAI,CAACC,MAAM,CAAC,CAAC,GAAGvB,QAAQ,GAAG,CAAC,GAAGA,QAAQ,CAAC;IAC9D,OAAOsB,IAAI,CAACE,KAAK,CAACN,KAAK,GAAGG,QAAQ,CAAC;EACrC,CAAC;EAED,MAAMI,QAAQ,GAAIC,KAAK,IAAK;IAC1B,MAAMC,IAAI,GAAG,EAAE;IACfC,eAAQ,CAACC,OAAO,CAACH,KAAK,CAAC,CAACI,OAAO,CAAEC,IAAI,IAAK;MACxC,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;QAC5BA,IAAI,CACDC,KAAK,CAAC,GAAG,CAAC,CACVC,MAAM,CAACC,OAAO,CAAC,CACfJ,OAAO,CAAEK,IAAI,IAAKR,IAAI,CAACS,IAAI,CAAC;UAAEL,IAAI,EAAEI,IAAI;UAAEnB,IAAI,EAAEmB;QAAK,CAAC,CAAC,CAAC;MAC7D,CAAC,MAAM,iBAAI,IAAAE,qBAAc,EAACN,IAAI,CAAC,EAAE;QAAA,IAAAO,WAAA;QAC/BX,IAAI,CAACS,IAAI,CAAC;UAAEL,IAAI;UAAEf,IAAI,EAAE,SAAAsB,WAAA,GAAOP,IAAI,CAACQ,KAAK,cAAAD,WAAA,uBAAVA,WAAA,CAAYnC,QAAQ,MAAK,QAAQ,GAAG4B,IAAI,CAACQ,KAAK,CAACpC,QAAQ,GAAG;QAAG,CAAC,CAAC;MAChG;IACF,CAAC,CAAC;IACF,OAAOwB,IAAI;EACb,CAAC;EAED,IAAAa,gBAAS,EAAC,MAAM;IACd5B,SAAS,CAAC6B,OAAO,GAAGhB,QAAQ,CAACtB,QAAQ,CAAC;IACtCK,iBAAiB,CAAC,EAAE,CAAC;IACrBG,YAAY,CAAC,CAAC,CAAC;IACf,OAAO,MAAM;MACX,IAAIG,UAAU,CAAC2B,OAAO,EAAEC,YAAY,CAAC5B,UAAU,CAAC2B,OAAO,CAAC;IAC1D,CAAC;EACH,CAAC,EAAE,CAACtC,QAAQ,CAAC,CAAC;EAEd,IAAAqC,gBAAS,EAAC,MAAM;IACd,IAAIpC,QAAQ,EAAE;IAEd,IAAIM,SAAS,GAAGE,SAAS,CAAC6B,OAAO,CAACnD,MAAM,EAAE;MACxC,MAAMmD,OAAO,GAAG7B,SAAS,CAAC6B,OAAO,CAAC/B,SAAS,CAAC;MAC5C,MAAMQ,KAAK,GAAGH,YAAY,CAAC0B,OAAO,CAACzB,IAAI,CAAC;MACxCF,UAAU,CAAC2B,OAAO,GAAGE,UAAU,CAAC,MAAM;QACpCnC,iBAAiB,CAAEoC,IAAI,IAAK;UAC1B,IAAI,CAACA,IAAI,CAACtD,MAAM,EAAE,OAAO,CAACmD,OAAO,CAACV,IAAI,CAAC;UACvC,MAAMc,aAAa,GAAG,OAAOJ,OAAO,CAACV,IAAI,KAAK,QAAQ,IAAI,WAAW,CAACe,IAAI,CAACL,OAAO,CAACV,IAAI,CAAC;UACxF,OAAOc,aAAa,GAAG,CAAC,GAAGD,IAAI,EAAEH,OAAO,CAACV,IAAI,CAAC,GAAG,CAAC,GAAGa,IAAI,EAAE,GAAG,EAAEH,OAAO,CAACV,IAAI,CAAC;QAC/E,CAAC,CAAC;QACFpB,YAAY,CAAEoC,SAAS,IAAKA,SAAS,GAAG,CAAC,CAAC;QAC1C,IAAIrC,SAAS,KAAKE,SAAS,CAAC6B,OAAO,CAACnD,MAAM,GAAG,CAAC,IAAIe,OAAO,EAAEA,OAAO,CAAC,CAAC;MACtE,CAAC,EAAEa,KAAK,CAAC;MACT,OAAO,MAAMwB,YAAY,CAAC5B,UAAU,CAAC2B,OAAO,CAAC;IAC/C;EACF,CAAC,EAAE,CAACrC,QAAQ,EAAEM,SAAS,EAAEL,OAAO,CAAC,CAAC;EAElC,OAAOD,QAAQ,gBACbzC,MAAA,CAAAc,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA0F,IAAI,EAAK3C,MAAM,EAAGH,QAAe,CAAC,gBAEnCxC,MAAA,CAAAc,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA2F,IAAI;IAACC,SAAS,EAAE,CAACtF,KAAK,CAACuF,UAAU,EAAE9C,MAAM,CAAC6C,SAAS;EAAE,gBACpDxF,MAAA,CAAAc,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA0F,IAAI,EAAA/D,QAAA,KAAKoB,MAAM;IAAE6C,SAAS,EAAE,CAACtF,KAAK,CAACwF,QAAQ,EAAE/C,MAAM,CAAC6C,SAAS;EAAE,IAC7DhD,QACG,CAAC,eAEPxC,MAAA,CAAAc,OAAA,CAAAuE,aAAA,CAACzF,GAAA,CAAA0F,IAAI,EAAA/D,QAAA,KAAKoB,MAAM;IAAE6C,SAAS,EAAE,CAACtF,KAAK,CAACyF,QAAQ,EAAEhD,MAAM,CAAC6C,SAAS;EAAE,IAC7D5C,cACG,CACF,CACP;AACH,CAAC;AAACgD,OAAA,CAAAtD,UAAA,GAAAA,UAAA;AAEFA,UAAU,CAACuD,WAAW,GAAG,YAAY;AAErCvD,UAAU,CAACwD,SAAS,GAAG;EACrBtD,QAAQ,EAAEuD,kBAAS,CAAC3B,IAAI;EACxB3B,QAAQ,EAAEsD,kBAAS,CAACC,IAAI;EACxBtD,OAAO,EAAEqD,kBAAS,CAACE;AACrB,CAAC","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":[]}
@@ -49,7 +49,10 @@ const FormAddon = _ref => {
49
49
  (0, _react.useEffect)(() => {
50
50
  var _window$RealexHpp, _el$current;
51
51
  if (!response || !ready) return;
52
- (_window$RealexHpp = window.RealexHpp) === null || _window$RealexHpp === void 0 ? void 0 : _window$RealexHpp.embedded.init(BUTTON, IFRAME, response.MERCHANT_RESPONSE_URL, _objectSpread(_objectSpread({}, response), {}, {
52
+ const {
53
+ configuration = response
54
+ } = response;
55
+ (_window$RealexHpp = window.RealexHpp) === null || _window$RealexHpp === void 0 ? void 0 : _window$RealexHpp.embedded.init(BUTTON, IFRAME, configuration.MERCHANT_RESPONSE_URL, _objectSpread(_objectSpread({}, configuration), {}, {
53
56
  CARD_PAYMENT_BUTTON: translate((0, _helpers.getCtaKey)(date, method, provider))
54
57
  }));
55
58
  (_el$current = el.current) === null || _el$current === void 0 ? void 0 : _el$current.click();
@@ -1 +1 @@
1
- {"version":3,"file":"FormAddon.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_FormAddon","style","_helpers","_loadScript","_excluded","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","BUTTON","IFRAME","FormAddon","_ref","info","date","method","provider","response","others","translate","useLocale","el","useRef","ready","setReady","useState","useEffect","loadScript","id","name","onLoad","handleLoad","_window$RealexHpp","_el$current","window","RealexHpp","embedded","init","MERCHANT_RESPONSE_URL","CARD_PAYMENT_BUTTON","getCtaKey","current","click","_window$RealexHpp2","setHppUrl","process","env","PROVIDER_ADDON_SCRIPT","createElement","View","Text","action","className","description","L10N","LABEL_SECURE_PAGE","hidden","ref","type","title","iframe","exports","displayName","propTypes","PropTypes","shape","cardValidation","bool","instanceOf","Date","amount","number","string","object"],"sources":["../../../../../../src/components/__shared__/ButtonPayment/components/FormAddon/FormAddon.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './FormAddon.l10n';\nimport * as style from './FormAddon.module.css';\nimport { getCtaKey } from './helpers';\nimport { loadScript } from '../../helpers/loadScript';\n\nconst BUTTON = 'addonInitButton';\nconst IFRAME = 'addonIframe';\n\nexport const FormAddon = ({ info: { date } = {}, method, provider, response, ...others }) => {\n const { translate } = useLocale();\n\n const el = useRef();\n\n const [ready, setReady] = useState();\n\n useEffect(() => {\n loadScript({ id: 'addonScript', name: 'rxp-hpp.js', onLoad: handleLoad });\n }, []);\n\n useEffect(() => {\n if (!response || !ready) return;\n\n window.RealexHpp?.embedded.init(BUTTON, IFRAME, response.MERCHANT_RESPONSE_URL, {\n ...response,\n CARD_PAYMENT_BUTTON: translate(getCtaKey(date, method, provider)),\n });\n el.current?.click();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ready, response]);\n\n const handleLoad = () => {\n window.RealexHpp?.setHppUrl(process.env.PROVIDER_ADDON_SCRIPT);\n setReady(true);\n };\n\n return (\n <View {...others}>\n <Text action className={style.description}>\n {translate(L10N.LABEL_SECURE_PAGE)}\n </Text>\n\n <input hidden id={BUTTON} ref={el} type=\"submit\" />\n <iframe id={IFRAME} title={translate(L10N.LABEL_SECURE_PAGE)} className={style.iframe} />\n </View>\n );\n};\n\nFormAddon.displayName = 'Mirai:Payments:ButtonPayment:FormAddon';\n\nFormAddon.propTypes = {\n info: PropTypes.shape({\n cardValidation: PropTypes.bool,\n date: PropTypes.instanceOf(Date),\n amount: PropTypes.number,\n }),\n method: PropTypes.string,\n provider: PropTypes.string,\n response: PropTypes.object,\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormAddon.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_FormAddon","style","_helpers","_loadScript","_excluded","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","BUTTON","IFRAME","FormAddon","_ref","info","date","method","provider","response","others","translate","useLocale","el","useRef","ready","setReady","useState","useEffect","loadScript","id","name","onLoad","handleLoad","_window$RealexHpp","_el$current","configuration","window","RealexHpp","embedded","init","MERCHANT_RESPONSE_URL","CARD_PAYMENT_BUTTON","getCtaKey","current","click","_window$RealexHpp2","setHppUrl","process","env","PROVIDER_ADDON_SCRIPT","createElement","View","Text","action","className","description","L10N","LABEL_SECURE_PAGE","hidden","ref","type","title","iframe","exports","displayName","propTypes","PropTypes","shape","cardValidation","bool","instanceOf","Date","amount","number","string","object"],"sources":["../../../../../../src/components/__shared__/ButtonPayment/components/FormAddon/FormAddon.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './FormAddon.l10n';\nimport * as style from './FormAddon.module.css';\nimport { getCtaKey } from './helpers';\nimport { loadScript } from '../../helpers/loadScript';\n\nconst BUTTON = 'addonInitButton';\nconst IFRAME = 'addonIframe';\n\nexport const FormAddon = ({ info: { date } = {}, method, provider, response, ...others }) => {\n const { translate } = useLocale();\n\n const el = useRef();\n\n const [ready, setReady] = useState();\n\n useEffect(() => {\n loadScript({ id: 'addonScript', name: 'rxp-hpp.js', onLoad: handleLoad });\n }, []);\n\n useEffect(() => {\n if (!response || !ready) return;\n\n const { configuration = response } = response;\n\n window.RealexHpp?.embedded.init(BUTTON, IFRAME, configuration.MERCHANT_RESPONSE_URL, {\n ...configuration,\n CARD_PAYMENT_BUTTON: translate(getCtaKey(date, method, provider)),\n });\n el.current?.click();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ready, response]);\n\n const handleLoad = () => {\n window.RealexHpp?.setHppUrl(process.env.PROVIDER_ADDON_SCRIPT);\n setReady(true);\n };\n\n return (\n <View {...others}>\n <Text action className={style.description}>\n {translate(L10N.LABEL_SECURE_PAGE)}\n </Text>\n\n <input hidden id={BUTTON} ref={el} type=\"submit\" />\n <iframe id={IFRAME} title={translate(L10N.LABEL_SECURE_PAGE)} className={style.iframe} />\n </View>\n );\n};\n\nFormAddon.displayName = 'Mirai:Payments:ButtonPayment:FormAddon';\n\nFormAddon.propTypes = {\n info: PropTypes.shape({\n cardValidation: PropTypes.bool,\n date: PropTypes.instanceOf(Date),\n amount: PropTypes.number,\n }),\n method: PropTypes.string,\n provider: PropTypes.string,\n response: PropTypes.object,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAC,uBAAA,CAAAL,OAAA;AAEA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAF,uBAAA,CAAAL,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AAAsD,MAAAU,SAAA;AAAA,SAAAL,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,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,SAAAT,uBAAAQ,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;AAEtD,MAAM8C,MAAM,GAAG,iBAAiB;AAChC,MAAMC,MAAM,GAAG,aAAa;AAErB,MAAMC,SAAS,GAAGC,IAAA,IAAoE;EAAA,IAAnE;MAAEC,IAAI,EAAE;QAAEC;MAAK,CAAC,GAAG,CAAC,CAAC;MAAEC,MAAM;MAAEC,QAAQ;MAAEC;IAAoB,CAAC,GAAAL,IAAA;IAARM,MAAM,GAAAb,wBAAA,CAAAO,IAAA,EAAAnD,SAAA;EACpF,MAAM;IAAE0D;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAEjC,MAAMC,EAAE,GAAG,IAAAC,aAAM,EAAC,CAAC;EAEnB,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAEpC,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAAC,sBAAU,EAAC;MAAEC,EAAE,EAAE,aAAa;MAAEC,IAAI,EAAE,YAAY;MAAEC,MAAM,EAAEC;IAAW,CAAC,CAAC;EAC3E,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAL,gBAAS,EAAC,MAAM;IAAA,IAAAM,iBAAA,EAAAC,WAAA;IACd,IAAI,CAAChB,QAAQ,IAAI,CAACM,KAAK,EAAE;IAEzB,MAAM;MAAEW,aAAa,GAAGjB;IAAS,CAAC,GAAGA,QAAQ;IAE7C,CAAAe,iBAAA,GAAAG,MAAM,CAACC,SAAS,cAAAJ,iBAAA,uBAAhBA,iBAAA,CAAkBK,QAAQ,CAACC,IAAI,CAAC7B,MAAM,EAAEC,MAAM,EAAEwB,aAAa,CAACK,qBAAqB,EAAAnD,aAAA,CAAAA,aAAA,KAC9E8C,aAAa;MAChBM,mBAAmB,EAAErB,SAAS,CAAC,IAAAsB,kBAAS,EAAC3B,IAAI,EAAEC,MAAM,EAAEC,QAAQ,CAAC;IAAC,EAClE,CAAC;IACF,CAAAiB,WAAA,GAAAZ,EAAE,CAACqB,OAAO,cAAAT,WAAA,uBAAVA,WAAA,CAAYU,KAAK,CAAC,CAAC;IACnB;EACF,CAAC,EAAE,CAACpB,KAAK,EAAEN,QAAQ,CAAC,CAAC;EAErB,MAAMc,UAAU,GAAGA,CAAA,KAAM;IAAA,IAAAa,kBAAA;IACvB,CAAAA,kBAAA,GAAAT,MAAM,CAACC,SAAS,cAAAQ,kBAAA,uBAAhBA,kBAAA,CAAkBC,SAAS,CAACC,OAAO,CAACC,GAAG,CAACC,qBAAqB,CAAC;IAC9DxB,QAAQ,CAAC,IAAI,CAAC;EAChB,CAAC;EAED,oBACErE,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACjG,GAAA,CAAAkG,IAAI,EAAKhC,MAAM,eACd/D,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACjG,GAAA,CAAAmG,IAAI;IAACC,MAAM;IAACC,SAAS,EAAE/F,KAAK,CAACgG;EAAY,GACvCnC,SAAS,CAACoC,eAAI,CAACC,iBAAiB,CAC7B,CAAC,eAEPrG,MAAA,CAAAiB,OAAA,CAAA6E,aAAA;IAAOQ,MAAM;IAAC7B,EAAE,EAAEnB,MAAO;IAACiD,GAAG,EAAErC,EAAG;IAACsC,IAAI,EAAC;EAAQ,CAAE,CAAC,eACnDxG,MAAA,CAAAiB,OAAA,CAAA6E,aAAA;IAAQrB,EAAE,EAAElB,MAAO;IAACkD,KAAK,EAAEzC,SAAS,CAACoC,eAAI,CAACC,iBAAiB,CAAE;IAACH,SAAS,EAAE/F,KAAK,CAACuG;EAAO,CAAE,CACpF,CAAC;AAEX,CAAC;AAACC,OAAA,CAAAnD,SAAA,GAAAA,SAAA;AAEFA,SAAS,CAACoD,WAAW,GAAG,wCAAwC;AAEhEpD,SAAS,CAACqD,SAAS,GAAG;EACpBnD,IAAI,EAAEoD,kBAAS,CAACC,KAAK,CAAC;IACpBC,cAAc,EAAEF,kBAAS,CAACG,IAAI;IAC9BtD,IAAI,EAAEmD,kBAAS,CAACI,UAAU,CAACC,IAAI,CAAC;IAChCC,MAAM,EAAEN,kBAAS,CAACO;EACpB,CAAC,CAAC;EACFzD,MAAM,EAAEkD,kBAAS,CAACQ,MAAM;EACxBzD,QAAQ,EAAEiD,kBAAS,CAACQ,MAAM;EAC1BxD,QAAQ,EAAEgD,kBAAS,CAACS;AACtB,CAAC","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":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.426",
3
+ "version": "0.4.428",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",