@mirai/core 0.4.66 → 0.4.67

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.
@@ -5,9 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ButtonAvatar = void 0;
7
7
  var _dataSources = require("@mirai/data-sources");
8
+ var _locale = require("@mirai/locale");
8
9
  var _ui = require("@mirai/ui");
9
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
11
  var _react = _interopRequireWildcard(require("react"));
12
+ var _Chat = require("./Chat.l10n");
11
13
  var style = _interopRequireWildcard(require("./Chat.module.css"));
12
14
  var _components = require("./components");
13
15
  var _helpers = require("./helpers");
@@ -29,6 +31,16 @@ const ButtonAvatar = _ref => {
29
31
  } = _ref;
30
32
  const [focus, setFocus] = (0, _react.useState)(false);
31
33
  const [hide, setHide] = (0, _react.useState)(false);
34
+ const {
35
+ translate
36
+ } = (0, _locale.useLocale)();
37
+ const {
38
+ value: {
39
+ session: {
40
+ firstName
41
+ } = {}
42
+ }
43
+ } = (0, _dataSources.useStore)();
32
44
  (0, _react.useEffect)(() => {
33
45
  const callback = _ref2 => {
34
46
  let {
@@ -43,7 +55,6 @@ const ButtonAvatar = _ref => {
43
55
  if (!text || focused) return;
44
56
  let inactivityTimer;
45
57
  const resetTimer = () => {
46
- console.log('::::::');
47
58
  clearTimeout(inactivityTimer);
48
59
  if (focused) return;
49
60
  inactivityTimer = setTimeout(() => {
@@ -70,8 +81,11 @@ const ButtonAvatar = _ref => {
70
81
  className: (0, _ui.styles)(style.welcome, focus && !visible && style.visible)
71
82
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
72
83
  action: true,
84
+ markdown: false,
73
85
  medium: true
74
- }, text)), /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
86
+ }, translate(_Chat.L10N.LABEL_GREETINGS, {
87
+ name: firstName || translate(_Chat.L10N.LABEL_GUEST)
88
+ }))), /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
75
89
  onEnter: () => setFocus(true),
76
90
  onLeave: () => setFocus(false),
77
91
  onPress: onPress
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.ButtonAvatar.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","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","DELAY_WELCOME","focused","ButtonAvatar","_ref","message","response","text","visible","onPress","focus","setFocus","useState","hide","setHide","useEffect","callback","_ref2","modalVisible","Event","subscribe","EVENT","MODAL_VISIBLE","unsubscribe","inactivityTimer","resetTimer","console","log","clearTimeout","setTimeout","audioNotification","document","addEventListener","current","removeEventListener","createElement","View","className","styles","buttonAvatar","welcome","Text","action","medium","Pressable","onEnter","onLeave","Avatar","disabled","avatar","exports","displayName","propTypes","PropTypes","shape","string","bool","func"],"sources":["../../../src/components/Chat/Chat.ButtonAvatar.js"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { Pressable, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Chat.module.css';\nimport { Avatar } from './components';\nimport { audioNotification } from './helpers';\nimport { EVENT } from '../helpers';\n\nconst DELAY_WELCOME = 10000;\nlet focused = false;\n\nconst ButtonAvatar = ({ message: { response: { text } = {} } = {}, visible, onPress }) => {\n const [focus, setFocus] = useState(false);\n const [hide, setHide] = useState(false);\n\n useEffect(() => {\n const callback = ({ visible: modalVisible }) => setHide(modalVisible);\n\n Event.subscribe(EVENT.MODAL_VISIBLE, callback);\n return () => Event.unsubscribe(EVENT.MODAL_VISIBLE, callback);\n }, []);\n\n useEffect(() => {\n if (!text || focused) return;\n let inactivityTimer;\n\n const resetTimer = () => {\n console.log('::::::');\n clearTimeout(inactivityTimer);\n if (focused) return;\n inactivityTimer = setTimeout(() => {\n setFocus(true);\n audioNotification();\n clearTimeout(inactivityTimer);\n }, DELAY_WELCOME);\n };\n\n document.addEventListener('mousemove', resetTimer);\n document.addEventListener('scroll', resetTimer);\n\n resetTimer();\n\n return () => {\n clearTimeout(inactivityTimer.current);\n document.removeEventListener('mousemove', resetTimer);\n document.removeEventListener('scroll', resetTimer);\n };\n }, [text]);\n\n useEffect(() => {\n if (focus) focused = true;\n }, [focus]);\n\n return (\n <View className={styles(style.buttonAvatar, !!text && !visible && !hide && style.visible)}>\n <View className={styles(style.welcome, focus && !visible && style.visible)}>\n <Text action medium>\n {text}\n </Text>\n </View>\n\n <Pressable onEnter={() => setFocus(true)} onLeave={() => setFocus(false)} onPress={onPress}>\n <Avatar disabled={visible} className={style.avatar} />\n </Pressable>\n </View>\n );\n};\n\nButtonAvatar.displayName = 'Mirai:Core:Chat.ButtonAvatar';\n\nButtonAvatar.propTypes = {\n message: PropTypes.shape({\n response: PropTypes.shape({\n text: PropTypes.string,\n }),\n }),\n visible: PropTypes.bool,\n onPress: PropTypes.func,\n};\n\nexport { ButtonAvatar };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Chat.ButtonAvatar.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","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","DELAY_WELCOME","focused","ButtonAvatar","_ref","message","response","text","visible","onPress","focus","setFocus","useState","hide","setHide","translate","useLocale","value","session","firstName","useStore","useEffect","callback","_ref2","modalVisible","Event","subscribe","EVENT","MODAL_VISIBLE","unsubscribe","inactivityTimer","resetTimer","clearTimeout","setTimeout","audioNotification","document","addEventListener","current","removeEventListener","createElement","View","className","styles","buttonAvatar","welcome","Text","action","markdown","medium","L10N","LABEL_GREETINGS","name","LABEL_GUEST","Pressable","onEnter","onLeave","Avatar","disabled","avatar","exports","displayName","propTypes","PropTypes","shape","string","bool","func"],"sources":["../../../src/components/Chat/Chat.ButtonAvatar.js"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Pressable, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { Avatar } from './components';\nimport { audioNotification } from './helpers';\nimport { EVENT } from '../helpers';\n\nconst DELAY_WELCOME = 10000;\nlet focused = false;\n\nconst ButtonAvatar = ({ message: { response: { text } = {} } = {}, visible, onPress }) => {\n const [focus, setFocus] = useState(false);\n const [hide, setHide] = useState(false);\n const { translate } = useLocale();\n const {\n value: { session: { firstName } = {} },\n } = useStore();\n\n useEffect(() => {\n const callback = ({ visible: modalVisible }) => setHide(modalVisible);\n\n Event.subscribe(EVENT.MODAL_VISIBLE, callback);\n return () => Event.unsubscribe(EVENT.MODAL_VISIBLE, callback);\n }, []);\n\n useEffect(() => {\n if (!text || focused) return;\n let inactivityTimer;\n\n const resetTimer = () => {\n clearTimeout(inactivityTimer);\n if (focused) return;\n inactivityTimer = setTimeout(() => {\n setFocus(true);\n audioNotification();\n clearTimeout(inactivityTimer);\n }, DELAY_WELCOME);\n };\n\n document.addEventListener('mousemove', resetTimer);\n document.addEventListener('scroll', resetTimer);\n\n resetTimer();\n\n return () => {\n clearTimeout(inactivityTimer.current);\n document.removeEventListener('mousemove', resetTimer);\n document.removeEventListener('scroll', resetTimer);\n };\n }, [text]);\n\n useEffect(() => {\n if (focus) focused = true;\n }, [focus]);\n\n return (\n <View className={styles(style.buttonAvatar, !!text && !visible && !hide && style.visible)}>\n <View className={styles(style.welcome, focus && !visible && style.visible)}>\n <Text action markdown={false} medium>\n {translate(L10N.LABEL_GREETINGS, { name: firstName || translate(L10N.LABEL_GUEST) })}\n </Text>\n </View>\n\n <Pressable onEnter={() => setFocus(true)} onLeave={() => setFocus(false)} onPress={onPress}>\n <Avatar disabled={visible} className={style.avatar} />\n </Pressable>\n </View>\n );\n};\n\nButtonAvatar.displayName = 'Mirai:Core:Chat.ButtonAvatar';\n\nButtonAvatar.propTypes = {\n message: PropTypes.shape({\n response: PropTypes.shape({\n text: PropTypes.string,\n }),\n }),\n visible: PropTypes.bool,\n onPress: PropTypes.func,\n};\n\nexport { ButtonAvatar };\n"],"mappings":"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"}
@@ -66,7 +66,7 @@ const Chat = _ref => {
66
66
  }, [busy, messages, visible]);
67
67
  (0, _react.useEffect)(() => {
68
68
  // // ! TODO: It's just a demo
69
- // if (visible && !messages.length) handleInput('Quiero ver la proxima reserva que tengo.');
69
+ // if (visible && !messages.length) handleInput('I would like to see all my reservations.');
70
70
  if (!visible) return clearInterval(connectionInterval);
71
71
  connectionInterval = setInterval(handleOnline, online ? 60000 : 10000);
72
72
  return () => clearInterval(connectionInterval);
@@ -76,6 +76,22 @@ const Chat = _ref => {
76
76
  calendar,
77
77
  currency,
78
78
  hotel,
79
+ messages: messages.filter(_ref2 => {
80
+ let {
81
+ intent,
82
+ text
83
+ } = _ref2;
84
+ return !!intent || !!text;
85
+ }).map(_ref3 => {
86
+ let {
87
+ intent,
88
+ text
89
+ } = _ref3;
90
+ return {
91
+ intent,
92
+ text
93
+ };
94
+ }),
79
95
  occupation,
80
96
  origin,
81
97
  tags,
@@ -100,10 +116,9 @@ const Chat = _ref => {
100
116
  setTimeout(async () => {
101
117
  setBusy(true);
102
118
  const response = await _services.ServiceLisa.message({
103
- context: {
104
- ...storeContext
105
- },
119
+ context: storeContext,
106
120
  input,
121
+ locale,
107
122
  session
108
123
  }).catch(handleError);
109
124
  if (response) {
@@ -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","finder","rates","next","status","handleInput","input","nextMessages","text","timestamp","setTimeout","message","context","audioNotification","DELAY_RESPONSE","handleAction","form","intent","undefined","Event","publish","EVENT","LOGIN","action","lisa","auto","error","console","INTENT_LOCALE","createElement","Fragment","React","Modal","View","className","styles","container","Header","onClose","ScrollView","snap","map","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('Quiero ver la proxima reserva que tengo.');\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 = { calendar, currency, hotel, occupation, origin, tags, type };\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, 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","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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"}
@@ -14,6 +14,9 @@ const L10N = exports.L10N = {
14
14
  LABEL_GREETINGS: {
15
15
  id: 'lisa.label.greetings'
16
16
  },
17
+ LABEL_GUEST: {
18
+ id: 'lisa.label.guest'
19
+ },
17
20
  LABEL_OFFLINE: {
18
21
  id: 'lisa.label.offline'
19
22
  },
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.l10n.js","names":["L10N","exports","ACTION_CLOSE","id","LABEL_ASSISTANT","LABEL_GREETINGS","LABEL_OFFLINE","LABEL_ONLINE"],"sources":["../../../src/components/Chat/Chat.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_CLOSE: { id: 'common.action.close' },\n\n LABEL_ASSISTANT: { id: 'lisa.label.assistant' },\n LABEL_GREETINGS: { id: 'lisa.label.greetings' },\n LABEL_OFFLINE: { id: 'lisa.label.offline' },\n LABEL_ONLINE: { id: 'lisa.label.online' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,YAAY,EAAE;IAAEC,EAAE,EAAE;EAAsB,CAAC;EAE3CC,eAAe,EAAE;IAAED,EAAE,EAAE;EAAuB,CAAC;EAC/CE,eAAe,EAAE;IAAEF,EAAE,EAAE;EAAuB,CAAC;EAC/CG,aAAa,EAAE;IAAEH,EAAE,EAAE;EAAqB,CAAC;EAC3CI,YAAY,EAAE;IAAEJ,EAAE,EAAE;EAAoB;AAC1C,CAAC"}
1
+ {"version":3,"file":"Chat.l10n.js","names":["L10N","exports","ACTION_CLOSE","id","LABEL_ASSISTANT","LABEL_GREETINGS","LABEL_GUEST","LABEL_OFFLINE","LABEL_ONLINE"],"sources":["../../../src/components/Chat/Chat.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_CLOSE: { id: 'common.action.close' },\n\n LABEL_ASSISTANT: { id: 'lisa.label.assistant' },\n LABEL_GREETINGS: { id: 'lisa.label.greetings' },\n LABEL_GUEST: { id: 'lisa.label.guest' },\n LABEL_OFFLINE: { id: 'lisa.label.offline' },\n LABEL_ONLINE: { id: 'lisa.label.online' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,YAAY,EAAE;IAAEC,EAAE,EAAE;EAAsB,CAAC;EAE3CC,eAAe,EAAE;IAAED,EAAE,EAAE;EAAuB,CAAC;EAC/CE,eAAe,EAAE;IAAEF,EAAE,EAAE;EAAuB,CAAC;EAC/CG,WAAW,EAAE;IAAEH,EAAE,EAAE;EAAmB,CAAC;EACvCI,aAAa,EAAE;IAAEJ,EAAE,EAAE;EAAqB,CAAC;EAC3CK,YAAY,EAAE;IAAEL,EAAE,EAAE;EAAoB;AAC1C,CAAC"}
@@ -14,46 +14,70 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
14
14
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
15
  const textProps = {
16
16
  markdown: false,
17
- small: true
17
+ tiny: true
18
18
  };
19
- const Environment = _ref => {
19
+
20
+ // eslint-disable-next-line react/prop-types
21
+ const Variables = _ref => {
22
+ let {
23
+ values = {},
24
+ text
25
+ } = _ref;
26
+ const availableValues = Object.entries(values).filter(_ref2 => {
27
+ let [, value] = _ref2;
28
+ return value !== false && value !== null && value !== 0;
29
+ });
30
+ return availableValues.length ? /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
31
+ text: availableValues.map((_ref3, index) => {
32
+ let [key, value] = _ref3;
33
+ return /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({}, textProps, {
34
+ key: index,
35
+ className: style.variable
36
+ }), "".concat(key, ": ").concat(value));
37
+ })
38
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, textProps, text)) : null;
39
+ };
40
+ const Environment = _ref4 => {
20
41
  let {
21
- classifications = [],
22
42
  confidence,
43
+ environment: {
44
+ entities = {},
45
+ sentence = {},
46
+ terms = {}
47
+ } = {},
48
+ locale,
23
49
  intent,
24
50
  response: {
25
51
  error = false
26
52
  } = {},
27
53
  ...others
28
- } = _ref;
54
+ } = _ref4;
29
55
  return /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
30
56
  row: true,
31
57
  className: (0, _ui.styles)(style.environment, error && style.error, others.className)
32
58
  }), /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({}, textProps, {
33
59
  bold: true,
34
60
  className: style.intent
35
- }), "".concat(intent, " ").concat(confidence ? " :: ".concat(confidence % 1 !== 0 ? confidence.toFixed(2) : confidence) : '')), classifications.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
36
- text: classifications.map(function () {
37
- let {
38
- label = '',
39
- value = 0
40
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
41
- let index = arguments.length > 1 ? arguments[1] : undefined;
42
- return /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({}, textProps, {
43
- key: index
44
- }), "".concat(label, " :: ").concat(value.toFixed(2)));
45
- }),
46
- top: true,
47
- className: style.classifications
48
- }, /*#__PURE__*/_react.default.createElement(_ui.Text, textProps, "Classifications")));
61
+ }), "".concat(intent, ": ").concat(confidence)), locale && /*#__PURE__*/_react.default.createElement(_ui.Text, null, locale), /*#__PURE__*/_react.default.createElement(Variables, {
62
+ values: entities,
63
+ text: "Entities"
64
+ }), /*#__PURE__*/_react.default.createElement(Variables, {
65
+ values: sentence,
66
+ text: "Sentence"
67
+ }), /*#__PURE__*/_react.default.createElement(Variables, {
68
+ values: terms,
69
+ text: "Terms"
70
+ }));
49
71
  };
50
72
  exports.Environment = Environment;
51
73
  Environment.propTypes = {
52
74
  classifications: _propTypes.default.any,
53
75
  confidence: _propTypes.default.number,
76
+ environment: _propTypes.default.shape({}),
77
+ intent: _propTypes.default.string,
78
+ locale: _propTypes.default.string,
54
79
  response: _propTypes.default.shape({
55
80
  error: _propTypes.default.bool
56
- }),
57
- intent: _propTypes.default.string
81
+ })
58
82
  };
59
83
  //# sourceMappingURL=Environment.js.map
@@ -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","small","Environment","_ref","classifications","confidence","intent","response","error","others","createElement","View","row","className","styles","environment","Text","bold","concat","toFixed","Tooltip","text","map","label","value","undefined","index","top","exports","propTypes","PropTypes","any","number","shape","bool","string"],"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, small: true };\n\nconst Environment = ({ classifications = [], confidence, intent, response: { error = false } = {}, ...others }) => (\n <View {...others} row className={styles(style.environment, error && style.error, others.className)}>\n <Text {...textProps} bold className={style.intent}>\n {`${intent} ${confidence ? ` :: ${confidence % 1 !== 0 ? confidence.toFixed(2) : confidence}` : ''}`}\n </Text>\n\n {classifications.length > 0 && (\n <Tooltip\n text={classifications.map(({ label = '', value = 0 } = {}, index) => (\n <Text {...textProps} key={index}>{`${label} :: ${value.toFixed(2)}`}</Text>\n ))}\n top\n className={style.classifications}\n >\n <Text {...textProps}>Classifications</Text>\n </Tooltip>\n )}\n </View>\n);\n\nEnvironment.propTypes = {\n classifications: PropTypes.any,\n confidence: PropTypes.number,\n response: PropTypes.shape({\n error: PropTypes.bool,\n }),\n intent: PropTypes.string,\n};\n\nexport { Environment };\n"],"mappings":"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"}
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","className","variable","concat","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={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>{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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"}
@@ -8,8 +8,9 @@
8
8
  flex: 1;
9
9
  }
10
10
 
11
- .environment .classifications * {
11
+ .environment .variable {
12
12
  color: var(--mirai-ui-base);
13
+ display: block;
13
14
  }
14
15
 
15
16
  .environment.error {
@@ -10,6 +10,7 @@ var _components = require("../components");
10
10
 
11
11
  const COMPONENT_KEY = 'miraiComponent';
12
12
  const NAMESPACE = '[data-mirai-component]';
13
+ const SINGLETON_FINDER = ['rates'];
13
14
  const UNPROCESSED_KEYS = ['role'];
14
15
  const findComponents = () => {
15
16
  const components = [];
@@ -32,7 +33,18 @@ const findComponents = () => {
32
33
  // eslint-disable-next-line no-console
33
34
  console.error("Component <".concat(properties === null || properties === void 0 ? void 0 : properties.component, "> is not part of @mirai/core v").concat(_package.version));
34
35
  });
35
- return components;
36
+ const singletonFinder = !!components.find(_ref => {
37
+ let {
38
+ component
39
+ } = _ref;
40
+ return SINGLETON_FINDER.includes(component);
41
+ });
42
+ return singletonFinder ? components.filter(_ref2 => {
43
+ let {
44
+ component
45
+ } = _ref2;
46
+ return component !== 'finder';
47
+ }) : components;
36
48
  };
37
49
  exports.findComponents = findComponents;
38
50
  //# sourceMappingURL=findComponents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"findComponents.js","names":["_package","require","_components","COMPONENT_KEY","NAMESPACE","UNPROCESSED_KEYS","findComponents","components","document","querySelectorAll","forEach","el","properties","Object","keys","dataset","filter","key","includes","reduce","current","name","value","isComponent","COMPONENTS","component","push","console","error","concat","version","exports"],"sources":["../../src/helpers/findComponents.js"],"sourcesContent":["/* eslint-disable no-console */\nimport { version } from '../../package.json';\nimport { COMPONENTS } from '../components';\n\nconst COMPONENT_KEY = 'miraiComponent';\nconst NAMESPACE = '[data-mirai-component]';\nconst UNPROCESSED_KEYS = ['role'];\n\nexport const findComponents = () => {\n const components = [];\n\n [...document.querySelectorAll(NAMESPACE)].forEach((el) => {\n const properties = Object.keys(el.dataset)\n .filter((key) => !UNPROCESSED_KEYS.includes(key))\n .reduce((current, name) => {\n const key = name === COMPONENT_KEY ? 'component' : name;\n const value = el.dataset[name];\n\n return { ...current, [key]: ['true', 'false'].includes(value) ? value === 'true' : value };\n }, {});\n\n const isComponent = Object.keys(COMPONENTS).includes(properties?.component);\n if (isComponent) {\n components.push({ ...properties, el });\n } else if (properties?.component)\n // eslint-disable-next-line no-console\n console.error(`Component <${properties?.component}> is not part of @mirai/core v${version}`);\n });\n\n return components;\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAFA;;AAIA,MAAME,aAAa,GAAG,gBAAgB;AACtC,MAAMC,SAAS,GAAG,wBAAwB;AAC1C,MAAMC,gBAAgB,GAAG,CAAC,MAAM,CAAC;AAE1B,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAClC,MAAMC,UAAU,GAAG,EAAE;EAErB,CAAC,GAAGC,QAAQ,CAACC,gBAAgB,CAACL,SAAS,CAAC,CAAC,CAACM,OAAO,CAAEC,EAAE,IAAK;IACxD,MAAMC,UAAU,GAAGC,MAAM,CAACC,IAAI,CAACH,EAAE,CAACI,OAAO,CAAC,CACvCC,MAAM,CAAEC,GAAG,IAAK,CAACZ,gBAAgB,CAACa,QAAQ,CAACD,GAAG,CAAC,CAAC,CAChDE,MAAM,CAAC,CAACC,OAAO,EAAEC,IAAI,KAAK;MACzB,MAAMJ,GAAG,GAAGI,IAAI,KAAKlB,aAAa,GAAG,WAAW,GAAGkB,IAAI;MACvD,MAAMC,KAAK,GAAGX,EAAE,CAACI,OAAO,CAACM,IAAI,CAAC;MAE9B,OAAO;QAAE,GAAGD,OAAO;QAAE,CAACH,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAACC,QAAQ,CAACI,KAAK,CAAC,GAAGA,KAAK,KAAK,MAAM,GAAGA;MAAM,CAAC;IAC5F,CAAC,EAAE,CAAC,CAAC,CAAC;IAER,MAAMC,WAAW,GAAGV,MAAM,CAACC,IAAI,CAACU,sBAAU,CAAC,CAACN,QAAQ,CAACN,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEa,SAAS,CAAC;IAC3E,IAAIF,WAAW,EAAE;MACfhB,UAAU,CAACmB,IAAI,CAAC;QAAE,GAAGd,UAAU;QAAED;MAAG,CAAC,CAAC;IACxC,CAAC,MAAM,IAAIC,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEa,SAAS;MAC9B;MACAE,OAAO,CAACC,KAAK,eAAAC,MAAA,CAAejB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEa,SAAS,oCAAAI,MAAA,CAAiCC,gBAAO,CAAE,CAAC;EAChG,CAAC,CAAC;EAEF,OAAOvB,UAAU;AACnB,CAAC;AAACwB,OAAA,CAAAzB,cAAA,GAAAA,cAAA"}
1
+ {"version":3,"file":"findComponents.js","names":["_package","require","_components","COMPONENT_KEY","NAMESPACE","SINGLETON_FINDER","UNPROCESSED_KEYS","findComponents","components","document","querySelectorAll","forEach","el","properties","Object","keys","dataset","filter","key","includes","reduce","current","name","value","isComponent","COMPONENTS","component","push","console","error","concat","version","singletonFinder","find","_ref","_ref2","exports"],"sources":["../../src/helpers/findComponents.js"],"sourcesContent":["/* eslint-disable no-console */\nimport { version } from '../../package.json';\nimport { COMPONENTS } from '../components';\n\nconst COMPONENT_KEY = 'miraiComponent';\nconst NAMESPACE = '[data-mirai-component]';\nconst SINGLETON_FINDER = ['rates'];\nconst UNPROCESSED_KEYS = ['role'];\n\nexport const findComponents = () => {\n const components = [];\n\n [...document.querySelectorAll(NAMESPACE)].forEach((el) => {\n const properties = Object.keys(el.dataset)\n .filter((key) => !UNPROCESSED_KEYS.includes(key))\n .reduce((current, name) => {\n const key = name === COMPONENT_KEY ? 'component' : name;\n const value = el.dataset[name];\n\n return { ...current, [key]: ['true', 'false'].includes(value) ? value === 'true' : value };\n }, {});\n\n const isComponent = Object.keys(COMPONENTS).includes(properties?.component);\n if (isComponent) {\n components.push({ ...properties, el });\n } else if (properties?.component)\n // eslint-disable-next-line no-console\n console.error(`Component <${properties?.component}> is not part of @mirai/core v${version}`);\n });\n\n const singletonFinder = !!components.find(({ component }) => SINGLETON_FINDER.includes(component));\n\n return singletonFinder ? components.filter(({ component }) => component !== 'finder') : components;\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAFA;;AAIA,MAAME,aAAa,GAAG,gBAAgB;AACtC,MAAMC,SAAS,GAAG,wBAAwB;AAC1C,MAAMC,gBAAgB,GAAG,CAAC,OAAO,CAAC;AAClC,MAAMC,gBAAgB,GAAG,CAAC,MAAM,CAAC;AAE1B,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAClC,MAAMC,UAAU,GAAG,EAAE;EAErB,CAAC,GAAGC,QAAQ,CAACC,gBAAgB,CAACN,SAAS,CAAC,CAAC,CAACO,OAAO,CAAEC,EAAE,IAAK;IACxD,MAAMC,UAAU,GAAGC,MAAM,CAACC,IAAI,CAACH,EAAE,CAACI,OAAO,CAAC,CACvCC,MAAM,CAAEC,GAAG,IAAK,CAACZ,gBAAgB,CAACa,QAAQ,CAACD,GAAG,CAAC,CAAC,CAChDE,MAAM,CAAC,CAACC,OAAO,EAAEC,IAAI,KAAK;MACzB,MAAMJ,GAAG,GAAGI,IAAI,KAAKnB,aAAa,GAAG,WAAW,GAAGmB,IAAI;MACvD,MAAMC,KAAK,GAAGX,EAAE,CAACI,OAAO,CAACM,IAAI,CAAC;MAE9B,OAAO;QAAE,GAAGD,OAAO;QAAE,CAACH,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAACC,QAAQ,CAACI,KAAK,CAAC,GAAGA,KAAK,KAAK,MAAM,GAAGA;MAAM,CAAC;IAC5F,CAAC,EAAE,CAAC,CAAC,CAAC;IAER,MAAMC,WAAW,GAAGV,MAAM,CAACC,IAAI,CAACU,sBAAU,CAAC,CAACN,QAAQ,CAACN,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEa,SAAS,CAAC;IAC3E,IAAIF,WAAW,EAAE;MACfhB,UAAU,CAACmB,IAAI,CAAC;QAAE,GAAGd,UAAU;QAAED;MAAG,CAAC,CAAC;IACxC,CAAC,MAAM,IAAIC,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEa,SAAS;MAC9B;MACAE,OAAO,CAACC,KAAK,eAAAC,MAAA,CAAejB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEa,SAAS,oCAAAI,MAAA,CAAiCC,gBAAO,CAAE,CAAC;EAChG,CAAC,CAAC;EAEF,MAAMC,eAAe,GAAG,CAAC,CAACxB,UAAU,CAACyB,IAAI,CAACC,IAAA;IAAA,IAAC;MAAER;IAAU,CAAC,GAAAQ,IAAA;IAAA,OAAK7B,gBAAgB,CAACc,QAAQ,CAACO,SAAS,CAAC;EAAA,EAAC;EAElG,OAAOM,eAAe,GAAGxB,UAAU,CAACS,MAAM,CAACkB,KAAA;IAAA,IAAC;MAAET;IAAU,CAAC,GAAAS,KAAA;IAAA,OAAKT,SAAS,KAAK,QAAQ;EAAA,EAAC,GAAGlB,UAAU;AACpG,CAAC;AAAC4B,OAAA,CAAA7B,cAAA,GAAAA,cAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.66",
3
+ "version": "0.4.67",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",