@mirai/core 0.4.283 → 0.4.284
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/build/components/Chat/Chat.js +15 -11
- package/build/components/Chat/Chat.js.map +1 -1
- package/build/components/__shared__/Occupation/Occupation.Group.js +3 -2
- package/build/components/__shared__/Occupation/Occupation.Group.js.map +1 -1
- package/build/contexts/EventManager/EventManager.js +9 -10
- package/build/contexts/EventManager/EventManager.js.map +1 -1
- package/package.json +1 -1
|
@@ -53,6 +53,7 @@ const Chat = _ref => {
|
|
|
53
53
|
const [messages, setMessages] = (0, _react.useState)([]);
|
|
54
54
|
const [online, setOnline] = (0, _react.useState)(false);
|
|
55
55
|
const [visible, setVisible] = (0, _react.useState)(false);
|
|
56
|
+
const [welcome, setWelcome] = (0, _react.useState)();
|
|
56
57
|
(0, _react.useEffect)(() => {
|
|
57
58
|
if (skeleton || Object.keys(components).some(item => _Chat.BANNED_COMPONENTS.includes(item))) return;
|
|
58
59
|
const nextConfig = process.env.NODE_ENV === 'production' ? _services.ServiceFeatures.get('lisa', id) : {};
|
|
@@ -60,26 +61,29 @@ const Chat = _ref => {
|
|
|
60
61
|
setConfig(nextConfig);
|
|
61
62
|
(async () => {
|
|
62
63
|
if (!(await handleOnline())) return;
|
|
63
|
-
|
|
64
|
+
setWelcome(await _services.ServiceLisa.welcome({
|
|
64
65
|
context: {
|
|
65
66
|
club,
|
|
66
67
|
hotel
|
|
67
68
|
},
|
|
68
69
|
locale,
|
|
69
70
|
session
|
|
70
|
-
}).catch(handleError);
|
|
71
|
-
if (response) {
|
|
72
|
-
if (!messages.length) return addMessage({
|
|
73
|
-
...response,
|
|
74
|
-
timestamp: new Date().getTime()
|
|
75
|
-
}, messages);
|
|
76
|
-
set({
|
|
77
|
-
lisa: messages[messages.length - 1]
|
|
78
|
-
});
|
|
79
|
-
}
|
|
71
|
+
}).catch(handleError));
|
|
80
72
|
})();
|
|
73
|
+
|
|
81
74
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
82
75
|
}, [skeleton]);
|
|
76
|
+
(0, _react.useEffect)(() => {
|
|
77
|
+
if (!welcome) return;
|
|
78
|
+
if (!messages.length) return addMessage({
|
|
79
|
+
...welcome,
|
|
80
|
+
timestamp: new Date().getTime()
|
|
81
|
+
}, messages);
|
|
82
|
+
set({
|
|
83
|
+
lisa: messages[messages.length - 1]
|
|
84
|
+
});
|
|
85
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
86
|
+
}, [welcome]);
|
|
83
87
|
(0, _react.useEffect)(() => {
|
|
84
88
|
if (stateSession) session = stateSession;
|
|
85
89
|
}, [stateSession]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","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","session","Chat","_ref","others","translate","useLocale","value","calendar","club","components","currency","hotel","id","locale","occupation","origin","stateSession","skeleton","tags","type","useStore","busy","setBusy","useState","config","setConfig","setError","messages","setMessages","online","setOnline","visible","setVisible","useEffect","keys","some","item","BANNED_COMPONENTS","includes","nextConfig","process","env","NODE_ENV","ServiceFeatures","handleOnline","response","ServiceLisa","welcome","context","catch","handleError","addMessage","timestamp","Date","getTime","lisa","clearInterval","setInterval","storeContext","filter","_ref2","storage","intent","text","slice","map","_ref3","form","next","status","handleInput","input","auto","undefined","nextMessages","setTimeout","_messages$filter$slic","_messages$filter$slic2","currentForm","_ref4","message","DELAY_RESPONSE","handleAction","nextContext","action","handleRetry","pop","error","notify","Event","publish","EVENT","INTENT_LOCALE","audioNotification","welcomeMessage","chatMessages","_ref5","createElement","Fragment","Modal","fit","className","styles","container","Header","onClose","Welcome","onInput","ScrollView","scrollTo","snap","index","_chatMessages","Message","concat","disabled","onAction","onRetry","Input","onValue","Text","light","tiny","warning","L10N","LABEL_WARNING_RESPONSES","name","ButtonDispatcher","ready","onPress","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures, ServiceLisa } from '@mirai/services';\nimport { Modal, ScrollView, styles, Text } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { BANNED_COMPONENTS, DELAY_RESPONSE } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { ButtonDispatcher, Header, Input, Message, Welcome } from './components';\nimport { audioNotification } from './helpers';\nimport { EVENT } from '../helpers';\n\nlet connectionInterval;\nlet session;\n\nconst Chat = ({ ...others }) => {\n const { translate } = useLocale();\n const {\n set,\n value: {\n calendar,\n club,\n components = {},\n currency,\n hotel,\n id,\n locale,\n occupation,\n origin,\n session: stateSession,\n skeleton = false,\n tags,\n type,\n },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [config, setConfig] = useState();\n const [, setError] = useState();\n const [messages, setMessages] = useState([]);\n const [online, setOnline] = useState(false);\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (skeleton || Object.keys(components).some((item) => BANNED_COMPONENTS.includes(item))) return;\n\n const nextConfig = process.env.NODE_ENV === 'production' ? ServiceFeatures.get('lisa', id) : {};\n if (!nextConfig) return;\n setConfig(nextConfig);\n\n (async () => {\n if (!(await handleOnline())) return;\n const response = await ServiceLisa.welcome({ context: { club, hotel }, locale, session }).catch(handleError);\n if (response) {\n if (!messages.length) return addMessage({ ...response, timestamp: new Date().getTime() }, messages);\n set({ lisa: messages[messages.length - 1] });\n }\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n if (stateSession) session = stateSession;\n }, [stateSession]);\n\n useEffect(() => {\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 let storeContext = {\n calendar,\n club,\n currency,\n hotel,\n messages: messages\n .filter(({ storage, intent, text }) => !storage && (intent || text))\n .slice(-4)\n .map(({ intent, text, response: { form } = {} }) => ({ form, intent, text })),\n occupation,\n origin,\n tags,\n type,\n };\n\n const handleOnline = async () => {\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 return next;\n };\n\n const handleInput = (input, auto = false) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const currentForm = messages.filter(({ storage }) => !storage).slice(-1)[0]?.response?.form;\n\n storeContext = { ...storeContext, form: currentForm };\n const response = await ServiceLisa.message({ auto, context: storeContext, input, locale, session }).catch(\n handleError,\n );\n if (response) addMessage(response, nextMessages, true);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent, text } = {}) => {\n setBusy(true);\n\n setTimeout(async () => {\n const nextContext = { ...storeContext, ...context, form };\n const nextMessages = [...messages, { auto: false, text }];\n\n const response = await ServiceLisa.action({ context: nextContext, intent, locale, session }).catch(handleError);\n if (response) addMessage(response, nextMessages, true);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleRetry = async () => {\n setBusy(true);\n\n const nextMessages = [...messages];\n nextMessages.pop();\n\n setMessages(nextMessages);\n const { text: input, response: { form } = {} } = nextMessages[nextMessages.length - 1] || {};\n storeContext = { ...storeContext, form };\n const response = await ServiceLisa.message({ context: storeContext, input, locale, session }).catch(handleError);\n if (response) addMessage(response, nextMessages, true);\n setBusy(false);\n };\n\n const handleError = (error) => {\n setError(error);\n setOnline(false);\n };\n\n const addMessage = (response = {}, messages = [], notify = false) => {\n if (!response) return;\n\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n\n if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n if (notify) audioNotification();\n };\n\n const { response: { form } = {} } = messages.filter(({ auto = false } = {}) => auto).pop() || [];\n const [welcomeMessage = {}, ...chatMessages] = messages.filter(({ auto, text }) => !(!auto && !text));\n\n return !skeleton && !!config ? (\n <>\n <Modal {...others} fit visible={visible} className={styles(style.container, others.className)}>\n <Header config={config} onClose={() => setVisible(false)} />\n\n {!chatMessages.length ? (\n <Welcome {...welcomeMessage.response} onInput={handleInput} />\n ) : (\n <>\n <ScrollView scrollTo={new Date().getTime()} snap={false} className={style.messages}>\n {chatMessages.map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < chatMessages.length - 1}\n onAction={handleAction}\n onRetry={index === chatMessages.length - 1 && chatMessages[index - 1]?.text ? handleRetry : undefined}\n />\n ))}\n {busy && <Message auto busy />}\n </ScrollView>\n <Input disabled={busy} form={form} onValue={handleInput} className={style.input} />\n </>\n )}\n <Text light tiny className={style.warning}>\n {translate(L10N.LABEL_WARNING_RESPONSES, { name: 'Lisa' })}\n </Text>\n </Modal>\n\n <ButtonDispatcher\n {...{ config, welcomeMessage }}\n ready={!!messages.length}\n visible={visible}\n onPress={() => setVisible(true)}\n />\n </>\n ) : null;\n};\n\nChat.displayName = 'Mirai:Core:Chat';\n\nChat.propTypes = {\n name: PropTypes.string,\n};\n\nexport { Chat };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAC,uBAAA,CAAAP,OAAA;AAEA,IAAAQ,KAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAH,uBAAA,CAAAP,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,SAAAR,wBAAAQ,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,SAAAlB,uBAAA8B,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;AACtB,IAAIC,OAAO;AAEX,MAAMC,IAAI,GAAGC,IAAA,IAAmB;EAAA,IAAlB;IAAE,GAAGC;EAAO,CAAC,GAAAD,IAAA;EACzB,MAAM;IAAEE;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IACJjB,GAAG;IACHkB,KAAK,EAAE;MACLC,QAAQ;MACRC,IAAI;MACJC,UAAU,GAAG,CAAC,CAAC;MACfC,QAAQ;MACRC,KAAK;MACLC,EAAE;MACFC,MAAM;MACNC,UAAU;MACVC,MAAM;MACNf,OAAO,EAAEgB,YAAY;MACrBC,QAAQ,GAAG,KAAK;MAChBC,IAAI;MACJC;IACF;EACF,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACvC,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC;EACtC,MAAM,GAAGG,QAAQ,CAAC,GAAG,IAAAH,eAAQ,EAAC,CAAC;EAC/B,MAAM,CAACI,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAL,eAAQ,EAAC,EAAE,CAAC;EAC5C,MAAM,CAACM,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAP,eAAQ,EAAC,KAAK,CAAC;EAC3C,MAAM,CAACQ,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAT,eAAQ,EAAC,KAAK,CAAC;EAE7C,IAAAU,gBAAS,EAAC,MAAM;IACd,IAAIhB,QAAQ,IAAIrC,MAAM,CAACsD,IAAI,CAACzB,UAAU,CAAC,CAAC0B,IAAI,CAAEC,IAAI,IAAKC,uBAAiB,CAACC,QAAQ,CAACF,IAAI,CAAC,CAAC,EAAE;IAE1F,MAAMG,UAAU,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,GAAGC,yBAAe,CAACnE,GAAG,CAAC,MAAM,EAAEoC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC/F,IAAI,CAAC2B,UAAU,EAAE;IACjBd,SAAS,CAACc,UAAU,CAAC;IAErB,CAAC,YAAY;MACX,IAAI,EAAE,MAAMK,YAAY,CAAC,CAAC,CAAC,EAAE;MAC7B,MAAMC,QAAQ,GAAG,MAAMC,qBAAW,CAACC,OAAO,CAAC;QAAEC,OAAO,EAAE;UAAExC,IAAI;UAAEG;QAAM,CAAC;QAAEE,MAAM;QAAEb;MAAQ,CAAC,CAAC,CAACiD,KAAK,CAACC,WAAW,CAAC;MAC5G,IAAIL,QAAQ,EAAE;QACZ,IAAI,CAAClB,QAAQ,CAAChC,MAAM,EAAE,OAAOwD,UAAU,CAAC;UAAE,GAAGN,QAAQ;UAAEO,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC;QAAE,CAAC,EAAE3B,QAAQ,CAAC;QACnGvC,GAAG,CAAC;UAAEmE,IAAI,EAAE5B,QAAQ,CAACA,QAAQ,CAAChC,MAAM,GAAG,CAAC;QAAE,CAAC,CAAC;MAC9C;IACF,CAAC,EAAE,CAAC;IACJ;EACF,CAAC,EAAE,CAACsB,QAAQ,CAAC,CAAC;EAEd,IAAAgB,gBAAS,EAAC,MAAM;IACd,IAAIjB,YAAY,EAAEhB,OAAO,GAAGgB,YAAY;EAC1C,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,IAAAiB,gBAAS,EAAC,MAAM;IACd,IAAI,CAACF,OAAO,EAAE,OAAOyB,aAAa,CAACzD,kBAAkB,CAAC;IAEtDA,kBAAkB,GAAG0D,WAAW,CAACb,YAAY,EAAEf,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IACtE,OAAO,MAAM2B,aAAa,CAACzD,kBAAkB,CAAC;IAC9C;EACF,CAAC,EAAE,CAAC8B,MAAM,EAAEE,OAAO,CAAC,CAAC;EAErB,IAAI2B,YAAY,GAAG;IACjBnD,QAAQ;IACRC,IAAI;IACJE,QAAQ;IACRC,KAAK;IACLgB,QAAQ,EAAEA,QAAQ,CACfgC,MAAM,CAACC,KAAA;MAAA,IAAC;QAAEC,OAAO;QAAEC,MAAM;QAAEC;MAAK,CAAC,GAAAH,KAAA;MAAA,OAAK,CAACC,OAAO,KAAKC,MAAM,IAAIC,IAAI,CAAC;IAAA,EAAC,CACnEC,KAAK,CAAC,CAAC,CAAC,CAAC,CACTC,GAAG,CAACC,KAAA;MAAA,IAAC;QAAEJ,MAAM;QAAEC,IAAI;QAAElB,QAAQ,EAAE;UAAEsB;QAAK,CAAC,GAAG,CAAC;MAAE,CAAC,GAAAD,KAAA;MAAA,OAAM;QAAEC,IAAI;QAAEL,MAAM;QAAEC;MAAK,CAAC;IAAA,CAAC,CAAC;IAC/EjD,UAAU;IACVC,MAAM;IACNG,IAAI;IACJC;EACF,CAAC;EAED,MAAMyB,YAAY,GAAG,MAAAA,CAAA,KAAY;IAC/B,IAAIwB,IAAI,GAAG,KAAK;IAChB,MAAMvB,QAAQ,GAAG,MAAMC,qBAAW,CAACuB,MAAM,CAAC,CAAC,CAACpB,KAAK,CAAC,MAAMnB,SAAS,CAACsC,IAAI,CAAC,CAAC;IACxE,IAAIvB,QAAQ,IAAI,CAAChB,MAAM,EAAE;MACvBuC,IAAI,GAAG,IAAI;MACXtC,SAAS,CAACsC,IAAI,CAAC;IACjB;IACA,OAAOA,IAAI;EACb,CAAC;EAED,MAAME,WAAW,GAAG,SAAAA,CAACC,KAAK,EAAmB;IAAA,IAAjBC,IAAI,GAAA9E,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA+E,SAAA,GAAA/E,SAAA,MAAG,KAAK;IACtC,MAAMgF,YAAY,GAAG,CAAC,GAAG/C,QAAQ,EAAE;MAAEoC,IAAI,EAAEQ,KAAK;MAAEnB,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC;IAAE,CAAC,CAAC;IACpF1B,WAAW,CAAC8C,YAAY,CAAC;IAEzBC,UAAU,CAAC,YAAY;MAAA,IAAAC,qBAAA,EAAAC,sBAAA;MACrBvD,OAAO,CAAC,IAAI,CAAC;MACb,MAAMwD,WAAW,IAAAF,qBAAA,GAAGjD,QAAQ,CAACgC,MAAM,CAACoB,KAAA;QAAA,IAAC;UAAElB;QAAQ,CAAC,GAAAkB,KAAA;QAAA,OAAK,CAAClB,OAAO;MAAA,EAAC,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAAY,qBAAA,wBAAAC,sBAAA,GAAvDD,qBAAA,CAAyD/B,QAAQ,cAAAgC,sBAAA,uBAAjEA,sBAAA,CAAmEV,IAAI;MAE3FT,YAAY,GAAG;QAAE,GAAGA,YAAY;QAAES,IAAI,EAAEW;MAAY,CAAC;MACrD,MAAMjC,QAAQ,GAAG,MAAMC,qBAAW,CAACkC,OAAO,CAAC;QAAER,IAAI;QAAExB,OAAO,EAAEU,YAAY;QAAEa,KAAK;QAAE1D,MAAM;QAAEb;MAAQ,CAAC,CAAC,CAACiD,KAAK,CACvGC,WACF,CAAC;MACD,IAAIL,QAAQ,EAAEM,UAAU,CAACN,QAAQ,EAAE6B,YAAY,EAAE,IAAI,CAAC;MACtDpD,OAAO,CAAC,KAAK,CAAC;IAChB,CAAC,EAAE2D,oBAAc,CAAC;EACpB,CAAC;EAED,MAAMC,YAAY,GAAG,SAAAA,CAAA,EAA0C;IAAA,IAAzC;MAAElC,OAAO;MAAEmB,IAAI;MAAEL,MAAM;MAAEC;IAAK,CAAC,GAAArE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA+E,SAAA,GAAA/E,SAAA,MAAG,CAAC,CAAC;IACxD4B,OAAO,CAAC,IAAI,CAAC;IAEbqD,UAAU,CAAC,YAAY;MACrB,MAAMQ,WAAW,GAAG;QAAE,GAAGzB,YAAY;QAAE,GAAGV,OAAO;QAAEmB;MAAK,CAAC;MACzD,MAAMO,YAAY,GAAG,CAAC,GAAG/C,QAAQ,EAAE;QAAE6C,IAAI,EAAE,KAAK;QAAET;MAAK,CAAC,CAAC;MAEzD,MAAMlB,QAAQ,GAAG,MAAMC,qBAAW,CAACsC,MAAM,CAAC;QAAEpC,OAAO,EAAEmC,WAAW;QAAErB,MAAM;QAAEjD,MAAM;QAAEb;MAAQ,CAAC,CAAC,CAACiD,KAAK,CAACC,WAAW,CAAC;MAC/G,IAAIL,QAAQ,EAAEM,UAAU,CAACN,QAAQ,EAAE6B,YAAY,EAAE,IAAI,CAAC;MACtDpD,OAAO,CAAC,KAAK,CAAC;IAChB,CAAC,EAAE2D,oBAAc,CAAC;EACpB,CAAC;EAED,MAAMI,WAAW,GAAG,MAAAA,CAAA,KAAY;IAC9B/D,OAAO,CAAC,IAAI,CAAC;IAEb,MAAMoD,YAAY,GAAG,CAAC,GAAG/C,QAAQ,CAAC;IAClC+C,YAAY,CAACY,GAAG,CAAC,CAAC;IAElB1D,WAAW,CAAC8C,YAAY,CAAC;IACzB,MAAM;MAAEX,IAAI,EAAEQ,KAAK;MAAE1B,QAAQ,EAAE;QAAEsB;MAAK,CAAC,GAAG,CAAC;IAAE,CAAC,GAAGO,YAAY,CAACA,YAAY,CAAC/E,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5F+D,YAAY,GAAG;MAAE,GAAGA,YAAY;MAAES;IAAK,CAAC;IACxC,MAAMtB,QAAQ,GAAG,MAAMC,qBAAW,CAACkC,OAAO,CAAC;MAAEhC,OAAO,EAAEU,YAAY;MAAEa,KAAK;MAAE1D,MAAM;MAAEb;IAAQ,CAAC,CAAC,CAACiD,KAAK,CAACC,WAAW,CAAC;IAChH,IAAIL,QAAQ,EAAEM,UAAU,CAACN,QAAQ,EAAE6B,YAAY,EAAE,IAAI,CAAC;IACtDpD,OAAO,CAAC,KAAK,CAAC;EAChB,CAAC;EAED,MAAM4B,WAAW,GAAIqC,KAAK,IAAK;IAC7B7D,QAAQ,CAAC6D,KAAK,CAAC;IACfzD,SAAS,CAAC,KAAK,CAAC;EAClB,CAAC;EAED,MAAMqB,UAAU,GAAG,SAAAA,CAAA,EAAkD;IAAA,IAAjDN,QAAQ,GAAAnD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA+E,SAAA,GAAA/E,SAAA,MAAG,CAAC,CAAC;IAAA,IAAEiC,QAAQ,GAAAjC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA+E,SAAA,GAAA/E,SAAA,MAAG,EAAE;IAAA,IAAE8F,MAAM,GAAA9F,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA+E,SAAA,GAAA/E,SAAA,MAAG,KAAK;IAC9D,IAAI,CAACmD,QAAQ,EAAE;IAEfzD,GAAG,CAAC;MAAEmE,IAAI,EAAEV;IAAS,CAAC,CAAC;IACvBjB,WAAW,CAAC,CAAC,GAAGD,QAAQ,EAAE;MAAE6C,IAAI,EAAE,IAAI;MAAE,GAAG3B;IAAS,CAAC,CAAC,CAAC;IAEvD,IAAIA,QAAQ,CAAChC,MAAM,KAAKA,MAAM,EAAE4E,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,aAAa,EAAE;MAAE/E,MAAM,EAAEgC,QAAQ,CAAChC;IAAO,CAAC,CAAC;IAC/F,IAAI2E,MAAM,EAAE,IAAAK,0BAAiB,EAAC,CAAC;EACjC,CAAC;EAED,MAAM;IAAEhD,QAAQ,EAAE;MAAEsB;IAAK,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGxC,QAAQ,CAACgC,MAAM,CAAC;IAAA,IAAC;MAAEa,IAAI,GAAG;IAAM,CAAC,GAAA9E,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA+E,SAAA,GAAA/E,SAAA,MAAG,CAAC,CAAC;IAAA,OAAK8E,IAAI;EAAA,EAAC,CAACc,GAAG,CAAC,CAAC,IAAI,EAAE;EAChG,MAAM,CAACQ,cAAc,GAAG,CAAC,CAAC,EAAE,GAAGC,YAAY,CAAC,GAAGpE,QAAQ,CAACgC,MAAM,CAACqC,KAAA;IAAA,IAAC;MAAExB,IAAI;MAAET;IAAK,CAAC,GAAAiC,KAAA;IAAA,OAAK,EAAE,CAACxB,IAAI,IAAI,CAACT,IAAI,CAAC;EAAA,EAAC;EAErG,OAAO,CAAC9C,QAAQ,IAAI,CAAC,CAACO,MAAM,gBAC1BhE,MAAA,CAAAc,OAAA,CAAA2H,aAAA,CAAAzI,MAAA,CAAAc,OAAA,CAAA4H,QAAA,qBACE1I,MAAA,CAAAc,OAAA,CAAA2H,aAAA,CAAC5I,GAAA,CAAA8I,KAAK,EAAA7G,QAAA,KAAKa,MAAM;IAAEiG,GAAG;IAACrE,OAAO,EAAEA,OAAQ;IAACsE,SAAS,EAAE,IAAAC,UAAM,EAAC1I,KAAK,CAAC2I,SAAS,EAAEpG,MAAM,CAACkG,SAAS;EAAE,iBAC5F7I,MAAA,CAAAc,OAAA,CAAA2H,aAAA,CAACpI,WAAA,CAAA2I,MAAM;IAAChF,MAAM,EAAEA,MAAO;IAACiF,OAAO,EAAEA,CAAA,KAAMzE,UAAU,CAAC,KAAK;EAAE,CAAE,CAAC,EAE3D,CAAC+D,YAAY,CAACpG,MAAM,gBACnBnC,MAAA,CAAAc,OAAA,CAAA2H,aAAA,CAACpI,WAAA,CAAA6I,OAAO,EAAApH,QAAA,KAAKwG,cAAc,CAACjD,QAAQ;IAAE8D,OAAO,EAAErC;EAAY,EAAE,CAAC,gBAE9D9G,MAAA,CAAAc,OAAA,CAAA2H,aAAA,CAAAzI,MAAA,CAAAc,OAAA,CAAA4H,QAAA,qBACE1I,MAAA,CAAAc,OAAA,CAAA2H,aAAA,CAAC5I,GAAA,CAAAuJ,UAAU;IAACC,QAAQ,EAAE,IAAIxD,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAE;IAACwD,IAAI,EAAE,KAAM;IAACT,SAAS,EAAEzI,KAAK,CAAC+D;EAAS,GAChFoE,YAAY,CAAC9B,GAAG,CAAC,CAACe,OAAO,EAAE+B,KAAK;IAAA,IAAAC,aAAA;IAAA,oBAC/BxJ,MAAA,CAAAc,OAAA,CAAA2H,aAAA,CAACpI,WAAA,CAAAoJ,OAAO,EAAA3H,QAAA,KACF0F,OAAO;MACXnF,GAAG,aAAAqH,MAAA,CAAaH,KAAK,CAAG;MACxBI,QAAQ,EAAE9F,IAAI,IAAI0F,KAAK,GAAGhB,YAAY,CAACpG,MAAM,GAAG,CAAE;MAClDyH,QAAQ,EAAElC,YAAa;MACvBmC,OAAO,EAAEN,KAAK,KAAKhB,YAAY,CAACpG,MAAM,GAAG,CAAC,KAAAqH,aAAA,GAAIjB,YAAY,CAACgB,KAAK,GAAG,CAAC,CAAC,cAAAC,aAAA,eAAvBA,aAAA,CAAyBjD,IAAI,GAAGsB,WAAW,GAAGZ;IAAU,EACvG,CAAC;EAAA,CACH,CAAC,EACDpD,IAAI,iBAAI7D,MAAA,CAAAc,OAAA,CAAA2H,aAAA,CAACpI,WAAA,CAAAoJ,OAAO;IAACzC,IAAI;IAACnD,IAAI;EAAA,CAAE,CACnB,CAAC,eACb7D,MAAA,CAAAc,OAAA,CAAA2H,aAAA,CAACpI,WAAA,CAAAyJ,KAAK;IAACH,QAAQ,EAAE9F,IAAK;IAAC8C,IAAI,EAAEA,IAAK;IAACoD,OAAO,EAAEjD,WAAY;IAAC+B,SAAS,EAAEzI,KAAK,CAAC2G;EAAM,CAAE,CAClF,CACH,eACD/G,MAAA,CAAAc,OAAA,CAAA2H,aAAA,CAAC5I,GAAA,CAAAmK,IAAI;IAACC,KAAK;IAACC,IAAI;IAACrB,SAAS,EAAEzI,KAAK,CAAC+J;EAAQ,GACvCvH,SAAS,CAACwH,WAAI,CAACC,uBAAuB,EAAE;IAAEC,IAAI,EAAE;EAAO,CAAC,CACrD,CACD,CAAC,eAERtK,MAAA,CAAAc,OAAA,CAAA2H,aAAA,CAACpI,WAAA,CAAAkK,gBAAgB;IACTvG,MAAM;IAAEsE,cAAc;IAC5BkC,KAAK,EAAE,CAAC,CAACrG,QAAQ,CAAChC,MAAO;IACzBoC,OAAO,EAAEA,OAAQ;IACjBkG,OAAO,EAAEA,CAAA,KAAMjG,UAAU,CAAC,IAAI;EAAE,CACjC,CACD,CAAC,GACD,IAAI;AACV,CAAC;AAACkG,OAAA,CAAAjI,IAAA,GAAAA,IAAA;AAEFA,IAAI,CAACkI,WAAW,GAAG,iBAAiB;AAEpClI,IAAI,CAACmI,SAAS,GAAG;EACfN,IAAI,EAAEO,kBAAS,CAACC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","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","session","Chat","_ref","others","translate","useLocale","value","calendar","club","components","currency","hotel","id","locale","occupation","origin","stateSession","skeleton","tags","type","useStore","busy","setBusy","useState","config","setConfig","setError","messages","setMessages","online","setOnline","visible","setVisible","welcome","setWelcome","useEffect","keys","some","item","BANNED_COMPONENTS","includes","nextConfig","process","env","NODE_ENV","ServiceFeatures","handleOnline","ServiceLisa","context","catch","handleError","addMessage","timestamp","Date","getTime","lisa","clearInterval","setInterval","storeContext","filter","_ref2","storage","intent","text","slice","map","_ref3","response","form","next","status","handleInput","input","auto","undefined","nextMessages","setTimeout","_messages$filter$slic","_messages$filter$slic2","currentForm","_ref4","message","DELAY_RESPONSE","handleAction","nextContext","action","handleRetry","pop","error","notify","Event","publish","EVENT","INTENT_LOCALE","audioNotification","welcomeMessage","chatMessages","_ref5","createElement","Fragment","Modal","fit","className","styles","container","Header","onClose","Welcome","onInput","ScrollView","scrollTo","snap","index","_chatMessages","Message","concat","disabled","onAction","onRetry","Input","onValue","Text","light","tiny","warning","L10N","LABEL_WARNING_RESPONSES","name","ButtonDispatcher","ready","onPress","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures, ServiceLisa } from '@mirai/services';\nimport { Modal, ScrollView, styles, Text } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { BANNED_COMPONENTS, DELAY_RESPONSE } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { ButtonDispatcher, Header, Input, Message, Welcome } from './components';\nimport { audioNotification } from './helpers';\nimport { EVENT } from '../helpers';\n\nlet connectionInterval;\nlet session;\n\nconst Chat = ({ ...others }) => {\n const { translate } = useLocale();\n const {\n set,\n value: {\n calendar,\n club,\n components = {},\n currency,\n hotel,\n id,\n locale,\n occupation,\n origin,\n session: stateSession,\n skeleton = false,\n tags,\n type,\n },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [config, setConfig] = useState();\n const [, setError] = useState();\n const [messages, setMessages] = useState([]);\n const [online, setOnline] = useState(false);\n const [visible, setVisible] = useState(false);\n const [welcome, setWelcome] = useState();\n\n useEffect(() => {\n if (skeleton || Object.keys(components).some((item) => BANNED_COMPONENTS.includes(item))) return;\n\n const nextConfig = process.env.NODE_ENV === 'production' ? ServiceFeatures.get('lisa', id) : {};\n if (!nextConfig) return;\n setConfig(nextConfig);\n\n (async () => {\n if (!(await handleOnline())) return;\n\n setWelcome(await ServiceLisa.welcome({ context: { club, hotel }, locale, session }).catch(handleError));\n })();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n if (!welcome) return;\n\n if (!messages.length) return addMessage({ ...welcome, timestamp: new Date().getTime() }, messages);\n set({ lisa: messages[messages.length - 1] });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [welcome]);\n\n useEffect(() => {\n if (stateSession) session = stateSession;\n }, [stateSession]);\n\n useEffect(() => {\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 let storeContext = {\n calendar,\n club,\n currency,\n hotel,\n messages: messages\n .filter(({ storage, intent, text }) => !storage && (intent || text))\n .slice(-4)\n .map(({ intent, text, response: { form } = {} }) => ({ form, intent, text })),\n occupation,\n origin,\n tags,\n type,\n };\n\n const handleOnline = async () => {\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 return next;\n };\n\n const handleInput = (input, auto = false) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const currentForm = messages.filter(({ storage }) => !storage).slice(-1)[0]?.response?.form;\n\n storeContext = { ...storeContext, form: currentForm };\n const response = await ServiceLisa.message({ auto, context: storeContext, input, locale, session }).catch(\n handleError,\n );\n if (response) addMessage(response, nextMessages, true);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent, text } = {}) => {\n setBusy(true);\n\n setTimeout(async () => {\n const nextContext = { ...storeContext, ...context, form };\n const nextMessages = [...messages, { auto: false, text }];\n\n const response = await ServiceLisa.action({ context: nextContext, intent, locale, session }).catch(handleError);\n if (response) addMessage(response, nextMessages, true);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleRetry = async () => {\n setBusy(true);\n\n const nextMessages = [...messages];\n nextMessages.pop();\n\n setMessages(nextMessages);\n const { text: input, response: { form } = {} } = nextMessages[nextMessages.length - 1] || {};\n storeContext = { ...storeContext, form };\n const response = await ServiceLisa.message({ context: storeContext, input, locale, session }).catch(handleError);\n if (response) addMessage(response, nextMessages, true);\n setBusy(false);\n };\n\n const handleError = (error) => {\n setError(error);\n setOnline(false);\n };\n\n const addMessage = (response = {}, messages = [], notify = false) => {\n if (!response) return;\n\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n\n if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n if (notify) audioNotification();\n };\n\n const { response: { form } = {} } = messages.filter(({ auto = false } = {}) => auto).pop() || [];\n const [welcomeMessage = {}, ...chatMessages] = messages.filter(({ auto, text }) => !(!auto && !text));\n\n return !skeleton && !!config ? (\n <>\n <Modal {...others} fit visible={visible} className={styles(style.container, others.className)}>\n <Header config={config} onClose={() => setVisible(false)} />\n\n {!chatMessages.length ? (\n <Welcome {...welcomeMessage.response} onInput={handleInput} />\n ) : (\n <>\n <ScrollView scrollTo={new Date().getTime()} snap={false} className={style.messages}>\n {chatMessages.map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < chatMessages.length - 1}\n onAction={handleAction}\n onRetry={index === chatMessages.length - 1 && chatMessages[index - 1]?.text ? handleRetry : undefined}\n />\n ))}\n {busy && <Message auto busy />}\n </ScrollView>\n <Input disabled={busy} form={form} onValue={handleInput} className={style.input} />\n </>\n )}\n <Text light tiny className={style.warning}>\n {translate(L10N.LABEL_WARNING_RESPONSES, { name: 'Lisa' })}\n </Text>\n </Modal>\n\n <ButtonDispatcher\n {...{ config, welcomeMessage }}\n ready={!!messages.length}\n visible={visible}\n onPress={() => setVisible(true)}\n />\n </>\n ) : null;\n};\n\nChat.displayName = 'Mirai:Core:Chat';\n\nChat.propTypes = {\n name: PropTypes.string,\n};\n\nexport { Chat };\n"],"mappings":"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"}
|
|
@@ -47,9 +47,10 @@ const OccupationGroup = _ref => {
|
|
|
47
47
|
const handleAge = function () {
|
|
48
48
|
let nextAge = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
49
49
|
let index = arguments.length > 1 ? arguments[1] : undefined;
|
|
50
|
-
|
|
50
|
+
const nextAges = [...ages];
|
|
51
|
+
nextAges[index] = nextAge.length !== 0 ? parseInt(nextAge, 10) : undefined;
|
|
51
52
|
onChange({
|
|
52
|
-
ages,
|
|
53
|
+
ages: nextAges,
|
|
53
54
|
amount,
|
|
54
55
|
type
|
|
55
56
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Occupation.Group.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Occupation","_Occupation2","style","_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","OccupationGroup","_ref","age","fulfill","max","min","type","TYPE","ADULT","value","onChange","others","translate","useLocale","useEffect","amount","ages","handleAmount","nextAmount","pop","push","undefined","handleAge","nextAge","index","parseInt","createElement","Fragment","InputNumber","hint","getAgeRange","label","L10N","LABEL_OCCUPATION_TYPE","adults","children","guests","name","concat","rounded","step","className","styles","inputNumber","offset","testId","View","row","inputs","Array","from","_","_ages$index","InputSelect","getAgeOptions","error","toString","inputSelect","CHILD","INFANT","includes","Text","light","small","LABEL_AGE_HINT","exports","displayName","propTypes","PropTypes","arrayOf","number","bool","isRequired","shape","func"],"sources":["../../../../src/components/__shared__/Occupation/Occupation.Group.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { InputNumber, InputSelect, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { getAgeOptions } from './helpers';\nimport { TYPE } from './Occupation.constants';\nimport { L10N } from './Occupation.l10n';\nimport * as style from './Occupation.module.css';\nimport { getAgeRange } from '../../helpers';\n\nconst OccupationGroup = ({\n age = [],\n fulfill = false,\n max,\n min = 0,\n type = TYPE.ADULT,\n value = {},\n onChange = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n\n useEffect(() => {}, []);\n\n const { amount, ages = [] } = value;\n\n const handleAmount = (nextAmount) => {\n if (nextAmount < amount) ages.pop();\n else ages.push(undefined);\n onChange({ ages, amount: nextAmount, type });\n };\n\n const handleAge = (nextAge = '', index) => {\n ages[index] = nextAge.length !== 0 ? parseInt(nextAge, 10) : undefined;\n onChange({ ages, amount, type });\n };\n\n return (\n <>\n <InputNumber\n hint={getAgeRange(age, translate)}\n label={translate(L10N.LABEL_OCCUPATION_TYPE[type], { adults: '', children: '', guests: '' })}\n max={max}\n min={min}\n name={`occupation-${type}-${max || ''}`}\n rounded={false}\n step={1}\n value={amount}\n className={styles(style.inputNumber, style.offset)}\n onChange={handleAmount}\n testId={others.testId}\n />\n {fulfill && amount > 0 && (\n <View className={styles(style.ages, style.offset)}>\n <View row className={style.inputs}>\n {Array.from({ length: amount }, (_, index) => (\n <InputSelect\n {...getAgeOptions(age, translate)}\n name={`age-${age}`}\n error={ages[index] === undefined}\n key={`occupation:group:${index}`}\n value={ages[index]?.toString()}\n onChange={(value) => handleAge(value, index)}\n className={style.inputSelect}\n testId={others.testId ? `${others.testId}-select-${index}` : undefined}\n />\n ))}\n </View>\n {[TYPE.CHILD, TYPE.INFANT].includes(type) && (\n <Text light small>\n {translate(L10N.LABEL_AGE_HINT)}\n </Text>\n )}\n </View>\n )}\n </>\n );\n};\n\nOccupationGroup.displayName = 'Finder:Occupation:OccupationGroup';\n\nOccupationGroup.propTypes = {\n age: PropTypes.arrayOf(PropTypes.number),\n fulfill: PropTypes.bool,\n max: PropTypes.number,\n min: PropTypes.number,\n type: PropTypes.number.isRequired,\n value: PropTypes.shape({\n amount: PropTypes.number,\n ages: PropTypes.arrayOf(PropTypes.number),\n }),\n onChange: PropTypes.func.isRequired,\n};\n\nexport { OccupationGroup };\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Occupation.Group.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Occupation","_Occupation2","style","_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","OccupationGroup","_ref","age","fulfill","max","min","type","TYPE","ADULT","value","onChange","others","translate","useLocale","useEffect","amount","ages","handleAmount","nextAmount","pop","push","undefined","handleAge","nextAge","index","nextAges","parseInt","createElement","Fragment","InputNumber","hint","getAgeRange","label","L10N","LABEL_OCCUPATION_TYPE","adults","children","guests","name","concat","rounded","step","className","styles","inputNumber","offset","testId","View","row","inputs","Array","from","_","_ages$index","InputSelect","getAgeOptions","error","toString","inputSelect","CHILD","INFANT","includes","Text","light","small","LABEL_AGE_HINT","exports","displayName","propTypes","PropTypes","arrayOf","number","bool","isRequired","shape","func"],"sources":["../../../../src/components/__shared__/Occupation/Occupation.Group.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { InputNumber, InputSelect, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { getAgeOptions } from './helpers';\nimport { TYPE } from './Occupation.constants';\nimport { L10N } from './Occupation.l10n';\nimport * as style from './Occupation.module.css';\nimport { getAgeRange } from '../../helpers';\n\nconst OccupationGroup = ({\n age = [],\n fulfill = false,\n max,\n min = 0,\n type = TYPE.ADULT,\n value = {},\n onChange = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n\n useEffect(() => {}, []);\n\n const { amount, ages = [] } = value;\n\n const handleAmount = (nextAmount) => {\n if (nextAmount < amount) ages.pop();\n else ages.push(undefined);\n onChange({ ages, amount: nextAmount, type });\n };\n\n const handleAge = (nextAge = '', index) => {\n const nextAges = [...ages];\n nextAges[index] = nextAge.length !== 0 ? parseInt(nextAge, 10) : undefined;\n onChange({ ages: nextAges, amount, type });\n };\n\n return (\n <>\n <InputNumber\n hint={getAgeRange(age, translate)}\n label={translate(L10N.LABEL_OCCUPATION_TYPE[type], { adults: '', children: '', guests: '' })}\n max={max}\n min={min}\n name={`occupation-${type}-${max || ''}`}\n rounded={false}\n step={1}\n value={amount}\n className={styles(style.inputNumber, style.offset)}\n onChange={handleAmount}\n testId={others.testId}\n />\n {fulfill && amount > 0 && (\n <View className={styles(style.ages, style.offset)}>\n <View row className={style.inputs}>\n {Array.from({ length: amount }, (_, index) => (\n <InputSelect\n {...getAgeOptions(age, translate)}\n name={`age-${age}`}\n error={ages[index] === undefined}\n key={`occupation:group:${index}`}\n value={ages[index]?.toString()}\n onChange={(value) => handleAge(value, index)}\n className={style.inputSelect}\n testId={others.testId ? `${others.testId}-select-${index}` : undefined}\n />\n ))}\n </View>\n {[TYPE.CHILD, TYPE.INFANT].includes(type) && (\n <Text light small>\n {translate(L10N.LABEL_AGE_HINT)}\n </Text>\n )}\n </View>\n )}\n </>\n );\n};\n\nOccupationGroup.displayName = 'Finder:Occupation:OccupationGroup';\n\nOccupationGroup.propTypes = {\n age: PropTypes.arrayOf(PropTypes.number),\n fulfill: PropTypes.bool,\n max: PropTypes.number,\n min: PropTypes.number,\n type: PropTypes.number.isRequired,\n value: PropTypes.shape({\n amount: PropTypes.number,\n ages: PropTypes.arrayOf(PropTypes.number),\n }),\n onChange: PropTypes.func.isRequired,\n};\n\nexport { OccupationGroup };\n"],"mappings":"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"}
|
|
@@ -18,19 +18,19 @@ const EventManager = () => {
|
|
|
18
18
|
set
|
|
19
19
|
} = (0, _dataSources.useStore)();
|
|
20
20
|
(0, _react.useEffect)(() => {
|
|
21
|
-
|
|
22
|
-
_dataSources.Event.
|
|
21
|
+
_dataSources.Event.subscribe(_EventManager.EVENT.SET_STORE, handleSetStore);
|
|
22
|
+
return () => _dataSources.Event.unsubscribe(_EventManager.EVENT.SET_STORE, handleSetStore);
|
|
23
|
+
|
|
23
24
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
24
|
-
}, []);
|
|
25
|
+
}, [finder, origin]);
|
|
25
26
|
(0, _react.useEffect)(() => {
|
|
27
|
+
if (!finder) return;
|
|
26
28
|
_dataSources.Event.subscribe(_helpers.EVENT.FINDER_FIELD_CHANGE, handleFinderFieldChange);
|
|
27
|
-
_dataSources.Event.
|
|
28
|
-
return () =>
|
|
29
|
-
|
|
30
|
-
_dataSources.Event.unsubscribe(_EventManager.EVENT.SET_STORE, handleSetStore);
|
|
31
|
-
};
|
|
29
|
+
_dataSources.Event.publish(_EventManager.EVENT.FINDER_LOADED, finder);
|
|
30
|
+
return () => _dataSources.Event.unsubscribe(_helpers.EVENT.FINDER_FIELD_CHANGE, handleFinderFieldChange);
|
|
31
|
+
|
|
32
32
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
33
|
-
}, [
|
|
33
|
+
}, []);
|
|
34
34
|
const handleFinderFieldChange = value => _dataSources.Event.publish(_EventManager.EVENT.FINDER_CHANGE, value);
|
|
35
35
|
const handleSetStore = function () {
|
|
36
36
|
var _tags$options;
|
|
@@ -43,7 +43,6 @@ const EventManager = () => {
|
|
|
43
43
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
44
44
|
let next = {};
|
|
45
45
|
if (commissionCode) next.origin = {
|
|
46
|
-
...origin,
|
|
47
46
|
commissionCode
|
|
48
47
|
};
|
|
49
48
|
if (calendar !== null && calendar !== void 0 && calendar.length && (calendar === null || calendar === void 0 ? void 0 : calendar.length) === 2) next.finder = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventManager.js","names":["_dataSources","require","_react","_EventManager","_helpers","EventManager","value","finder","origin","tags","set","useStore","useEffect","Event","
|
|
1
|
+
{"version":3,"file":"EventManager.js","names":["_dataSources","require","_react","_EventManager","_helpers","EventManager","value","finder","origin","tags","set","useStore","useEffect","Event","subscribe","EVENT","SET_STORE","handleSetStore","unsubscribe","COMPONENTS_EVENT","FINDER_FIELD_CHANGE","handleFinderFieldChange","publish","FINDER_LOADED","FINDER_CHANGE","_tags$options","chainSelectorValue","placeId","calendar","hsri","commissionCode","occupation","promocode","arguments","length","undefined","next","place","options","find","exports"],"sources":["../../../src/contexts/EventManager/EventManager.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useEffect } from 'react';\n\nimport { EVENT } from './EventManager.constants';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\n\nconst EventManager = () => {\n const { value: { finder = {}, origin = {}, tags = {} } = {}, set } = useStore();\n\n useEffect(() => {\n Event.subscribe(EVENT.SET_STORE, handleSetStore);\n\n return () => Event.unsubscribe(EVENT.SET_STORE, handleSetStore);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [finder, origin]);\n\n useEffect(() => {\n if (!finder) return;\n\n Event.subscribe(COMPONENTS_EVENT.FINDER_FIELD_CHANGE, handleFinderFieldChange);\n\n Event.publish(EVENT.FINDER_LOADED, finder);\n\n return () => Event.unsubscribe(COMPONENTS_EVENT.FINDER_FIELD_CHANGE, handleFinderFieldChange);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleFinderFieldChange = (value) => Event.publish(EVENT.FINDER_CHANGE, value);\n\n const handleSetStore = ({\n chainSelectorValue: placeId,\n calendar,\n hsri: commissionCode,\n occupation,\n promocode,\n } = {}) => {\n let next = {};\n\n if (commissionCode) next.origin = { commissionCode };\n if (calendar?.length && calendar?.length === 2) next.finder = { calendar };\n if (occupation?.length) next.finder = { ...next.finder, occupation };\n if (promocode !== undefined && promocode !== null) next.finder = { ...next.finder, promocode };\n if (placeId) next.finder = { ...next.finder, place: tags?.options?.find(({ value } = {}) => value === placeId) };\n\n set(next);\n };\n\n return null;\n};\n\nexport { EventManager };\n"],"mappings":"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"}
|