@mirai/core 0.4.472 → 0.4.474
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 +0 -2
- package/build/components/Chat/Chat.js.map +1 -1
- package/build/components/Chat/components/Aura/Aura.js +9 -6
- package/build/components/Chat/components/Aura/Aura.js.map +1 -1
- package/build/components/Chat/components/Aura/hooks/useOpenAiRealtimeSession.js +6 -0
- package/build/components/Chat/components/Aura/hooks/useOpenAiRealtimeSession.js.map +1 -1
- package/build/components/__shared__/ButtonPayment/ButtonPayment.js +1 -0
- package/build/components/__shared__/ButtonPayment/ButtonPayment.js.map +1 -1
- package/build/components/__shared__/ButtonPayment/ButtonPayment.module.css +1 -1
- package/build/components/__shared__/ButtonPayment/components/FormAddon/FormAddon.js +14 -5
- package/build/components/__shared__/ButtonPayment/components/FormAddon/FormAddon.js.map +1 -1
- package/build/components/__shared__/ButtonPayment/components/FormAddon/FormAddon.l10n.js +0 -3
- package/build/components/__shared__/ButtonPayment/components/FormAddon/FormAddon.l10n.js.map +1 -1
- package/build/components/__shared__/ButtonPayment/components/FormAddon/FormAddon.module.css +2 -2
- package/build/components/__shared__/ButtonPayment/components/FormAddon/components/GooglePay/GooglePay.js +139 -0
- package/build/components/__shared__/ButtonPayment/components/FormAddon/components/GooglePay/GooglePay.js.map +1 -0
- package/build/components/__shared__/ButtonPayment/components/FormAddon/components/GooglePay/GooglePay.l10n.js +12 -0
- package/build/components/__shared__/ButtonPayment/components/FormAddon/components/GooglePay/GooglePay.l10n.js.map +1 -0
- package/build/components/__shared__/ButtonPayment/components/FormAddon/components/GooglePay/GooglePay.module.css +22 -0
- package/build/components/__shared__/ButtonPayment/components/FormAddon/components/GooglePay/helpers/getPaymentData.js +44 -0
- package/build/components/__shared__/ButtonPayment/components/FormAddon/components/GooglePay/helpers/getPaymentData.js.map +1 -0
- package/build/components/__shared__/ButtonPayment/components/FormAddon/components/GooglePay/helpers/index.js +17 -0
- package/build/components/__shared__/ButtonPayment/components/FormAddon/components/GooglePay/helpers/index.js.map +1 -0
- package/build/components/__shared__/ButtonPayment/components/FormAddon/components/GooglePay/index.js +17 -0
- package/build/components/__shared__/ButtonPayment/components/FormAddon/components/GooglePay/index.js.map +1 -0
- package/build/helpers/loadScript.js +6 -5
- package/build/helpers/loadScript.js.map +1 -1
- package/package.json +1 -1
|
@@ -129,7 +129,6 @@ const Chat = _ref => {
|
|
|
129
129
|
setVisible(false);
|
|
130
130
|
setInputMode();
|
|
131
131
|
};
|
|
132
|
-
const hasAura = navigator.mediaDevices && assistant.enabled;
|
|
133
132
|
const isReady = !skeleton && Object.keys(components).every(item => !_Chat.BANNED_COMPONENTS.includes(item)) && assistant.enabled;
|
|
134
133
|
// ? TODO: Get entities, from where... which strategy?
|
|
135
134
|
const {
|
|
@@ -157,7 +156,6 @@ const Chat = _ref => {
|
|
|
157
156
|
})), /*#__PURE__*/_react.default.createElement(_components.Input, {
|
|
158
157
|
disabled: busy,
|
|
159
158
|
entities: entities,
|
|
160
|
-
hasAura: hasAura,
|
|
161
159
|
onValue: handleInput,
|
|
162
160
|
className: style.input
|
|
163
161
|
})) : inputMode === _Chat.INPUT_MODE.AUDIO ? /*#__PURE__*/_react.default.createElement(_Aura.Aura, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_Aura","_helpers","_Core","_helpers2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectDestructuringEmpty","_extends","assign","bind","Chat","_ref","others","translate","useLocale","isMobile","useDevice","assistant","calendar","components","currency","hotel","id","locale","occupation","origin","session","skeleton","type","urlParams","mcp","useStore","useEffect","Event","subscribe","EVENT","CHAT_OPEN","handleOpen","unsubscribe","busy","setBusy","useState","inputMode","setInputMode","messages","setMessages","visible","setVisible","handleInput","input","shortcutMessage","undefined","nextMessages","text","timestamp","Date","getTime","setTimeout","context","TYPE","CHAIN","process","env","NODE_ENV","chain","response","ServiceSynapse","message","catch","synapse","audioNotification","DELAY_RESPONSE","handleInputMode","next","publish","METRICS","concat","toUpperCase","source","SARAI_SOURCE","CHAT_OPENED","event","handleClose","hasAura","navigator","mediaDevices","enabled","isReady","every","item","BANNED_COMPONENTS","includes","entities","createElement","Fragment","Modal","fit","portal","className","styles","container","Header","onClose","Welcome","onInputMode","INPUT_MODE","TEXT","ScrollView","scrollTo","snap","map","index","Message","key","disabled","Input","onValue","AUDIO","Aura","onCallEnd","Text","light","tiny","warning","L10N","LABEL_WARNING_RESPONSES","name","DEFAULT_NAME","ButtonDispatcher","onPress","exports"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceSynapse } from '@mirai/services';\nimport { Modal, ScrollView, styles, Text, useDevice } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { BANNED_COMPONENTS, DEFAULT_NAME, DELAY_RESPONSE, INPUT_MODE } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { ButtonDispatcher, Header, Input, Message, Welcome } from './components';\nimport { Aura } from './components/Aura/Aura';\nimport { audioNotification } from './helpers';\nimport { SARAI_SOURCE, TYPE } from '../../Core.constants';\nimport { EVENT } from '../helpers';\n\nconst Chat = ({ ...others }) => {\n const { translate } = useLocale();\n const { isMobile } = useDevice();\n const {\n value: {\n assistant = {},\n calendar,\n components = {},\n currency,\n hotel,\n id,\n locale,\n occupation,\n origin,\n session,\n skeleton = false,\n type,\n urlParams: { mcp } = {},\n } = {},\n } = useStore();\n\n useEffect(() => {\n if (skeleton) return;\n\n Event.subscribe(EVENT.CHAT_OPEN, handleOpen);\n return () => Event.unsubscribe(EVENT.CHAT_OPEN, handleOpen);\n }, [skeleton]);\n\n const [busy, setBusy] = useState(false);\n const [inputMode, setInputMode] = useState();\n const [messages, setMessages] = useState([]);\n const [visible, setVisible] = useState(false);\n\n const handleInput = (input, shortcutMessage = false) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n\n const context = { calendar, currency, isMobile, locale, occupation, origin, shortcutMessage };\n if (type === TYPE.CHAIN || (process.env.NODE_ENV === 'preproduction' && id === '100379008')) {\n context.chain = { id: process.env.NODE_ENV === 'preproduction' && id === '100379008' ? '500659' : id };\n }\n if (hotel.id) context.hotel = hotel;\n\n const response = await ServiceSynapse.message({\n context,\n input,\n session,\n mcp: mcp === 'true',\n }).catch(() => {});\n\n if (response) {\n setMessages([...nextMessages, { synapse: true, ...response }]);\n\n // ! TODO: Handle locale\n // if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n audioNotification();\n }\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleInputMode = (next) => {\n setInputMode(next);\n Event.publish(EVENT.METRICS, { id: `SARAI:INPUT_MODE:${next.toUpperCase()}` });\n };\n\n const handleOpen = ({ source = SARAI_SOURCE } = {}) => {\n setVisible(true);\n Event.publish(EVENT.CHAT_OPENED, { event: EVENT.CHAT_OPENED, source });\n Event.publish(EVENT.METRICS, { id: 'SARAI:OPEN' });\n };\n\n const handleClose = () => {\n Event.publish(EVENT.METRICS, { id: 'SARAI:CLOSE' });\n setVisible(false);\n setInputMode();\n };\n\n const hasAura = navigator.mediaDevices && assistant.enabled;\n const isReady =\n !skeleton && Object.keys(components).every((item) => !BANNED_COMPONENTS.includes(item)) && assistant.enabled;\n // ? TODO: Get entities, from where... which strategy?\n const { entities = {} } = messages[messages.length - 1] || {};\n\n return isReady ? (\n <>\n <Modal {...others} fit portal visible={visible} className={styles(style.container, others.className)}>\n <Header onClose={handleClose} />\n\n {!inputMode ? (\n <Welcome onInputMode={handleInputMode} />\n ) : inputMode === INPUT_MODE.TEXT ? (\n <>\n <ScrollView scrollTo={new Date().getTime()} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message key={`message:${index}`} disabled={busy || index < messages.length - 1} {...message} />\n ))}\n {busy && <Message busy synapse />}\n </ScrollView>\n <Input\n disabled={busy}\n entities={entities}\n hasAura={hasAura}\n onValue={handleInput}\n className={style.input}\n />\n </>\n ) : inputMode === INPUT_MODE.AUDIO ? (\n <Aura onCallEnd={() => setInputMode()} />\n ) : null}\n <Text light tiny className={style.warning}>\n {translate(L10N.LABEL_WARNING_RESPONSES, { name: assistant.name || DEFAULT_NAME })}\n </Text>\n </Modal>\n\n <ButtonDispatcher visible={visible} onPress={handleOpen} />\n </>\n ) : null;\n};\n\nexport { Chat };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_Aura","_helpers","_Core","_helpers2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectDestructuringEmpty","_extends","assign","bind","Chat","_ref","others","translate","useLocale","isMobile","useDevice","assistant","calendar","components","currency","hotel","id","locale","occupation","origin","session","skeleton","type","urlParams","mcp","useStore","useEffect","Event","subscribe","EVENT","CHAT_OPEN","handleOpen","unsubscribe","busy","setBusy","useState","inputMode","setInputMode","messages","setMessages","visible","setVisible","handleInput","input","shortcutMessage","undefined","nextMessages","text","timestamp","Date","getTime","setTimeout","context","TYPE","CHAIN","process","env","NODE_ENV","chain","response","ServiceSynapse","message","catch","synapse","audioNotification","DELAY_RESPONSE","handleInputMode","next","publish","METRICS","concat","toUpperCase","source","SARAI_SOURCE","CHAT_OPENED","event","handleClose","isReady","every","item","BANNED_COMPONENTS","includes","enabled","entities","createElement","Fragment","Modal","fit","portal","className","styles","container","Header","onClose","Welcome","onInputMode","INPUT_MODE","TEXT","ScrollView","scrollTo","snap","map","index","Message","key","disabled","Input","onValue","AUDIO","Aura","onCallEnd","Text","light","tiny","warning","L10N","LABEL_WARNING_RESPONSES","name","DEFAULT_NAME","ButtonDispatcher","onPress","exports"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceSynapse } from '@mirai/services';\nimport { Modal, ScrollView, styles, Text, useDevice } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { BANNED_COMPONENTS, DEFAULT_NAME, DELAY_RESPONSE, INPUT_MODE } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { ButtonDispatcher, Header, Input, Message, Welcome } from './components';\nimport { Aura } from './components/Aura/Aura';\nimport { audioNotification } from './helpers';\nimport { SARAI_SOURCE, TYPE } from '../../Core.constants';\nimport { EVENT } from '../helpers';\n\nconst Chat = ({ ...others }) => {\n const { translate } = useLocale();\n const { isMobile } = useDevice();\n const {\n value: {\n assistant = {},\n calendar,\n components = {},\n currency,\n hotel,\n id,\n locale,\n occupation,\n origin,\n session,\n skeleton = false,\n type,\n urlParams: { mcp } = {},\n } = {},\n } = useStore();\n\n useEffect(() => {\n if (skeleton) return;\n\n Event.subscribe(EVENT.CHAT_OPEN, handleOpen);\n return () => Event.unsubscribe(EVENT.CHAT_OPEN, handleOpen);\n }, [skeleton]);\n\n const [busy, setBusy] = useState(false);\n const [inputMode, setInputMode] = useState();\n const [messages, setMessages] = useState([]);\n const [visible, setVisible] = useState(false);\n\n const handleInput = (input, shortcutMessage = false) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n\n const context = { calendar, currency, isMobile, locale, occupation, origin, shortcutMessage };\n if (type === TYPE.CHAIN || (process.env.NODE_ENV === 'preproduction' && id === '100379008')) {\n context.chain = { id: process.env.NODE_ENV === 'preproduction' && id === '100379008' ? '500659' : id };\n }\n if (hotel.id) context.hotel = hotel;\n\n const response = await ServiceSynapse.message({\n context,\n input,\n session,\n mcp: mcp === 'true',\n }).catch(() => {});\n\n if (response) {\n setMessages([...nextMessages, { synapse: true, ...response }]);\n\n // ! TODO: Handle locale\n // if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n audioNotification();\n }\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleInputMode = (next) => {\n setInputMode(next);\n Event.publish(EVENT.METRICS, { id: `SARAI:INPUT_MODE:${next.toUpperCase()}` });\n };\n\n const handleOpen = ({ source = SARAI_SOURCE } = {}) => {\n setVisible(true);\n Event.publish(EVENT.CHAT_OPENED, { event: EVENT.CHAT_OPENED, source });\n Event.publish(EVENT.METRICS, { id: 'SARAI:OPEN' });\n };\n\n const handleClose = () => {\n Event.publish(EVENT.METRICS, { id: 'SARAI:CLOSE' });\n setVisible(false);\n setInputMode();\n };\n\n const isReady =\n !skeleton && Object.keys(components).every((item) => !BANNED_COMPONENTS.includes(item)) && assistant.enabled;\n // ? TODO: Get entities, from where... which strategy?\n const { entities = {} } = messages[messages.length - 1] || {};\n\n return isReady ? (\n <>\n <Modal {...others} fit portal visible={visible} className={styles(style.container, others.className)}>\n <Header onClose={handleClose} />\n\n {!inputMode ? (\n <Welcome onInputMode={handleInputMode} />\n ) : inputMode === INPUT_MODE.TEXT ? (\n <>\n <ScrollView scrollTo={new Date().getTime()} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message key={`message:${index}`} disabled={busy || index < messages.length - 1} {...message} />\n ))}\n {busy && <Message busy synapse />}\n </ScrollView>\n <Input disabled={busy} entities={entities} onValue={handleInput} className={style.input} />\n </>\n ) : inputMode === INPUT_MODE.AUDIO ? (\n <Aura onCallEnd={() => setInputMode()} />\n ) : null}\n <Text light tiny className={style.warning}>\n {translate(L10N.LABEL_WARNING_RESPONSES, { name: assistant.name || DEFAULT_NAME })}\n </Text>\n </Modal>\n\n <ButtonDispatcher visible={visible} onPress={handleOpen} />\n </>\n ) : null;\n};\n\nexport { Chat };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -58,7 +58,10 @@ const Aura = _ref => {
|
|
|
58
58
|
if (ready) handleCallEnd();
|
|
59
59
|
};
|
|
60
60
|
_dataSources.Event.subscribe(_helpers2.EVENT.SARAI_MESSAGE_SENT, callback);
|
|
61
|
-
return () =>
|
|
61
|
+
return () => {
|
|
62
|
+
_dataSources.Event.unsubscribe(_helpers2.EVENT.SARAI_MESSAGE_SENT, callback);
|
|
63
|
+
if (openai === 'true') callback();
|
|
64
|
+
};
|
|
62
65
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
63
66
|
}, [conversation, ready]);
|
|
64
67
|
(0, _react2.useEffect)(() => {
|
|
@@ -72,17 +75,17 @@ const Aura = _ref => {
|
|
|
72
75
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
73
76
|
}, [context]);
|
|
74
77
|
const handleCallStart = async () => {
|
|
78
|
+
const {
|
|
79
|
+
name: assistant_name = 'Sarai'
|
|
80
|
+
} = assistant;
|
|
81
|
+
const isChain = type === _Core.TYPE.CHAIN && !hotel.id;
|
|
82
|
+
const chainId = isChain ? id : undefined;
|
|
75
83
|
if (!navigator.mediaDevices || !conversation || !context && !chainId) {
|
|
76
84
|
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
77
85
|
id: 'AURA:ERROR'
|
|
78
86
|
});
|
|
79
87
|
return;
|
|
80
88
|
}
|
|
81
|
-
const {
|
|
82
|
-
name: assistant_name = 'Sarai'
|
|
83
|
-
} = assistant;
|
|
84
|
-
const isChain = type === _Core.TYPE.CHAIN && !hotel.id;
|
|
85
|
-
const chainId = isChain ? id : undefined;
|
|
86
89
|
setIsConnecting(true);
|
|
87
90
|
try {
|
|
88
91
|
if (openai === 'true') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Aura.js","names":["_react","require","_dataSources","_locale","_ui","_propTypes","_interopRequireDefault","_react2","_interopRequireWildcard","_Aura","style","_Aura2","_helpers","_useOpenAiRealtimeSession","_Core","_helpers2","_Chat","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","Aura","_ref","onCallEnd","conversation","useConversation","startSession","endSession","audioAnalyzers","useOpenAiRealtimeSession","assistant","hotel","id","locale","type","urlParams","openai","useStore","translate","useLocale","context","setContext","useState","isConnecting","setIsConnecting","ready","setReady","useEffect","callback","handleCallEnd","Event","subscribe","EVENT","SARAI_MESSAGE_SENT","unsubscribe","TYPE","CHAIN","hotelId","handleCallStart","navigator","mediaDevices","chainId","publish","METRICS","name","assistant_name","isChain","undefined","getUserMedia","audio","sessionConfig","clientTools","open_url","toolOpenUrl","dynamicVariables","chain_id","overrides","agent","language","split","signedUrl","getSignedUrl","onConnect","onDisconnect","onError","error","message","createElement","Fragment","Waveform","active","View","className","footer","Text","action","L10N","LABEL_CALLING","DEFAULT_NAME","Button","busy","rounded","squared","large","tooltip","LABEL_HANG_UP","onPress","styles","button","Icon","ICON","HANG_UP","exports","displayName","propTypes","PropTypes","func"],"sources":["../../../../../src/components/Chat/components/Aura/Aura.jsx"],"sourcesContent":["import { useConversation } from '@elevenlabs/react';\nimport { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './Aura.l10n';\nimport * as style from './Aura.module.css';\nimport { Waveform } from './Aura.waveform';\nimport { getSignedUrl, toolOpenUrl } from './helpers';\nimport { useOpenAiRealtimeSession } from './hooks/useOpenAiRealtimeSession';\nimport { TYPE } from '../../../../Core.constants';\nimport { EVENT, ICON } from '../../../helpers';\nimport { DEFAULT_NAME } from '../../Chat.constants';\n\nconst Aura = ({ onCallEnd = () => {} }) => {\n const conversation = useConversation();\n const { startSession, endSession, audioAnalyzers } = useOpenAiRealtimeSession();\n const { value: { assistant = {}, hotel = {}, id, locale, type, urlParams: { openai } = {} } = {} } = useStore();\n const { translate } = useLocale();\n\n const [context, setContext] = useState(null);\n const [isConnecting, setIsConnecting] = useState(false);\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n const callback = async () => {\n if (ready) handleCallEnd();\n };\n\n Event.subscribe(EVENT.SARAI_MESSAGE_SENT, callback);\n return () => Event.unsubscribe(EVENT.SARAI_MESSAGE_SENT, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [conversation, ready]);\n\n useEffect(() => {\n if (type === TYPE.CHAIN && !hotel.id) return;\n\n setContext({ hotelId: hotel.id });\n }, [hotel.id, type]);\n\n useEffect(() => {\n handleCallStart();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [context]);\n\n const handleCallStart = async () => {\n if (!navigator.mediaDevices || !conversation || (!context && !chainId)) {\n Event.publish(EVENT.METRICS, { id: 'AURA:ERROR' });\n return;\n }\n\n const { name: assistant_name = 'Sarai' } = assistant;\n const isChain = type === TYPE.CHAIN && !hotel.id;\n const chainId = isChain ? id : undefined;\n\n setIsConnecting(true);\n try {\n if (openai === 'true') {\n await startSession({\n assistant_name,\n chainId,\n hotelId: context.hotelId,\n isChain,\n locale,\n setIsConnecting,\n setReady,\n });\n return;\n }\n\n await navigator.mediaDevices.getUserMedia({ audio: true });\n\n const sessionConfig = {\n clientTools: { open_url: toolOpenUrl },\n dynamicVariables: { assistant_name, ...(chainId ? { chain_id: chainId } : { hotelId: context.hotelId }) },\n overrides: { agent: { language: locale.split('-')[0] } },\n signedUrl: await getSignedUrl(!!chainId),\n onConnect: () => {\n Event.publish(EVENT.METRICS, { id: 'AURA:START' });\n setIsConnecting(false);\n setReady(true);\n },\n onDisconnect: handleCallEnd,\n onError: (error) => {\n setIsConnecting(false);\n Event.publish(EVENT.METRICS, { id: 'AURA:ERROR', error: error?.message });\n },\n };\n\n await conversation.startSession(sessionConfig);\n } catch (error) {\n setIsConnecting(false);\n }\n };\n\n const handleCallEnd = () => {\n if (openai === 'true') endSession();\n else conversation.endSession();\n setReady(false);\n onCallEnd();\n Event.publish(EVENT.METRICS, { id: 'AURA:CALL_END' });\n };\n\n return !(!context && !(type === TYPE.CHAIN && !hotel.id)) ? (\n <>\n <Waveform active={ready} conversation={openai === 'true' ? audioAnalyzers : conversation} />\n <View className={style.footer}>\n {isConnecting && <Text action>{translate(L10N.LABEL_CALLING, { name: assistant.name || DEFAULT_NAME })}</Text>}\n <Button\n busy={isConnecting}\n rounded\n squared\n large\n tooltip={translate(L10N.LABEL_HANG_UP)}\n onPress={handleCallEnd}\n className={styles(style.button, ready && style.ready)}\n >\n <Icon value={ICON.HANG_UP} />\n </Button>\n </View>\n </>\n ) : null;\n};\n\nAura.displayName = 'Mirai:Core:Chat.Aura';\n\nAura.propTypes = {\n onCallEnd: PropTypes.func,\n};\n\nexport { Aura };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Aura.js","names":["_react","require","_dataSources","_locale","_ui","_propTypes","_interopRequireDefault","_react2","_interopRequireWildcard","_Aura","style","_Aura2","_helpers","_useOpenAiRealtimeSession","_Core","_helpers2","_Chat","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","Aura","_ref","onCallEnd","conversation","useConversation","startSession","endSession","audioAnalyzers","useOpenAiRealtimeSession","assistant","hotel","id","locale","type","urlParams","openai","useStore","translate","useLocale","context","setContext","useState","isConnecting","setIsConnecting","ready","setReady","useEffect","callback","handleCallEnd","Event","subscribe","EVENT","SARAI_MESSAGE_SENT","unsubscribe","TYPE","CHAIN","hotelId","handleCallStart","name","assistant_name","isChain","chainId","undefined","navigator","mediaDevices","publish","METRICS","getUserMedia","audio","sessionConfig","clientTools","open_url","toolOpenUrl","dynamicVariables","chain_id","overrides","agent","language","split","signedUrl","getSignedUrl","onConnect","onDisconnect","onError","error","message","createElement","Fragment","Waveform","active","View","className","footer","Text","action","L10N","LABEL_CALLING","DEFAULT_NAME","Button","busy","rounded","squared","large","tooltip","LABEL_HANG_UP","onPress","styles","button","Icon","ICON","HANG_UP","exports","displayName","propTypes","PropTypes","func"],"sources":["../../../../../src/components/Chat/components/Aura/Aura.jsx"],"sourcesContent":["import { useConversation } from '@elevenlabs/react';\nimport { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './Aura.l10n';\nimport * as style from './Aura.module.css';\nimport { Waveform } from './Aura.waveform';\nimport { getSignedUrl, toolOpenUrl } from './helpers';\nimport { useOpenAiRealtimeSession } from './hooks/useOpenAiRealtimeSession';\nimport { TYPE } from '../../../../Core.constants';\nimport { EVENT, ICON } from '../../../helpers';\nimport { DEFAULT_NAME } from '../../Chat.constants';\n\nconst Aura = ({ onCallEnd = () => {} }) => {\n const conversation = useConversation();\n const { startSession, endSession, audioAnalyzers } = useOpenAiRealtimeSession();\n const { value: { assistant = {}, hotel = {}, id, locale, type, urlParams: { openai } = {} } = {} } = useStore();\n const { translate } = useLocale();\n\n const [context, setContext] = useState(null);\n const [isConnecting, setIsConnecting] = useState(false);\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n const callback = async () => {\n if (ready) handleCallEnd();\n };\n\n Event.subscribe(EVENT.SARAI_MESSAGE_SENT, callback);\n return () => {\n Event.unsubscribe(EVENT.SARAI_MESSAGE_SENT, callback);\n if (openai === 'true') callback();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [conversation, ready]);\n\n useEffect(() => {\n if (type === TYPE.CHAIN && !hotel.id) return;\n\n setContext({ hotelId: hotel.id });\n }, [hotel.id, type]);\n\n useEffect(() => {\n handleCallStart();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [context]);\n\n const handleCallStart = async () => {\n const { name: assistant_name = 'Sarai' } = assistant;\n const isChain = type === TYPE.CHAIN && !hotel.id;\n const chainId = isChain ? id : undefined;\n\n if (!navigator.mediaDevices || !conversation || (!context && !chainId)) {\n Event.publish(EVENT.METRICS, { id: 'AURA:ERROR' });\n return;\n }\n\n setIsConnecting(true);\n try {\n if (openai === 'true') {\n await startSession({\n assistant_name,\n chainId,\n hotelId: context.hotelId,\n isChain,\n locale,\n setIsConnecting,\n setReady,\n });\n return;\n }\n\n await navigator.mediaDevices.getUserMedia({ audio: true });\n\n const sessionConfig = {\n clientTools: { open_url: toolOpenUrl },\n dynamicVariables: { assistant_name, ...(chainId ? { chain_id: chainId } : { hotelId: context.hotelId }) },\n overrides: { agent: { language: locale.split('-')[0] } },\n signedUrl: await getSignedUrl(!!chainId),\n onConnect: () => {\n Event.publish(EVENT.METRICS, { id: 'AURA:START' });\n setIsConnecting(false);\n setReady(true);\n },\n onDisconnect: handleCallEnd,\n onError: (error) => {\n setIsConnecting(false);\n Event.publish(EVENT.METRICS, { id: 'AURA:ERROR', error: error?.message });\n },\n };\n\n await conversation.startSession(sessionConfig);\n } catch (error) {\n setIsConnecting(false);\n }\n };\n\n const handleCallEnd = () => {\n if (openai === 'true') endSession();\n else conversation.endSession();\n setReady(false);\n onCallEnd();\n Event.publish(EVENT.METRICS, { id: 'AURA:CALL_END' });\n };\n\n return !(!context && !(type === TYPE.CHAIN && !hotel.id)) ? (\n <>\n <Waveform active={ready} conversation={openai === 'true' ? audioAnalyzers : conversation} />\n <View className={style.footer}>\n {isConnecting && <Text action>{translate(L10N.LABEL_CALLING, { name: assistant.name || DEFAULT_NAME })}</Text>}\n <Button\n busy={isConnecting}\n rounded\n squared\n large\n tooltip={translate(L10N.LABEL_HANG_UP)}\n onPress={handleCallEnd}\n className={styles(style.button, ready && style.ready)}\n >\n <Icon value={ICON.HANG_UP} />\n </Button>\n </View>\n </>\n ) : null;\n};\n\nAura.displayName = 'Mirai:Core:Chat.Aura';\n\nAura.propTypes = {\n onCallEnd: PropTypes.func,\n};\n\nexport { Aura };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -155,6 +155,9 @@ const useOpenAiRealtimeSession = () => {
|
|
|
155
155
|
dataChannelRef.current = dataChannel;
|
|
156
156
|
dataChannel.addEventListener('open', () => {
|
|
157
157
|
pendingUserTranscriptRef.current = '';
|
|
158
|
+
_dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
159
|
+
id: 'AURA:START'
|
|
160
|
+
});
|
|
158
161
|
const localeHint = locale || 'en-US';
|
|
159
162
|
const introductionMessage = "Respond in the language that matches the locale code \"".concat(localeHint, "\". Introduce yourself using the following sentence, translated into that language: \"Hello, I am ").concat(assistant_name, ", your virtual assistant. I can help you with information about our services and facilities. What would you like to know today?\"");
|
|
160
163
|
dataChannel.send(JSON.stringify({
|
|
@@ -220,6 +223,9 @@ const useOpenAiRealtimeSession = () => {
|
|
|
220
223
|
};
|
|
221
224
|
await peerConnection.setRemoteDescription(answer);
|
|
222
225
|
} finally {
|
|
226
|
+
_dataSources.Event.publish(_helpers.EVENT.METRICS, {
|
|
227
|
+
id: 'AURA:ERROR'
|
|
228
|
+
});
|
|
223
229
|
setIsConnecting(false);
|
|
224
230
|
setReady(true);
|
|
225
231
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOpenAiRealtimeSession.js","names":["_dataSources","require","_react","_helpers","useOpenAiRealtimeSession","audioElementRef","useRef","audioContextRef","peerConnectionRef","dataChannelRef","localStreamRef","pendingUserTranscriptRef","inputSourceRef","outputSourceRef","inputFrequencyDataRef","outputFrequencyDataRef","audioAnalyzersRef","inputAnalyser","outputAnalyser","getInputByteFrequencyData","getOutputByteFrequencyData","cleanupRealtimeSession","useCallback","shouldSignal","arguments","length","undefined","dataChannel","current","readyState","send","JSON","stringify","type","close","peerConnection","getSenders","forEach","sender","track","stop","localStream","getTracks","srcObject","disconnect","audioContext","startSession","_ref","assistant_name","chainId","hotelId","isChain","locale","setIsConnecting","setReady","fingerprint","localStorage","getItem","sessionResponse","request","endpoint","concat","hostname","process","env","SERVICE_SYNAPSE","method","ephemeralKey","value","RTCPeerConnection","document","createElement","autoplay","ontrack","event","streams","remoteStream","createMediaStreamSource","connect","mediaStream","navigator","mediaDevices","getUserMedia","audio","echoCancellation","noiseSuppression","autoGainControl","channelCount","sampleRate","getAudioTracks","AudioContextConstructor","globalThis","AudioContext","webkitAudioContext","Error","state","resume","createAnalyser","fftSize","Uint8Array","frequencyBinCount","getByteFrequencyData","inputSource","applyConstraints","addTrack","createDataChannel","addEventListener","localeHint","introductionMessage","response","instructions","_payload$item","payload","parse","data","item","name","url","window","location","href","_payload$transcript","transcript","trim","_payload$transcript2","input","activeLocale","Event","publish","EVENT","METRICS","id","text","agent","offer","createOffer","setLocalDescription","sdpResponse","fetch","body","sdp","headers","Authorization","ok","answer","setRemoteDescription","endSession","audioAnalyzers","exports"],"sources":["../../../../../../src/components/Chat/components/Aura/hooks/useOpenAiRealtimeSession.js"],"sourcesContent":["import { Event, request } from '@mirai/data-sources';\nimport { useCallback, useRef } from 'react';\n\nimport { EVENT } from '../../../../helpers';\n\nconst useOpenAiRealtimeSession = () => {\n const audioElementRef = useRef(null);\n const audioContextRef = useRef(null);\n const peerConnectionRef = useRef(null);\n const dataChannelRef = useRef(null);\n const localStreamRef = useRef(null);\n const pendingUserTranscriptRef = useRef('');\n const inputSourceRef = useRef(null);\n const outputSourceRef = useRef(null);\n const inputFrequencyDataRef = useRef(null);\n const outputFrequencyDataRef = useRef(null);\n const audioAnalyzersRef = useRef({\n inputAnalyser: null,\n outputAnalyser: null,\n getInputByteFrequencyData: () => null,\n getOutputByteFrequencyData: () => null,\n });\n\n const cleanupRealtimeSession = useCallback((shouldSignal = false) => {\n const dataChannel = dataChannelRef.current;\n if (dataChannel) {\n if (shouldSignal && dataChannel.readyState === 'open') {\n dataChannel.send(JSON.stringify({ type: 'session.close' }));\n }\n dataChannel.close();\n dataChannelRef.current = null;\n }\n\n const peerConnection = peerConnectionRef.current;\n if (peerConnection) {\n peerConnection.getSenders().forEach((sender) => {\n if (sender.track) sender.track.stop();\n });\n peerConnection.close();\n peerConnectionRef.current = null;\n }\n\n const localStream = localStreamRef.current;\n if (localStream) {\n localStream.getTracks().forEach((track) => track.stop());\n localStreamRef.current = null;\n }\n\n if (audioElementRef.current) {\n audioElementRef.current.srcObject = null;\n audioElementRef.current = null;\n }\n\n if (inputSourceRef.current) {\n inputSourceRef.current.disconnect();\n inputSourceRef.current = null;\n }\n\n if (outputSourceRef.current) {\n outputSourceRef.current.disconnect();\n outputSourceRef.current = null;\n }\n\n audioAnalyzersRef.current.inputAnalyser = null;\n audioAnalyzersRef.current.outputAnalyser = null;\n audioAnalyzersRef.current.getInputByteFrequencyData = () => null;\n audioAnalyzersRef.current.getOutputByteFrequencyData = () => null;\n inputFrequencyDataRef.current = null;\n outputFrequencyDataRef.current = null;\n\n const audioContext = audioContextRef.current;\n if (audioContext) {\n audioContext.close();\n audioContextRef.current = null;\n }\n\n pendingUserTranscriptRef.current = '';\n }, []);\n\n const startSession = useCallback(\n async ({ assistant_name, chainId, hotelId, isChain, locale, setIsConnecting, setReady }) => {\n cleanupRealtimeSession();\n\n const fingerprint = localStorage.getItem('MIRAI:FINGERPRINT');\n\n try {\n const sessionResponse = await request({\n endpoint: `/audio/session?fingerprint=${fingerprint}&hotelId=${isChain ? '' : hotelId ?? ''}&chainId=${\n isChain ? chainId ?? '' : ''\n }`,\n hostname: process.env.SERVICE_SYNAPSE,\n method: 'GET',\n });\n\n const ephemeralKey = sessionResponse.value;\n const peerConnection = new RTCPeerConnection();\n peerConnectionRef.current = peerConnection;\n\n audioElementRef.current = document.createElement('audio');\n audioElementRef.current.autoplay = true;\n peerConnection.ontrack = (event) => {\n // eslint-disable-next-line prefer-destructuring\n audioElementRef.current.srcObject = event.streams[0];\n const [remoteStream] = event.streams;\n if (!audioContextRef.current || !audioAnalyzersRef.current.outputAnalyser || !remoteStream) return;\n if (outputSourceRef.current) outputSourceRef.current.disconnect();\n outputSourceRef.current = audioContextRef.current.createMediaStreamSource(remoteStream);\n outputSourceRef.current.connect(audioAnalyzersRef.current.outputAnalyser);\n };\n\n const mediaStream = await navigator.mediaDevices.getUserMedia({\n audio: {\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true,\n channelCount: 1,\n sampleRate: 48000,\n },\n });\n\n localStreamRef.current = mediaStream;\n const [track] = mediaStream.getAudioTracks();\n\n const AudioContextConstructor = globalThis.AudioContext || globalThis.webkitAudioContext;\n if (!AudioContextConstructor) throw new Error('AudioContext not supported');\n const audioContext = new AudioContextConstructor();\n audioContextRef.current = audioContext;\n if (audioContext.state === 'suspended') await audioContext.resume();\n const inputAnalyser = audioContext.createAnalyser();\n const outputAnalyser = audioContext.createAnalyser();\n inputAnalyser.fftSize = 1024;\n outputAnalyser.fftSize = 1024;\n audioAnalyzersRef.current.inputAnalyser = inputAnalyser;\n audioAnalyzersRef.current.outputAnalyser = outputAnalyser;\n inputFrequencyDataRef.current = new Uint8Array(inputAnalyser.frequencyBinCount);\n outputFrequencyDataRef.current = new Uint8Array(outputAnalyser.frequencyBinCount);\n audioAnalyzersRef.current.getInputByteFrequencyData = () => {\n if (!audioAnalyzersRef.current.inputAnalyser || !inputFrequencyDataRef.current) return null;\n audioAnalyzersRef.current.inputAnalyser.getByteFrequencyData(inputFrequencyDataRef.current);\n return inputFrequencyDataRef.current;\n };\n audioAnalyzersRef.current.getOutputByteFrequencyData = () => {\n if (!audioAnalyzersRef.current.outputAnalyser || !outputFrequencyDataRef.current) return null;\n audioAnalyzersRef.current.outputAnalyser.getByteFrequencyData(outputFrequencyDataRef.current);\n return outputFrequencyDataRef.current;\n };\n\n const inputSource = audioContext.createMediaStreamSource(mediaStream);\n inputSourceRef.current = inputSource;\n inputSource.connect(inputAnalyser);\n\n if (track) {\n await track.applyConstraints({\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true,\n });\n peerConnection.addTrack(track, mediaStream);\n }\n\n const dataChannel = peerConnection.createDataChannel('oai-events');\n dataChannelRef.current = dataChannel;\n\n dataChannel.addEventListener('open', () => {\n pendingUserTranscriptRef.current = '';\n\n const localeHint = locale || 'en-US';\n const introductionMessage = `Respond in the language that matches the locale code \"${localeHint}\". Introduce yourself using the following sentence, translated into that language: \"Hello, I am ${assistant_name}, your virtual assistant. I can help you with information about our services and facilities. What would you like to know today?\"`;\n\n dataChannel.send(\n JSON.stringify({\n type: 'response.create',\n response: {\n instructions: introductionMessage,\n },\n }),\n );\n });\n\n dataChannel.addEventListener('message', (event) => {\n const payload = JSON.parse(event.data);\n\n if (payload.type === 'response.output_item.done' && payload.item?.type === 'mcp_call') {\n dataChannel.send(\n JSON.stringify({\n type: 'response.create',\n response: {\n instructions: 'Response to the user',\n },\n }),\n );\n }\n\n if (payload.type === 'response.function_call_arguments.done' && payload.name === 'open_url') {\n const { url } = JSON.parse(payload.arguments);\n window.location.href = url;\n }\n\n if (payload.type === 'conversation.item.input_audio_transcription.completed') {\n const transcript = payload.transcript?.trim();\n if (transcript) pendingUserTranscriptRef.current += transcript;\n }\n\n if (payload.type === 'response.output_audio_transcript.done') {\n const transcript = payload.transcript?.trim();\n if (!transcript || !pendingUserTranscriptRef.current) return;\n\n const input = pendingUserTranscriptRef.current.trim();\n pendingUserTranscriptRef.current = '';\n\n const activeLocale = locale || 'en-US';\n\n Event.publish(EVENT.METRICS, {\n id: 'SYNAPSE_RESPONSE',\n fingerprint,\n text: transcript,\n input,\n agent: 'aura',\n locale: activeLocale,\n });\n }\n });\n\n const offer = await peerConnection.createOffer();\n await peerConnection.setLocalDescription(offer);\n\n const sdpResponse = await fetch('https://api.openai.com/v1/realtime/calls', {\n method: 'POST',\n body: offer.sdp,\n headers: {\n Authorization: `Bearer ${ephemeralKey}`,\n 'Content-Type': 'application/sdp',\n },\n });\n\n if (!sdpResponse.ok) throw new Error('Failed to establish OpenAI Realtime session');\n\n const answer = { type: 'answer', sdp: await sdpResponse.text() };\n\n await peerConnection.setRemoteDescription(answer);\n } finally {\n setIsConnecting(false);\n setReady(true);\n }\n },\n [cleanupRealtimeSession],\n );\n\n const endSession = useCallback(() => {\n cleanupRealtimeSession(true);\n }, [cleanupRealtimeSession]);\n\n return { startSession, endSession, audioAnalyzers: audioAnalyzersRef.current };\n};\n\nexport { useOpenAiRealtimeSession };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"useOpenAiRealtimeSession.js","names":["_dataSources","require","_react","_helpers","useOpenAiRealtimeSession","audioElementRef","useRef","audioContextRef","peerConnectionRef","dataChannelRef","localStreamRef","pendingUserTranscriptRef","inputSourceRef","outputSourceRef","inputFrequencyDataRef","outputFrequencyDataRef","audioAnalyzersRef","inputAnalyser","outputAnalyser","getInputByteFrequencyData","getOutputByteFrequencyData","cleanupRealtimeSession","useCallback","shouldSignal","arguments","length","undefined","dataChannel","current","readyState","send","JSON","stringify","type","close","peerConnection","getSenders","forEach","sender","track","stop","localStream","getTracks","srcObject","disconnect","audioContext","startSession","_ref","assistant_name","chainId","hotelId","isChain","locale","setIsConnecting","setReady","fingerprint","localStorage","getItem","sessionResponse","request","endpoint","concat","hostname","process","env","SERVICE_SYNAPSE","method","ephemeralKey","value","RTCPeerConnection","document","createElement","autoplay","ontrack","event","streams","remoteStream","createMediaStreamSource","connect","mediaStream","navigator","mediaDevices","getUserMedia","audio","echoCancellation","noiseSuppression","autoGainControl","channelCount","sampleRate","getAudioTracks","AudioContextConstructor","globalThis","AudioContext","webkitAudioContext","Error","state","resume","createAnalyser","fftSize","Uint8Array","frequencyBinCount","getByteFrequencyData","inputSource","applyConstraints","addTrack","createDataChannel","addEventListener","Event","publish","EVENT","METRICS","id","localeHint","introductionMessage","response","instructions","_payload$item","payload","parse","data","item","name","url","window","location","href","_payload$transcript","transcript","trim","_payload$transcript2","input","activeLocale","text","agent","offer","createOffer","setLocalDescription","sdpResponse","fetch","body","sdp","headers","Authorization","ok","answer","setRemoteDescription","endSession","audioAnalyzers","exports"],"sources":["../../../../../../src/components/Chat/components/Aura/hooks/useOpenAiRealtimeSession.js"],"sourcesContent":["import { Event, request } from '@mirai/data-sources';\nimport { useCallback, useRef } from 'react';\n\nimport { EVENT } from '../../../../helpers';\n\nconst useOpenAiRealtimeSession = () => {\n const audioElementRef = useRef(null);\n const audioContextRef = useRef(null);\n const peerConnectionRef = useRef(null);\n const dataChannelRef = useRef(null);\n const localStreamRef = useRef(null);\n const pendingUserTranscriptRef = useRef('');\n const inputSourceRef = useRef(null);\n const outputSourceRef = useRef(null);\n const inputFrequencyDataRef = useRef(null);\n const outputFrequencyDataRef = useRef(null);\n const audioAnalyzersRef = useRef({\n inputAnalyser: null,\n outputAnalyser: null,\n getInputByteFrequencyData: () => null,\n getOutputByteFrequencyData: () => null,\n });\n\n const cleanupRealtimeSession = useCallback((shouldSignal = false) => {\n const dataChannel = dataChannelRef.current;\n if (dataChannel) {\n if (shouldSignal && dataChannel.readyState === 'open') {\n dataChannel.send(JSON.stringify({ type: 'session.close' }));\n }\n dataChannel.close();\n dataChannelRef.current = null;\n }\n\n const peerConnection = peerConnectionRef.current;\n if (peerConnection) {\n peerConnection.getSenders().forEach((sender) => {\n if (sender.track) sender.track.stop();\n });\n peerConnection.close();\n peerConnectionRef.current = null;\n }\n\n const localStream = localStreamRef.current;\n if (localStream) {\n localStream.getTracks().forEach((track) => track.stop());\n localStreamRef.current = null;\n }\n\n if (audioElementRef.current) {\n audioElementRef.current.srcObject = null;\n audioElementRef.current = null;\n }\n\n if (inputSourceRef.current) {\n inputSourceRef.current.disconnect();\n inputSourceRef.current = null;\n }\n\n if (outputSourceRef.current) {\n outputSourceRef.current.disconnect();\n outputSourceRef.current = null;\n }\n\n audioAnalyzersRef.current.inputAnalyser = null;\n audioAnalyzersRef.current.outputAnalyser = null;\n audioAnalyzersRef.current.getInputByteFrequencyData = () => null;\n audioAnalyzersRef.current.getOutputByteFrequencyData = () => null;\n inputFrequencyDataRef.current = null;\n outputFrequencyDataRef.current = null;\n\n const audioContext = audioContextRef.current;\n if (audioContext) {\n audioContext.close();\n audioContextRef.current = null;\n }\n\n pendingUserTranscriptRef.current = '';\n }, []);\n\n const startSession = useCallback(\n async ({ assistant_name, chainId, hotelId, isChain, locale, setIsConnecting, setReady }) => {\n cleanupRealtimeSession();\n\n const fingerprint = localStorage.getItem('MIRAI:FINGERPRINT');\n\n try {\n const sessionResponse = await request({\n endpoint: `/audio/session?fingerprint=${fingerprint}&hotelId=${isChain ? '' : hotelId ?? ''}&chainId=${\n isChain ? chainId ?? '' : ''\n }`,\n hostname: process.env.SERVICE_SYNAPSE,\n method: 'GET',\n });\n\n const ephemeralKey = sessionResponse.value;\n const peerConnection = new RTCPeerConnection();\n peerConnectionRef.current = peerConnection;\n\n audioElementRef.current = document.createElement('audio');\n audioElementRef.current.autoplay = true;\n peerConnection.ontrack = (event) => {\n // eslint-disable-next-line prefer-destructuring\n audioElementRef.current.srcObject = event.streams[0];\n const [remoteStream] = event.streams;\n if (!audioContextRef.current || !audioAnalyzersRef.current.outputAnalyser || !remoteStream) return;\n if (outputSourceRef.current) outputSourceRef.current.disconnect();\n outputSourceRef.current = audioContextRef.current.createMediaStreamSource(remoteStream);\n outputSourceRef.current.connect(audioAnalyzersRef.current.outputAnalyser);\n };\n\n const mediaStream = await navigator.mediaDevices.getUserMedia({\n audio: {\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true,\n channelCount: 1,\n sampleRate: 48000,\n },\n });\n\n localStreamRef.current = mediaStream;\n const [track] = mediaStream.getAudioTracks();\n\n const AudioContextConstructor = globalThis.AudioContext || globalThis.webkitAudioContext;\n if (!AudioContextConstructor) throw new Error('AudioContext not supported');\n const audioContext = new AudioContextConstructor();\n audioContextRef.current = audioContext;\n if (audioContext.state === 'suspended') await audioContext.resume();\n const inputAnalyser = audioContext.createAnalyser();\n const outputAnalyser = audioContext.createAnalyser();\n inputAnalyser.fftSize = 1024;\n outputAnalyser.fftSize = 1024;\n audioAnalyzersRef.current.inputAnalyser = inputAnalyser;\n audioAnalyzersRef.current.outputAnalyser = outputAnalyser;\n inputFrequencyDataRef.current = new Uint8Array(inputAnalyser.frequencyBinCount);\n outputFrequencyDataRef.current = new Uint8Array(outputAnalyser.frequencyBinCount);\n audioAnalyzersRef.current.getInputByteFrequencyData = () => {\n if (!audioAnalyzersRef.current.inputAnalyser || !inputFrequencyDataRef.current) return null;\n audioAnalyzersRef.current.inputAnalyser.getByteFrequencyData(inputFrequencyDataRef.current);\n return inputFrequencyDataRef.current;\n };\n audioAnalyzersRef.current.getOutputByteFrequencyData = () => {\n if (!audioAnalyzersRef.current.outputAnalyser || !outputFrequencyDataRef.current) return null;\n audioAnalyzersRef.current.outputAnalyser.getByteFrequencyData(outputFrequencyDataRef.current);\n return outputFrequencyDataRef.current;\n };\n\n const inputSource = audioContext.createMediaStreamSource(mediaStream);\n inputSourceRef.current = inputSource;\n inputSource.connect(inputAnalyser);\n\n if (track) {\n await track.applyConstraints({\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true,\n });\n peerConnection.addTrack(track, mediaStream);\n }\n\n const dataChannel = peerConnection.createDataChannel('oai-events');\n dataChannelRef.current = dataChannel;\n\n dataChannel.addEventListener('open', () => {\n pendingUserTranscriptRef.current = '';\n Event.publish(EVENT.METRICS, { id: 'AURA:START' });\n\n const localeHint = locale || 'en-US';\n const introductionMessage = `Respond in the language that matches the locale code \"${localeHint}\". Introduce yourself using the following sentence, translated into that language: \"Hello, I am ${assistant_name}, your virtual assistant. I can help you with information about our services and facilities. What would you like to know today?\"`;\n\n dataChannel.send(\n JSON.stringify({\n type: 'response.create',\n response: {\n instructions: introductionMessage,\n },\n }),\n );\n });\n\n dataChannel.addEventListener('message', (event) => {\n const payload = JSON.parse(event.data);\n\n if (payload.type === 'response.output_item.done' && payload.item?.type === 'mcp_call') {\n dataChannel.send(\n JSON.stringify({\n type: 'response.create',\n response: {\n instructions: 'Response to the user',\n },\n }),\n );\n }\n\n if (payload.type === 'response.function_call_arguments.done' && payload.name === 'open_url') {\n const { url } = JSON.parse(payload.arguments);\n window.location.href = url;\n }\n\n if (payload.type === 'conversation.item.input_audio_transcription.completed') {\n const transcript = payload.transcript?.trim();\n if (transcript) pendingUserTranscriptRef.current += transcript;\n }\n\n if (payload.type === 'response.output_audio_transcript.done') {\n const transcript = payload.transcript?.trim();\n if (!transcript || !pendingUserTranscriptRef.current) return;\n\n const input = pendingUserTranscriptRef.current.trim();\n pendingUserTranscriptRef.current = '';\n\n const activeLocale = locale || 'en-US';\n\n Event.publish(EVENT.METRICS, {\n id: 'SYNAPSE_RESPONSE',\n fingerprint,\n text: transcript,\n input,\n agent: 'aura',\n locale: activeLocale,\n });\n }\n });\n\n const offer = await peerConnection.createOffer();\n await peerConnection.setLocalDescription(offer);\n\n const sdpResponse = await fetch('https://api.openai.com/v1/realtime/calls', {\n method: 'POST',\n body: offer.sdp,\n headers: {\n Authorization: `Bearer ${ephemeralKey}`,\n 'Content-Type': 'application/sdp',\n },\n });\n\n if (!sdpResponse.ok) throw new Error('Failed to establish OpenAI Realtime session');\n\n const answer = { type: 'answer', sdp: await sdpResponse.text() };\n\n await peerConnection.setRemoteDescription(answer);\n } finally {\n Event.publish(EVENT.METRICS, { id: 'AURA:ERROR' });\n setIsConnecting(false);\n setReady(true);\n }\n },\n [cleanupRealtimeSession],\n );\n\n const endSession = useCallback(() => {\n cleanupRealtimeSession(true);\n }, [cleanupRealtimeSession]);\n\n return { startSession, endSession, audioAnalyzers: audioAnalyzersRef.current };\n};\n\nexport { useOpenAiRealtimeSession };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonPayment.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_ButtonPayment","_ButtonPayment2","style","_Form","_helpers","_Payment","_excluded","_excluded2","_excluded3","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","AMAZON_PAY","APLAZAME","CARD","PCIPROXY","TPV","PAYMENT_METHOD","ADDON","ADYEN","CHECKOUT","LINKAGEPAY","OPENPAY","PAYCOMET","SIPAY","STRIPE","PAYMENT_PROVIDER","PROVIDERS_WITH_MODAL","ButtonPayment","_ref","_methods$method2","_methods$method2$conf","_methods$method3","children","config","currencyDecimals","gateway","provider","dataSource","hotel","id","info","methods","promise","Promise","resolve","tracking","onError","onPress","onSuccess","propHotel","others","locale","translate","useLocale","forwarder","payment","urlParams","useStore","modal","setModal","useState","response","setResponse","handleClose","useEffect","error","orderReference","token","transactionId","handleSuccess","handlePress","_methods$method","method","includes","document","dispatchEvent","window","Event","EVENT","CTA_PRESS","requireCardValidation","cardValidation","withModal","isModalResponse","promiseData","catch","type","TYPE","SUBMIT","publish","OPEN_MODAL","_unused","CustomEvent","SERVICE_RESPONSE","detail","publicKey","url","getUrl","location","href","AMAZON_PAY_RESPONSE","component","getComponent","methodConfig","createElement","Fragment","Button","L10N","ACTION_BOOK_NOW","Form","Modal","portal","title","visible","onClose","React","className","modalContent","exports","displayName","propTypes","PropTypes","oneOfType","string","node","shape","number","object","oneOf","values","showCVV","bool","amount","date","instanceOf","Date","array","func"],"sources":["../../../../src/components/__shared__/ButtonPayment/ButtonPayment.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Modal } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { EVENT, TYPE } from './ButtonPayment.constants';\nimport { L10N } from './ButtonPayment.l10n';\nimport * as style from './ButtonPayment.module.css';\nimport { Form } from './components/Form';\nimport { getComponent, getUrl } from './helpers';\nimport { PAYMENT_METHOD, PAYMENT_PROVIDER } from '../Payment';\n\nconst { AMAZON_PAY, APLAZAME, CARD, PCIPROXY, TPV } = PAYMENT_METHOD;\nconst { ADDON, ADYEN, CHECKOUT, LINKAGEPAY, OPENPAY, PAYCOMET, SIPAY, STRIPE } = PAYMENT_PROVIDER;\n\nconst PROVIDERS_WITH_MODAL = [ADDON, ADYEN, CHECKOUT, SIPAY, PAYCOMET];\n\nconst ButtonPayment = ({\n children,\n config: { currencyDecimals, gateway, provider, ...config } = {},\n dataSource = {},\n hotel: { id, ...propHotel } = {},\n info = {},\n methods = [],\n promise = () => new Promise((resolve) => resolve({})),\n tracking,\n onError = () => {},\n onPress = () => {},\n onSuccess = () => {},\n ...others\n}) => {\n const { locale, translate } = useLocale();\n const { value: { forwarder, payment = dataSource || {}, hotel = propHotel || {}, urlParams } = {} } = useStore();\n\n const [modal, setModal] = useState(false);\n const [response, setResponse] = useState();\n\n const handleClose = () => {\n setModal(false);\n onError();\n };\n\n useEffect(() => {\n if (provider === LINKAGEPAY) return;\n\n const { error, orderReference, token, transactionId } = payment;\n if (orderReference || token || transactionId) handleSuccess();\n else if (error) onError(error);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [payment]);\n\n const handlePress = async () => {\n if (onPress() === false) return;\n\n const { method } = payment || {};\n if ([AMAZON_PAY, PCIPROXY].includes(method) || (method === TPV && provider === OPENPAY)) {\n return document.dispatchEvent(new window.Event(EVENT.CTA_PRESS));\n }\n\n const requireCardValidation = [CARD, PCIPROXY].includes(method) && cardValidation;\n const withModal =\n (PROVIDERS_WITH_MODAL.includes(provider) || methods[method]?.modal) && (method === TPV || requireCardValidation);\n const response =\n !withModal || isModalResponse || method === APLAZAME ? await promise(promiseData).catch(onError) : true;\n if (!response) return;\n\n if (withModal || response.type === TYPE.SUBMIT) setResponse(response);\n\n if (withModal) {\n try {\n Event.publish(EVENT.OPEN_MODAL);\n } catch {\n //123 compare is failed when capture this event.\n }\n setModal(true);\n } else if (method === APLAZAME || (method === TPV && provider === LINKAGEPAY)) {\n document.dispatchEvent(new CustomEvent(EVENT.SERVICE_RESPONSE, { detail: { ...response, publicKey } }));\n } else {\n const url = getUrl({ ...hotel, id, forwarder, locale, response, tracking, urlParams });\n if (url) window.location.href = url;\n }\n };\n\n const handleSuccess = async (value) => {\n setModal(false);\n\n const response = await promise({ ...value, ...promiseData }).catch(onError);\n if (!response) return;\n\n if (payment.method === AMAZON_PAY)\n return document.dispatchEvent(new CustomEvent(EVENT.AMAZON_PAY_RESPONSE, { detail: { response } }));\n\n if (response) {\n const url = getUrl({ ...hotel, id, forwarder, locale, response, tracking, urlParams });\n if (url) {\n onSuccess(url);\n window.location.href = url;\n }\n }\n };\n\n const { method } = payment || {};\n const { cardValidation } = info || {};\n const publicKey = methods[method]?.config?.publicKey || config?.publicKey;\n const component = getComponent({ cardValidation, method, methodConfig: methods[method], provider });\n const isModalResponse = [ADDON, ADYEN].includes(provider) || (provider === STRIPE && methods[method]?.modal);\n const promiseData = gateway ? { gateway } : {};\n\n return (\n <>\n <Button {...others} onPress={handlePress}>\n {children || translate(L10N.ACTION_BOOK_NOW)}\n </Button>\n\n {response?.type === TYPE.SUBMIT && <Form {...response} />}\n\n <Modal portal={isModalResponse} title={method} visible={modal} onClose={handleClose}>\n {component &&\n React.createElement(component, {\n ...config,\n currencyDecimals,\n info,\n method,\n provider,\n publicKey,\n response,\n onError,\n onSuccess: handleSuccess,\n className: style.modalContent,\n })}\n </Modal>\n </>\n );\n};\n\nButtonPayment.displayName = 'Mirai:Core:ButtonPayment';\n\nButtonPayment.propTypes = {\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n config: PropTypes.shape({\n currencyDecimals: PropTypes.number,\n gateway: PropTypes.object,\n provider: PropTypes.oneOf(Object.values(PAYMENT_PROVIDER)),\n publicKey: PropTypes.string,\n showCVV: PropTypes.bool,\n }),\n dataSource: PropTypes.shape({\n method: PropTypes.oneOf(Object.values(PAYMENT_METHOD)),\n }),\n hotel: PropTypes.shape({\n id: PropTypes.string,\n url: PropTypes.string,\n }),\n info: PropTypes.shape({\n amount: PropTypes.number,\n cardValidation: PropTypes.bool,\n date: PropTypes.instanceOf(Date),\n }),\n methods: PropTypes.array,\n promise: PropTypes.func,\n tracking: PropTypes.string,\n onError: PropTypes.func,\n onPress: PropTypes.func,\n onSuccess: PropTypes.func,\n};\n\nexport { ButtonPayment };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ButtonPayment.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_ButtonPayment","_ButtonPayment2","style","_Form","_helpers","_Payment","_excluded","_excluded2","_excluded3","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","AMAZON_PAY","APLAZAME","CARD","PCIPROXY","TPV","PAYMENT_METHOD","ADDON","ADYEN","CHECKOUT","LINKAGEPAY","OPENPAY","PAYCOMET","SIPAY","STRIPE","PAYMENT_PROVIDER","PROVIDERS_WITH_MODAL","ButtonPayment","_ref","_methods$method2","_methods$method2$conf","_methods$method3","children","config","currencyDecimals","gateway","provider","dataSource","hotel","id","info","methods","promise","Promise","resolve","tracking","onError","onPress","onSuccess","propHotel","others","locale","translate","useLocale","forwarder","payment","urlParams","useStore","modal","setModal","useState","response","setResponse","handleClose","useEffect","error","orderReference","token","transactionId","handleSuccess","handlePress","_methods$method","method","includes","document","dispatchEvent","window","Event","EVENT","CTA_PRESS","requireCardValidation","cardValidation","withModal","isModalResponse","promiseData","catch","type","TYPE","SUBMIT","publish","OPEN_MODAL","_unused","CustomEvent","SERVICE_RESPONSE","detail","publicKey","url","getUrl","location","href","AMAZON_PAY_RESPONSE","component","getComponent","methodConfig","createElement","Fragment","Button","L10N","ACTION_BOOK_NOW","Form","Modal","portal","title","visible","onClose","React","className","modalContent","exports","displayName","propTypes","PropTypes","oneOfType","string","node","shape","number","object","oneOf","values","showCVV","bool","amount","date","instanceOf","Date","array","func"],"sources":["../../../../src/components/__shared__/ButtonPayment/ButtonPayment.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Modal } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { EVENT, TYPE } from './ButtonPayment.constants';\nimport { L10N } from './ButtonPayment.l10n';\nimport * as style from './ButtonPayment.module.css';\nimport { Form } from './components/Form';\nimport { getComponent, getUrl } from './helpers';\nimport { PAYMENT_METHOD, PAYMENT_PROVIDER } from '../Payment';\n\nconst { AMAZON_PAY, APLAZAME, CARD, PCIPROXY, TPV } = PAYMENT_METHOD;\nconst { ADDON, ADYEN, CHECKOUT, LINKAGEPAY, OPENPAY, PAYCOMET, SIPAY, STRIPE } = PAYMENT_PROVIDER;\n\nconst PROVIDERS_WITH_MODAL = [ADDON, ADYEN, CHECKOUT, SIPAY, PAYCOMET];\n\nconst ButtonPayment = ({\n children,\n config: { currencyDecimals, gateway, provider, ...config } = {},\n dataSource = {},\n hotel: { id, ...propHotel } = {},\n info = {},\n methods = [],\n promise = () => new Promise((resolve) => resolve({})),\n tracking,\n onError = () => {},\n onPress = () => {},\n onSuccess = () => {},\n ...others\n}) => {\n const { locale, translate } = useLocale();\n const { value: { forwarder, payment = dataSource || {}, hotel = propHotel || {}, urlParams } = {} } = useStore();\n\n const [modal, setModal] = useState(false);\n const [response, setResponse] = useState();\n\n const handleClose = () => {\n setModal(false);\n onError();\n };\n\n useEffect(() => {\n if (provider === LINKAGEPAY) return;\n\n const { error, orderReference, token, transactionId } = payment;\n if (orderReference || token || transactionId) handleSuccess();\n else if (error) onError(error);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [payment]);\n\n const handlePress = async () => {\n if (onPress() === false) return;\n\n const { method } = payment || {};\n if ([AMAZON_PAY, PCIPROXY].includes(method) || (method === TPV && provider === OPENPAY)) {\n return document.dispatchEvent(new window.Event(EVENT.CTA_PRESS));\n }\n\n const requireCardValidation = [CARD, PCIPROXY].includes(method) && cardValidation;\n const withModal =\n (PROVIDERS_WITH_MODAL.includes(provider) || methods[method]?.modal) && (method === TPV || requireCardValidation);\n const response =\n !withModal || isModalResponse || method === APLAZAME ? await promise(promiseData).catch(onError) : true;\n if (!response) return;\n\n if (withModal || response.type === TYPE.SUBMIT) setResponse(response);\n\n if (withModal) {\n try {\n Event.publish(EVENT.OPEN_MODAL);\n } catch {\n //123 compare is failed when capture this event.\n }\n setModal(true);\n } else if (method === APLAZAME || (method === TPV && provider === LINKAGEPAY)) {\n document.dispatchEvent(new CustomEvent(EVENT.SERVICE_RESPONSE, { detail: { ...response, publicKey } }));\n } else {\n const url = getUrl({ ...hotel, id, forwarder, locale, response, tracking, urlParams });\n if (url) window.location.href = url;\n }\n };\n\n const handleSuccess = async (value) => {\n setModal(false);\n\n const response = await promise({ ...value, ...promiseData }).catch(onError);\n if (!response) return;\n\n if (payment.method === AMAZON_PAY)\n return document.dispatchEvent(new CustomEvent(EVENT.AMAZON_PAY_RESPONSE, { detail: { response } }));\n\n if (response) {\n const url = getUrl({ ...hotel, id, forwarder, locale, response, tracking, urlParams });\n if (url) {\n onSuccess(url);\n window.location.href = url;\n }\n }\n };\n\n const { method } = payment || {};\n const { cardValidation } = info || {};\n const publicKey = methods[method]?.config?.publicKey || config?.publicKey;\n const component = getComponent({ cardValidation, method, methodConfig: methods[method], provider });\n const isModalResponse = [ADDON, ADYEN].includes(provider) || (provider === STRIPE && methods[method]?.modal);\n const promiseData = gateway ? { gateway } : {};\n\n return (\n <>\n <Button {...others} onPress={handlePress}>\n {children || translate(L10N.ACTION_BOOK_NOW)}\n </Button>\n\n {response?.type === TYPE.SUBMIT && <Form {...response} />}\n\n <Modal portal={isModalResponse} title={method} visible={modal} onClose={handleClose}>\n {component &&\n React.createElement(component, {\n ...config,\n currencyDecimals,\n info,\n method,\n provider,\n publicKey,\n response,\n onClose: handleClose,\n onError,\n onSuccess: handleSuccess,\n className: style.modalContent,\n })}\n </Modal>\n </>\n );\n};\n\nButtonPayment.displayName = 'Mirai:Core:ButtonPayment';\n\nButtonPayment.propTypes = {\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n config: PropTypes.shape({\n currencyDecimals: PropTypes.number,\n gateway: PropTypes.object,\n provider: PropTypes.oneOf(Object.values(PAYMENT_PROVIDER)),\n publicKey: PropTypes.string,\n showCVV: PropTypes.bool,\n }),\n dataSource: PropTypes.shape({\n method: PropTypes.oneOf(Object.values(PAYMENT_METHOD)),\n }),\n hotel: PropTypes.shape({\n id: PropTypes.string,\n url: PropTypes.string,\n }),\n info: PropTypes.shape({\n amount: PropTypes.number,\n cardValidation: PropTypes.bool,\n date: PropTypes.instanceOf(Date),\n }),\n methods: PropTypes.array,\n promise: PropTypes.func,\n tracking: PropTypes.string,\n onError: PropTypes.func,\n onPress: PropTypes.func,\n onSuccess: PropTypes.func,\n};\n\nexport { ButtonPayment };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,14 +8,16 @@ var _locale = require("@mirai/locale");
|
|
|
8
8
|
var _ui = require("@mirai/ui");
|
|
9
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _GooglePay = require("./components/GooglePay");
|
|
11
12
|
var _FormAddon = require("./FormAddon.l10n");
|
|
12
13
|
var style = _interopRequireWildcard(require("./FormAddon.module.css"));
|
|
13
14
|
var _helpers = require("./helpers");
|
|
14
15
|
var _loadScript = require("../../helpers/loadScript");
|
|
15
16
|
const _excluded = ["info", "method", "provider", "response"],
|
|
16
|
-
_excluded2 = ["MERCHANT_RESPONSE_URL"];
|
|
17
|
+
_excluded2 = ["GOOGLE_PAY", "MERCHANT_RESPONSE_URL"];
|
|
17
18
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
18
19
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
19
21
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
20
22
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
21
23
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
@@ -28,6 +30,7 @@ const IFRAME = 'addonIframe';
|
|
|
28
30
|
const FormAddon = _ref => {
|
|
29
31
|
let {
|
|
30
32
|
info: {
|
|
33
|
+
amount,
|
|
31
34
|
date
|
|
32
35
|
} = {},
|
|
33
36
|
method,
|
|
@@ -39,8 +42,10 @@ const FormAddon = _ref => {
|
|
|
39
42
|
translate
|
|
40
43
|
} = (0, _locale.useLocale)();
|
|
41
44
|
const el = (0, _react.useRef)();
|
|
45
|
+
const [showGooglePay, setShowGooglePay] = (0, _react.useState)(false);
|
|
42
46
|
const [ready, setReady] = (0, _react.useState)();
|
|
43
47
|
(0, _react.useEffect)(() => {
|
|
48
|
+
setShowGooglePay(false);
|
|
44
49
|
return (0, _loadScript.loadScript)({
|
|
45
50
|
id: 'addonScript',
|
|
46
51
|
name: 'rxp-hpp.js',
|
|
@@ -53,10 +58,12 @@ const FormAddon = _ref => {
|
|
|
53
58
|
const _ref2 = response || {},
|
|
54
59
|
{
|
|
55
60
|
configuration: {
|
|
61
|
+
GOOGLE_PAY,
|
|
56
62
|
MERCHANT_RESPONSE_URL: responseUrl
|
|
57
63
|
} = response
|
|
58
64
|
} = _ref2,
|
|
59
65
|
configuration = _objectWithoutProperties(_ref2.configuration, _excluded2);
|
|
66
|
+
setShowGooglePay(GOOGLE_PAY);
|
|
60
67
|
(_window$RealexHpp = window.RealexHpp) === null || _window$RealexHpp === void 0 ? void 0 : _window$RealexHpp.setHppUrl(configuration.ACTION_URL || process.env.PROVIDER_ADDON_SCRIPT);
|
|
61
68
|
(_window$RealexHpp2 = window.RealexHpp) === null || _window$RealexHpp2 === void 0 ? void 0 : _window$RealexHpp2.embedded.init(BUTTON, IFRAME, responseUrl, _objectSpread(_objectSpread({}, configuration), {}, {
|
|
62
69
|
CARD_PAYMENT_BUTTON: translate((0, _helpers.getCtaKey)(date, method, provider))
|
|
@@ -65,10 +72,12 @@ const FormAddon = _ref => {
|
|
|
65
72
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
66
73
|
}, [ready, response]);
|
|
67
74
|
const handleLoad = () => setReady(true);
|
|
68
|
-
return /*#__PURE__*/_react.default.createElement(_ui.View,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
75
|
+
return /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
|
|
76
|
+
className: (0, _ui.styles)(others.className, style.container)
|
|
77
|
+
}), showGooglePay && /*#__PURE__*/_react.default.createElement(_GooglePay.GooglePay, _objectSpread({
|
|
78
|
+
amount,
|
|
79
|
+
response
|
|
80
|
+
}, others)), /*#__PURE__*/_react.default.createElement("input", {
|
|
72
81
|
hidden: true,
|
|
73
82
|
id: BUTTON,
|
|
74
83
|
ref: el,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormAddon.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_FormAddon","style","_helpers","_loadScript","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","BUTTON","IFRAME","FormAddon","_ref","info","date","method","provider","response","others","translate","useLocale","el","useRef","ready","setReady","useState","useEffect","loadScript","id","name","onLoad","handleLoad","_window$RealexHpp","_window$RealexHpp2","_el$current","_ref2","configuration","MERCHANT_RESPONSE_URL","responseUrl","window","RealexHpp","setHppUrl","ACTION_URL","process","env","PROVIDER_ADDON_SCRIPT","embedded","init","CARD_PAYMENT_BUTTON","getCtaKey","current","click","createElement","View","Text","action","className","description","L10N","LABEL_SECURE_PAGE","hidden","ref","type","title","iframe","exports","displayName","propTypes","PropTypes","shape","cardValidation","bool","instanceOf","Date","amount","number","string","object"],"sources":["../../../../../../src/components/__shared__/ButtonPayment/components/FormAddon/FormAddon.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './FormAddon.l10n';\nimport * as style from './FormAddon.module.css';\nimport { getCtaKey } from './helpers';\nimport { loadScript } from '../../helpers/loadScript';\n\nconst BUTTON = 'addonInitButton';\nconst IFRAME = 'addonIframe';\n\nexport const FormAddon = ({ info: { date } = {}, method, provider, response, ...others }) => {\n const { translate } = useLocale();\n\n const el = useRef();\n\n const [ready, setReady] = useState();\n\n useEffect(() => {\n return loadScript({ id: 'addonScript', name: 'rxp-hpp.js', onLoad: handleLoad });\n }, []);\n\n useEffect(() => {\n if (!response || !ready) return;\n\n const { configuration: { MERCHANT_RESPONSE_URL: responseUrl, ...configuration } = response } = response || {};\n\n window.RealexHpp?.setHppUrl(configuration.ACTION_URL || process.env.PROVIDER_ADDON_SCRIPT);\n window.RealexHpp?.embedded.init(BUTTON, IFRAME, responseUrl, {\n ...configuration,\n CARD_PAYMENT_BUTTON: translate(getCtaKey(date, method, provider)),\n });\n el.current?.click();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ready, response]);\n\n const handleLoad = () => setReady(true);\n\n return (\n <View {...others}>\n <Text action className={style.description}>\n {translate(L10N.LABEL_SECURE_PAGE)}\n </Text>\n\n <input hidden id={BUTTON} ref={el} type=\"submit\" />\n <iframe id={IFRAME} title={translate(L10N.LABEL_SECURE_PAGE)} className={style.iframe} />\n </View>\n );\n};\n\nFormAddon.displayName = 'Mirai:Payments:ButtonPayment:FormAddon';\n\nFormAddon.propTypes = {\n info: PropTypes.shape({\n cardValidation: PropTypes.bool,\n date: PropTypes.instanceOf(Date),\n amount: PropTypes.number,\n }),\n method: PropTypes.string,\n provider: PropTypes.string,\n response: PropTypes.object,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FormAddon.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_GooglePay","_FormAddon","style","_helpers","_loadScript","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","BUTTON","IFRAME","FormAddon","_ref","info","amount","date","method","provider","response","others","translate","useLocale","el","useRef","showGooglePay","setShowGooglePay","useState","ready","setReady","useEffect","loadScript","id","name","onLoad","handleLoad","_window$RealexHpp","_window$RealexHpp2","_el$current","_ref2","configuration","GOOGLE_PAY","MERCHANT_RESPONSE_URL","responseUrl","window","RealexHpp","setHppUrl","ACTION_URL","process","env","PROVIDER_ADDON_SCRIPT","embedded","init","CARD_PAYMENT_BUTTON","getCtaKey","current","click","createElement","View","className","styles","container","GooglePay","hidden","ref","type","title","L10N","LABEL_SECURE_PAGE","iframe","exports","displayName","propTypes","PropTypes","shape","cardValidation","bool","instanceOf","Date","number","string","object"],"sources":["../../../../../../src/components/__shared__/ButtonPayment/components/FormAddon/FormAddon.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { styles, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { GooglePay } from './components/GooglePay';\nimport { L10N } from './FormAddon.l10n';\nimport * as style from './FormAddon.module.css';\nimport { getCtaKey } from './helpers';\nimport { loadScript } from '../../helpers/loadScript';\n\nconst BUTTON = 'addonInitButton';\nconst IFRAME = 'addonIframe';\n\nexport const FormAddon = ({ info: { amount, date } = {}, method, provider, response, ...others }) => {\n const { translate } = useLocale();\n\n const el = useRef();\n\n const [showGooglePay, setShowGooglePay] = useState(false);\n const [ready, setReady] = useState();\n\n useEffect(() => {\n setShowGooglePay(false);\n return loadScript({ id: 'addonScript', name: 'rxp-hpp.js', onLoad: handleLoad });\n }, []);\n\n useEffect(() => {\n if (!response || !ready) return;\n\n const { configuration: { GOOGLE_PAY, MERCHANT_RESPONSE_URL: responseUrl, ...configuration } = response } =\n response || {};\n\n setShowGooglePay(GOOGLE_PAY);\n\n window.RealexHpp?.setHppUrl(configuration.ACTION_URL || process.env.PROVIDER_ADDON_SCRIPT);\n window.RealexHpp?.embedded.init(BUTTON, IFRAME, responseUrl, {\n ...configuration,\n CARD_PAYMENT_BUTTON: translate(getCtaKey(date, method, provider)),\n });\n el.current?.click();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ready, response]);\n\n const handleLoad = () => setReady(true);\n\n return (\n <View {...others} className={styles(others.className, style.container)}>\n {showGooglePay && <GooglePay {...{ amount, response, ...others }} />}\n <input hidden id={BUTTON} ref={el} type=\"submit\" />\n <iframe id={IFRAME} title={translate(L10N.LABEL_SECURE_PAGE)} className={style.iframe} />\n </View>\n );\n};\n\nFormAddon.displayName = 'Mirai:Payments:ButtonPayment:FormAddon';\n\nFormAddon.propTypes = {\n info: PropTypes.shape({\n cardValidation: PropTypes.bool,\n date: PropTypes.instanceOf(Date),\n amount: PropTypes.number,\n }),\n method: PropTypes.string,\n provider: PropTypes.string,\n response: PropTypes.object,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAC,uBAAA,CAAAL,OAAA;AAEA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAH,uBAAA,CAAAL,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,WAAA,GAAAV,OAAA;AAAsD,MAAAW,SAAA;EAAAC,UAAA;AAAA,SAAAP,wBAAAQ,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAQ,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAX,uBAAAU,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA;AAAA,SAAAmB,SAAA,WAAAA,QAAA,GAAAH,MAAA,CAAAI,MAAA,GAAAJ,MAAA,CAAAI,MAAA,CAAAC,IAAA,eAAAjB,CAAA,aAAAJ,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAC,CAAA,GAAAqB,SAAA,CAAAtB,CAAA,YAAAG,CAAA,IAAAF,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAd,CAAA,EAAAE,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAF,CAAA,CAAAE,CAAA,aAAAC,CAAA,KAAAe,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAAA,SAAAG,QAAAzB,CAAA,EAAAG,CAAA,QAAAF,CAAA,GAAAe,MAAA,CAAAU,IAAA,CAAA1B,CAAA,OAAAgB,MAAA,CAAAW,qBAAA,QAAArB,CAAA,GAAAU,MAAA,CAAAW,qBAAA,CAAA3B,CAAA,GAAAG,CAAA,KAAAG,CAAA,GAAAA,CAAA,CAAAsB,MAAA,WAAAzB,CAAA,WAAAa,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,EAAA0B,UAAA,OAAA5B,CAAA,CAAA6B,IAAA,CAAAN,KAAA,CAAAvB,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAA8B,cAAA/B,CAAA,aAAAG,CAAA,MAAAA,CAAA,GAAAmB,SAAA,CAAAC,MAAA,EAAApB,CAAA,UAAAF,CAAA,WAAAqB,SAAA,CAAAnB,CAAA,IAAAmB,SAAA,CAAAnB,CAAA,QAAAA,CAAA,OAAAsB,OAAA,CAAAT,MAAA,CAAAf,CAAA,OAAA+B,OAAA,WAAA7B,CAAA,IAAA8B,eAAA,CAAAjC,CAAA,EAAAG,CAAA,EAAAF,CAAA,CAAAE,CAAA,SAAAa,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAnC,CAAA,EAAAgB,MAAA,CAAAkB,yBAAA,CAAAjC,CAAA,KAAAwB,OAAA,CAAAT,MAAA,CAAAf,CAAA,GAAA+B,OAAA,WAAA7B,CAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAjB,CAAA,EAAAG,CAAA,EAAAa,MAAA,CAAAE,wBAAA,CAAAjB,CAAA,EAAAE,CAAA,iBAAAH,CAAA;AAAA,SAAAiC,gBAAAjC,CAAA,EAAAG,CAAA,EAAAF,CAAA,YAAAE,CAAA,GAAAiC,cAAA,CAAAjC,CAAA,MAAAH,CAAA,GAAAgB,MAAA,CAAAC,cAAA,CAAAjB,CAAA,EAAAG,CAAA,IAAAkC,KAAA,EAAApC,CAAA,EAAA4B,UAAA,MAAAS,YAAA,MAAAC,QAAA,UAAAvC,CAAA,CAAAG,CAAA,IAAAF,CAAA,EAAAD,CAAA;AAAA,SAAAoC,eAAAnC,CAAA,QAAAM,CAAA,GAAAiC,YAAA,CAAAvC,CAAA,uCAAAM,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAiC,aAAAvC,CAAA,EAAAE,CAAA,2BAAAF,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAwC,MAAA,CAAAC,WAAA,kBAAA1C,CAAA,QAAAO,CAAA,GAAAP,CAAA,CAAAe,IAAA,CAAAd,CAAA,EAAAE,CAAA,uCAAAI,CAAA,SAAAA,CAAA,YAAAoC,SAAA,yEAAAxC,CAAA,GAAAyC,MAAA,GAAAC,MAAA,EAAA5C,CAAA;AAAA,SAAA6C,yBAAA9C,CAAA,EAAAC,CAAA,gBAAAD,CAAA,iBAAAM,CAAA,EAAAH,CAAA,EAAAI,CAAA,GAAAwC,6BAAA,CAAA/C,CAAA,EAAAC,CAAA,OAAAe,MAAA,CAAAW,qBAAA,QAAAvB,CAAA,GAAAY,MAAA,CAAAW,qBAAA,CAAA3B,CAAA,QAAAG,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAAmB,MAAA,EAAApB,CAAA,IAAAG,CAAA,GAAAF,CAAA,CAAAD,CAAA,UAAAF,CAAA,CAAA+C,OAAA,CAAA1C,CAAA,QAAA2C,oBAAA,CAAAlC,IAAA,CAAAf,CAAA,EAAAM,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAN,CAAA,CAAAM,CAAA,aAAAC,CAAA;AAAA,SAAAwC,8BAAA5C,CAAA,EAAAH,CAAA,gBAAAG,CAAA,iBAAAF,CAAA,gBAAAG,CAAA,IAAAD,CAAA,SAAAW,cAAA,CAAAC,IAAA,CAAAZ,CAAA,EAAAC,CAAA,gBAAAJ,CAAA,CAAAgD,OAAA,CAAA5C,CAAA,aAAAH,CAAA,CAAAG,CAAA,IAAAD,CAAA,CAAAC,CAAA,YAAAH,CAAA;AAEtD,MAAMiD,MAAM,GAAG,iBAAiB;AAChC,MAAMC,MAAM,GAAG,aAAa;AAErB,MAAMC,SAAS,GAAGC,IAAA,IAA4E;EAAA,IAA3E;MAAEC,IAAI,EAAE;QAAEC,MAAM;QAAEC;MAAK,CAAC,GAAG,CAAC,CAAC;MAAEC,MAAM;MAAEC,QAAQ;MAAEC;IAAoB,CAAC,GAAAN,IAAA;IAARO,MAAM,GAAAd,wBAAA,CAAAO,IAAA,EAAAvD,SAAA;EAC5F,MAAM;IAAE+D;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAEjC,MAAMC,EAAE,GAAG,IAAAC,aAAM,EAAC,CAAC;EAEnB,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACzD,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC;EAEpC,IAAAG,gBAAS,EAAC,MAAM;IACdJ,gBAAgB,CAAC,KAAK,CAAC;IACvB,OAAO,IAAAK,sBAAU,EAAC;MAAEC,EAAE,EAAE,aAAa;MAAEC,IAAI,EAAE,YAAY;MAAEC,MAAM,EAAEC;IAAW,CAAC,CAAC;EAClF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAL,gBAAS,EAAC,MAAM;IAAA,IAAAM,iBAAA,EAAAC,kBAAA,EAAAC,WAAA;IACd,IAAI,CAACnB,QAAQ,IAAI,CAACS,KAAK,EAAE;IAEzB,MAAAW,KAAA,GACEpB,QAAQ,IAAI,CAAC,CAAC;MADV;QAAEqB,aAAa,EAAE;UAAEC,UAAU;UAAEC,qBAAqB,EAAEC;QAA8B,CAAC,GAAGxB;MAAS,CAAC,GAAAoB,KAAA;MAA5BC,aAAa,GAAAlC,wBAAA,CAAAiC,KAAA,CAAjFC,aAAa,EAAAjF,UAAA;IAGrBmE,gBAAgB,CAACe,UAAU,CAAC;IAE5B,CAAAL,iBAAA,GAAAQ,MAAM,CAACC,SAAS,cAAAT,iBAAA,uBAAhBA,iBAAA,CAAkBU,SAAS,CAACN,aAAa,CAACO,UAAU,IAAIC,OAAO,CAACC,GAAG,CAACC,qBAAqB,CAAC;IAC1F,CAAAb,kBAAA,GAAAO,MAAM,CAACC,SAAS,cAAAR,kBAAA,uBAAhBA,kBAAA,CAAkBc,QAAQ,CAACC,IAAI,CAAC1C,MAAM,EAAEC,MAAM,EAAEgC,WAAW,EAAApD,aAAA,CAAAA,aAAA,KACtDiD,aAAa;MAChBa,mBAAmB,EAAEhC,SAAS,CAAC,IAAAiC,kBAAS,EAACtC,IAAI,EAAEC,MAAM,EAAEC,QAAQ,CAAC;IAAC,EAClE,CAAC;IACF,CAAAoB,WAAA,GAAAf,EAAE,CAACgC,OAAO,cAAAjB,WAAA,uBAAVA,WAAA,CAAYkB,KAAK,CAAC,CAAC;IACnB;EACF,CAAC,EAAE,CAAC5B,KAAK,EAAET,QAAQ,CAAC,CAAC;EAErB,MAAMgB,UAAU,GAAGA,CAAA,KAAMN,QAAQ,CAAC,IAAI,CAAC;EAEvC,oBACE9E,MAAA,CAAAmB,OAAA,CAAAuF,aAAA,CAAC7G,GAAA,CAAA8G,IAAI,EAAA/E,QAAA,KAAKyC,MAAM;IAAEuC,SAAS,EAAE,IAAAC,UAAM,EAACxC,MAAM,CAACuC,SAAS,EAAExG,KAAK,CAAC0G,SAAS;EAAE,IACpEpC,aAAa,iBAAI1E,MAAA,CAAAmB,OAAA,CAAAuF,aAAA,CAACxG,UAAA,CAAA6G,SAAS,EAAAvE,aAAA;IAAOwB,MAAM;IAAEI;EAAQ,GAAKC,MAAM,CAAK,CAAC,eACpErE,MAAA,CAAAmB,OAAA,CAAAuF,aAAA;IAAOM,MAAM;IAAC/B,EAAE,EAAEtB,MAAO;IAACsD,GAAG,EAAEzC,EAAG;IAAC0C,IAAI,EAAC;EAAQ,CAAE,CAAC,eACnDlH,MAAA,CAAAmB,OAAA,CAAAuF,aAAA;IAAQzB,EAAE,EAAErB,MAAO;IAACuD,KAAK,EAAE7C,SAAS,CAAC8C,eAAI,CAACC,iBAAiB,CAAE;IAACT,SAAS,EAAExG,KAAK,CAACkH;EAAO,CAAE,CACpF,CAAC;AAEX,CAAC;AAACC,OAAA,CAAA1D,SAAA,GAAAA,SAAA;AAEFA,SAAS,CAAC2D,WAAW,GAAG,wCAAwC;AAEhE3D,SAAS,CAAC4D,SAAS,GAAG;EACpB1D,IAAI,EAAE2D,kBAAS,CAACC,KAAK,CAAC;IACpBC,cAAc,EAAEF,kBAAS,CAACG,IAAI;IAC9B5D,IAAI,EAAEyD,kBAAS,CAACI,UAAU,CAACC,IAAI,CAAC;IAChC/D,MAAM,EAAE0D,kBAAS,CAACM;EACpB,CAAC,CAAC;EACF9D,MAAM,EAAEwD,kBAAS,CAACO,MAAM;EACxB9D,QAAQ,EAAEuD,kBAAS,CAACO,MAAM;EAC1B7D,QAAQ,EAAEsD,kBAAS,CAACQ;AACtB,CAAC","ignoreList":[]}
|
package/build/components/__shared__/ButtonPayment/components/FormAddon/FormAddon.l10n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormAddon.l10n.js","names":["L10N","exports","ACTION_BOOK","id","ACTION_FINAL_DETAILS","ACTION_PROCEED_TO_PAYMENT"
|
|
1
|
+
{"version":3,"file":"FormAddon.l10n.js","names":["L10N","exports","ACTION_BOOK","id","ACTION_FINAL_DETAILS","ACTION_PROCEED_TO_PAYMENT"],"sources":["../../../../../../src/components/__shared__/ButtonPayment/components/FormAddon/FormAddon.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_BOOK: { id: 'core.action.book' },\n ACTION_FINAL_DETAILS: { id: 'core.action.final_details' },\n ACTION_PROCEED_TO_PAYMENT: { id: 'core.action.proceed_to_payment' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,WAAW,EAAE;IAAEC,EAAE,EAAE;EAAmB,CAAC;EACvCC,oBAAoB,EAAE;IAAED,EAAE,EAAE;EAA4B,CAAC;EACzDE,yBAAyB,EAAE;IAAEF,EAAE,EAAE;EAAiC;AACpE,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.GooglePay = void 0;
|
|
7
|
+
var _locale = require("@mirai/locale");
|
|
8
|
+
var _ui = require("@mirai/ui");
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _GooglePay = require("./GooglePay.l10n");
|
|
12
|
+
var style = _interopRequireWildcard(require("./GooglePay.module.css"));
|
|
13
|
+
var _helpers = require("./helpers");
|
|
14
|
+
var _loadScript = require("../../../../../../../helpers/loadScript");
|
|
15
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
18
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
19
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
20
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
21
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
22
|
+
let paymentsClient;
|
|
23
|
+
const GooglePay = _ref => {
|
|
24
|
+
let {
|
|
25
|
+
amount,
|
|
26
|
+
response,
|
|
27
|
+
onClose = () => {}
|
|
28
|
+
} = _ref;
|
|
29
|
+
const {
|
|
30
|
+
translate
|
|
31
|
+
} = (0, _locale.useLocale)();
|
|
32
|
+
const el = (0, _react.useRef)();
|
|
33
|
+
const [ready, setReady] = (0, _react.useState)();
|
|
34
|
+
const [visible, setVisible] = (0, _react.useState)();
|
|
35
|
+
(0, _react.useEffect)(() => {
|
|
36
|
+
let callback;
|
|
37
|
+
(async () => {
|
|
38
|
+
callback = await (0, _loadScript.loadScript)({
|
|
39
|
+
domain: 'payments',
|
|
40
|
+
id: 'googlePayScript',
|
|
41
|
+
src: process.env.METHOD_GOOGLE_PAY_SCRIPT,
|
|
42
|
+
onLoad: handleLoad
|
|
43
|
+
});
|
|
44
|
+
})();
|
|
45
|
+
return () => {
|
|
46
|
+
callback && callback();
|
|
47
|
+
};
|
|
48
|
+
}, []);
|
|
49
|
+
(0, _react.useEffect)(() => {
|
|
50
|
+
if (!response || !ready) return;
|
|
51
|
+
|
|
52
|
+
// eslint-disable-next-line no-undef
|
|
53
|
+
paymentsClient = new google.payments.api.PaymentsClient({
|
|
54
|
+
environment: process.env.NODE_ENV === 'production' ? 'PRODUCTION' : 'TEST'
|
|
55
|
+
});
|
|
56
|
+
paymentsClient.isReadyToPay(_objectSpread(_objectSpread({}, baseRequest), {}, {
|
|
57
|
+
allowedPaymentMethods
|
|
58
|
+
})).then(function () {
|
|
59
|
+
let {
|
|
60
|
+
result
|
|
61
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
62
|
+
return setVisible(!!result);
|
|
63
|
+
}).catch(error => {
|
|
64
|
+
// eslint-disable-next-line no-console
|
|
65
|
+
console.error('Error checking if Google Pay is ready to pay:', error);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
69
|
+
}, [ready, response]);
|
|
70
|
+
(0, _react.useEffect)(() => {
|
|
71
|
+
if (!visible) return;
|
|
72
|
+
const button = paymentsClient.createButton({
|
|
73
|
+
buttonSizeMode: 'fill',
|
|
74
|
+
onClick: handleClick
|
|
75
|
+
});
|
|
76
|
+
el.current.appendChild(button);
|
|
77
|
+
return () => {
|
|
78
|
+
if (button.parentNode) button.parentNode.removeChild(button);
|
|
79
|
+
};
|
|
80
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
81
|
+
}, [visible]);
|
|
82
|
+
const handleClick = () => {
|
|
83
|
+
paymentsClient.loadPaymentData(_objectSpread(_objectSpread({}, baseRequest), {}, {
|
|
84
|
+
allowedPaymentMethods,
|
|
85
|
+
transactionInfo
|
|
86
|
+
})).then(_ref2 => {
|
|
87
|
+
let {
|
|
88
|
+
paymentMethodData: {
|
|
89
|
+
tokenizationData: {
|
|
90
|
+
token
|
|
91
|
+
} = {}
|
|
92
|
+
} = {}
|
|
93
|
+
} = _ref2;
|
|
94
|
+
onClose();
|
|
95
|
+
const url = new URL(configuration.MERCHANT_RESPONSE_URL);
|
|
96
|
+
url.searchParams.append('paymentMethod', 'GOOGLE_PAY');
|
|
97
|
+
url.searchParams.append('token', token);
|
|
98
|
+
window.location.href = url.toString();
|
|
99
|
+
}).catch(error => {
|
|
100
|
+
// eslint-disable-next-line no-console
|
|
101
|
+
console.error('Error loading payment data:', error);
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
const handleLoad = () => setReady(true);
|
|
105
|
+
const {
|
|
106
|
+
configuration
|
|
107
|
+
} = response || {};
|
|
108
|
+
const {
|
|
109
|
+
allowedPaymentMethods,
|
|
110
|
+
baseRequest,
|
|
111
|
+
transactionInfo
|
|
112
|
+
} = (0, _helpers.getPaymentData)({
|
|
113
|
+
amount,
|
|
114
|
+
configuration
|
|
115
|
+
});
|
|
116
|
+
return visible ? /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
117
|
+
ref: el,
|
|
118
|
+
className: style.container
|
|
119
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
120
|
+
className: style.divider
|
|
121
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
122
|
+
action: true
|
|
123
|
+
}, translate(_GooglePay.L10N.LABEL_PAY_WITH_CARD)))) : null;
|
|
124
|
+
};
|
|
125
|
+
exports.GooglePay = GooglePay;
|
|
126
|
+
GooglePay.displayName = 'Mirai:Payments:ButtonPayment:FormAddon:GooglePay';
|
|
127
|
+
GooglePay.propTypes = {
|
|
128
|
+
amount: _propTypes.default.number.isRequired,
|
|
129
|
+
response: _propTypes.default.shape({
|
|
130
|
+
configuration: _propTypes.default.shape({
|
|
131
|
+
MERCHANT_ID: _propTypes.default.string.isRequired,
|
|
132
|
+
MERCHANT_RESPONSE_URL: _propTypes.default.string.isRequired,
|
|
133
|
+
CURRENCY: _propTypes.default.string.isRequired,
|
|
134
|
+
HPP_CUSTOMER_COUNTRY: _propTypes.default.string.isRequired
|
|
135
|
+
}).isRequired
|
|
136
|
+
}),
|
|
137
|
+
onClose: _propTypes.default.func
|
|
138
|
+
};
|
|
139
|
+
//# sourceMappingURL=GooglePay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GooglePay.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_GooglePay","style","_helpers","_loadScript","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","paymentsClient","GooglePay","_ref","amount","response","onClose","translate","useLocale","el","useRef","ready","setReady","useState","visible","setVisible","useEffect","callback","loadScript","domain","id","src","process","env","METHOD_GOOGLE_PAY_SCRIPT","onLoad","handleLoad","google","payments","api","PaymentsClient","environment","NODE_ENV","isReadyToPay","baseRequest","allowedPaymentMethods","then","result","undefined","catch","error","console","button","createButton","buttonSizeMode","onClick","handleClick","current","appendChild","parentNode","removeChild","loadPaymentData","transactionInfo","_ref2","paymentMethodData","tokenizationData","token","url","URL","configuration","MERCHANT_RESPONSE_URL","searchParams","append","window","location","href","toString","getPaymentData","createElement","View","ref","className","container","divider","Text","action","L10N","LABEL_PAY_WITH_CARD","exports","displayName","propTypes","PropTypes","number","isRequired","shape","MERCHANT_ID","string","CURRENCY","HPP_CUSTOMER_COUNTRY","func"],"sources":["../../../../../../../../src/components/__shared__/ButtonPayment/components/FormAddon/components/GooglePay/GooglePay.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './GooglePay.l10n';\nimport * as style from './GooglePay.module.css';\nimport { getPaymentData } from './helpers';\nimport { loadScript } from '../../../../../../../helpers/loadScript';\n\nlet paymentsClient;\n\nexport const GooglePay = ({ amount, response, onClose = () => {} }) => {\n const { translate } = useLocale();\n\n const el = useRef();\n\n const [ready, setReady] = useState();\n const [visible, setVisible] = useState();\n\n useEffect(() => {\n let callback;\n\n (async () => {\n callback = await loadScript({\n domain: 'payments',\n id: 'googlePayScript',\n src: process.env.METHOD_GOOGLE_PAY_SCRIPT,\n onLoad: handleLoad,\n });\n })();\n\n return () => {\n callback && callback();\n };\n }, []);\n\n useEffect(() => {\n if (!response || !ready) return;\n\n // eslint-disable-next-line no-undef\n paymentsClient = new google.payments.api.PaymentsClient({\n environment: process.env.NODE_ENV === 'production' ? 'PRODUCTION' : 'TEST',\n });\n\n paymentsClient\n .isReadyToPay({ ...baseRequest, allowedPaymentMethods })\n .then(({ result } = {}) => setVisible(!!result))\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error('Error checking if Google Pay is ready to pay:', error);\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ready, response]);\n\n useEffect(() => {\n if (!visible) return;\n\n const button = paymentsClient.createButton({ buttonSizeMode: 'fill', onClick: handleClick });\n el.current.appendChild(button);\n\n return () => {\n if (button.parentNode) button.parentNode.removeChild(button);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [visible]);\n\n const handleClick = () => {\n paymentsClient\n .loadPaymentData({ ...baseRequest, allowedPaymentMethods, transactionInfo })\n .then(({ paymentMethodData: { tokenizationData: { token } = {} } = {} }) => {\n onClose();\n\n const url = new URL(configuration.MERCHANT_RESPONSE_URL);\n url.searchParams.append('paymentMethod', 'GOOGLE_PAY');\n url.searchParams.append('token', token);\n window.location.href = url.toString();\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error('Error loading payment data:', error);\n });\n };\n\n const handleLoad = () => setReady(true);\n\n const { configuration } = response || {};\n const { allowedPaymentMethods, baseRequest, transactionInfo } = getPaymentData({ amount, configuration });\n\n return visible ? (\n <View ref={el} className={style.container}>\n <View className={style.divider}>\n <Text action>{translate(L10N.LABEL_PAY_WITH_CARD)}</Text>\n </View>\n </View>\n ) : null;\n};\n\nGooglePay.displayName = 'Mirai:Payments:ButtonPayment:FormAddon:GooglePay';\n\nGooglePay.propTypes = {\n amount: PropTypes.number.isRequired,\n response: PropTypes.shape({\n configuration: PropTypes.shape({\n MERCHANT_ID: PropTypes.string.isRequired,\n MERCHANT_RESPONSE_URL: PropTypes.string.isRequired,\n CURRENCY: PropTypes.string.isRequired,\n HPP_CUSTOMER_COUNTRY: PropTypes.string.isRequired,\n }).isRequired,\n }),\n onClose: PropTypes.func,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GooglePay.l10n.js","names":["L10N","exports","LABEL_PAY_WITH_CARD","id"],"sources":["../../../../../../../../src/components/__shared__/ButtonPayment/components/FormAddon/components/GooglePay/GooglePay.l10n.js"],"sourcesContent":["export const L10N = {\n LABEL_PAY_WITH_CARD: { id: 'core.label.pay_with_card' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,mBAAmB,EAAE;IAAEC,EAAE,EAAE;EAA2B;AACxD,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
.container {
|
|
2
|
+
align-items: center;
|
|
3
|
+
flex-flow: column-reverse;
|
|
4
|
+
gap: var(--mirai-ui-space-XS);
|
|
5
|
+
margin-bottom: var(--mirai-ui-space-S);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.container .divider {
|
|
9
|
+
align-items: center;
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-direction: row;
|
|
12
|
+
gap: var(--mirai-ui-space-M);
|
|
13
|
+
text-align: center;
|
|
14
|
+
width: 100%;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.container .divider::before,
|
|
18
|
+
.container .divider::after {
|
|
19
|
+
border-bottom: 1px solid var(--mirai-ui-content-border);
|
|
20
|
+
content: '';
|
|
21
|
+
flex: 1;
|
|
22
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getPaymentData = void 0;
|
|
7
|
+
const getPaymentData = function () {
|
|
8
|
+
let {
|
|
9
|
+
amount = 0,
|
|
10
|
+
configuration = {}
|
|
11
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
12
|
+
const baseRequest = {
|
|
13
|
+
apiVersion: 2,
|
|
14
|
+
apiVersionMinor: 0
|
|
15
|
+
};
|
|
16
|
+
const tokenizationSpecification = {
|
|
17
|
+
type: 'PAYMENT_GATEWAY',
|
|
18
|
+
parameters: {
|
|
19
|
+
gateway: 'globalpayments',
|
|
20
|
+
gatewayMerchantId: configuration.MERCHANT_ID
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const allowedPaymentMethods = [{
|
|
24
|
+
type: 'CARD',
|
|
25
|
+
parameters: {
|
|
26
|
+
allowedAuthMethods: ['PAN_ONLY', 'CRYPTOGRAM_3DS'],
|
|
27
|
+
allowedCardNetworks: ['AMEX', 'DISCOVER', 'JCB', 'MASTERCARD', 'VISA']
|
|
28
|
+
},
|
|
29
|
+
tokenizationSpecification
|
|
30
|
+
}];
|
|
31
|
+
const transactionInfo = {
|
|
32
|
+
totalPriceStatus: 'FINAL',
|
|
33
|
+
totalPrice: amount.toString(),
|
|
34
|
+
currencyCode: configuration.CURRENCY,
|
|
35
|
+
countryCode: configuration.HPP_CUSTOMER_COUNTRY
|
|
36
|
+
};
|
|
37
|
+
return {
|
|
38
|
+
allowedPaymentMethods,
|
|
39
|
+
baseRequest,
|
|
40
|
+
transactionInfo
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
exports.getPaymentData = getPaymentData;
|
|
44
|
+
//# sourceMappingURL=getPaymentData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPaymentData.js","names":["getPaymentData","amount","configuration","arguments","length","undefined","baseRequest","apiVersion","apiVersionMinor","tokenizationSpecification","type","parameters","gateway","gatewayMerchantId","MERCHANT_ID","allowedPaymentMethods","allowedAuthMethods","allowedCardNetworks","transactionInfo","totalPriceStatus","totalPrice","toString","currencyCode","CURRENCY","countryCode","HPP_CUSTOMER_COUNTRY","exports"],"sources":["../../../../../../../../../src/components/__shared__/ButtonPayment/components/FormAddon/components/GooglePay/helpers/getPaymentData.js"],"sourcesContent":["export const getPaymentData = ({ amount = 0, configuration = {} } = {}) => {\n const baseRequest = { apiVersion: 2, apiVersionMinor: 0 };\n\n const tokenizationSpecification = {\n type: 'PAYMENT_GATEWAY',\n parameters: { gateway: 'globalpayments', gatewayMerchantId: configuration.MERCHANT_ID },\n };\n\n const allowedPaymentMethods = [\n {\n type: 'CARD',\n parameters: {\n allowedAuthMethods: ['PAN_ONLY', 'CRYPTOGRAM_3DS'],\n allowedCardNetworks: ['AMEX', 'DISCOVER', 'JCB', 'MASTERCARD', 'VISA'],\n },\n tokenizationSpecification,\n },\n ];\n\n const transactionInfo = {\n totalPriceStatus: 'FINAL',\n totalPrice: amount.toString(),\n currencyCode: configuration.CURRENCY,\n countryCode: configuration.HPP_CUSTOMER_COUNTRY,\n };\n\n return { allowedPaymentMethods, baseRequest, transactionInfo };\n};\n"],"mappings":";;;;;;AAAO,MAAMA,cAAc,GAAG,SAAAA,CAAA,EAA6C;EAAA,IAA5C;IAAEC,MAAM,GAAG,CAAC;IAAEC,aAAa,GAAG,CAAC;EAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACpE,MAAMG,WAAW,GAAG;IAAEC,UAAU,EAAE,CAAC;IAAEC,eAAe,EAAE;EAAE,CAAC;EAEzD,MAAMC,yBAAyB,GAAG;IAChCC,IAAI,EAAE,iBAAiB;IACvBC,UAAU,EAAE;MAAEC,OAAO,EAAE,gBAAgB;MAAEC,iBAAiB,EAAEX,aAAa,CAACY;IAAY;EACxF,CAAC;EAED,MAAMC,qBAAqB,GAAG,CAC5B;IACEL,IAAI,EAAE,MAAM;IACZC,UAAU,EAAE;MACVK,kBAAkB,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC;MAClDC,mBAAmB,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM;IACvE,CAAC;IACDR;EACF,CAAC,CACF;EAED,MAAMS,eAAe,GAAG;IACtBC,gBAAgB,EAAE,OAAO;IACzBC,UAAU,EAAEnB,MAAM,CAACoB,QAAQ,CAAC,CAAC;IAC7BC,YAAY,EAAEpB,aAAa,CAACqB,QAAQ;IACpCC,WAAW,EAAEtB,aAAa,CAACuB;EAC7B,CAAC;EAED,OAAO;IAAEV,qBAAqB;IAAET,WAAW;IAAEY;EAAgB,CAAC;AAChE,CAAC;AAACQ,OAAA,CAAA1B,cAAA,GAAAA,cAAA","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _getPaymentData = require("./getPaymentData");
|
|
7
|
+
Object.keys(_getPaymentData).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _getPaymentData[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _getPaymentData[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_getPaymentData","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../../../../../../src/components/__shared__/ButtonPayment/components/FormAddon/components/GooglePay/helpers/index.js"],"sourcesContent":["export * from './getPaymentData';\n"],"mappings":";;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,eAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,eAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,eAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
package/build/components/__shared__/ButtonPayment/components/FormAddon/components/GooglePay/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _GooglePay = require("./GooglePay");
|
|
7
|
+
Object.keys(_GooglePay).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _GooglePay[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _GooglePay[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_GooglePay","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../../../../../src/components/__shared__/ButtonPayment/components/FormAddon/components/GooglePay/index.js"],"sourcesContent":["export * from './GooglePay';\n"],"mappings":";;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,UAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,UAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,UAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -22,7 +22,11 @@ const loadScript = function () {
|
|
|
22
22
|
return new Promise((resolve, reject) => {
|
|
23
23
|
const scriptId = "".concat(domain, "-").concat(id);
|
|
24
24
|
const exists = document.getElementById(scriptId);
|
|
25
|
-
|
|
25
|
+
const cleanup = () => {
|
|
26
|
+
const el = document.getElementById(scriptId);
|
|
27
|
+
if (el) el.parentNode.removeChild(el);
|
|
28
|
+
};
|
|
29
|
+
if (!inline && !src || exists) return resolve(cleanup);
|
|
26
30
|
const script = document.createElement('script');
|
|
27
31
|
script.id = scriptId;
|
|
28
32
|
script.async = async;
|
|
@@ -38,10 +42,7 @@ const loadScript = function () {
|
|
|
38
42
|
onLoad();
|
|
39
43
|
// eslint-disable-next-line no-console
|
|
40
44
|
if (src) console.log("\uD83D\uDCDC <script ".concat(scriptId, " ").concat(src ? "src=".concat(src, " ") : '', "/>"));
|
|
41
|
-
resolve(
|
|
42
|
-
const el = document.getElementById(scriptId);
|
|
43
|
-
if (el) el.parentNode.removeChild(el);
|
|
44
|
-
});
|
|
45
|
+
resolve(cleanup);
|
|
45
46
|
};
|
|
46
47
|
document.head.appendChild(script);
|
|
47
48
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadScript.js","names":["VALID_PROPS","loadScript","_ref","arguments","length","undefined","async","domain","id","inline","src","onLoad","others","_objectWithoutProperties","_excluded","Promise","resolve","reject","scriptId","concat","exists","document","getElementById","script","createElement","Object","keys","filter","key","includes","forEach","textContent","onerror","error","onload","inlineScript","head","appendChild","console","log","
|
|
1
|
+
{"version":3,"file":"loadScript.js","names":["VALID_PROPS","loadScript","_ref","arguments","length","undefined","async","domain","id","inline","src","onLoad","others","_objectWithoutProperties","_excluded","Promise","resolve","reject","scriptId","concat","exists","document","getElementById","cleanup","el","parentNode","removeChild","script","createElement","Object","keys","filter","key","includes","forEach","textContent","onerror","error","onload","inlineScript","head","appendChild","console","log","exports"],"sources":["../../src/helpers/loadScript.js"],"sourcesContent":["const VALID_PROPS = ['crossOrigin', 'integrity'];\n\nexport const loadScript = ({ async = true, domain = 'mirai', id, inline, src, onLoad = () => {}, ...others } = {}) =>\n new Promise((resolve, reject) => {\n const scriptId = `${domain}-${id}`;\n const exists = document.getElementById(scriptId);\n\n const cleanup = () => {\n const el = document.getElementById(scriptId);\n if (el) el.parentNode.removeChild(el);\n };\n\n if ((!inline && !src) || exists) return resolve(cleanup);\n\n const script = document.createElement('script');\n script.id = scriptId;\n script.async = async;\n Object.keys(others || {})\n .filter((key) => VALID_PROPS.includes(key))\n .forEach((key) => (script[key] = others[key]));\n\n if (src) script.src = src;\n else if (inline) script.textContent = inline;\n\n script.onerror = (error) => reject(error);\n\n script.onload = () => {\n if (src && inline) {\n const inlineScript = document.createElement('script');\n inlineScript.textContent = inline;\n document.head.appendChild(inlineScript);\n }\n\n onLoad();\n // eslint-disable-next-line no-console\n if (src) console.log(`📜 <script ${scriptId} ${src ? `src=${src} ` : ''}/>`);\n\n resolve(cleanup);\n };\n\n document.head.appendChild(script);\n });\n"],"mappings":";;;;;;;;;AAAA,MAAMA,WAAW,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC;AAEzC,MAAMC,UAAU,GAAG,SAAAA,CAAA;EAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAqF,CAAC,CAAC;IAAtF;MAAEG,KAAK,GAAG,IAAI;MAAEC,MAAM,GAAG,OAAO;MAAEC,EAAE;MAAEC,MAAM;MAAEC,GAAG;MAAEC,MAAM,GAAGA,CAAA,KAAM,CAAC;IAAa,CAAC,GAAAT,IAAA;IAARU,MAAM,GAAAC,wBAAA,CAAAX,IAAA,EAAAY,SAAA;EAAA,OACxG,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC/B,MAAMC,QAAQ,MAAAC,MAAA,CAAMZ,MAAM,OAAAY,MAAA,CAAIX,EAAE,CAAE;IAClC,MAAMY,MAAM,GAAGC,QAAQ,CAACC,cAAc,CAACJ,QAAQ,CAAC;IAEhD,MAAMK,OAAO,GAAGA,CAAA,KAAM;MACpB,MAAMC,EAAE,GAAGH,QAAQ,CAACC,cAAc,CAACJ,QAAQ,CAAC;MAC5C,IAAIM,EAAE,EAAEA,EAAE,CAACC,UAAU,CAACC,WAAW,CAACF,EAAE,CAAC;IACvC,CAAC;IAED,IAAK,CAACf,MAAM,IAAI,CAACC,GAAG,IAAKU,MAAM,EAAE,OAAOJ,OAAO,CAACO,OAAO,CAAC;IAExD,MAAMI,MAAM,GAAGN,QAAQ,CAACO,aAAa,CAAC,QAAQ,CAAC;IAC/CD,MAAM,CAACnB,EAAE,GAAGU,QAAQ;IACpBS,MAAM,CAACrB,KAAK,GAAGA,KAAK;IACpBuB,MAAM,CAACC,IAAI,CAAClB,MAAM,IAAI,CAAC,CAAC,CAAC,CACtBmB,MAAM,CAAEC,GAAG,IAAKhC,WAAW,CAACiC,QAAQ,CAACD,GAAG,CAAC,CAAC,CAC1CE,OAAO,CAAEF,GAAG,IAAML,MAAM,CAACK,GAAG,CAAC,GAAGpB,MAAM,CAACoB,GAAG,CAAE,CAAC;IAEhD,IAAItB,GAAG,EAAEiB,MAAM,CAACjB,GAAG,GAAGA,GAAG,CAAC,KACrB,IAAID,MAAM,EAAEkB,MAAM,CAACQ,WAAW,GAAG1B,MAAM;IAE5CkB,MAAM,CAACS,OAAO,GAAIC,KAAK,IAAKpB,MAAM,CAACoB,KAAK,CAAC;IAEzCV,MAAM,CAACW,MAAM,GAAG,MAAM;MACpB,IAAI5B,GAAG,IAAID,MAAM,EAAE;QACjB,MAAM8B,YAAY,GAAGlB,QAAQ,CAACO,aAAa,CAAC,QAAQ,CAAC;QACrDW,YAAY,CAACJ,WAAW,GAAG1B,MAAM;QACjCY,QAAQ,CAACmB,IAAI,CAACC,WAAW,CAACF,YAAY,CAAC;MACzC;MAEA5B,MAAM,CAAC,CAAC;MACR;MACA,IAAID,GAAG,EAAEgC,OAAO,CAACC,GAAG,yBAAAxB,MAAA,CAAeD,QAAQ,OAAAC,MAAA,CAAIT,GAAG,UAAAS,MAAA,CAAUT,GAAG,SAAM,EAAE,OAAI,CAAC;MAE5EM,OAAO,CAACO,OAAO,CAAC;IAClB,CAAC;IAEDF,QAAQ,CAACmB,IAAI,CAACC,WAAW,CAACd,MAAM,CAAC;EACnC,CAAC,CAAC;AAAA;AAACiB,OAAA,CAAA3C,UAAA,GAAAA,UAAA","ignoreList":[]}
|