@mirai/core 0.4.70 → 0.4.72

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.
@@ -54,6 +54,9 @@ const Chat = _ref => {
54
54
  (async () => {
55
55
  if (!(await handleOnline())) return;
56
56
  const response = await _services.ServiceLisa.welcome({
57
+ context: {
58
+ hotel
59
+ },
57
60
  locale,
58
61
  session
59
62
  }).catch(handleError);
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.js","names":["_dataSources","require","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","_Chat3","style","_components","_helpers","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","connectionInterval","Chat","_ref","skeleton","others","isMobile","useDevice","value","calendar","components","currency","hotel","locale","occupation","origin","session","tags","type","useStore","busy","setBusy","useState","messages","setMessages","online","setOnline","scrollTo","setScrollTo","visible","setVisible","useEffect","handleOnline","response","ServiceLisa","welcome","catch","handleError","addMessage","Date","getTime","clearInterval","setInterval","storeContext","filter","_ref2","intent","text","map","_ref3","finder","rates","next","status","handleInput","input","nextMessages","timestamp","setTimeout","message","context","audioNotification","DELAY_RESPONSE","handleAction","form","undefined","Event","publish","EVENT","LOGIN","action","lisa","auto","error","console","INTENT_LOCALE","createElement","Fragment","React","Modal","View","className","styles","container","Header","onClose","ScrollView","snap","index","Message","concat","disabled","onAction","Input","onValue","InputRich","ButtonAvatar","onPress","exports","displayName","propTypes","name","PropTypes","string","bool"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { ServiceLisa } from '@mirai/services';\nimport { Modal, ScrollView, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ButtonAvatar } from './Chat.ButtonAvatar';\nimport { DELAY_RESPONSE } from './Chat.constants';\nimport { Header } from './Chat.Header';\nimport * as style from './Chat.module.css';\nimport { Input, InputRich, Message } from './components';\nimport { audioNotification } from './helpers';\nimport { EVENT } from '../helpers';\n\nlet connectionInterval;\n\nconst Chat = ({ skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const {\n set,\n value: { calendar, components, currency, hotel, locale, occupation, origin, session, tags, type },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [messages, setMessages] = useState([]);\n const [online, setOnline] = useState(false);\n const [scrollTo, setScrollTo] = useState();\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n if (!(await handleOnline())) return;\n const response = await ServiceLisa.welcome({ locale, session }).catch(handleError);\n if (response) addMessage(response, messages);\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n if (visible) setScrollTo(new Date().getTime());\n }, [busy, messages, visible]);\n\n useEffect(() => {\n // // ! TODO: It's just a demo\n // if (visible && !messages.length) handleInput('I would like to see all my reservations.');\n if (!visible) return clearInterval(connectionInterval);\n\n connectionInterval = setInterval(handleOnline, online ? 60000 : 10000);\n return () => clearInterval(connectionInterval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [online, visible]);\n\n const storeContext = {\n calendar,\n currency,\n hotel,\n messages: messages.filter(({ intent, text }) => !!intent || !!text).map(({ intent, text }) => ({ intent, text })),\n occupation,\n origin,\n tags,\n type,\n };\n\n const handleOnline = async () => {\n if (!(components.finder || components.rates)) return;\n\n let next = false;\n const response = await ServiceLisa.status().catch(() => setOnline(next));\n if (response && !online) {\n next = true;\n setOnline(next);\n }\n\n return next;\n };\n\n const handleInput = (input) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const response = await ServiceLisa.message({ context: storeContext, input, locale, session }).catch(handleError);\n if (response) {\n addMessage(response, nextMessages);\n audioNotification();\n }\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent } = {}) => {\n if (intent === 'ACTION_LOGIN') return Event.publish(EVENT.LOGIN, { visible: true });\n setBusy(true);\n\n setTimeout(async () => {\n const response = await ServiceLisa.action({\n context: { ...storeContext, ...context, form },\n intent,\n locale,\n session,\n }).catch(handleError);\n\n if (response) {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n audioNotification();\n }\n\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleError = (error) => {\n // eslint-disable-next-line no-console\n console.error('::handleError::', error);\n setOnline(false);\n };\n\n const addMessage = (response = {}, messages = []) => {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n };\n\n return !skeleton ? (\n <>\n {React.createElement(\n isMobile ? Modal : View,\n isMobile\n ? { ...others, visible, className: styles(style.container, others.className) }\n : {\n ...others,\n className: styles(style.container, visible && style.visible, others.className),\n 'aria-hidden': visible ? 'false' : 'true',\n },\n <>\n <Header {...{ online }} onClose={() => setVisible(false)} />\n\n <ScrollView scrollTo={scrollTo} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < messages.length - 1}\n onAction={handleAction}\n />\n ))}\n {busy && <Message auto busy />}\n </ScrollView>\n\n {online && (\n <>\n <Input disabled={busy} onValue={handleInput} />\n <InputRich onValue={handleAction} />\n </>\n )}\n </>,\n )}\n\n <ButtonAvatar message={messages[0]} visible={visible} onPress={() => setVisible(true)} />\n </>\n ) : null;\n};\n\nChat.displayName = 'Mirai:Core:Chat';\n\nChat.propTypes = {\n name: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Chat };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Chat.js","names":["_dataSources","require","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","_Chat3","style","_components","_helpers","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","connectionInterval","Chat","_ref","skeleton","others","isMobile","useDevice","value","calendar","components","currency","hotel","locale","occupation","origin","session","tags","type","useStore","busy","setBusy","useState","messages","setMessages","online","setOnline","scrollTo","setScrollTo","visible","setVisible","useEffect","handleOnline","response","ServiceLisa","welcome","context","catch","handleError","addMessage","Date","getTime","clearInterval","setInterval","storeContext","filter","_ref2","intent","text","map","_ref3","finder","rates","next","status","handleInput","input","nextMessages","timestamp","setTimeout","message","audioNotification","DELAY_RESPONSE","handleAction","form","undefined","Event","publish","EVENT","LOGIN","action","lisa","auto","error","console","INTENT_LOCALE","createElement","Fragment","React","Modal","View","className","styles","container","Header","onClose","ScrollView","snap","index","Message","concat","disabled","onAction","Input","onValue","InputRich","ButtonAvatar","onPress","exports","displayName","propTypes","name","PropTypes","string","bool"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { ServiceLisa } from '@mirai/services';\nimport { Modal, ScrollView, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ButtonAvatar } from './Chat.ButtonAvatar';\nimport { DELAY_RESPONSE } from './Chat.constants';\nimport { Header } from './Chat.Header';\nimport * as style from './Chat.module.css';\nimport { Input, InputRich, Message } from './components';\nimport { audioNotification } from './helpers';\nimport { EVENT } from '../helpers';\n\nlet connectionInterval;\n\nconst Chat = ({ skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const {\n set,\n value: { calendar, components, currency, hotel, locale, occupation, origin, session, tags, type },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [messages, setMessages] = useState([]);\n const [online, setOnline] = useState(false);\n const [scrollTo, setScrollTo] = useState();\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n if (!(await handleOnline())) return;\n const response = await ServiceLisa.welcome({ context: { hotel }, locale, session }).catch(handleError);\n if (response) addMessage(response, messages);\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n if (visible) setScrollTo(new Date().getTime());\n }, [busy, messages, visible]);\n\n useEffect(() => {\n // // ! TODO: It's just a demo\n // if (visible && !messages.length) handleInput('I would like to see all my reservations.');\n if (!visible) return clearInterval(connectionInterval);\n\n connectionInterval = setInterval(handleOnline, online ? 60000 : 10000);\n return () => clearInterval(connectionInterval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [online, visible]);\n\n const storeContext = {\n calendar,\n currency,\n hotel,\n messages: messages.filter(({ intent, text }) => !!intent || !!text).map(({ intent, text }) => ({ intent, text })),\n occupation,\n origin,\n tags,\n type,\n };\n\n const handleOnline = async () => {\n if (!(components.finder || components.rates)) return;\n\n let next = false;\n const response = await ServiceLisa.status().catch(() => setOnline(next));\n if (response && !online) {\n next = true;\n setOnline(next);\n }\n\n return next;\n };\n\n const handleInput = (input) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const response = await ServiceLisa.message({ context: storeContext, input, locale, session }).catch(handleError);\n if (response) {\n addMessage(response, nextMessages);\n audioNotification();\n }\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent } = {}) => {\n if (intent === 'ACTION_LOGIN') return Event.publish(EVENT.LOGIN, { visible: true });\n setBusy(true);\n\n setTimeout(async () => {\n const response = await ServiceLisa.action({\n context: { ...storeContext, ...context, form },\n intent,\n locale,\n session,\n }).catch(handleError);\n\n if (response) {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n audioNotification();\n }\n\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleError = (error) => {\n // eslint-disable-next-line no-console\n console.error('::handleError::', error);\n setOnline(false);\n };\n\n const addMessage = (response = {}, messages = []) => {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n };\n\n return !skeleton ? (\n <>\n {React.createElement(\n isMobile ? Modal : View,\n isMobile\n ? { ...others, visible, className: styles(style.container, others.className) }\n : {\n ...others,\n className: styles(style.container, visible && style.visible, others.className),\n 'aria-hidden': visible ? 'false' : 'true',\n },\n <>\n <Header {...{ online }} onClose={() => setVisible(false)} />\n\n <ScrollView scrollTo={scrollTo} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < messages.length - 1}\n onAction={handleAction}\n />\n ))}\n {busy && <Message auto busy />}\n </ScrollView>\n\n {online && (\n <>\n <Input disabled={busy} onValue={handleInput} />\n <InputRich onValue={handleAction} />\n </>\n )}\n </>,\n )}\n\n <ButtonAvatar message={messages[0]} visible={visible} onPress={() => setVisible(true)} />\n </>\n ) : null;\n};\n\nChat.displayName = 'Mirai:Core:Chat';\n\nChat.propTypes = {\n name: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Chat };\n"],"mappings":"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"}
@@ -31,7 +31,7 @@ const Variables = _ref => {
31
31
  text: availableValues.map((_ref3, index) => {
32
32
  let [key, value] = _ref3;
33
33
  return /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({}, textProps, {
34
- key: index,
34
+ key: "".concat(text, ":").concat(index),
35
35
  className: style.variable
36
36
  }), "".concat(key, ": ").concat(value));
37
37
  })
@@ -58,7 +58,7 @@ const Environment = _ref4 => {
58
58
  }), /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({}, textProps, {
59
59
  bold: true,
60
60
  className: style.intent
61
- }), "".concat(intent, ": ").concat(confidence)), locale && /*#__PURE__*/_react.default.createElement(_ui.Text, null, locale), /*#__PURE__*/_react.default.createElement(Variables, {
61
+ }), "".concat(intent, ": ").concat(confidence)), locale && /*#__PURE__*/_react.default.createElement(_ui.Text, textProps, locale), /*#__PURE__*/_react.default.createElement(Variables, {
62
62
  values: entities,
63
63
  text: "Entities"
64
64
  }), /*#__PURE__*/_react.default.createElement(Variables, {
@@ -1 +1 @@
1
- {"version":3,"file":"Environment.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","textProps","markdown","tiny","Variables","_ref","values","text","availableValues","entries","filter","_ref2","value","createElement","Tooltip","map","_ref3","index","Text","className","variable","concat","Environment","_ref4","confidence","environment","entities","sentence","terms","locale","intent","response","error","others","View","row","styles","bold","exports","propTypes","classifications","PropTypes","any","number","shape","string","bool"],"sources":["../../../../../../src/components/Chat/components/Message/components/Environment.jsx"],"sourcesContent":["import { styles, Text, Tooltip, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './Environment.module.css';\n\nconst textProps = { markdown: false, tiny: true };\n\n// eslint-disable-next-line react/prop-types\nconst Variables = ({ values = {}, text }) => {\n const availableValues = Object.entries(values).filter(\n ([, value]) => value !== false && value !== null && value !== 0,\n );\n\n return availableValues.length ? (\n <Tooltip\n text={availableValues.map(([key, value], index) => (\n <Text {...textProps} key={index} className={style.variable}>{`${key}: ${value}`}</Text>\n ))}\n >\n <Text {...textProps}>{text}</Text>\n </Tooltip>\n ) : null;\n};\n\nconst Environment = ({\n confidence,\n environment: { entities = {}, sentence = {}, terms = {} } = {},\n locale,\n intent,\n response: { error = false } = {},\n ...others\n}) => (\n <View {...others} row className={styles(style.environment, error && style.error, others.className)}>\n <Text {...textProps} bold className={style.intent}>\n {`${intent}: ${confidence}`}\n </Text>\n\n {locale && <Text>{locale}</Text>}\n <Variables values={entities} text=\"Entities\" />\n <Variables values={sentence} text=\"Sentence\" />\n <Variables values={terms} text=\"Terms\" />\n </View>\n);\n\nEnvironment.propTypes = {\n classifications: PropTypes.any,\n confidence: PropTypes.number,\n environment: PropTypes.shape({}),\n intent: PropTypes.string,\n locale: PropTypes.string,\n response: PropTypes.shape({\n error: PropTypes.bool,\n }),\n};\n\nexport { Environment };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Environment.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","textProps","markdown","tiny","Variables","_ref","values","text","availableValues","entries","filter","_ref2","value","createElement","Tooltip","map","_ref3","index","Text","concat","className","variable","Environment","_ref4","confidence","environment","entities","sentence","terms","locale","intent","response","error","others","View","row","styles","bold","exports","propTypes","classifications","PropTypes","any","number","shape","string","bool"],"sources":["../../../../../../src/components/Chat/components/Message/components/Environment.jsx"],"sourcesContent":["import { styles, Text, Tooltip, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './Environment.module.css';\n\nconst textProps = { markdown: false, tiny: true };\n\n// eslint-disable-next-line react/prop-types\nconst Variables = ({ values = {}, text }) => {\n const availableValues = Object.entries(values).filter(\n ([, value]) => value !== false && value !== null && value !== 0,\n );\n\n return availableValues.length ? (\n <Tooltip\n text={availableValues.map(([key, value], index) => (\n <Text {...textProps} key={`${text}:${index}`} className={style.variable}>{`${key}: ${value}`}</Text>\n ))}\n >\n <Text {...textProps}>{text}</Text>\n </Tooltip>\n ) : null;\n};\n\nconst Environment = ({\n confidence,\n environment: { entities = {}, sentence = {}, terms = {} } = {},\n locale,\n intent,\n response: { error = false } = {},\n ...others\n}) => (\n <View {...others} row className={styles(style.environment, error && style.error, others.className)}>\n <Text {...textProps} bold className={style.intent}>\n {`${intent}: ${confidence}`}\n </Text>\n\n {locale && <Text {...textProps}>{locale}</Text>}\n <Variables values={entities} text=\"Entities\" />\n <Variables values={sentence} text=\"Sentence\" />\n <Variables values={terms} text=\"Terms\" />\n </View>\n);\n\nEnvironment.propTypes = {\n classifications: PropTypes.any,\n confidence: PropTypes.number,\n environment: PropTypes.shape({}),\n intent: PropTypes.string,\n locale: PropTypes.string,\n response: PropTypes.shape({\n error: PropTypes.bool,\n }),\n};\n\nexport { Environment };\n"],"mappings":"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"}
@@ -19,8 +19,10 @@ const Offers = _ref => {
19
19
  disabled,
20
20
  response: {
21
21
  text,
22
- requirements
23
- } = {}
22
+ requirements,
23
+ value = []
24
+ } = {},
25
+ onAction
24
26
  } = _ref;
25
27
  const [inputResponse, setInputResponse] = (0, _react.useState)();
26
28
 
@@ -38,7 +40,17 @@ const Offers = _ref => {
38
40
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, text && /*#__PURE__*/_react.default.createElement(_ui.Text, {
39
41
  action: true,
40
42
  className: style.text
41
- }, text), requirementText && /*#__PURE__*/_react.default.createElement(_components.Card, {
43
+ }, text), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, value.map((offer, index) => /*#__PURE__*/_react.default.createElement(_components.Card, {
44
+ key: index,
45
+ disabled,
46
+ text: offer.name,
47
+ onPress: () => onAction({
48
+ intent: _Chat.INTENT.OFFERS,
49
+ form: {
50
+ offerId: offer.id
51
+ }
52
+ })
53
+ }))), requirementText && /*#__PURE__*/_react.default.createElement(_components.Card, {
42
54
  disabled: disabled,
43
55
  option: false,
44
56
  text: (inputResponse === null || inputResponse === void 0 ? void 0 : inputResponse.text) || requirementText,
@@ -52,6 +64,7 @@ Offers.propTypes = {
52
64
  text: _propTypes.default.string,
53
65
  requirements: _propTypes.default.shape({})
54
66
  }),
55
- status: _propTypes.default.shape({})
67
+ status: _propTypes.default.shape({}),
68
+ onAction: _propTypes.default.func
56
69
  };
57
70
  //# sourceMappingURL=Offers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Offers.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_components","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Offers","_ref","disabled","response","text","requirements","inputResponse","setInputResponse","useState","useEffect","dispatchRequirement","Event","publish","EVENT","INPUT_COMPONENT","onSubmit","requirementText","values","createElement","Fragment","Text","action","className","Card","option","onPress","exports","propTypes","PropTypes","bool","shape","string","status"],"sources":["../../../../../../src/components/Chat/components/Message/intents/Offers.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { Text } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { EVENT } from '../../../Chat.constants';\nimport { Card } from '../components';\nimport * as style from '../Message.module.css';\n\nconst Offers = ({ disabled, response: { text, requirements } = {} }) => {\n const [inputResponse, setInputResponse] = useState();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => dispatchRequirement(), [requirements]);\n\n const dispatchRequirement = () => {\n setInputResponse();\n\n requirements && Event.publish(EVENT.INPUT_COMPONENT, { onSubmit: setInputResponse });\n };\n\n const [{ text: requirementText } = {}] = Object.values(requirements || {});\n\n return (\n <>\n {text && (\n <Text action className={style.text}>\n {text}\n </Text>\n )}\n {requirementText && (\n <Card\n disabled={disabled}\n option={false}\n text={inputResponse?.text || requirementText}\n onPress={dispatchRequirement}\n />\n )}\n </>\n );\n};\n\nOffers.propTypes = {\n disabled: PropTypes.bool,\n response: PropTypes.shape({\n text: PropTypes.string,\n requirements: PropTypes.shape({}),\n }),\n status: PropTypes.shape({}),\n};\n\nexport { Offers };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Offers.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_components","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Offers","_ref","disabled","response","text","requirements","value","onAction","inputResponse","setInputResponse","useState","useEffect","dispatchRequirement","Event","publish","EVENT","INPUT_COMPONENT","onSubmit","requirementText","values","createElement","Fragment","Text","action","className","map","offer","index","React","Card","key","name","onPress","intent","INTENT","OFFERS","form","offerId","id","option","exports","propTypes","PropTypes","bool","shape","string","status","func"],"sources":["../../../../../../src/components/Chat/components/Message/intents/Offers.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { Text } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { EVENT, INTENT } from '../../../Chat.constants';\nimport { Card } from '../components';\nimport * as style from '../Message.module.css';\n\nconst Offers = ({ disabled, response: { text, requirements, value = [] } = {}, onAction }) => {\n const [inputResponse, setInputResponse] = useState();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => dispatchRequirement(), [requirements]);\n\n const dispatchRequirement = () => {\n setInputResponse();\n\n requirements && Event.publish(EVENT.INPUT_COMPONENT, { onSubmit: setInputResponse });\n };\n\n const [{ text: requirementText } = {}] = Object.values(requirements || {});\n\n return (\n <>\n {text && (\n <Text action className={style.text}>\n {text}\n </Text>\n )}\n\n <>\n {value.map((offer, index) =>\n React.createElement(Card, {\n key: index,\n disabled,\n text: offer.name,\n onPress: () => onAction({ intent: INTENT.OFFERS, form: { offerId: offer.id } }),\n }),\n )}\n </>\n\n {requirementText && (\n <Card\n disabled={disabled}\n option={false}\n text={inputResponse?.text || requirementText}\n onPress={dispatchRequirement}\n />\n )}\n </>\n );\n};\n\nOffers.propTypes = {\n disabled: PropTypes.bool,\n response: PropTypes.shape({\n text: PropTypes.string,\n requirements: PropTypes.shape({}),\n }),\n status: PropTypes.shape({}),\n onAction: PropTypes.func,\n};\n\nexport { Offers };\n"],"mappings":"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"}
@@ -144,6 +144,7 @@ const Checkout = _ref => {
144
144
  className: style.main
145
145
  }, hasRequiredFields && /*#__PURE__*/_react.default.createElement(_shared__.NotificationRequiredFields, {
146
146
  form: "checkout",
147
+ schema: dataSource === null || dataSource === void 0 ? void 0 : dataSource.form,
147
148
  values: requiredFields
148
149
  }), (agency.name || !payment || tpvError) && /*#__PURE__*/_react.default.createElement(_ui.Notification, {
149
150
  error: tpvError,
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","style","_Checkout2","_helpers","_partials","_Core","_helpers2","_shared__","_Booking","_Header","_helpers3","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Checkout","_ref","skeleton","others","isDesktop","useDevice","translate","useLocale","value","checkout","currency","hotel","language","locale","session","urlParams","posError","tpvError","checkoutStep","variant","useStore","busy","setBusy","useState","dataSource","setDataSource","error","setError","selectedExtras","setSelectedExtras","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","useEffect","Event","publish","EVENT","METRICS","id","response","ServiceBooking","getParamsFromExtras","catch","CHECKOUT_RESPONSE","event","handleModalAgency","handleErrorConfirmation","window","scrollTo","top","behavior","handleSubmit","origin","pathname","search","document","location","href","concat","toUrlParams","fetchUrlParams","checkoutForm","JSON","stringify","agency","payment","undefined","hasRequiredFields","keys","createElement","Fragment","Header","View","role","tag","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","wide","main","NotificationRequiredFields","form","values","name","Notification","small","info","L10N","NOTIFICATION_NO_CARD","NOTIFICATION_AGENCY","link","Action","underline","onPress","action","ACTION_MORE_INFO","NOTIFICATION_UNKNOWN_POS_ERROR","BookingSummary","box","BookingDetails","expanded","Form","showErrors","onError","Extras","onChange","BookingTerms","Confirmation","onSubmit","onValid","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","Footer","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { getParamsFromExtras } from './helpers';\nimport { Confirmation, Extras, Form } from './partials';\nimport { ERROR } from '../../Core.constants';\nimport { fetchUrlParams } from '../../helpers';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer, NotificationRequiredFields } from '../__shared__';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { Header } from '../Header';\nimport { EVENT, toUrlParams } from '../helpers';\n\nconst Checkout = ({ skeleton, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n checkout,\n currency,\n hotel,\n language,\n locale,\n session,\n urlParams: { posError: tpvError, checkoutStep = '1', ...urlParams } = {},\n variant,\n },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [selectedExtras, setSelectedExtras] = useState([]);\n const [requiredFields, setRequiredFields] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => Event.publish(EVENT.METRICS, { id: 'CHECKOUT:RENDER' }), []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n setBusy(true);\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n ...getParamsFromExtras({ selectedExtras, urlParams, variant }),\n }).catch((error) => {\n setResponseError(error);\n });\n setBusy(false);\n\n setDataSource(response);\n if (response) Event.publish(EVENT.CHECKOUT_RESPONSE, { event: EVENT.CHECKOUT_RESPONSE, response });\n })();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, session, selectedExtras]);\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const handleErrorConfirmation = () => {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n setRequiredFields(error);\n };\n\n const handleSubmit = () => {\n const { origin, pathname, search } = document.location;\n\n document.location.href = `${origin}${pathname}${toUrlParams({\n ...fetchUrlParams(search),\n ...getParamsFromExtras({ selectedExtras, urlParams, variant }),\n // ! TODO\n checkoutForm: JSON.stringify(checkout),\n checkoutStep: 2,\n })}`;\n };\n\n const { agency = {}, payment } = dataSource || {};\n const response = dataSource !== undefined;\n const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;\n\n return (\n <>\n <Header />\n\n <View role=\"checkout\" tag=\"checkout\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={busy || (!response && !responseError)} className={style.progress} />\n {response ? (\n <View row={isDesktop} className={style.content}>\n <View wide className={style.main}>\n {hasRequiredFields && <NotificationRequiredFields form=\"checkout\" values={requiredFields} />}\n {(agency.name || !payment || tpvError) && (\n <Notification error={tpvError} small info wide className={styles(style.agency, others.className)}>\n {!tpvError && !payment && `${translate(L10N.NOTIFICATION_NO_CARD)} `}\n {!tpvError &&\n agency.name &&\n translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n {tpvError && translate(L10N.NOTIFICATION_UNKNOWN_POS_ERROR)}\n </Notification>\n )}\n\n {!isDesktop && (\n <BookingSummary box dataSource={dataSource}>\n {(variant === 'A' || checkoutStep === '1') && <BookingDetails dataSource={dataSource} expanded />}\n </BookingSummary>\n )}\n\n <Form dataSource={dataSource} showErrors={hasRequiredFields} onError={setError} />\n\n {variant === 'B' && checkoutStep === '1' && (\n <Extras hotel={dataSource.hotel} onChange={setSelectedExtras} />\n )}\n\n {isDesktop && (variant === 'A' || checkoutStep === '1') && (\n <BookingDetails dataSource={dataSource} className={style.box} />\n )}\n\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <Confirmation\n busy={busy}\n dataSource={dataSource}\n error={Object.keys(error || {}).length > 0}\n onError={handleErrorConfirmation}\n onSubmit={handleSubmit}\n onValid={() => setRequiredFields()}\n />\n </View>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n\n <Footer />\n </>\n );\n};\n\nCheckout.displayName = 'Mirai:Core:Checkout';\n\nCheckout.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Checkout };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","style","_Checkout2","_helpers","_partials","_Core","_helpers2","_shared__","_Booking","_Header","_helpers3","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Checkout","_ref","skeleton","others","isDesktop","useDevice","translate","useLocale","value","checkout","currency","hotel","language","locale","session","urlParams","posError","tpvError","checkoutStep","variant","useStore","busy","setBusy","useState","dataSource","setDataSource","error","setError","selectedExtras","setSelectedExtras","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","useEffect","Event","publish","EVENT","METRICS","id","response","ServiceBooking","getParamsFromExtras","catch","CHECKOUT_RESPONSE","event","handleModalAgency","handleErrorConfirmation","window","scrollTo","top","behavior","handleSubmit","origin","pathname","search","document","location","href","concat","toUrlParams","fetchUrlParams","checkoutForm","JSON","stringify","agency","payment","undefined","hasRequiredFields","keys","createElement","Fragment","Header","View","role","tag","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","wide","main","NotificationRequiredFields","form","schema","values","name","Notification","small","info","L10N","NOTIFICATION_NO_CARD","NOTIFICATION_AGENCY","link","Action","underline","onPress","action","ACTION_MORE_INFO","NOTIFICATION_UNKNOWN_POS_ERROR","BookingSummary","box","BookingDetails","expanded","Form","showErrors","onError","Extras","onChange","BookingTerms","Confirmation","onSubmit","onValid","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","Footer","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { getParamsFromExtras } from './helpers';\nimport { Confirmation, Extras, Form } from './partials';\nimport { ERROR } from '../../Core.constants';\nimport { fetchUrlParams } from '../../helpers';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer, NotificationRequiredFields } from '../__shared__';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { Header } from '../Header';\nimport { EVENT, toUrlParams } from '../helpers';\n\nconst Checkout = ({ skeleton, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n checkout,\n currency,\n hotel,\n language,\n locale,\n session,\n urlParams: { posError: tpvError, checkoutStep = '1', ...urlParams } = {},\n variant,\n },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [selectedExtras, setSelectedExtras] = useState([]);\n const [requiredFields, setRequiredFields] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => Event.publish(EVENT.METRICS, { id: 'CHECKOUT:RENDER' }), []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n setBusy(true);\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n ...getParamsFromExtras({ selectedExtras, urlParams, variant }),\n }).catch((error) => {\n setResponseError(error);\n });\n setBusy(false);\n\n setDataSource(response);\n if (response) Event.publish(EVENT.CHECKOUT_RESPONSE, { event: EVENT.CHECKOUT_RESPONSE, response });\n })();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, session, selectedExtras]);\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const handleErrorConfirmation = () => {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n setRequiredFields(error);\n };\n\n const handleSubmit = () => {\n const { origin, pathname, search } = document.location;\n\n document.location.href = `${origin}${pathname}${toUrlParams({\n ...fetchUrlParams(search),\n ...getParamsFromExtras({ selectedExtras, urlParams, variant }),\n // ! TODO\n checkoutForm: JSON.stringify(checkout),\n checkoutStep: 2,\n })}`;\n };\n\n const { agency = {}, payment } = dataSource || {};\n const response = dataSource !== undefined;\n const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;\n\n return (\n <>\n <Header />\n\n <View role=\"checkout\" tag=\"checkout\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={busy || (!response && !responseError)} className={style.progress} />\n {response ? (\n <View row={isDesktop} className={style.content}>\n <View wide className={style.main}>\n {hasRequiredFields && (\n <NotificationRequiredFields form=\"checkout\" schema={dataSource?.form} values={requiredFields} />\n )}\n {(agency.name || !payment || tpvError) && (\n <Notification error={tpvError} small info wide className={styles(style.agency, others.className)}>\n {!tpvError && !payment && `${translate(L10N.NOTIFICATION_NO_CARD)} `}\n {!tpvError &&\n agency.name &&\n translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n {tpvError && translate(L10N.NOTIFICATION_UNKNOWN_POS_ERROR)}\n </Notification>\n )}\n\n {!isDesktop && (\n <BookingSummary box dataSource={dataSource}>\n {(variant === 'A' || checkoutStep === '1') && <BookingDetails dataSource={dataSource} expanded />}\n </BookingSummary>\n )}\n\n <Form dataSource={dataSource} showErrors={hasRequiredFields} onError={setError} />\n\n {variant === 'B' && checkoutStep === '1' && (\n <Extras hotel={dataSource.hotel} onChange={setSelectedExtras} />\n )}\n\n {isDesktop && (variant === 'A' || checkoutStep === '1') && (\n <BookingDetails dataSource={dataSource} className={style.box} />\n )}\n\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <Confirmation\n busy={busy}\n dataSource={dataSource}\n error={Object.keys(error || {}).length > 0}\n onError={handleErrorConfirmation}\n onSubmit={handleSubmit}\n onValid={() => setRequiredFields()}\n />\n </View>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n\n <Footer />\n </>\n );\n};\n\nCheckout.displayName = 'Mirai:Core:Checkout';\n\nCheckout.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Checkout };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAC,uBAAA,CAAAP,OAAA;AAEA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAF,uBAAA,CAAAP,OAAA;AACA,IAAAU,UAAA,GAAAL,sBAAA,CAAAL,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AACA,IAAAY,SAAA,GAAAZ,OAAA;AACA,IAAAa,KAAA,GAAAb,OAAA;AACA,IAAAc,SAAA,GAAAd,OAAA;AACA,IAAAe,SAAA,GAAAf,OAAA;AACA,IAAAgB,QAAA,GAAAhB,OAAA;AACA,IAAAiB,OAAA,GAAAjB,OAAA;AACA,IAAAkB,SAAA,GAAAlB,OAAA;AAAgD,SAAAmB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAb,wBAAAa,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAvB,uBAAAmC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAEhD,MAAMK,QAAQ,GAAGC,IAAA,IAA6B;EAAA,IAA5B;IAAEC,QAAQ;IAAE,GAAGC;EAAO,CAAC,GAAAF,IAAA;EACvC,MAAM;IAAEG;EAAU,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACjC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IACJC,KAAK,EAAE;MACLC,QAAQ;MACRC,QAAQ;MACRC,KAAK;MACLC,QAAQ;MACRC,MAAM;MACNC,OAAO;MACPC,SAAS,EAAE;QAAEC,QAAQ,EAAEC,QAAQ;QAAEC,YAAY,GAAG,GAAG;QAAE,GAAGH;MAAU,CAAC,GAAG,CAAC,CAAC;MACxEI;IACF;EACF,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACvC,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC;EAC9C,MAAM,CAACG,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAJ,eAAQ,EAAC,CAAC;EACpC,MAAM,CAACK,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAN,eAAQ,EAAC,EAAE,CAAC;EACxD,MAAM,CAACO,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAR,eAAQ,EAAC,CAAC;EACtD,MAAM,CAACS,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAV,eAAQ,EAAC,KAAK,CAAC;EACrD,MAAM,CAACW,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAZ,eAAQ,EAAC,CAAC;;EAEpD;EACA,IAAAa,gBAAS,EAAC,MAAMC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,OAAO,EAAE;IAAEC,EAAE,EAAE;EAAkB,CAAC,CAAC,EAAE,EAAE,CAAC;EAE5E,IAAAL,gBAAS,EAAC,MAAM;IACd,IAAIlC,QAAQ,EAAE;IAEd,CAAC,YAAY;MACXoB,OAAO,CAAC,IAAI,CAAC;MACb,MAAMoB,QAAQ,GAAG,MAAMC,wBAAc,CAAClC,QAAQ,CAAC;QAC7CC,QAAQ;QACRC,KAAK;QACLC,QAAQ;QACRC,MAAM;QACNC,OAAO;QACP,GAAGC,SAAS;QACZ,GAAG,IAAA6B,4BAAmB,EAAC;UAAEhB,cAAc;UAAEb,SAAS;UAAEI;QAAQ,CAAC;MAC/D,CAAC,CAAC,CAAC0B,KAAK,CAAEnB,KAAK,IAAK;QAClBS,gBAAgB,CAACT,KAAK,CAAC;MACzB,CAAC,CAAC;MACFJ,OAAO,CAAC,KAAK,CAAC;MAEdG,aAAa,CAACiB,QAAQ,CAAC;MACvB,IAAIA,QAAQ,EAAEL,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACO,iBAAiB,EAAE;QAAEC,KAAK,EAAER,eAAK,CAACO,iBAAiB;QAAEJ;MAAS,CAAC,CAAC;IACpG,CAAC,EAAE,CAAC;;IAEJ;EACF,CAAC,EAAE,CAAC7B,MAAM,EAAEC,OAAO,EAAEc,cAAc,CAAC,CAAC;EAErC,MAAMoB,iBAAiB,GAAGA,CAAA,KAAM;IAC9Bf,cAAc,CAAC,IAAI,CAAC;EACtB,CAAC;EAED,MAAMgB,uBAAuB,GAAGA,CAAA,KAAM;IACpCC,MAAM,CAACC,QAAQ,CAAC;MAAEC,GAAG,EAAE,CAAC;MAAEC,QAAQ,EAAE;IAAS,CAAC,CAAC;IAC/CtB,iBAAiB,CAACL,KAAK,CAAC;EAC1B,CAAC;EAED,MAAM4B,YAAY,GAAGA,CAAA,KAAM;IACzB,MAAM;MAAEC,MAAM;MAAEC,QAAQ;MAAEC;IAAO,CAAC,GAAGC,QAAQ,CAACC,QAAQ;IAEtDD,QAAQ,CAACC,QAAQ,CAACC,IAAI,MAAAC,MAAA,CAAMN,MAAM,EAAAM,MAAA,CAAGL,QAAQ,EAAAK,MAAA,CAAG,IAAAC,qBAAW,EAAC;MAC1D,GAAG,IAAAC,wBAAc,EAACN,MAAM,CAAC;MACzB,GAAG,IAAAb,4BAAmB,EAAC;QAAEhB,cAAc;QAAEb,SAAS;QAAEI;MAAQ,CAAC,CAAC;MAC9D;MACA6C,YAAY,EAAEC,IAAI,CAACC,SAAS,CAACzD,QAAQ,CAAC;MACtCS,YAAY,EAAE;IAChB,CAAC,CAAC,CAAE;EACN,CAAC;EAED,MAAM;IAAEiD,MAAM,GAAG,CAAC,CAAC;IAAEC;EAAQ,CAAC,GAAG5C,UAAU,IAAI,CAAC,CAAC;EACjD,MAAMkB,QAAQ,GAAGlB,UAAU,KAAK6C,SAAS;EACzC,MAAMC,iBAAiB,GAAGzF,MAAM,CAAC0F,IAAI,CAACzC,cAAc,IAAI,CAAC,CAAC,CAAC,CAAClC,MAAM,GAAG,CAAC;EAEtE,oBACExC,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAAApH,MAAA,CAAAmB,OAAA,CAAAkG,QAAA,qBACErH,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAACzG,OAAA,CAAA2G,MAAM,MAAE,CAAC,eAEVtH,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAACvH,GAAA,CAAA0H,IAAI;IAACC,IAAI,EAAC,UAAU;IAACC,GAAG,EAAC,UAAU;IAACC,MAAM,EAAE3E,MAAM,CAAC2E,MAAO;IAACC,SAAS,EAAE,IAAAC,UAAM,EAACzH,KAAK,CAAC0H,SAAS,EAAE9E,MAAM,CAAC4E,SAAS;EAAE,gBAC/G3H,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAACvH,GAAA,CAAAiI,QAAQ;IAACC,aAAa;IAACC,OAAO,EAAE/D,IAAI,IAAK,CAACqB,QAAQ,IAAI,CAACR,aAAe;IAAC6C,SAAS,EAAExH,KAAK,CAAC8H;EAAS,CAAE,CAAC,EACpG3C,QAAQ,gBACPtF,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAACvH,GAAA,CAAA0H,IAAI;IAACW,GAAG,EAAElF,SAAU;IAAC2E,SAAS,EAAExH,KAAK,CAACgI;EAAQ,gBAC7CnI,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAACvH,GAAA,CAAA0H,IAAI;IAACa,IAAI;IAACT,SAAS,EAAExH,KAAK,CAACkI;EAAK,GAC9BnB,iBAAiB,iBAChBlH,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAAC3G,SAAA,CAAA6H,0BAA0B;IAACC,IAAI,EAAC,UAAU;IAACC,MAAM,EAAEpE,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEmE,IAAK;IAACE,MAAM,EAAE/D;EAAe,CAAE,CAChG,EACA,CAACqC,MAAM,CAAC2B,IAAI,IAAI,CAAC1B,OAAO,IAAInD,QAAQ,kBACnC7D,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAACvH,GAAA,CAAA8I,YAAY;IAACrE,KAAK,EAAET,QAAS;IAAC+E,KAAK;IAACC,IAAI;IAACT,IAAI;IAACT,SAAS,EAAE,IAAAC,UAAM,EAACzH,KAAK,CAAC4G,MAAM,EAAEhE,MAAM,CAAC4E,SAAS;EAAE,GAC9F,CAAC9D,QAAQ,IAAI,CAACmD,OAAO,OAAAP,MAAA,CAAOvD,SAAS,CAAC4F,cAAI,CAACC,oBAAoB,CAAC,MAAG,EACnE,CAAClF,QAAQ,IACRkD,MAAM,CAAC2B,IAAI,IACXxF,SAAS,CAAC4F,cAAI,CAACE,mBAAmB,EAAE;IAClCjC,MAAM,EAAEA,MAAM,CAAC2B,IAAI;IACnBO,IAAI,eACFjJ,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAAApH,MAAA,CAAAmB,OAAA,CAAAkG,QAAA,qBACErH,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAACvH,GAAA,CAAAqJ,MAAM;MAACC,SAAS;MAACP,KAAK;MAACQ,OAAO,EAAExD,iBAAkB;MAAC+B,SAAS,EAAE,IAAAC,UAAM,EAACzH,KAAK,CAACkJ,MAAM;IAAE,GACjFnG,SAAS,CAAC4F,cAAI,CAACQ,gBAAgB,CAC1B,CACR;EAEN,CAAC,CAAC,EACHzF,QAAQ,IAAIX,SAAS,CAAC4F,cAAI,CAACS,8BAA8B,CAC9C,CACf,EAEA,CAACvG,SAAS,iBACThD,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAAC3G,SAAA,CAAA+I,cAAc;IAACC,GAAG;IAACrF,UAAU,EAAEA;EAAW,GACxC,CAACL,OAAO,KAAK,GAAG,IAAID,YAAY,KAAK,GAAG,kBAAK9D,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAAC3G,SAAA,CAAAiJ,cAAc;IAACtF,UAAU,EAAEA,UAAW;IAACuF,QAAQ;EAAA,CAAE,CAClF,CACjB,eAED3J,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAAC9G,SAAA,CAAAsJ,IAAI;IAACxF,UAAU,EAAEA,UAAW;IAACyF,UAAU,EAAE3C,iBAAkB;IAAC4C,OAAO,EAAEvF;EAAS,CAAE,CAAC,EAEjFR,OAAO,KAAK,GAAG,IAAID,YAAY,KAAK,GAAG,iBACtC9D,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAAC9G,SAAA,CAAAyJ,MAAM;IAACxG,KAAK,EAAEa,UAAU,CAACb,KAAM;IAACyG,QAAQ,EAAEvF;EAAkB,CAAE,CAChE,EAEAzB,SAAS,KAAKe,OAAO,KAAK,GAAG,IAAID,YAAY,KAAK,GAAG,CAAC,iBACrD9D,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAAC3G,SAAA,CAAAiJ,cAAc;IAACtF,UAAU,EAAEA,UAAW;IAACuD,SAAS,EAAExH,KAAK,CAACsJ;EAAI,CAAE,CAChE,eAEDzJ,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAAC3G,SAAA,CAAAwJ,YAAY;IAAC7F,UAAU,EAAEA,UAAW;IAACwE,KAAK;EAAA,CAAE,CACzC,CAAC,eAEP5I,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAAC9G,SAAA,CAAA4J,YAAY;IACXjG,IAAI,EAAEA,IAAK;IACXG,UAAU,EAAEA,UAAW;IACvBE,KAAK,EAAE7C,MAAM,CAAC0F,IAAI,CAAC7C,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC9B,MAAM,GAAG,CAAE;IAC3CsH,OAAO,EAAEjE,uBAAwB;IACjCsE,QAAQ,EAAEjE,YAAa;IACvBkE,OAAO,EAAEA,CAAA,KAAMzF,iBAAiB,CAAC;EAAE,CACpC,CACG,CAAC,GACLG,aAAa,gBACf9E,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAACvH,GAAA,CAAA8I,YAAY;IAACrE,KAAK;IAAC+F,KAAK;EAAA,GACtBnH,SAAS,CAAC4F,cAAI,CAACwB,kBAAkB,CAAC,CAAAxF,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEyF,IAAI,KAAIC,WAAK,CAACC,OAAO,CAAC,CAC5D,CAAC,gBAEfzK,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAAChH,UAAA,CAAAe,OAAQ,MAAE,CAET,CAAC,EACN4F,MAAM,CAAC2B,IAAI,iBAAI1I,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAAC1G,QAAA,CAAAgK,WAAW,EAAAvI,QAAA,KAAK4E,MAAM;IAAEiB,OAAO,EAAEpD,WAAY;IAAC+F,OAAO,EAAEA,CAAA,KAAM9F,cAAc,CAAC,KAAK;EAAE,EAAE,CAAC,eAEvG7E,MAAA,CAAAmB,OAAA,CAAAiG,aAAA,CAAC3G,SAAA,CAAAmK,MAAM,MAAE,CACT,CAAC;AAEP,CAAC;AAACC,OAAA,CAAAjI,QAAA,GAAAA,QAAA;AAEFA,QAAQ,CAACkI,WAAW,GAAG,qBAAqB;AAE5ClI,QAAQ,CAACmI,SAAS,GAAG;EACnBjI,QAAQ,EAAEkI,kBAAS,CAACC;AACtB,CAAC"}
@@ -15,9 +15,10 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
15
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
  const {
18
+ HTML,
18
19
  OPTION,
19
20
  PHONE,
20
- HTML
21
+ SELECT
21
22
  } = _Checkout.INPUT;
22
23
  const getFieldProps = function () {
23
24
  let field = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
@@ -49,7 +50,7 @@ const getFieldProps = function () {
49
50
  disabled: field === 'email' && session || undefined,
50
51
  error: field !== 'phone' ? (value === null || value === void 0 ? void 0 : value.length) > 0 && !!error : (value === null || value === void 0 ? void 0 : value.length) > 5 && !!error,
51
52
  hint: translate(_Checkout2.L10N["".concat(field.toUpperCase(), "_HINT")]),
52
- id: field ? "checkout-".concat(field) : undefined,
53
+ id: field ? "checkout-".concat(field.replace(/\./g, '-')) : undefined,
53
54
  key: field,
54
55
  label: props.label || translate(_Checkout2.L10N["LABEL_".concat(field.toUpperCase())], {
55
56
  club: name,
@@ -77,7 +78,7 @@ const getFieldProps = function () {
77
78
  success: field !== 'phone' ? !!value && !error : (value === null || value === void 0 ? void 0 : value.length) > 4 && !error,
78
79
  test: field === 'dni' ? _testDNI.testDNI : undefined,
79
80
  type: type === _Checkout.INPUT_TYPE.NUMBER ? 'number' : type === _Checkout.INPUT_TYPE.EMAIL ? 'email' : input === PHONE ? 'inputPhone' : input === OPTION ? 'checkbox' : undefined,
80
- value: value || props.value,
81
+ value: input === SELECT && value === undefined ? props.options[0] : value || props.value,
81
82
  className: ['address', 'company', 'comments'].includes(field) || [OPTION, HTML].includes(input) ? style.wide : style.half
82
83
  };
83
84
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getFieldProps.js","names":["_ui","require","_react","_interopRequireDefault","_testDNI","_helpers","_Checkout","_Checkout2","style","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","OPTION","PHONE","HTML","INPUT","getFieldProps","field","arguments","length","undefined","input","type","props","value","error","otherConditions","session","translate","name","url","conditions","onPress","checked","children","parseHtml","small","disabled","hint","L10N","concat","toUpperCase","id","key","label","club","clubLink","createElement","Action","href","target","display","LABEL_TERMS_AND_CONDITIONS","termsLink","ACTION_MORE_INFO","labelPrefix","LABEL_PHONE_PREFIX","showRequired","includes","success","test","testDNI","INPUT_TYPE","NUMBER","EMAIL","className","wide","half","exports"],"sources":["../../../../src/components/Checkout/helpers/getFieldProps.js"],"sourcesContent":["import { Action } from '@mirai/ui';\nimport React from 'react';\n\nimport { testDNI } from './testDNI';\nimport { parseHtml } from '../../helpers';\nimport { INPUT, INPUT_TYPE } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\n\nconst { OPTION, PHONE, HTML } = INPUT;\n\nexport const getFieldProps = (\n field = '',\n { input, type, ...props } = {},\n { value, error, otherConditions, session, translate = () => {} } = {},\n { name = '', url: { conditions = '' } = {} } = {},\n onPress = () => {},\n) => ({\n ...props,\n checked: input === OPTION ? (value !== undefined ? value : props.checked) || false : undefined,\n children: input === HTML && props.children ? parseHtml(props.children, { small: true }) : undefined,\n disabled: (field === 'email' && session) || undefined,\n error: field !== 'phone' ? value?.length > 0 && !!error : value?.length > 5 && !!error,\n hint: translate(L10N[`${field.toUpperCase()}_HINT`]),\n id: field ? `checkout-${field}` : undefined,\n key: field,\n label:\n props.label ||\n translate(L10N[`LABEL_${field.toUpperCase()}`], {\n club: name,\n clubLink: (\n <Action href={conditions} small target=\"_blank\" style={{ display: 'inline' }}>\n {translate(L10N.LABEL_TERMS_AND_CONDITIONS)}\n </Action>\n ),\n otherConditions: !!otherConditions,\n termsLink: (\n <Action small onPress={onPress} style={{ display: 'inline' }}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n ),\n }) ||\n field,\n labelPrefix: field === 'phone' ? translate(L10N.LABEL_PHONE_PREFIX) : undefined,\n name: field,\n showRequired: true,\n small: [OPTION, HTML].includes(input),\n success: field !== 'phone' ? !!value && !error : value?.length > 4 && !error,\n test: field === 'dni' ? testDNI : undefined,\n type:\n type === INPUT_TYPE.NUMBER\n ? 'number'\n : type === INPUT_TYPE.EMAIL\n ? 'email'\n : input === PHONE\n ? 'inputPhone'\n : input === OPTION\n ? 'checkbox'\n : undefined,\n value: value || props.value,\n className:\n ['address', 'company', 'comments'].includes(field) || [OPTION, HTML].includes(input) ? style.wide : style.half,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"getFieldProps.js","names":["_ui","require","_react","_interopRequireDefault","_testDNI","_helpers","_Checkout","_Checkout2","style","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","HTML","OPTION","PHONE","SELECT","INPUT","getFieldProps","field","arguments","length","undefined","input","type","props","value","error","otherConditions","session","translate","name","url","conditions","onPress","checked","children","parseHtml","small","disabled","hint","L10N","concat","toUpperCase","id","replace","key","label","club","clubLink","createElement","Action","href","target","display","LABEL_TERMS_AND_CONDITIONS","termsLink","ACTION_MORE_INFO","labelPrefix","LABEL_PHONE_PREFIX","showRequired","includes","success","test","testDNI","INPUT_TYPE","NUMBER","EMAIL","options","className","wide","half","exports"],"sources":["../../../../src/components/Checkout/helpers/getFieldProps.js"],"sourcesContent":["import { Action } from '@mirai/ui';\nimport React from 'react';\n\nimport { testDNI } from './testDNI';\nimport { parseHtml } from '../../helpers';\nimport { INPUT, INPUT_TYPE } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\n\nconst { HTML, OPTION, PHONE, SELECT } = INPUT;\n\nexport const getFieldProps = (\n field = '',\n { input, type, ...props } = {},\n { value, error, otherConditions, session, translate = () => {} } = {},\n { name = '', url: { conditions = '' } = {} } = {},\n onPress = () => {},\n) => ({\n ...props,\n checked: input === OPTION ? (value !== undefined ? value : props.checked) || false : undefined,\n children: input === HTML && props.children ? parseHtml(props.children, { small: true }) : undefined,\n disabled: (field === 'email' && session) || undefined,\n error: field !== 'phone' ? value?.length > 0 && !!error : value?.length > 5 && !!error,\n hint: translate(L10N[`${field.toUpperCase()}_HINT`]),\n id: field ? `checkout-${field.replace(/\\./g, '-')}` : undefined,\n key: field,\n label:\n props.label ||\n translate(L10N[`LABEL_${field.toUpperCase()}`], {\n club: name,\n clubLink: (\n <Action href={conditions} small target=\"_blank\" style={{ display: 'inline' }}>\n {translate(L10N.LABEL_TERMS_AND_CONDITIONS)}\n </Action>\n ),\n otherConditions: !!otherConditions,\n termsLink: (\n <Action small onPress={onPress} style={{ display: 'inline' }}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n ),\n }) ||\n field,\n labelPrefix: field === 'phone' ? translate(L10N.LABEL_PHONE_PREFIX) : undefined,\n name: field,\n showRequired: true,\n small: [OPTION, HTML].includes(input),\n success: field !== 'phone' ? !!value && !error : value?.length > 4 && !error,\n test: field === 'dni' ? testDNI : undefined,\n type:\n type === INPUT_TYPE.NUMBER\n ? 'number'\n : type === INPUT_TYPE.EMAIL\n ? 'email'\n : input === PHONE\n ? 'inputPhone'\n : input === OPTION\n ? 'checkbox'\n : undefined,\n value: input === SELECT && value === undefined ? props.options[0] : value || props.value,\n className:\n ['address', 'company', 'comments'].includes(field) || [OPTION, HTML].includes(input) ? style.wide : style.half,\n});\n"],"mappings":"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"}
@@ -20,6 +20,7 @@ const OFFSET = 16;
20
20
  const NotificationRequiredFields = _ref => {
21
21
  let {
22
22
  form = 'form',
23
+ schema = {},
23
24
  values = {},
24
25
  ...others
25
26
  } = _ref;
@@ -65,18 +66,22 @@ const NotificationRequiredFields = _ref => {
65
66
  row: true,
66
67
  wide: true,
67
68
  className: style.fields
68
- }, Object.keys(values).map(field => /*#__PURE__*/_react.default.createElement(_ui.Action, {
69
- key: field,
70
- markdown: false,
71
- underline: true,
72
- small: true,
73
- onPress: () => handlePress("#".concat(form, "-").concat(field))
74
- }, _NotificationRequiredFields.L10N["LABEL_".concat(field.toUpperCase())] ? translate(_NotificationRequiredFields.L10N["LABEL_".concat(field.toUpperCase())]) : field)))) : null;
69
+ }, Object.keys(values).map(field => {
70
+ var _schema$field;
71
+ return /*#__PURE__*/_react.default.createElement(_ui.Action, {
72
+ key: field,
73
+ markdown: false,
74
+ underline: true,
75
+ small: true,
76
+ onPress: () => handlePress("#".concat(form, "-").concat(field.replace(/\./g, '-')))
77
+ }, _NotificationRequiredFields.L10N["LABEL_".concat(field.toUpperCase())] ? translate(_NotificationRequiredFields.L10N["LABEL_".concat(field.toUpperCase())]) : ((_schema$field = schema[field]) === null || _schema$field === void 0 ? void 0 : _schema$field.label) || field);
78
+ }))) : null;
75
79
  };
76
80
  exports.NotificationRequiredFields = NotificationRequiredFields;
77
81
  NotificationRequiredFields.displayName = 'Mirai:Core:NotificationRequiredFields';
78
82
  NotificationRequiredFields.propTypes = {
79
83
  form: _propTypes.default.string,
84
+ schema: _propTypes.default.shape({}),
80
85
  values: _propTypes.default.shape({})
81
86
  };
82
87
  //# sourceMappingURL=NotificationRequiredFields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationRequiredFields.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_NotificationRequiredFields","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","OFFSET","NotificationRequiredFields","_ref","form","values","others","isMobile","useDevice","translate","useLocale","value","components","useStore","useEffect","metrics","keys","Event","publish","EVENT","METRICS","id","concat","fields","total","handlePress","el","document","querySelector","window","scrollTo","top","getBoundingClientRect","scrollY","behavior","field","checkout","signup","profile","undefined","createElement","Notification","error","small","wide","L10N","NOTIFICATION_REQUIRED_FIELDS","View","row","className","map","Action","markdown","underline","onPress","toUpperCase","exports","displayName","propTypes","PropTypes","string","shape"],"sources":["../../../../src/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Notification, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { L10N } from './NotificationRequiredFields.l10n';\nimport * as style from './NotificationRequiredFields.module.css';\nimport { EVENT } from '../../helpers';\n\nconst OFFSET = 16;\n\nconst NotificationRequiredFields = ({ form = 'form', values = {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { components = {} },\n } = useStore();\n\n useEffect(() => {\n if (metrics) {\n const keys = Object.keys(values);\n Event.publish(EVENT.METRICS, { id: `${metrics}:ERROR_REQUIRED_FIELDS`, fields: keys, total: keys.length });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [values]);\n\n const handlePress = (id) => {\n const el = document.querySelector(id);\n el && window.scrollTo({ top: el.getBoundingClientRect().top + window.scrollY - OFFSET, behavior: 'smooth' });\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:ERROR_REQUIRED_FIELDS:VIEW_FIELD`, field: id });\n };\n\n const metrics = components.checkout\n ? 'CHECKOUT'\n : components.signup\n ? 'SIGNUP'\n : components.profile\n ? 'PROFILE'\n : undefined;\n\n return Object.keys(values).length ? (\n <Notification {...others} error small={isMobile} wide>\n {translate(L10N.NOTIFICATION_REQUIRED_FIELDS)}\n <View row wide className={style.fields}>\n {Object.keys(values).map((field) => (\n <Action key={field} markdown={false} underline small onPress={() => handlePress(`#${form}-${field}`)}>\n {L10N[`LABEL_${field.toUpperCase()}`] ? translate(L10N[`LABEL_${field.toUpperCase()}`]) : field}\n </Action>\n ))}\n </View>\n </Notification>\n ) : null;\n};\n\nNotificationRequiredFields.displayName = 'Mirai:Core:NotificationRequiredFields';\n\nNotificationRequiredFields.propTypes = {\n form: PropTypes.string,\n values: PropTypes.shape({}),\n};\n\nexport { NotificationRequiredFields };\n"],"mappings":"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"}
1
+ {"version":3,"file":"NotificationRequiredFields.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_NotificationRequiredFields","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","OFFSET","NotificationRequiredFields","_ref","form","schema","values","others","isMobile","useDevice","translate","useLocale","value","components","useStore","useEffect","metrics","keys","Event","publish","EVENT","METRICS","id","concat","fields","total","handlePress","el","document","querySelector","window","scrollTo","top","getBoundingClientRect","scrollY","behavior","field","checkout","signup","profile","undefined","createElement","Notification","error","small","wide","L10N","NOTIFICATION_REQUIRED_FIELDS","View","row","className","map","_schema$field","Action","markdown","underline","onPress","replace","toUpperCase","label","exports","displayName","propTypes","PropTypes","string","shape"],"sources":["../../../../src/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Notification, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { L10N } from './NotificationRequiredFields.l10n';\nimport * as style from './NotificationRequiredFields.module.css';\nimport { EVENT } from '../../helpers';\n\nconst OFFSET = 16;\n\nconst NotificationRequiredFields = ({ form = 'form', schema = {}, values = {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { components = {} },\n } = useStore();\n\n useEffect(() => {\n if (metrics) {\n const keys = Object.keys(values);\n Event.publish(EVENT.METRICS, { id: `${metrics}:ERROR_REQUIRED_FIELDS`, fields: keys, total: keys.length });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [values]);\n\n const handlePress = (id) => {\n const el = document.querySelector(id);\n el && window.scrollTo({ top: el.getBoundingClientRect().top + window.scrollY - OFFSET, behavior: 'smooth' });\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:ERROR_REQUIRED_FIELDS:VIEW_FIELD`, field: id });\n };\n\n const metrics = components.checkout\n ? 'CHECKOUT'\n : components.signup\n ? 'SIGNUP'\n : components.profile\n ? 'PROFILE'\n : undefined;\n\n return Object.keys(values).length ? (\n <Notification {...others} error small={isMobile} wide>\n {translate(L10N.NOTIFICATION_REQUIRED_FIELDS)}\n <View row wide className={style.fields}>\n {Object.keys(values).map((field) => (\n <Action\n key={field}\n markdown={false}\n underline\n small\n onPress={() => handlePress(`#${form}-${field.replace(/\\./g, '-')}`)}\n >\n {L10N[`LABEL_${field.toUpperCase()}`]\n ? translate(L10N[`LABEL_${field.toUpperCase()}`])\n : schema[field]?.label || field}\n </Action>\n ))}\n </View>\n </Notification>\n ) : null;\n};\n\nNotificationRequiredFields.displayName = 'Mirai:Core:NotificationRequiredFields';\n\nNotificationRequiredFields.propTypes = {\n form: PropTypes.string,\n schema: PropTypes.shape({}),\n values: PropTypes.shape({}),\n};\n\nexport { NotificationRequiredFields };\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.70",
3
+ "version": "0.4.72",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",