@mirai/core 0.4.71 → 0.4.73
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 +31 -5
- package/build/components/Chat/Chat.js +3 -0
- package/build/components/Chat/Chat.js.map +1 -1
- package/build/components/Chat/components/Message/components/Environment.js +2 -2
- package/build/components/Chat/components/Message/components/Environment.js.map +1 -1
- package/build/components/Chat/components/Message/intents/Offers.js +17 -4
- package/build/components/Chat/components/Message/intents/Offers.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -92,7 +92,6 @@ Additionally, the bracket binding system provides two different functionalities:
|
|
|
92
92
|
- **Single brackets**: Used for binding component state variables, allowing dynamic values to be inserted into UI elements.
|
|
93
93
|
- **Double brackets**: Used to bind dictionary keys, making it easy to inject structured data, such as predefined text, into templates or UI components.
|
|
94
94
|
|
|
95
|
-
|
|
96
95
|
This system is useful for separating presentation logic from data and allows for more flexibility when developing components.
|
|
97
96
|
|
|
98
97
|
Example of bracket binding:
|
|
@@ -218,7 +217,6 @@ Here’s an example of the CSS variables available for customization:
|
|
|
218
217
|
|
|
219
218
|
These CSS variables offer a wide range of customization options, from changing colors and borders to adjusting text and layout. By using them, you can tailor the `<Chat>` component to fit perfectly within the design of your website.
|
|
220
219
|
|
|
221
|
-
|
|
222
220
|
## 2.5 `<Checkout>`
|
|
223
221
|
|
|
224
222
|
The `<Checkout>` component is the main reservation window, where users can enter their personal details, choose payment methods, and set notifications for the hotel. It also provides a summary of the reservation before the user proceeds with the booking process.
|
|
@@ -250,7 +248,6 @@ Additionally, like other components, the `<Deals>` component offers some light v
|
|
|
250
248
|
|
|
251
249
|
## 2.7 `<Environment>`
|
|
252
250
|
|
|
253
|
-
|
|
254
251
|
The `<Environment>` component allows you to modify the environment in which the other Mirai components are running. The environment is defined as the combination of language and currency. This component lets you adjust three properties:
|
|
255
252
|
|
|
256
253
|
- `data-currency:bool`: Controls the visibility of the currency selector (true/false).
|
|
@@ -274,7 +271,7 @@ The `<Finder>` component displays the general accommodation search interface. He
|
|
|
274
271
|
You can customize specific properties using HTML data attributes:
|
|
275
272
|
|
|
276
273
|
- `data-icon="true"`: Displays an icon on the button instead of the localized search text.
|
|
277
|
-
-
|
|
274
|
+
- `data-inline="false"`: Displays each input in the same format as an `<InputField>`.
|
|
278
275
|
- `data-layout="column"`: Displays the component in a column layout (automatically applies on mobile devices).
|
|
279
276
|
|
|
280
277
|
You can also adjust various visual properties using the CSS variables exposed by the component:
|
|
@@ -321,6 +318,36 @@ The following CSS variables are available for customization:
|
|
|
321
318
|
|
|
322
319
|
These variables allow you to control the padding, dimensions, and other styling aspects of the calendar, occupation selector, and places fields, offering greater flexibility to align the component with your website’s design.
|
|
323
320
|
|
|
321
|
+
### Events
|
|
322
|
+
|
|
323
|
+
The component has in and out events. For change the state you need to publish the event `setStore`. And for know the state changes you need to subscribe the event `finderChange`.
|
|
324
|
+
|
|
325
|
+
Use of `setStore` event:
|
|
326
|
+
|
|
327
|
+
```javascript
|
|
328
|
+
window.Mirai.Event.publish('setStore', {
|
|
329
|
+
chainSelectorValue: 111222,
|
|
330
|
+
calendar: [new Date(), new Date()],
|
|
331
|
+
hsri: '02080',
|
|
332
|
+
//type 1: guest,type 2: adult, type 3: children
|
|
333
|
+
occupation: [
|
|
334
|
+
{ ages: [null, null], amount: 2, type: 2 },
|
|
335
|
+
{ ages: [3], amount: 1, type: 3 },
|
|
336
|
+
],
|
|
337
|
+
promocode: 'TEST',
|
|
338
|
+
});
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
You can send one or all values
|
|
342
|
+
|
|
343
|
+
Use of `finderChange` event:
|
|
344
|
+
|
|
345
|
+
```javascript
|
|
346
|
+
window.Mirai.Event.subscribe('finderChange', ({ field, previousValue, value } = {}) => {
|
|
347
|
+
//field can be: place, calendar, occupation, promocode
|
|
348
|
+
});
|
|
349
|
+
```
|
|
350
|
+
|
|
324
351
|
## 2.9 `<Header>`
|
|
325
352
|
|
|
326
353
|
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:
|
|
@@ -447,7 +474,6 @@ The `<Signup>` component displays the registration form for the Mirai platform.
|
|
|
447
474
|
<div data-mirai-component="signup"></div>
|
|
448
475
|
```
|
|
449
476
|
|
|
450
|
-
|
|
451
477
|
# 3. Development
|
|
452
478
|
|
|
453
479
|
You have to follow the next steps:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.js","names":["_dataSources","require","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","_Chat3","style","_components","_helpers","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","connectionInterval","Chat","_ref","skeleton","others","isMobile","useDevice","value","calendar","components","currency","hotel","locale","occupation","origin","session","tags","type","useStore","busy","setBusy","useState","messages","setMessages","online","setOnline","scrollTo","setScrollTo","visible","setVisible","useEffect","handleOnline","response","ServiceLisa","welcome","catch","handleError","addMessage","Date","getTime","clearInterval","setInterval","storeContext","filter","_ref2","intent","text","map","_ref3","finder","rates","next","status","handleInput","input","nextMessages","timestamp","setTimeout","message","context","audioNotification","DELAY_RESPONSE","handleAction","form","undefined","Event","publish","EVENT","LOGIN","action","lisa","auto","error","console","INTENT_LOCALE","createElement","Fragment","React","Modal","View","className","styles","container","Header","onClose","ScrollView","snap","index","Message","concat","disabled","onAction","Input","onValue","InputRich","ButtonAvatar","onPress","exports","displayName","propTypes","name","PropTypes","string","bool"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { ServiceLisa } from '@mirai/services';\nimport { Modal, ScrollView, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ButtonAvatar } from './Chat.ButtonAvatar';\nimport { DELAY_RESPONSE } from './Chat.constants';\nimport { Header } from './Chat.Header';\nimport * as style from './Chat.module.css';\nimport { Input, InputRich, Message } from './components';\nimport { audioNotification } from './helpers';\nimport { EVENT } from '../helpers';\n\nlet connectionInterval;\n\nconst Chat = ({ skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const {\n set,\n value: { calendar, components, currency, hotel, locale, occupation, origin, session, tags, type },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [messages, setMessages] = useState([]);\n const [online, setOnline] = useState(false);\n const [scrollTo, setScrollTo] = useState();\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n if (!(await handleOnline())) return;\n const response = await ServiceLisa.welcome({ locale, session }).catch(handleError);\n if (response) addMessage(response, messages);\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n if (visible) setScrollTo(new Date().getTime());\n }, [busy, messages, visible]);\n\n useEffect(() => {\n // // ! TODO: It's just a demo\n // if (visible && !messages.length) handleInput('I would like to see all my reservations.');\n if (!visible) return clearInterval(connectionInterval);\n\n connectionInterval = setInterval(handleOnline, online ? 60000 : 10000);\n return () => clearInterval(connectionInterval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [online, visible]);\n\n const storeContext = {\n calendar,\n currency,\n hotel,\n messages: messages.filter(({ intent, text }) => !!intent || !!text).map(({ intent, text }) => ({ intent, text })),\n occupation,\n origin,\n tags,\n type,\n };\n\n const handleOnline = async () => {\n if (!(components.finder || components.rates)) return;\n\n let next = false;\n const response = await ServiceLisa.status().catch(() => setOnline(next));\n if (response && !online) {\n next = true;\n setOnline(next);\n }\n\n return next;\n };\n\n const handleInput = (input) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const response = await ServiceLisa.message({ context: storeContext, input, locale, session }).catch(handleError);\n if (response) {\n addMessage(response, nextMessages);\n audioNotification();\n }\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent } = {}) => {\n if (intent === 'ACTION_LOGIN') return Event.publish(EVENT.LOGIN, { visible: true });\n setBusy(true);\n\n setTimeout(async () => {\n const response = await ServiceLisa.action({\n context: { ...storeContext, ...context, form },\n intent,\n locale,\n session,\n }).catch(handleError);\n\n if (response) {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n audioNotification();\n }\n\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleError = (error) => {\n // eslint-disable-next-line no-console\n console.error('::handleError::', error);\n setOnline(false);\n };\n\n const addMessage = (response = {}, messages = []) => {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n };\n\n return !skeleton ? (\n <>\n {React.createElement(\n isMobile ? Modal : View,\n isMobile\n ? { ...others, visible, className: styles(style.container, others.className) }\n : {\n ...others,\n className: styles(style.container, visible && style.visible, others.className),\n 'aria-hidden': visible ? 'false' : 'true',\n },\n <>\n <Header {...{ online }} onClose={() => setVisible(false)} />\n\n <ScrollView scrollTo={scrollTo} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < messages.length - 1}\n onAction={handleAction}\n />\n ))}\n {busy && <Message auto busy />}\n </ScrollView>\n\n {online && (\n <>\n <Input disabled={busy} onValue={handleInput} />\n <InputRich onValue={handleAction} />\n </>\n )}\n </>,\n )}\n\n <ButtonAvatar message={messages[0]} visible={visible} onPress={() => setVisible(true)} />\n </>\n ) : null;\n};\n\nChat.displayName = 'Mirai:Core:Chat';\n\nChat.propTypes = {\n name: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Chat };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Chat.js","names":["_dataSources","require","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","_Chat3","style","_components","_helpers","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","connectionInterval","Chat","_ref","skeleton","others","isMobile","useDevice","value","calendar","components","currency","hotel","locale","occupation","origin","session","tags","type","useStore","busy","setBusy","useState","messages","setMessages","online","setOnline","scrollTo","setScrollTo","visible","setVisible","useEffect","handleOnline","response","ServiceLisa","welcome","context","catch","handleError","addMessage","Date","getTime","clearInterval","setInterval","storeContext","filter","_ref2","intent","text","map","_ref3","finder","rates","next","status","handleInput","input","nextMessages","timestamp","setTimeout","message","audioNotification","DELAY_RESPONSE","handleAction","form","undefined","Event","publish","EVENT","LOGIN","action","lisa","auto","error","console","INTENT_LOCALE","createElement","Fragment","React","Modal","View","className","styles","container","Header","onClose","ScrollView","snap","index","Message","concat","disabled","onAction","Input","onValue","InputRich","ButtonAvatar","onPress","exports","displayName","propTypes","name","PropTypes","string","bool"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { ServiceLisa } from '@mirai/services';\nimport { Modal, ScrollView, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ButtonAvatar } from './Chat.ButtonAvatar';\nimport { DELAY_RESPONSE } from './Chat.constants';\nimport { Header } from './Chat.Header';\nimport * as style from './Chat.module.css';\nimport { Input, InputRich, Message } from './components';\nimport { audioNotification } from './helpers';\nimport { EVENT } from '../helpers';\n\nlet connectionInterval;\n\nconst Chat = ({ skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const {\n set,\n value: { calendar, components, currency, hotel, locale, occupation, origin, session, tags, type },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [messages, setMessages] = useState([]);\n const [online, setOnline] = useState(false);\n const [scrollTo, setScrollTo] = useState();\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n if (!(await handleOnline())) return;\n const response = await ServiceLisa.welcome({ context: { hotel }, locale, session }).catch(handleError);\n if (response) addMessage(response, messages);\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n if (visible) setScrollTo(new Date().getTime());\n }, [busy, messages, visible]);\n\n useEffect(() => {\n // // ! TODO: It's just a demo\n // if (visible && !messages.length) handleInput('I would like to see all my reservations.');\n if (!visible) return clearInterval(connectionInterval);\n\n connectionInterval = setInterval(handleOnline, online ? 60000 : 10000);\n return () => clearInterval(connectionInterval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [online, visible]);\n\n const storeContext = {\n calendar,\n currency,\n hotel,\n messages: messages.filter(({ intent, text }) => !!intent || !!text).map(({ intent, text }) => ({ intent, text })),\n occupation,\n origin,\n tags,\n type,\n };\n\n const handleOnline = async () => {\n if (!(components.finder || components.rates)) return;\n\n let next = false;\n const response = await ServiceLisa.status().catch(() => setOnline(next));\n if (response && !online) {\n next = true;\n setOnline(next);\n }\n\n return next;\n };\n\n const handleInput = (input) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const response = await ServiceLisa.message({ context: storeContext, input, locale, session }).catch(handleError);\n if (response) {\n addMessage(response, nextMessages);\n audioNotification();\n }\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent } = {}) => {\n if (intent === 'ACTION_LOGIN') return Event.publish(EVENT.LOGIN, { visible: true });\n setBusy(true);\n\n setTimeout(async () => {\n const response = await ServiceLisa.action({\n context: { ...storeContext, ...context, form },\n intent,\n locale,\n session,\n }).catch(handleError);\n\n if (response) {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n audioNotification();\n }\n\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleError = (error) => {\n // eslint-disable-next-line no-console\n console.error('::handleError::', error);\n setOnline(false);\n };\n\n const addMessage = (response = {}, messages = []) => {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n };\n\n return !skeleton ? (\n <>\n {React.createElement(\n isMobile ? Modal : View,\n isMobile\n ? { ...others, visible, className: styles(style.container, others.className) }\n : {\n ...others,\n className: styles(style.container, visible && style.visible, others.className),\n 'aria-hidden': visible ? 'false' : 'true',\n },\n <>\n <Header {...{ online }} onClose={() => setVisible(false)} />\n\n <ScrollView scrollTo={scrollTo} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < messages.length - 1}\n onAction={handleAction}\n />\n ))}\n {busy && <Message auto busy />}\n </ScrollView>\n\n {online && (\n <>\n <Input disabled={busy} onValue={handleInput} />\n <InputRich onValue={handleAction} />\n </>\n )}\n </>,\n )}\n\n <ButtonAvatar message={messages[0]} visible={visible} onPress={() => setVisible(true)} />\n </>\n ) : null;\n};\n\nChat.displayName = 'Mirai:Core:Chat';\n\nChat.propTypes = {\n name: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Chat };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAJ,uBAAA,CAAAN,OAAA;AACA,IAAAW,WAAA,GAAAX,OAAA;AACA,IAAAY,QAAA,GAAAZ,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AAAmC,SAAAc,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAT,wBAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAnB,uBAAA+B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAEnC,IAAIK,kBAAkB;AAEtB,MAAMC,IAAI,GAAGC,IAAA,IAA6B;EAAA,IAA5B;IAAEC,QAAQ;IAAE,GAAGC;EAAO,CAAC,GAAAF,IAAA;EACnC,MAAM;IAAEG;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IACJjB,GAAG;IACHkB,KAAK,EAAE;MAAEC,QAAQ;MAAEC,UAAU;MAAEC,QAAQ;MAAEC,KAAK;MAAEC,MAAM;MAAEC,UAAU;MAAEC,MAAM;MAAEC,OAAO;MAAEC,IAAI;MAAEC;IAAK;EAClG,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACvC,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAF,eAAQ,EAAC,EAAE,CAAC;EAC5C,MAAM,CAACG,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAJ,eAAQ,EAAC,KAAK,CAAC;EAC3C,MAAM,CAACK,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAN,eAAQ,EAAC,CAAC;EAC1C,MAAM,CAACO,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAR,eAAQ,EAAC,KAAK,CAAC;EAE7C,IAAAS,gBAAS,EAAC,MAAM;IACd,IAAI3B,QAAQ,EAAE;IAEd,CAAC,YAAY;MACX,IAAI,EAAE,MAAM4B,YAAY,CAAC,CAAC,CAAC,EAAE;MAC7B,MAAMC,QAAQ,GAAG,MAAMC,qBAAW,CAACC,OAAO,CAAC;QAAEC,OAAO,EAAE;UAAExB;QAAM,CAAC;QAAEC,MAAM;QAAEG;MAAQ,CAAC,CAAC,CAACqB,KAAK,CAACC,WAAW,CAAC;MACtG,IAAIL,QAAQ,EAAEM,UAAU,CAACN,QAAQ,EAAEV,QAAQ,CAAC;IAC9C,CAAC,EAAE,CAAC;IACJ;EACF,CAAC,EAAE,CAACnB,QAAQ,CAAC,CAAC;EAEd,IAAA2B,gBAAS,EAAC,MAAM;IACd,IAAIF,OAAO,EAAED,WAAW,CAAC,IAAIY,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;EAChD,CAAC,EAAE,CAACrB,IAAI,EAAEG,QAAQ,EAAEM,OAAO,CAAC,CAAC;EAE7B,IAAAE,gBAAS,EAAC,MAAM;IACd;IACA;IACA,IAAI,CAACF,OAAO,EAAE,OAAOa,aAAa,CAACzC,kBAAkB,CAAC;IAEtDA,kBAAkB,GAAG0C,WAAW,CAACX,YAAY,EAAEP,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IACtE,OAAO,MAAMiB,aAAa,CAACzC,kBAAkB,CAAC;IAC9C;EACF,CAAC,EAAE,CAACwB,MAAM,EAAEI,OAAO,CAAC,CAAC;EAErB,MAAMe,YAAY,GAAG;IACnBnC,QAAQ;IACRE,QAAQ;IACRC,KAAK;IACLW,QAAQ,EAAEA,QAAQ,CAACsB,MAAM,CAACC,KAAA;MAAA,IAAC;QAAEC,MAAM;QAAEC;MAAK,CAAC,GAAAF,KAAA;MAAA,OAAK,CAAC,CAACC,MAAM,IAAI,CAAC,CAACC,IAAI;IAAA,EAAC,CAACC,GAAG,CAACC,KAAA;MAAA,IAAC;QAAEH,MAAM;QAAEC;MAAK,CAAC,GAAAE,KAAA;MAAA,OAAM;QAAEH,MAAM;QAAEC;MAAK,CAAC;IAAA,CAAC,CAAC;IACjHlC,UAAU;IACVC,MAAM;IACNE,IAAI;IACJC;EACF,CAAC;EAED,MAAMc,YAAY,GAAG,MAAAA,CAAA,KAAY;IAC/B,IAAI,EAAEtB,UAAU,CAACyC,MAAM,IAAIzC,UAAU,CAAC0C,KAAK,CAAC,EAAE;IAE9C,IAAIC,IAAI,GAAG,KAAK;IAChB,MAAMpB,QAAQ,GAAG,MAAMC,qBAAW,CAACoB,MAAM,CAAC,CAAC,CAACjB,KAAK,CAAC,MAAMX,SAAS,CAAC2B,IAAI,CAAC,CAAC;IACxE,IAAIpB,QAAQ,IAAI,CAACR,MAAM,EAAE;MACvB4B,IAAI,GAAG,IAAI;MACX3B,SAAS,CAAC2B,IAAI,CAAC;IACjB;IAEA,OAAOA,IAAI;EACb,CAAC;EAED,MAAME,WAAW,GAAIC,KAAK,IAAK;IAC7B,MAAMC,YAAY,GAAG,CAAC,GAAGlC,QAAQ,EAAE;MAAEyB,IAAI,EAAEQ,KAAK;MAAEE,SAAS,EAAE,IAAIlB,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC;IAAE,CAAC,CAAC;IACpFjB,WAAW,CAACiC,YAAY,CAAC;IAEzBE,UAAU,CAAC,YAAY;MACrBtC,OAAO,CAAC,IAAI,CAAC;MACb,MAAMY,QAAQ,GAAG,MAAMC,qBAAW,CAAC0B,OAAO,CAAC;QAAExB,OAAO,EAAEQ,YAAY;QAAEY,KAAK;QAAE3C,MAAM;QAAEG;MAAQ,CAAC,CAAC,CAACqB,KAAK,CAACC,WAAW,CAAC;MAChH,IAAIL,QAAQ,EAAE;QACZM,UAAU,CAACN,QAAQ,EAAEwB,YAAY,CAAC;QAClC,IAAAI,0BAAiB,EAAC,CAAC;MACrB;MACAxC,OAAO,CAAC,KAAK,CAAC;IAChB,CAAC,EAAEyC,qBAAc,CAAC;EACpB,CAAC;EAED,MAAMC,YAAY,GAAG,SAAAA,CAAA,EAAoC;IAAA,IAAnC;MAAE3B,OAAO;MAAE4B,IAAI;MAAEjB;IAAO,CAAC,GAAAnD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAqE,SAAA,GAAArE,SAAA,MAAG,CAAC,CAAC;IAClD,IAAImD,MAAM,KAAK,cAAc,EAAE,OAAOmB,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,KAAK,EAAE;MAAExC,OAAO,EAAE;IAAK,CAAC,CAAC;IACnFR,OAAO,CAAC,IAAI,CAAC;IAEbsC,UAAU,CAAC,YAAY;MACrB,MAAM1B,QAAQ,GAAG,MAAMC,qBAAW,CAACoC,MAAM,CAAC;QACxClC,OAAO,EAAE;UAAE,GAAGQ,YAAY;UAAE,GAAGR,OAAO;UAAE4B;QAAK,CAAC;QAC9CjB,MAAM;QACNlC,MAAM;QACNG;MACF,CAAC,CAAC,CAACqB,KAAK,CAACC,WAAW,CAAC;MAErB,IAAIL,QAAQ,EAAE;QACZ3C,GAAG,CAAC;UAAEiF,IAAI,EAAEtC;QAAS,CAAC,CAAC;QACvBT,WAAW,CAAC,CAAC,GAAGD,QAAQ,EAAE;UAAEiD,IAAI,EAAE,IAAI;UAAE,GAAGvC;QAAS,CAAC,CAAC,CAAC;QACvD,IAAA4B,0BAAiB,EAAC,CAAC;MACrB;MAEAxC,OAAO,CAAC,KAAK,CAAC;IAChB,CAAC,EAAEyC,qBAAc,CAAC;EACpB,CAAC;EAED,MAAMxB,WAAW,GAAImC,KAAK,IAAK;IAC7B;IACAC,OAAO,CAACD,KAAK,CAAC,iBAAiB,EAAEA,KAAK,CAAC;IACvC/C,SAAS,CAAC,KAAK,CAAC;EAClB,CAAC;EAED,MAAMa,UAAU,GAAG,SAAAA,CAAA,EAAkC;IAAA,IAAjCN,QAAQ,GAAArC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAqE,SAAA,GAAArE,SAAA,MAAG,CAAC,CAAC;IAAA,IAAE2B,QAAQ,GAAA3B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAqE,SAAA,GAAArE,SAAA,MAAG,EAAE;IAC9CN,GAAG,CAAC;MAAEiF,IAAI,EAAEtC;IAAS,CAAC,CAAC;IACvBT,WAAW,CAAC,CAAC,GAAGD,QAAQ,EAAE;MAAEiD,IAAI,EAAE,IAAI;MAAE,GAAGvC;IAAS,CAAC,CAAC,CAAC;IACvD,IAAIA,QAAQ,CAACpB,MAAM,KAAKA,MAAM,EAAEqD,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACO,aAAa,EAAE;MAAE9D,MAAM,EAAEoB,QAAQ,CAACpB;IAAO,CAAC,CAAC;EACjG,CAAC;EAED,OAAO,CAACT,QAAQ,gBACd3C,MAAA,CAAAe,OAAA,CAAAoG,aAAA,CAAAnH,MAAA,CAAAe,OAAA,CAAAqG,QAAA,qBACGC,cAAK,CAACF,aAAa,CAClBtE,QAAQ,GAAGyE,SAAK,GAAGC,QAAI,EACvB1E,QAAQ,GACJ;IAAE,GAAGD,MAAM;IAAEwB,OAAO;IAAEoD,SAAS,EAAE,IAAAC,UAAM,EAACpH,KAAK,CAACqH,SAAS,EAAE9E,MAAM,CAAC4E,SAAS;EAAE,CAAC,GAC5E;IACE,GAAG5E,MAAM;IACT4E,SAAS,EAAE,IAAAC,UAAM,EAACpH,KAAK,CAACqH,SAAS,EAAEtD,OAAO,IAAI/D,KAAK,CAAC+D,OAAO,EAAExB,MAAM,CAAC4E,SAAS,CAAC;IAC9E,aAAa,EAAEpD,OAAO,GAAG,OAAO,GAAG;EACrC,CAAC,eACLpE,MAAA,CAAAe,OAAA,CAAAoG,aAAA,CAAAnH,MAAA,CAAAe,OAAA,CAAAqG,QAAA,qBACEpH,MAAA,CAAAe,OAAA,CAAAoG,aAAA,CAAC/G,MAAA,CAAAuH,MAAM;IAAO3D,MAAM;IAAI4D,OAAO,EAAEA,CAAA,KAAMvD,UAAU,CAAC,KAAK;EAAE,CAAE,CAAC,eAE5DrE,MAAA,CAAAe,OAAA,CAAAoG,aAAA,CAACtH,GAAA,CAAAgI,UAAU;IAAC3D,QAAQ,EAAEA,QAAS;IAAC4D,IAAI,EAAE,KAAM;IAACN,SAAS,EAAEnH,KAAK,CAACyD;EAAS,GACpEA,QAAQ,CAAC0B,GAAG,CAAC,CAACW,OAAO,EAAE4B,KAAK,kBAC3B/H,MAAA,CAAAe,OAAA,CAAAoG,aAAA,CAAC7G,WAAA,CAAA0H,OAAO,EAAAjG,QAAA,KACFoE,OAAO;IACX7D,GAAG,aAAA2F,MAAA,CAAaF,KAAK,CAAG;IACxBG,QAAQ,EAAEvE,IAAI,IAAIoE,KAAK,GAAGjE,QAAQ,CAAC1B,MAAM,GAAG,CAAE;IAC9C+F,QAAQ,EAAE7B;EAAa,EACxB,CACF,CAAC,EACD3C,IAAI,iBAAI3D,MAAA,CAAAe,OAAA,CAAAoG,aAAA,CAAC7G,WAAA,CAAA0H,OAAO;IAACjB,IAAI;IAACpD,IAAI;EAAA,CAAE,CACnB,CAAC,EAEZK,MAAM,iBACLhE,MAAA,CAAAe,OAAA,CAAAoG,aAAA,CAAAnH,MAAA,CAAAe,OAAA,CAAAqG,QAAA,qBACEpH,MAAA,CAAAe,OAAA,CAAAoG,aAAA,CAAC7G,WAAA,CAAA8H,KAAK;IAACF,QAAQ,EAAEvE,IAAK;IAAC0E,OAAO,EAAEvC;EAAY,CAAE,CAAC,eAC/C9F,MAAA,CAAAe,OAAA,CAAAoG,aAAA,CAAC7G,WAAA,CAAAgI,SAAS;IAACD,OAAO,EAAE/B;EAAa,CAAE,CACnC,CAEJ,CACJ,CAAC,eAEDtG,MAAA,CAAAe,OAAA,CAAAoG,aAAA,CAACjH,KAAA,CAAAqI,YAAY;IAACpC,OAAO,EAAErC,QAAQ,CAAC,CAAC,CAAE;IAACM,OAAO,EAAEA,OAAQ;IAACoE,OAAO,EAAEA,CAAA,KAAMnE,UAAU,CAAC,IAAI;EAAE,CAAE,CACxF,CAAC,GACD,IAAI;AACV,CAAC;AAACoE,OAAA,CAAAhG,IAAA,GAAAA,IAAA;AAEFA,IAAI,CAACiG,WAAW,GAAG,iBAAiB;AAEpCjG,IAAI,CAACkG,SAAS,GAAG;EACfC,IAAI,EAAEC,kBAAS,CAACC,MAAM;EACtBnG,QAAQ,EAAEkG,kBAAS,CAACE;AACtB,CAAC"}
|
|
@@ -31,7 +31,7 @@ const Variables = _ref => {
|
|
|
31
31
|
text: availableValues.map((_ref3, index) => {
|
|
32
32
|
let [key, value] = _ref3;
|
|
33
33
|
return /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({}, textProps, {
|
|
34
|
-
key: index,
|
|
34
|
+
key: "".concat(text, ":").concat(index),
|
|
35
35
|
className: style.variable
|
|
36
36
|
}), "".concat(key, ": ").concat(value));
|
|
37
37
|
})
|
|
@@ -58,7 +58,7 @@ const Environment = _ref4 => {
|
|
|
58
58
|
}), /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({}, textProps, {
|
|
59
59
|
bold: true,
|
|
60
60
|
className: style.intent
|
|
61
|
-
}), "".concat(intent, ": ").concat(confidence)), locale && /*#__PURE__*/_react.default.createElement(_ui.Text,
|
|
61
|
+
}), "".concat(intent, ": ").concat(confidence)), locale && /*#__PURE__*/_react.default.createElement(_ui.Text, textProps, locale), /*#__PURE__*/_react.default.createElement(Variables, {
|
|
62
62
|
values: entities,
|
|
63
63
|
text: "Entities"
|
|
64
64
|
}), /*#__PURE__*/_react.default.createElement(Variables, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Environment.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","textProps","markdown","tiny","Variables","_ref","values","text","availableValues","entries","filter","_ref2","value","createElement","Tooltip","map","_ref3","index","Text","
|
|
1
|
+
{"version":3,"file":"Environment.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","textProps","markdown","tiny","Variables","_ref","values","text","availableValues","entries","filter","_ref2","value","createElement","Tooltip","map","_ref3","index","Text","concat","className","variable","Environment","_ref4","confidence","environment","entities","sentence","terms","locale","intent","response","error","others","View","row","styles","bold","exports","propTypes","classifications","PropTypes","any","number","shape","string","bool"],"sources":["../../../../../../src/components/Chat/components/Message/components/Environment.jsx"],"sourcesContent":["import { styles, Text, Tooltip, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './Environment.module.css';\n\nconst textProps = { markdown: false, tiny: true };\n\n// eslint-disable-next-line react/prop-types\nconst Variables = ({ values = {}, text }) => {\n const availableValues = Object.entries(values).filter(\n ([, value]) => value !== false && value !== null && value !== 0,\n );\n\n return availableValues.length ? (\n <Tooltip\n text={availableValues.map(([key, value], index) => (\n <Text {...textProps} key={`${text}:${index}`} className={style.variable}>{`${key}: ${value}`}</Text>\n ))}\n >\n <Text {...textProps}>{text}</Text>\n </Tooltip>\n ) : null;\n};\n\nconst Environment = ({\n confidence,\n environment: { entities = {}, sentence = {}, terms = {} } = {},\n locale,\n intent,\n response: { error = false } = {},\n ...others\n}) => (\n <View {...others} row className={styles(style.environment, error && style.error, others.className)}>\n <Text {...textProps} bold className={style.intent}>\n {`${intent}: ${confidence}`}\n </Text>\n\n {locale && <Text {...textProps}>{locale}</Text>}\n <Variables values={entities} text=\"Entities\" />\n <Variables values={sentence} text=\"Sentence\" />\n <Variables values={terms} text=\"Terms\" />\n </View>\n);\n\nEnvironment.propTypes = {\n classifications: PropTypes.any,\n confidence: PropTypes.number,\n environment: PropTypes.shape({}),\n intent: PropTypes.string,\n locale: PropTypes.string,\n response: PropTypes.shape({\n error: PropTypes.bool,\n }),\n};\n\nexport { Environment };\n"],"mappings":"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"}
|
|
@@ -19,8 +19,10 @@ const Offers = _ref => {
|
|
|
19
19
|
disabled,
|
|
20
20
|
response: {
|
|
21
21
|
text,
|
|
22
|
-
requirements
|
|
23
|
-
|
|
22
|
+
requirements,
|
|
23
|
+
value = []
|
|
24
|
+
} = {},
|
|
25
|
+
onAction
|
|
24
26
|
} = _ref;
|
|
25
27
|
const [inputResponse, setInputResponse] = (0, _react.useState)();
|
|
26
28
|
|
|
@@ -38,7 +40,17 @@ const Offers = _ref => {
|
|
|
38
40
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, text && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
39
41
|
action: true,
|
|
40
42
|
className: style.text
|
|
41
|
-
}, text),
|
|
43
|
+
}, text), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, value.map((offer, index) => /*#__PURE__*/_react.default.createElement(_components.Card, {
|
|
44
|
+
key: index,
|
|
45
|
+
disabled,
|
|
46
|
+
text: offer.name,
|
|
47
|
+
onPress: () => onAction({
|
|
48
|
+
intent: _Chat.INTENT.OFFERS,
|
|
49
|
+
form: {
|
|
50
|
+
offerId: offer.id
|
|
51
|
+
}
|
|
52
|
+
})
|
|
53
|
+
}))), requirementText && /*#__PURE__*/_react.default.createElement(_components.Card, {
|
|
42
54
|
disabled: disabled,
|
|
43
55
|
option: false,
|
|
44
56
|
text: (inputResponse === null || inputResponse === void 0 ? void 0 : inputResponse.text) || requirementText,
|
|
@@ -52,6 +64,7 @@ Offers.propTypes = {
|
|
|
52
64
|
text: _propTypes.default.string,
|
|
53
65
|
requirements: _propTypes.default.shape({})
|
|
54
66
|
}),
|
|
55
|
-
status: _propTypes.default.shape({})
|
|
67
|
+
status: _propTypes.default.shape({}),
|
|
68
|
+
onAction: _propTypes.default.func
|
|
56
69
|
};
|
|
57
70
|
//# sourceMappingURL=Offers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Offers.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_components","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Offers","_ref","disabled","response","text","requirements","inputResponse","setInputResponse","useState","useEffect","dispatchRequirement","Event","publish","EVENT","INPUT_COMPONENT","onSubmit","requirementText","values","createElement","Fragment","Text","action","className","Card","
|
|
1
|
+
{"version":3,"file":"Offers.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_components","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Offers","_ref","disabled","response","text","requirements","value","onAction","inputResponse","setInputResponse","useState","useEffect","dispatchRequirement","Event","publish","EVENT","INPUT_COMPONENT","onSubmit","requirementText","values","createElement","Fragment","Text","action","className","map","offer","index","React","Card","key","name","onPress","intent","INTENT","OFFERS","form","offerId","id","option","exports","propTypes","PropTypes","bool","shape","string","status","func"],"sources":["../../../../../../src/components/Chat/components/Message/intents/Offers.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { Text } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { EVENT, INTENT } from '../../../Chat.constants';\nimport { Card } from '../components';\nimport * as style from '../Message.module.css';\n\nconst Offers = ({ disabled, response: { text, requirements, value = [] } = {}, onAction }) => {\n const [inputResponse, setInputResponse] = useState();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => dispatchRequirement(), [requirements]);\n\n const dispatchRequirement = () => {\n setInputResponse();\n\n requirements && Event.publish(EVENT.INPUT_COMPONENT, { onSubmit: setInputResponse });\n };\n\n const [{ text: requirementText } = {}] = Object.values(requirements || {});\n\n return (\n <>\n {text && (\n <Text action className={style.text}>\n {text}\n </Text>\n )}\n\n <>\n {value.map((offer, index) =>\n React.createElement(Card, {\n key: index,\n disabled,\n text: offer.name,\n onPress: () => onAction({ intent: INTENT.OFFERS, form: { offerId: offer.id } }),\n }),\n )}\n </>\n\n {requirementText && (\n <Card\n disabled={disabled}\n option={false}\n text={inputResponse?.text || requirementText}\n onPress={dispatchRequirement}\n />\n )}\n </>\n );\n};\n\nOffers.propTypes = {\n disabled: PropTypes.bool,\n response: PropTypes.shape({\n text: PropTypes.string,\n requirements: PropTypes.shape({}),\n }),\n status: PropTypes.shape({}),\n onAction: PropTypes.func,\n};\n\nexport { Offers };\n"],"mappings":"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"}
|