@mirai/core 0.3.262 → 0.3.263

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.
Files changed (37) hide show
  1. package/build/components/BannerLoyalty/BannerLoyalty.js +19 -16
  2. package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
  3. package/build/components/Chat/Chat.js +2 -4
  4. package/build/components/Chat/Chat.js.map +1 -1
  5. package/build/components/Chat/components/Message/Message.js +1 -1
  6. package/build/components/Chat/components/Message/Message.js.map +1 -1
  7. package/build/components/Finder/Finder.js +2 -3
  8. package/build/components/Finder/Finder.js.map +1 -1
  9. package/build/components/Finder/Finder.l10n.js +2 -2
  10. package/build/components/Finder/Finder.l10n.js.map +1 -1
  11. package/build/components/Finder/__tests__/__snapshots__/Finder.test.js.snap +12 -12
  12. package/build/components/Finder/components/Places/Places.js +1 -1
  13. package/build/components/Finder/components/Places/Places.js.map +1 -1
  14. package/build/components/Finder/helpers/getDataSource.js +1 -7
  15. package/build/components/Finder/helpers/getDataSource.js.map +1 -1
  16. package/build/components/Rates/Rates.Content.js +2 -3
  17. package/build/components/Rates/Rates.Content.js.map +1 -1
  18. package/build/components/Rates/components/ClubRate/ClubRate.js +10 -7
  19. package/build/components/Rates/components/ClubRate/ClubRate.js.map +1 -1
  20. package/build/components/Rates/components/Item/Item.js +5 -2
  21. package/build/components/Rates/components/Item/Item.js.map +1 -1
  22. package/build/components/Rates/components/Item/components/Option/Option.js +2 -1
  23. package/build/components/Rates/components/Item/components/Option/Option.js.map +1 -1
  24. package/build/components/Session/Session.Login.Modal.js +2 -0
  25. package/build/components/Session/Session.Login.Modal.js.map +1 -1
  26. package/build/components/Session/__tests__/__snapshots__/Session.test.js.snap +10 -0
  27. package/build/components/__shared__/FieldPromocode/FieldPromocode.js +1 -3
  28. package/build/components/__shared__/FieldPromocode/FieldPromocode.js.map +1 -1
  29. package/build/components/__shared__/FieldPromocode/__tests__/__snapshots__/FieldPromocode.test.jsx.snap +0 -71
  30. package/build/components/__shared__/Occupation/Occupation.Group.js +1 -1
  31. package/build/components/__shared__/Occupation/Occupation.Group.js.map +1 -1
  32. package/build/components/__shared__/Occupation/Occupation.js +1 -0
  33. package/build/components/__shared__/Occupation/Occupation.js.map +1 -1
  34. package/build/helpers/__mocks__/loyalty.json +34 -7
  35. package/build/helpers/consolidateStore.js +2 -1
  36. package/build/helpers/consolidateStore.js.map +1 -1
  37. package/package.json +1 -1
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.BannerLoyalty = void 0;
7
7
  var _dataSources = require("@mirai/data-sources");
8
+ var _locale = require("@mirai/locale");
8
9
  var _ui = require("@mirai/ui");
9
10
  var _react = _interopRequireDefault(require("react"));
10
11
  var style = _interopRequireWildcard(require("./BannerLoyalty.module.css"));
@@ -19,16 +20,21 @@ const BannerLoyalty = _ref => {
19
20
  const {
20
21
  isMobile
21
22
  } = (0, _ui.useDevice)();
23
+ const {
24
+ locale
25
+ } = (0, _locale.useLocale)();
22
26
  const {
23
27
  value: {
24
- loyalty: {
25
- title,
26
- description,
27
- items = []
28
+ club: {
29
+ banner: {
30
+ benefits = [],
31
+ description = {},
32
+ title
33
+ } = {}
28
34
  } = {}
29
35
  }
30
36
  } = (0, _dataSources.useStore)();
31
- return title && items.length > 0 ? /*#__PURE__*/_react.default.createElement(_ui.View, {
37
+ return title && benefits.length > 0 ? /*#__PURE__*/_react.default.createElement(_ui.View, {
32
38
  row: !isMobile,
33
39
  testId: others.testId,
34
40
  className: [style.container, others.className]
@@ -39,17 +45,16 @@ const BannerLoyalty = _ref => {
39
45
  headline: true,
40
46
  level: isMobile ? 2 : 1,
41
47
  className: [style.logo, style.text]
42
- }, title), /*#__PURE__*/_react.default.createElement(_ui.Text, {
48
+ }, title[locale] || title[_locale.DEFAULT_LOCALE]), /*#__PURE__*/_react.default.createElement(_ui.Text, {
43
49
  action: isMobile,
44
50
  className: style.text
45
- }, description)), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
51
+ }, description[locale] || description[_locale.DEFAULT_LOCALE])), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
46
52
  row: !isMobile,
47
53
  className: style.list
48
- }, items.map(function () {
54
+ }, benefits.map(function () {
49
55
  let {
50
- category = 0,
51
- text,
52
- club = false
56
+ description = {},
57
+ icon
53
58
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
54
59
  let index = arguments.length > 1 ? arguments[1] : undefined;
55
60
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
@@ -59,16 +64,14 @@ const BannerLoyalty = _ref => {
59
64
  accent: true,
60
65
  headline: true,
61
66
  level: isMobile ? 2 : 1,
62
- value: _helpers.ICON[category] || _helpers.ICON.AMENITY
67
+ value: _helpers.ICON[icon] || _helpers.ICON.AMENITY
63
68
  }), /*#__PURE__*/_react.default.createElement(_ui.Text, {
64
69
  action: !isMobile,
65
70
  small: isMobile,
66
71
  className: style.text
67
- }, text, club && /*#__PURE__*/_react.default.createElement(_ui.Text, {
68
- bold: true,
69
- small: true
70
- }, "CLUB")));
72
+ }, description[locale] || description[_locale.DEFAULT_LOCALE]));
71
73
  })), /*#__PURE__*/_react.default.createElement(_ui.Text, {
74
+ lighten: true,
72
75
  action: !isMobile,
73
76
  small: isMobile
74
77
  }, "!You will be able to login or sign up in the next step of the booking process.", ' ', /*#__PURE__*/_react.default.createElement(_ui.Text, {
@@ -1 +1 @@
1
- {"version":3,"file":"BannerLoyalty.js","names":["_dataSources","require","_ui","_react","_interopRequireDefault","style","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","BannerLoyalty","_ref","others","isMobile","useDevice","value","loyalty","title","description","items","useStore","length","createElement","View","row","testId","className","container","highlight","Text","bold","headline","level","logo","text","action","list","map","category","club","arguments","undefined","index","key","Icon","accent","ICON","AMENITY","small","exports","displayName","propTypes"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { Icon, Text, useDevice, View } from '@mirai/ui';\nimport React from 'react';\n\nimport * as style from './BannerLoyalty.module.css';\nimport { ICON } from '../helpers';\n\nconst BannerLoyalty = ({ ...others }) => {\n const { isMobile } = useDevice();\n const {\n value: { loyalty: { title, description, items = [] } = {} },\n } = useStore();\n\n return title && items.length > 0 ? (\n <View row={!isMobile} testId={others.testId} className={[style.container, others.className]}>\n <View className={style.highlight}>\n <Text bold headline level={isMobile ? 2 : 1} className={[style.logo, style.text]}>\n {title}\n </Text>\n <Text action={isMobile} className={style.text}>\n {description}\n </Text>\n </View>\n\n <View>\n <View row={!isMobile} className={style.list}>\n {items.map(({ category = 0, text, club = false } = {}, index) => (\n <View key={index} row={isMobile}>\n <Icon accent headline level={isMobile ? 2 : 1} value={ICON[category] || ICON.AMENITY} />\n <Text action={!isMobile} small={isMobile} className={style.text}>\n {text}\n {club && (\n <Text bold small>\n CLUB\n </Text>\n )}\n </Text>\n </View>\n ))}\n </View>\n\n <Text action={!isMobile} small={isMobile}>\n !You will be able to login or sign up in the next step of the booking process.{' '}\n <Text accent action={!isMobile} small={isMobile}>\n ! More information\n </Text>\n </Text>\n </View>\n </View>\n ) : null;\n};\n\nBannerLoyalty.displayName = 'Mirai:Core:BannerLoyalty';\n\nBannerLoyalty.propTypes = {};\n\nexport { BannerLoyalty };\n"],"mappings":"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"}
1
+ {"version":3,"file":"BannerLoyalty.js","names":["_dataSources","require","_locale","_ui","_react","_interopRequireDefault","style","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","BannerLoyalty","_ref","others","isMobile","useDevice","locale","useLocale","value","club","banner","benefits","description","title","useStore","length","createElement","View","row","testId","className","container","highlight","Text","bold","headline","level","logo","text","DEFAULT_LOCALE","action","list","map","icon","arguments","undefined","index","key","Icon","accent","ICON","AMENITY","small","lighten","exports","displayName","propTypes"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { DEFAULT_LOCALE, useLocale } from '@mirai/locale';\nimport { Icon, Text, useDevice, View } from '@mirai/ui';\nimport React from 'react';\n\nimport * as style from './BannerLoyalty.module.css';\nimport { ICON } from '../helpers';\n\nconst BannerLoyalty = ({ ...others }) => {\n const { isMobile } = useDevice();\n const { locale } = useLocale();\n const {\n value: { club: { banner: { benefits = [], description = {}, title } = {} } = {} },\n } = useStore();\n\n return title && benefits.length > 0 ? (\n <View row={!isMobile} testId={others.testId} className={[style.container, others.className]}>\n <View className={style.highlight}>\n <Text bold headline level={isMobile ? 2 : 1} className={[style.logo, style.text]}>\n {title[locale] || title[DEFAULT_LOCALE]}\n </Text>\n <Text action={isMobile} className={style.text}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n\n <View>\n <View row={!isMobile} className={style.list}>\n {benefits.map(({ description = {}, icon } = {}, index) => (\n <View key={index} row={isMobile}>\n <Icon accent headline level={isMobile ? 2 : 1} value={ICON[icon] || ICON.AMENITY} />\n <Text action={!isMobile} small={isMobile} className={style.text}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n ))}\n </View>\n\n <Text lighten action={!isMobile} small={isMobile}>\n !You will be able to login or sign up in the next step of the booking process.{' '}\n <Text accent action={!isMobile} small={isMobile}>\n ! More information\n </Text>\n </Text>\n </View>\n </View>\n ) : null;\n};\n\nBannerLoyalty.displayName = 'Mirai:Core:BannerLoyalty';\n\nBannerLoyalty.propTypes = {};\n\nexport { BannerLoyalty };\n"],"mappings":"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"}
@@ -172,7 +172,6 @@ const Chat = _ref => {
172
172
  }, translate(_Chat2.L10N.LABEL_ASSISTANT)), /*#__PURE__*/_react.default.createElement(_ui.View, {
173
173
  row: true
174
174
  }, /*#__PURE__*/_react.default.createElement(_ui.View, {
175
- tiny: true,
176
175
  className: (0, _ui.styles)(style.bullet, online ? style.online : style.offline)
177
176
  }), /*#__PURE__*/_react.default.createElement(_ui.Text, {
178
177
  small: true,
@@ -191,9 +190,8 @@ const Chat = _ref => {
191
190
  scrollTo: scrollTo,
192
191
  snap: false,
193
192
  className: style.messages
194
- }, messages.map((message, index) => /*#__PURE__*/_react.default.createElement(_components.Message, _extends({
195
- key: index
196
- }, message, {
193
+ }, messages.map((message, index) => /*#__PURE__*/_react.default.createElement(_components.Message, _extends({}, message, {
194
+ key: "message:".concat(index),
197
195
  disabled: busy || index < messages.length - 1,
198
196
  onAction: handleAction
199
197
  }))), busy && /*#__PURE__*/_react.default.createElement(_components.Message, {
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_services","_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","onlineInterval","Chat","_ref","skeleton","name","NAME","isMobile","useDevice","translate","useLocale","value","calendar","currency","hotel","locale","occupation","origin","session","tags","type","useStore","busy","setBusy","useState","messages","setMessages","online","setOnline","scrollTo","setScrollTo","visible","setVisible","useEffect","response","ServiceLisa","welcome","catch","handleError","addMessage","clearInterval","callback","status","setInterval","Date","getTime","storeContext","handleInput","input","nextMessages","text","timestamp","setTimeout","message","context","DELAY_RESPONSE","handleAction","form","intent","undefined","action","lisa","auto","error","console","Event","publish","EVENT","INTENT_LOCALE","createElement","Fragment","React","Modal","View","className","container","styles","row","header","Avatar","small","wide","Text","bold","L10N","LABEL_ASSISTANT","tiny","bullet","offline","lighten","LABEL_ONLINE","LABEL_OFFLINE","Button","squared","tooltip","ACTION_CLOSE","transparent","onPress","Icon","ICON","CLOSE","ScrollView","snap","map","index","Message","disabled","onAction","Input","onValue","InputRich","Offline","Tooltip","right","LABEL_GREETINGS","Pressable","buttonExtend","hide","avatar","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, Modal, Pressable, ScrollView, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { DELAY_RESPONSE, NAME } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { Avatar, Input, InputRich, Offline, Message } from './components';\nimport { ServiceLisa } from '../../services';\nimport { EVENT, ICON } from '../helpers';\n\nlet onlineInterval;\n\nconst Chat = ({ skeleton, name = NAME }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { calendar, 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 setBusy(true);\n const response = await ServiceLisa.welcome({ locale, session }).catch(handleError);\n if (response) addMessage(response, messages);\n setBusy(false);\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n // ! TODO: It's just a demo\n // if (visible && !messages.length) handleInput('Do you have any available offer or discount?');\n if (!visible) return clearInterval(onlineInterval);\n\n const callback = async () => {\n const response = await ServiceLisa.status().catch(() => setOnline(false));\n if (response && !online) setOnline(response);\n };\n\n callback();\n onlineInterval = setInterval(callback, online ? 60000 : 10000);\n\n return () => {\n clearInterval(onlineInterval);\n };\n }, [online, visible]);\n\n useEffect(() => visible && setScrollTo(new Date().getTime()), [busy, messages, visible]);\n\n const storeContext = { calendar, currency, hotel, occupation, origin, tags, type };\n\n const handleInput = (input) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const response = await ServiceLisa.message({ context: { ...storeContext }, input, session }).catch(handleError);\n if (response) addMessage(response, nextMessages);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent } = {}) => {\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 if (response) {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\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 ? { className: style.container, visible }\n : { className: styles(style.container, visible && style.visible) },\n <>\n <View row className={style.header}>\n <Avatar small />\n <View wide>\n <Text bold>{translate(L10N.LABEL_ASSISTANT)}</Text>\n <View row>\n <View tiny className={styles(style.bullet, online ? style.online : style.offline)} />\n <Text small lighten>\n {translate(online ? L10N.LABEL_ONLINE : L10N.LABEL_OFFLINE)}\n </Text>\n </View>\n </View>\n\n <View row>\n {/* ! TODO: When store chats */}\n {/* <Button small squared tooltip={translate(L10N.ACTION_MINIMIZE)} transparent onPress={() => {}}>\n <Icon value={ICON.MINIMIZE} />\n </Button> */}\n\n <Button\n small\n squared\n tooltip={translate(L10N.ACTION_CLOSE)}\n transparent\n onPress={() => setVisible(false)}\n >\n <Icon value={ICON.CLOSE} />\n </Button>\n </View>\n </View>\n\n <ScrollView scrollTo={scrollTo} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message\n key={index}\n {...message}\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 <Offline />\n )}\n </>,\n )}\n\n <Tooltip right text={translate(L10N.LABEL_GREETINGS, { name })}>\n <Pressable\n disabled={busy}\n onPress={() => setVisible(true)}\n className={styles(style.buttonExtend, visible && style.hide)}\n >\n <Avatar disabled={visible} className={style.avatar} />\n </Pressable>\n </Tooltip>\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","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","style","_components","_services","_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","onlineInterval","Chat","_ref","skeleton","name","NAME","isMobile","useDevice","translate","useLocale","value","calendar","currency","hotel","locale","occupation","origin","session","tags","type","useStore","busy","setBusy","useState","messages","setMessages","online","setOnline","scrollTo","setScrollTo","visible","setVisible","useEffect","response","ServiceLisa","welcome","catch","handleError","addMessage","clearInterval","callback","status","setInterval","Date","getTime","storeContext","handleInput","input","nextMessages","text","timestamp","setTimeout","message","context","DELAY_RESPONSE","handleAction","form","intent","undefined","action","lisa","auto","error","console","Event","publish","EVENT","INTENT_LOCALE","createElement","Fragment","React","Modal","View","className","container","styles","row","header","Avatar","small","wide","Text","bold","L10N","LABEL_ASSISTANT","bullet","offline","lighten","LABEL_ONLINE","LABEL_OFFLINE","Button","squared","tooltip","ACTION_CLOSE","transparent","onPress","Icon","ICON","CLOSE","ScrollView","snap","map","index","Message","concat","disabled","onAction","Input","onValue","InputRich","Offline","Tooltip","right","LABEL_GREETINGS","Pressable","buttonExtend","hide","avatar","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, Modal, Pressable, ScrollView, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { DELAY_RESPONSE, NAME } from './Chat.constants';\nimport { L10N } from './Chat.l10n';\nimport * as style from './Chat.module.css';\nimport { Avatar, Input, InputRich, Offline, Message } from './components';\nimport { ServiceLisa } from '../../services';\nimport { EVENT, ICON } from '../helpers';\n\nlet onlineInterval;\n\nconst Chat = ({ skeleton, name = NAME }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { calendar, 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 setBusy(true);\n const response = await ServiceLisa.welcome({ locale, session }).catch(handleError);\n if (response) addMessage(response, messages);\n setBusy(false);\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n // ! TODO: It's just a demo\n // if (visible && !messages.length) handleInput('Do you have any available offer or discount?');\n if (!visible) return clearInterval(onlineInterval);\n\n const callback = async () => {\n const response = await ServiceLisa.status().catch(() => setOnline(false));\n if (response && !online) setOnline(response);\n };\n\n callback();\n onlineInterval = setInterval(callback, online ? 60000 : 10000);\n\n return () => {\n clearInterval(onlineInterval);\n };\n }, [online, visible]);\n\n useEffect(() => visible && setScrollTo(new Date().getTime()), [busy, messages, visible]);\n\n const storeContext = { calendar, currency, hotel, occupation, origin, tags, type };\n\n const handleInput = (input) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const response = await ServiceLisa.message({ context: { ...storeContext }, input, session }).catch(handleError);\n if (response) addMessage(response, nextMessages);\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent } = {}) => {\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 if (response) {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\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 ? { className: style.container, visible }\n : { className: styles(style.container, visible && style.visible) },\n <>\n <View row className={style.header}>\n <Avatar small />\n <View wide>\n <Text bold>{translate(L10N.LABEL_ASSISTANT)}</Text>\n <View row>\n <View className={styles(style.bullet, online ? style.online : style.offline)} />\n <Text small lighten>\n {translate(online ? L10N.LABEL_ONLINE : L10N.LABEL_OFFLINE)}\n </Text>\n </View>\n </View>\n\n <View row>\n {/* ! TODO: When store chats */}\n {/* <Button small squared tooltip={translate(L10N.ACTION_MINIMIZE)} transparent onPress={() => {}}>\n <Icon value={ICON.MINIMIZE} />\n </Button> */}\n\n <Button\n small\n squared\n tooltip={translate(L10N.ACTION_CLOSE)}\n transparent\n onPress={() => setVisible(false)}\n >\n <Icon value={ICON.CLOSE} />\n </Button>\n </View>\n </View>\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 <Offline />\n )}\n </>,\n )}\n\n <Tooltip right text={translate(L10N.LABEL_GREETINGS, { name })}>\n <Pressable\n disabled={busy}\n onPress={() => setVisible(true)}\n className={styles(style.buttonExtend, visible && style.hide)}\n >\n <Avatar disabled={visible} className={style.avatar} />\n </Pressable>\n </Tooltip>\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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"}
@@ -73,7 +73,7 @@ const Message = _ref => {
73
73
  url
74
74
  } = _ref2;
75
75
  return /*#__PURE__*/_react.default.createElement(_components.Card, {
76
- key: index,
76
+ key: "chat.message:".concat(index),
77
77
  disabled: intent && disabled,
78
78
  href: url,
79
79
  icon: (0, _helpers.getActionIcon)(url),
@@ -1 +1 @@
1
- {"version":3,"file":"Message.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_components","_helpers","_Message","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","Message","_ref","auto","busy","intent","response","text","timestamp","others","value","urlParams","lisa","useStore","actions","disabled","testId","onAction","createElement","View","wide","Text","lighten","small","className","getTime","row","styles","message","content","Environment","spinner","action","React","INTENT","INTENT_UNKNOWN","map","_ref2","index","url","Card","href","icon","getActionIcon","onPress","context","undefined","exports","propTypes","PropTypes","bool","string","shape","arrayOf","requirements","oneOf","array","number","func"],"sources":["../../../../../src/components/Chat/components/Message/Message.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Card, Environment } from './components';\nimport { getActionIcon, getTime } from './helpers';\nimport { INTENT, INTENT_UNKNOWN } from './Message.constants';\nimport * as style from './Message.module.css';\n\nconst Message = ({ auto, busy = false, intent, response = {}, text, timestamp, ...others }) => {\n const {\n value: { urlParams: { lisa } = {} },\n } = useStore();\n\n const { actions = [], value } = response;\n const { disabled, testId, onAction } = others;\n\n return (\n <View testId={testId} wide>\n {timestamp && (\n <Text lighten small className={style.timestamp}>\n {getTime(timestamp)}\n </Text>\n )}\n <View row wide className={styles(style.message, auto && style.auto)}>\n <View className={styles(style.content, auto && style.auto, busy && style.busy)}>\n {!busy && auto && intent && lisa === 'environment' && <Environment {...{ intent, ...others, ...response }} />}\n\n {busy ? (\n <View className={style.spinner} />\n ) : text ? (\n <Text action className={style.text}>\n {text}\n </Text>\n ) : (\n React.createElement(INTENT[intent] || INTENT_UNKNOWN, { intent, response, ...others })\n )}\n\n {actions.map(({ intent, text, url }, index) => (\n <Card\n key={index}\n disabled={intent && disabled}\n href={url}\n icon={getActionIcon(url)}\n text={text}\n onPress={intent ? () => onAction({ intent, context: value }) : undefined}\n />\n ))}\n </View>\n </View>\n </View>\n );\n};\n\nMessage.propTypes = {\n auto: PropTypes.bool,\n busy: PropTypes.bool,\n disabled: PropTypes.bool,\n intent: PropTypes.string,\n response: PropTypes.shape({\n actions: PropTypes.arrayOf(PropTypes.shape({})),\n requirements: PropTypes.shape({}),\n text: PropTypes.string,\n value: PropTypes.oneOf([PropTypes.array, PropTypes.shape({})]),\n }),\n text: PropTypes.string,\n timestamp: PropTypes.number,\n onAction: PropTypes.func,\n};\n\nexport { Message };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Message.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_components","_helpers","_Message","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","Message","_ref","auto","busy","intent","response","text","timestamp","others","value","urlParams","lisa","useStore","actions","disabled","testId","onAction","createElement","View","wide","Text","lighten","small","className","getTime","row","styles","message","content","Environment","spinner","action","React","INTENT","INTENT_UNKNOWN","map","_ref2","index","url","Card","concat","href","icon","getActionIcon","onPress","context","undefined","exports","propTypes","PropTypes","bool","string","shape","arrayOf","requirements","oneOf","array","number","func"],"sources":["../../../../../src/components/Chat/components/Message/Message.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Card, Environment } from './components';\nimport { getActionIcon, getTime } from './helpers';\nimport { INTENT, INTENT_UNKNOWN } from './Message.constants';\nimport * as style from './Message.module.css';\n\nconst Message = ({ auto, busy = false, intent, response = {}, text, timestamp, ...others }) => {\n const {\n value: { urlParams: { lisa } = {} },\n } = useStore();\n\n const { actions = [], value } = response;\n const { disabled, testId, onAction } = others;\n\n return (\n <View testId={testId} wide>\n {timestamp && (\n <Text lighten small className={style.timestamp}>\n {getTime(timestamp)}\n </Text>\n )}\n <View row wide className={styles(style.message, auto && style.auto)}>\n <View className={styles(style.content, auto && style.auto, busy && style.busy)}>\n {!busy && auto && intent && lisa === 'environment' && <Environment {...{ intent, ...others, ...response }} />}\n\n {busy ? (\n <View className={style.spinner} />\n ) : text ? (\n <Text action className={style.text}>\n {text}\n </Text>\n ) : (\n React.createElement(INTENT[intent] || INTENT_UNKNOWN, { intent, response, ...others })\n )}\n\n {actions.map(({ intent, text, url }, index) => (\n <Card\n key={`chat.message:${index}`}\n disabled={intent && disabled}\n href={url}\n icon={getActionIcon(url)}\n text={text}\n onPress={intent ? () => onAction({ intent, context: value }) : undefined}\n />\n ))}\n </View>\n </View>\n </View>\n );\n};\n\nMessage.propTypes = {\n auto: PropTypes.bool,\n busy: PropTypes.bool,\n disabled: PropTypes.bool,\n intent: PropTypes.string,\n response: PropTypes.shape({\n actions: PropTypes.arrayOf(PropTypes.shape({})),\n requirements: PropTypes.shape({}),\n text: PropTypes.string,\n value: PropTypes.oneOf([PropTypes.array, PropTypes.shape({})]),\n }),\n text: PropTypes.string,\n timestamp: PropTypes.number,\n onAction: PropTypes.func,\n};\n\nexport { Message };\n"],"mappings":"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"}
@@ -29,7 +29,7 @@ const {
29
29
  } = _Finder2.TYPE;
30
30
  let memoizedScrollY = 0;
31
31
  const Finder = _ref => {
32
- var _dataSource$places, _dataSource$promo, _dataSource$cta;
32
+ var _dataSource$places;
33
33
  let {
34
34
  assisted = true,
35
35
  compacted = false,
@@ -297,7 +297,6 @@ const Finder = _ref => {
297
297
  testId: testId ? "".concat(testId, "-occupation") : undefined
298
298
  }), /*#__PURE__*/_react.default.createElement(_shared__.FieldPromocode, {
299
299
  compacted: isCompacted,
300
- placeholder: (_dataSource$promo = dataSource.promo) === null || _dataSource$promo === void 0 ? void 0 : _dataSource$promo.placeholder,
301
300
  value: promocode,
302
301
  visible: focus === _Finder2.VIEW.PROMOCODE,
303
302
  onChange: (promocode, event) => handleChange(_Finder2.VIEW.PROMOCODE, promocode, event),
@@ -312,7 +311,7 @@ const Finder = _ref => {
312
311
  onPress: handleSubmit,
313
312
  className: style.button,
314
313
  testId: testId ? "".concat(testId, "-submit") : undefined
315
- }, text || ((_dataSource$cta = dataSource.cta) === null || _dataSource$cta === void 0 ? void 0 : _dataSource$cta.placeholder) || translate(_Finder3.L10N.ACTION_BOOK))));
314
+ }, text || translate(_Finder3.L10N.ACTION_SEARCH))));
316
315
  };
317
316
  exports.Finder = Finder;
318
317
  Finder.displayName = 'Mirai:Core:Finder';
@@ -1 +1 @@
1
- {"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_helpers2","_prepareRoom","_shared__","_Occupation","_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","HOTEL","TYPE","memoizedScrollY","Finder","_ref","_dataSource$places","_dataSource$promo","_dataSource$cta","assisted","compacted","layout","text","onChange","onSubmit","others","isMobile","useDevice","dateFormat","translate","useLocale","ref","useRef","value","currency","propCurrency","finder","storeFinder","forwarder","locale","type","store","useStore","calendarPosition","setCalendarPosition","useState","setCurrency","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","useEffect","occupation","prepareRoom","DATASOURCE","handleClickOutside","_ref$current","undefined","current","contains","document","addEventListener","removeEventListener","disabledDates","place","callback","calendar","handleSubmit","nextValue","Event","subscribe","EVENT","FINDER","unsubscribe","handleScroll","scrollY","window","GAP_SCROLL","JSON","stringify","concat","handleChange","field","fieldValue","next","handlePlaceChange","event","_fetchUrlParams","VIEW","PLACE","isHotel","fetchUrlParams","location","search","fetchCurrency","id","assistant","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","CALENDAR","OCCUPATION","includes","promocode","testId","dataSource","getDataSource","ids","hotel","idHotel","isCompacted","createElement","Fragment","Compact","onExpand","View","role","row","className","styles","places","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","backgroundColor","maxWidth","Places","autoColumn","getCalendarCaption","centered","LABEL_WHEN","onPosition","Calendar","parseCalendarProps","variants","onError","onValid","top","calendarOnTop","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","FieldPromocode","promo","PROMOCODE","onEnter","onLeave","Button","large","wide","button","cta","ACTION_BOOK","exports","displayName","propTypes","PropTypes","bool","oneOf","string","func"],"sources":["../../../src/components/Finder/Finder.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar, Places } from './components';\nimport { Compact } from './Finder.compact';\nimport { FIELD, GAP_SCROLL, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n} from './helpers';\nimport { fetchCurrency, fetchUrlParams } from '../../helpers';\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { getCalendarCaption } from '../helpers';\nimport { EVENT } from '../helpers';\n\nconst { HOTEL } = TYPE;\nlet memoizedScrollY = 0;\n\nconst Finder = ({ assisted = true, compacted = false, layout, text, onChange = () => {}, onSubmit, ...others }) => {\n const { isMobile } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { currency: propCurrency, finder: storeFinder, forwarder, locale, type = HOTEL, ...store },\n } = useStore();\n\n const [calendarPosition, setCalendarPosition] = useState();\n const [currency, setCurrency] = useState();\n const [error, setError] = useState({});\n const [focus, setFocus] = useState();\n const [unavailability, setUnavailability] = useState();\n const [value, setValue] = useState(parseValue(storeFinder));\n const [visited, setVisited] = useState({});\n\n useEffect(() => {\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n if (isMobile) return;\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n document.addEventListener('click', handleClickOutside, true);\n\n return () => document.removeEventListener('click', handleClickOutside, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setUnavailability({ disabledDates: [] });\n }, [value?.occupation, value?.place]);\n\n useEffect(() => {\n const callback = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n\n Event.subscribe(EVENT.FINDER, callback);\n return () => Event.unsubscribe(EVENT.FINDER, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.\n useEffect(() => setCurrency(propCurrency), [propCurrency]);\n\n useEffect(() => {\n if (!compacted) return;\n\n const handleScroll = () => {\n const { scrollY } = window;\n if (scrollY > memoizedScrollY + GAP_SCROLL || scrollY < memoizedScrollY - GAP_SCROLL) {\n memoizedScrollY = scrollY;\n setFocus(undefined);\n }\n };\n window.addEventListener('scroll', handleScroll);\n\n return () => window.removeEventListener('scroll', handleScroll);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [compacted]);\n\n useEffect(\n () => JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder)) && setValue(parseValue(storeFinder)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n focus && setVisited({ ...visited, [`${focus}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus]);\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n };\n\n const handlePlaceChange = async (place, event) => {\n handleChange(VIEW.PLACE, place, event);\n if (place.isHotel && !fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n setCurrency(await fetchCurrency(place.id[0]));\n }\n assisted && assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setFocus(undefined);\n set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\n };\n\n const assistant = () => {\n if (!assisted) return setFocus(undefined);\n\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (focus === VIEW.CALENDAR && !visited.occupation) setFocus(VIEW.OCCUPATION);\n else if (!compacted || (assisted && [VIEW.CALENDAR, VIEW.PLACE].includes(focus))) setFocus(undefined);\n };\n\n const { place = {}, calendar = [], occupation, promocode } = value;\n const { testId } = others;\n const dataSource = getDataSource({ type, ...store });\n const { place: { id: ids = [], isHotel } = {} } = value || {};\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n const isCompacted = (compacted && isMobile) || (compacted && !isMobile && !focus);\n\n return (\n <>\n {isCompacted && <Compact {...{ value, dataSource }} onExpand={setFocus} onSubmit={handleSubmit} />}\n <View\n role=\"finder\"\n ref={ref}\n row={!isMobile}\n testId={others.testId}\n className={styles(style.finder, layout && style[layout], others.className)}\n >\n {dataSource.places && (\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\n compacted={isCompacted}\n label={translate(L10N.LABEL_WHERE)}\n placeholder={dataSource.places.placeholder || translate(L10N.LABEL_WHERE_PLACEHOLDER)}\n visible={focus === VIEW.PLACE}\n onPress={() => setFocus(focus !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n className={{ backgroundColor: 'red', maxWidth: 128 }}\n >\n <Places\n autoColumn={focus === VIEW.PLACE}\n dataSource={dataSource.places.options}\n text={compacted ? text : undefined}\n value={place.value}\n onChange={handlePlaceChange}\n onSubmit={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n testId={testId ? `${testId}-places` : undefined}\n />\n </Field>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL}\n compacted={isCompacted}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPosition={setCalendarPosition}\n onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency}\n locale={locale}\n text={compacted ? text : undefined}\n unavailability={unavailability}\n value={calendar}\n onChange={(calendar, event) => {\n handleChange(VIEW.CALENDAR, calendar, event);\n if (calendar.length === 2 && assisted) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onValid={() => setError({ ...error, calendar: undefined })}\n onSubmit={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n className={styles(calendarPosition?.top && style.calendarOnTop)}\n testId={testId ? `${testId}-calendar` : undefined}\n />\n </Field>\n\n <FieldOccupation\n compacted={isCompacted}\n dataSource={getOccupationDataSource({\n ...dataSource,\n places: dataSource.places?.options,\n place: place?.value,\n })}\n hotels={getHotels(dataSource.placesSource, place.value)}\n maxRooms={dataSource.maxRooms}\n text={compacted ? text : undefined}\n value={occupation}\n visible={focus === VIEW.OCCUPATION}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setFocus(focus !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onSubmit={isMobile && compacted ? handleSubmit : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={testId ? `${testId}-occupation` : undefined}\n />\n\n <FieldPromocode\n compacted={isCompacted}\n placeholder={dataSource.promo?.placeholder}\n value={promocode}\n visible={focus === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={!compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && compacted ? handleSubmit : undefined}\n testId={testId ? `${testId}-promocode` : undefined}\n />\n\n {!isCompacted && (\n <Button\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.button}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {text || dataSource.cta?.placeholder || translate(L10N.ACTION_BOOK)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n assisted: PropTypes.bool,\n compacted: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AACA,IAAAW,KAAA,GAAAL,uBAAA,CAAAN,OAAA;AACA,IAAAY,QAAA,GAAAZ,OAAA;AASA,IAAAa,SAAA,GAAAb,OAAA;AACA,IAAAc,YAAA,GAAAd,OAAA;AACA,IAAAe,SAAA,GAAAf,OAAA;AACA,IAAAgB,WAAA,GAAAhB,OAAA;AACA,IAAAiB,SAAA,GAAAjB,OAAA;AAAgD,SAAAkB,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;AAGhD,MAAM;EAAEK;AAAM,CAAC,GAAGC,aAAI;AACtB,IAAIC,eAAe,GAAG,CAAC;AAEvB,MAAMC,MAAM,GAAGC,IAAA,IAAoG;EAAA,IAAAC,kBAAA,EAAAC,iBAAA,EAAAC,eAAA;EAAA,IAAnG;IAAEC,QAAQ,GAAG,IAAI;IAAEC,SAAS,GAAG,KAAK;IAAEC,MAAM;IAAEC,IAAI;IAAEC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IAAEC,QAAQ;IAAE,GAAGC;EAAO,CAAC,GAAAV,IAAA;EAC5G,MAAM;IAAEW;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC,UAAU;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAC7C,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACxB,MAAM;IACJhC,GAAG;IACHiC,KAAK,EAAE;MAAEC,QAAQ,EAAEC,YAAY;MAAEC,MAAM,EAAEC,WAAW;MAAEC,SAAS;MAAEC,MAAM;MAAEC,IAAI,GAAG7B,KAAK;MAAE,GAAG8B;IAAM;EAClG,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAC1D,MAAM,CAACX,QAAQ,EAAEY,WAAW,CAAC,GAAG,IAAAD,eAAQ,EAAC,CAAC;EAC1C,MAAM,CAACE,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAH,eAAQ,EAAC,CAAC,CAAC,CAAC;EACtC,MAAM,CAACI,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAL,eAAQ,EAAC,CAAC;EACpC,MAAM,CAACM,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAP,eAAQ,EAAC,CAAC;EACtD,MAAM,CAACZ,KAAK,EAAEoB,QAAQ,CAAC,GAAG,IAAAR,eAAQ,EAAC,IAAAS,mBAAU,EAACjB,WAAW,CAAC,CAAC;EAC3D,MAAM,CAACkB,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAX,eAAQ,EAAC,CAAC,CAAC,CAAC;EAE1C,IAAAY,gBAAS,EAAC,MAAM;IACd,IAAI,EAACpB,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEqB,UAAU,GAAE1D,GAAG,CAAC;MAAEoC,MAAM,EAAE;QAAE,GAAGC,WAAW;QAAEqB,UAAU,EAAE,CAAC,IAAAC,wBAAW,EAACC,sBAAU,CAAC;MAAE;IAAE,CAAC,CAAC;IACxG,IAAIlC,QAAQ,EAAE;IAEd,MAAMmC,kBAAkB,GAAG,SAAAA,CAAA;MAAA,IAAAC,YAAA;MAAA,IAAC;QAAEzD;MAAO,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAyD,SAAA,GAAAzD,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK,GAAAwD,YAAA,GAAC/B,GAAG,CAACiC,OAAO,cAAAF,YAAA,eAAXA,YAAA,CAAaG,QAAQ,CAAC5D,MAAM,CAAC,KAAI6C,QAAQ,CAACa,SAAS,CAAC;IAAA;IACrGG,QAAQ,CAACC,gBAAgB,CAAC,OAAO,EAAEN,kBAAkB,EAAE,IAAI,CAAC;IAE5D,OAAO,MAAMK,QAAQ,CAACE,mBAAmB,CAAC,OAAO,EAAEP,kBAAkB,EAAE,IAAI,CAAC;IAC5E;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAJ,gBAAS,EAAC,MAAM;IACdL,iBAAiB,CAAC;MAAEiB,aAAa,EAAE;IAAG,CAAC,CAAC;EAC1C,CAAC,EAAE,CAACpC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEyB,UAAU,EAAEzB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEqC,KAAK,CAAC,CAAC;EAErC,IAAAb,gBAAS,EAAC,MAAM;IACd,MAAMc,QAAQ,GAAG,SAAAA,CAAA,EAAsC;MAAA,IAArC;QAAEC,QAAQ;QAAEpC,MAAM;QAAEa;MAAM,CAAC,GAAA3C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAyD,SAAA,GAAAzD,SAAA,MAAG,CAAC,CAAC;MAChD,IAAI8B,MAAM,EAAE,OAAOqC,YAAY,CAAC;QAAEC,SAAS,EAAEtC;MAAO,CAAC,CAAC;MAEtDgB,iBAAiB,CAACoB,QAAQ,CAAC;MAC3B,IAAIvB,KAAK,EAAEC,QAAQ,CAACD,KAAK,CAAC;IAC5B,CAAC;IAED0B,kBAAK,CAACC,SAAS,CAACC,eAAK,CAACC,MAAM,EAAEP,QAAQ,CAAC;IACvC,OAAO,MAAMI,kBAAK,CAACI,WAAW,CAACF,eAAK,CAACC,MAAM,EAAEP,QAAQ,CAAC;IACtD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,IAAAd,gBAAS,EAAC,MAAMX,WAAW,CAACX,YAAY,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAE1D,IAAAsB,gBAAS,EAAC,MAAM;IACd,IAAI,CAACrC,SAAS,EAAE;IAEhB,MAAM4D,YAAY,GAAGA,CAAA,KAAM;MACzB,MAAM;QAAEC;MAAQ,CAAC,GAAGC,MAAM;MAC1B,IAAID,OAAO,GAAGpE,eAAe,GAAGsE,mBAAU,IAAIF,OAAO,GAAGpE,eAAe,GAAGsE,mBAAU,EAAE;QACpFtE,eAAe,GAAGoE,OAAO;QACzB/B,QAAQ,CAACa,SAAS,CAAC;MACrB;IACF,CAAC;IACDmB,MAAM,CAACf,gBAAgB,CAAC,QAAQ,EAAEa,YAAY,CAAC;IAE/C,OAAO,MAAME,MAAM,CAACd,mBAAmB,CAAC,QAAQ,EAAEY,YAAY,CAAC;IAC/D;EACF,CAAC,EAAE,CAAC5D,SAAS,CAAC,CAAC;EAEf,IAAAqC,gBAAS,EACP,MAAM2B,IAAI,CAACC,SAAS,CAACpD,KAAK,CAAC,KAAKmD,IAAI,CAACC,SAAS,CAAC,IAAA/B,mBAAU,EAACjB,WAAW,CAAC,CAAC,IAAIgB,QAAQ,CAAC,IAAAC,mBAAU,EAACjB,WAAW,CAAC,CAAC;EAC5G;EACA,CAACA,WAAW,CACd,CAAC;EAED,IAAAoB,gBAAS,EAAC,MAAM;IACdR,KAAK,IAAIO,UAAU,CAAC;MAAE,GAAGD,OAAO;MAAE,IAAA+B,MAAA,CAAIrC,KAAK,IAAK;IAAK,CAAC,CAAC;IACvD;EACF,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,MAAMsC,YAAY,GAAGA,CAACC,KAAK,EAAEC,UAAU,KAAK;IAC1C,MAAMC,IAAI,GAAG;MAAE,GAAGzD,KAAK;MAAE,CAACuD,KAAK,GAAGC;IAAW,CAAC;IAE9CpC,QAAQ,CAACqC,IAAI,CAAC;IACdnE,QAAQ,CAACmE,IAAI,EAAEF,KAAK,EAAEC,UAAU,CAAC;EACnC,CAAC;EAED,MAAME,iBAAiB,GAAG,MAAAA,CAAOrB,KAAK,EAAEsB,KAAK,KAAK;IAAA,IAAAC,eAAA;IAChDN,YAAY,CAACO,aAAI,CAACC,KAAK,EAAEzB,KAAK,EAAEsB,KAAK,CAAC;IACtC,IAAItB,KAAK,CAAC0B,OAAO,IAAI,GAAAH,eAAA,GAAC,IAAAI,wBAAc,EAACf,MAAM,CAACgB,QAAQ,CAACC,MAAM,CAAC,cAAAN,eAAA,eAAtCA,eAAA,CAAwC3D,QAAQ,GAAE;MACtE;MACAY,WAAW,CAAC,MAAM,IAAAsD,uBAAa,EAAC9B,KAAK,CAAC+B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C;IACAlF,QAAQ,IAAImF,SAAS,CAAC,CAAC;EACzB,CAAC;EAED,MAAM7B,YAAY,GAAG,SAAAA,CAAA,EAAgC;IAAA,IAA/B;MAAEC,SAAS,GAAGzC;IAAM,CAAC,GAAA3B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAyD,SAAA,GAAAzD,SAAA,MAAG,CAAC,CAAC;IAC9C,MAAM,CAACiG,UAAU,CAAC,GAAG/G,MAAM,CAACgH,IAAI,CAACzD,KAAK,CAAC,CAAC0D,MAAM,CAAEhG,GAAG,IAAK,CAAC,CAACsC,KAAK,CAACtC,GAAG,CAAC,CAAC;IACrE,IAAI8F,UAAU,EAAE,OAAOrD,QAAQ,CAACqD,UAAU,CAAC;IAE3CrD,QAAQ,CAACa,SAAS,CAAC;IACnB/D,GAAG,CAAC;MAAEoC,MAAM,EAAEsC;IAAU,CAAC,CAAC;IAC1B,MAAMgC,YAAY,GAAG,IAAAC,wBAAe,EAAC;MAAE,GAAGjC,SAAS;MAAExC,QAAQ;MAAEI,SAAS;MAAEC,MAAM;MAAEE,KAAK;MAAED;IAAK,CAAC,CAAC;IAEhG,IAAIhB,QAAQ,EAAEA,QAAQ,CAAC;MAAE,GAAGkD,SAAS;MAAEgC;IAAa,CAAC,CAAC,CAAC,KAClDxB,MAAM,CAACgB,QAAQ,CAACU,IAAI,GAAGF,YAAY;EAC1C,CAAC;EAED,MAAMJ,SAAS,GAAGA,CAAA,KAAM;IACtB,IAAI,CAACnF,QAAQ,EAAE,OAAO+B,QAAQ,CAACa,SAAS,CAAC;IAEzC,MAAM;MAAES,QAAQ,GAAG;IAAG,CAAC,GAAGvC,KAAK;IAC/B,IAAIgB,KAAK,KAAK6C,aAAI,CAACC,KAAK,IAAI,CAACxC,OAAO,CAACiB,QAAQ,IAAIA,QAAQ,CAACjE,MAAM,KAAK,CAAC,EAAE2C,QAAQ,CAAC4C,aAAI,CAACe,QAAQ,CAAC,CAAC,KAC3F,IAAI5D,KAAK,KAAK6C,aAAI,CAACe,QAAQ,IAAI,CAACtD,OAAO,CAACG,UAAU,EAAER,QAAQ,CAAC4C,aAAI,CAACgB,UAAU,CAAC,CAAC,KAC9E,IAAI,CAAC1F,SAAS,IAAKD,QAAQ,IAAI,CAAC2E,aAAI,CAACe,QAAQ,EAAEf,aAAI,CAACC,KAAK,CAAC,CAACgB,QAAQ,CAAC9D,KAAK,CAAE,EAAEC,QAAQ,CAACa,SAAS,CAAC;EACvG,CAAC;EAED,MAAM;IAAEO,KAAK,GAAG,CAAC,CAAC;IAAEE,QAAQ,GAAG,EAAE;IAAEd,UAAU;IAAEsD;EAAU,CAAC,GAAG/E,KAAK;EAClE,MAAM;IAAEgF;EAAO,CAAC,GAAGxF,MAAM;EACzB,MAAMyF,UAAU,GAAG,IAAAC,sBAAa,EAAC;IAAE3E,IAAI;IAAE,GAAGC;EAAM,CAAC,CAAC;EACpD,MAAM;IAAE6B,KAAK,EAAE;MAAE+B,EAAE,EAAEe,GAAG,GAAG,EAAE;MAAEpB;IAAQ,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG/D,KAAK,IAAI,CAAC,CAAC;EAC7D,MAAM;IAAEoF,KAAK,EAAE;MAAEhB,EAAE,EAAEiB;IAAQ,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG7E,KAAK;EAC7C,MAAM4D,EAAE,GAAG7D,IAAI,KAAK7B,KAAK,GAAIqF,OAAO,IAAIoB,GAAG,CAAC7G,MAAM,KAAK,CAAC,GAAG6G,GAAG,CAAC,CAAC,CAAC,GAAGrD,SAAS,GAAIuD,OAAO;EACxF,MAAMC,WAAW,GAAInG,SAAS,IAAIM,QAAQ,IAAMN,SAAS,IAAI,CAACM,QAAQ,IAAI,CAACuB,KAAM;EAEjF,oBACElF,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAAAzJ,MAAA,CAAAmB,OAAA,CAAAuI,QAAA,QACGF,WAAW,iBAAIxJ,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAACtJ,OAAA,CAAAwJ,OAAO;IAAOzF,KAAK;IAAEiF,UAAU;IAAIS,QAAQ,EAAEzE,QAAS;IAAC1B,QAAQ,EAAEiD;EAAa,CAAE,CAAC,eAClG1G,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAAC5J,GAAA,CAAAgK,IAAI;IACHC,IAAI,EAAC,QAAQ;IACb9F,GAAG,EAAEA,GAAI;IACT+F,GAAG,EAAE,CAACpG,QAAS;IACfuF,MAAM,EAAExF,MAAM,CAACwF,MAAO;IACtBc,SAAS,EAAE,IAAAC,UAAM,EAAC3J,KAAK,CAAC+D,MAAM,EAAEf,MAAM,IAAIhD,KAAK,CAACgD,MAAM,CAAC,EAAEI,MAAM,CAACsG,SAAS;EAAE,GAE1Eb,UAAU,CAACe,MAAM,iBAChBlK,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAAC/I,SAAA,CAAAyJ,KAAK,EAAAhI,QAAA,KACAiI,cAAK,CAACpC,KAAK;IACfqC,OAAO,EAAE,IAAAC,wBAAe,EAAC/D,KAAK,CAACrC,KAAK,EAAEiF,UAAU,CAACe,MAAM,CAACK,OAAO,CAAE;IACjElH,SAAS,EAAEmG,WAAY;IACvBgB,KAAK,EAAE1G,SAAS,CAAC2G,aAAI,CAACC,WAAW,CAAE;IACnCC,WAAW,EAAExB,UAAU,CAACe,MAAM,CAACS,WAAW,IAAI7G,SAAS,CAAC2G,aAAI,CAACG,uBAAuB,CAAE;IACtFC,OAAO,EAAE3F,KAAK,KAAK6C,aAAI,CAACC,KAAM;IAC9B8C,OAAO,EAAEA,CAAA,KAAM3F,QAAQ,CAACD,KAAK,KAAK6C,aAAI,CAACC,KAAK,GAAGD,aAAI,CAACC,KAAK,GAAGhC,SAAS,CAAE;IACvEgE,SAAS,EAAE;MAAEe,eAAe,EAAE,KAAK;MAAEC,QAAQ,EAAE;IAAI;EAAE,iBAErDhL,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAACvJ,WAAA,CAAA+K,MAAM;IACLC,UAAU,EAAEhG,KAAK,KAAK6C,aAAI,CAACC,KAAM;IACjCmB,UAAU,EAAEA,UAAU,CAACe,MAAM,CAACK,OAAQ;IACtChH,IAAI,EAAEF,SAAS,GAAGE,IAAI,GAAGyC,SAAU;IACnC9B,KAAK,EAAEqC,KAAK,CAACrC,KAAM;IACnBV,QAAQ,EAAEoE,iBAAkB;IAC5BnE,QAAQ,EAAEE,QAAQ,GAAIN,SAAS,GAAGqD,YAAY,GAAGtD,QAAQ,GAAGmF,SAAS,GAAGvC,SAAS,GAAIA,SAAU;IAC/FkD,MAAM,EAAEA,MAAM,MAAA3B,MAAA,CAAM2B,MAAM,eAAYlD;EAAU,CACjD,CACI,CACR,eAEDhG,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAAC/I,SAAA,CAAAyJ,KAAK,EAAAhI,QAAA,KACAiI,cAAK,CAACtB,QAAQ;IAClBuB,OAAO,EAAE5D,QAAQ,CAACjE,MAAM,GAAG,IAAA2I,4BAAkB,EAAC1E,QAAQ,EAAE3C,SAAS,EAAED,UAAU,CAAC,GAAGmC,SAAU;IAC3FoF,QAAQ,EAAE3G,IAAI,KAAK7B,KAAM;IACzBS,SAAS,EAAEmG,WAAY;IACvBgB,KAAK,EAAE1G,SAAS,CAAC2G,aAAI,CAACY,UAAU,CAAE;IAClCV,WAAW,EAAE,IAAAQ,4BAAkB,EAACnF,SAAS,EAAElC,SAAS,EAAED,UAAU,CAAE;IAClEgH,OAAO,EAAE3F,KAAK,KAAK6C,aAAI,CAACe,QAAS;IACjCwC,UAAU,EAAEzG,mBAAoB;IAChCiG,OAAO,EAAEA,CAAA,KAAM3F,QAAQ,CAACD,KAAK,KAAK6C,aAAI,CAACe,QAAQ,GAAGf,aAAI,CAACe,QAAQ,GAAG9C,SAAS;EAAE,iBAE7EhG,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAACvJ,WAAA,CAAAqL,QAAQ,EAAApJ,QAAA,KACH,IAAAqJ,2BAAkB,EAACrC,UAAU,CAAC1C,QAAQ,EAAE6B,EAAE,EAAE3C,UAAU,EAAElB,IAAI,EAAEW,cAAc,EAAE+D,UAAU,CAACsC,QAAQ,CAAC;IACtGnD,EAAE,EAAEA,EAAG;IACPnE,QAAQ,EAAEA,QAAS;IACnBK,MAAM,EAAEA,MAAO;IACfjB,IAAI,EAAEF,SAAS,GAAGE,IAAI,GAAGyC,SAAU;IACnCZ,cAAc,EAAEA,cAAe;IAC/BlB,KAAK,EAAEuC,QAAS;IAChBjD,QAAQ,EAAEA,CAACiD,QAAQ,EAAEoB,KAAK,KAAK;MAC7BL,YAAY,CAACO,aAAI,CAACe,QAAQ,EAAErC,QAAQ,EAAEoB,KAAK,CAAC;MAC5C,IAAIpB,QAAQ,CAACjE,MAAM,KAAK,CAAC,IAAIY,QAAQ,EAAEmF,SAAS,CAAC,CAAC;IACpD,CAAE;IACFmD,OAAO,EAAGjF,QAAQ,IAAKxB,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAEyB;IAAS,CAAC,CAAE;IACxDkF,OAAO,EAAEA,CAAA,KAAM1G,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAEyB,QAAQ,EAAET;IAAU,CAAC,CAAE;IAC3DvC,QAAQ,EAAEE,QAAQ,GAAIN,SAAS,GAAGqD,YAAY,GAAGtD,QAAQ,GAAGmF,SAAS,GAAGvC,SAAS,GAAIA,SAAU;IAC/FgE,SAAS,EAAE,IAAAC,UAAM,EAAC,CAAArF,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEgH,GAAG,KAAItL,KAAK,CAACuL,aAAa,CAAE;IAChE3C,MAAM,EAAEA,MAAM,MAAA3B,MAAA,CAAM2B,MAAM,iBAAclD;EAAU,EACnD,CACI,CAAC,eAERhG,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAAC/I,SAAA,CAAAoL,eAAe;IACdzI,SAAS,EAAEmG,WAAY;IACvBL,UAAU,EAAE,IAAA4C,gCAAuB,EAAC;MAClC,GAAG5C,UAAU;MACbe,MAAM,GAAAjH,kBAAA,GAAEkG,UAAU,CAACe,MAAM,cAAAjH,kBAAA,uBAAjBA,kBAAA,CAAmBsH,OAAO;MAClChE,KAAK,EAAEA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAErC;IAChB,CAAC,CAAE;IACH8H,MAAM,EAAE,IAAAC,kBAAS,EAAC9C,UAAU,CAAC+C,YAAY,EAAE3F,KAAK,CAACrC,KAAK,CAAE;IACxDiI,QAAQ,EAAEhD,UAAU,CAACgD,QAAS;IAC9B5I,IAAI,EAAEF,SAAS,GAAGE,IAAI,GAAGyC,SAAU;IACnC9B,KAAK,EAAEyB,UAAW;IAClBkF,OAAO,EAAE3F,KAAK,KAAK6C,aAAI,CAACgB,UAAW;IACnCvF,QAAQ,EAAEA,CAACmC,UAAU,EAAEkC,KAAK,KAAKL,YAAY,CAACO,aAAI,CAACgB,UAAU,EAAEpD,UAAU,EAAEkC,KAAK,CAAE;IAClF6D,OAAO,EAAG/F,UAAU,IAAK;MACvB,IAAI,CAAChC,QAAQ,IAAIuB,KAAK,KAAK6C,aAAI,CAACgB,UAAU,EAAE5D,QAAQ,CAAC4C,aAAI,CAACgB,UAAU,CAAC;MACrE9D,QAAQ,CAAC;QAAE,GAAGD,KAAK;QAAEW;MAAW,CAAC,CAAC;IACpC,CAAE;IACFmF,OAAO,EAAEA,CAAA,KAAM3F,QAAQ,CAACD,KAAK,KAAK6C,aAAI,CAACgB,UAAU,GAAGhB,aAAI,CAACgB,UAAU,GAAG/C,SAAS,CAAE;IACjFvC,QAAQ,EAAEE,QAAQ,IAAIN,SAAS,GAAGqD,YAAY,GAAGV,SAAU;IAC3D2F,OAAO,EAAEA,CAAA,KAAM1G,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAEW,UAAU,EAAEK;IAAU,CAAC,CAAE;IAC7DkD,MAAM,EAAEA,MAAM,MAAA3B,MAAA,CAAM2B,MAAM,mBAAgBlD;EAAU,CACrD,CAAC,eAEFhG,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAAC/I,SAAA,CAAA0L,cAAc;IACb/I,SAAS,EAAEmG,WAAY;IACvBmB,WAAW,GAAAzH,iBAAA,GAAEiG,UAAU,CAACkD,KAAK,cAAAnJ,iBAAA,uBAAhBA,iBAAA,CAAkByH,WAAY;IAC3CzG,KAAK,EAAE+E,SAAU;IACjB4B,OAAO,EAAE3F,KAAK,KAAK6C,aAAI,CAACuE,SAAU;IAClC9I,QAAQ,EAAEA,CAACyF,SAAS,EAAEpB,KAAK,KAAKL,YAAY,CAACO,aAAI,CAACuE,SAAS,EAAErD,SAAS,EAAEpB,KAAK,CAAE;IAC/E0E,OAAO,EAAE,CAAClJ,SAAS,GAAG,MAAM8B,QAAQ,CAAC4C,aAAI,CAACuE,SAAS,CAAC,GAAGtG,SAAU;IACjEwG,OAAO,EAAE,CAACnJ,SAAS,GAAG,MAAM8B,QAAQ,CAACa,SAAS,CAAC,GAAGA,SAAU;IAC5D8E,OAAO,EACLnH,QAAQ,IAAIN,SAAS,GAAG,MAAM8B,QAAQ,CAACD,KAAK,KAAK6C,aAAI,CAACuE,SAAS,GAAGvE,aAAI,CAACuE,SAAS,GAAGtG,SAAS,CAAC,GAAGA,SACjG;IACDvC,QAAQ,EAAEE,QAAQ,IAAIN,SAAS,GAAGqD,YAAY,GAAGV,SAAU;IAC3DkD,MAAM,EAAEA,MAAM,MAAA3B,MAAA,CAAM2B,MAAM,kBAAelD;EAAU,CACpD,CAAC,EAED,CAACwD,WAAW,iBACXxJ,MAAA,CAAAmB,OAAA,CAAAsI,aAAA,CAAC5J,GAAA,CAAA4M,MAAM;IACLC,KAAK;IACLC,IAAI,EAAEhJ,QAAS;IACfmH,OAAO,EAAEpE,YAAa;IACtBsD,SAAS,EAAE1J,KAAK,CAACsM,MAAO;IACxB1D,MAAM,EAAEA,MAAM,MAAA3B,MAAA,CAAM2B,MAAM,eAAYlD;EAAU,GAE/CzC,IAAI,MAAAJ,eAAA,GAAIgG,UAAU,CAAC0D,GAAG,cAAA1J,eAAA,uBAAdA,eAAA,CAAgBwH,WAAW,KAAI7G,SAAS,CAAC2G,aAAI,CAACqC,WAAW,CAC5D,CAEN,CACN,CAAC;AAEP,CAAC;AAACC,OAAA,CAAAhK,MAAA,GAAAA,MAAA;AAEFA,MAAM,CAACiK,WAAW,GAAG,mBAAmB;AAExCjK,MAAM,CAACkK,SAAS,GAAG;EACjB7J,QAAQ,EAAE8J,kBAAS,CAACC,IAAI;EACxB9J,SAAS,EAAE6J,kBAAS,CAACC,IAAI;EACzB7J,MAAM,EAAE4J,kBAAS,CAACE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;EACnC7J,IAAI,EAAE2J,kBAAS,CAACG,MAAM;EACtB7J,QAAQ,EAAE0J,kBAAS,CAACI,IAAI;EACxB7J,QAAQ,EAAEyJ,kBAAS,CAACI;AACtB,CAAC"}
1
+ {"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_helpers2","_prepareRoom","_shared__","_Occupation","_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","HOTEL","TYPE","memoizedScrollY","Finder","_ref","_dataSource$places","assisted","compacted","layout","text","onChange","onSubmit","others","isMobile","useDevice","dateFormat","translate","useLocale","ref","useRef","value","currency","propCurrency","finder","storeFinder","forwarder","locale","type","store","useStore","calendarPosition","setCalendarPosition","useState","setCurrency","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","useEffect","occupation","prepareRoom","DATASOURCE","handleClickOutside","_ref$current","undefined","current","contains","document","addEventListener","removeEventListener","disabledDates","place","callback","calendar","handleSubmit","nextValue","Event","subscribe","EVENT","FINDER","unsubscribe","handleScroll","scrollY","window","GAP_SCROLL","JSON","stringify","concat","handleChange","field","fieldValue","next","handlePlaceChange","event","_fetchUrlParams","VIEW","PLACE","isHotel","fetchUrlParams","location","search","fetchCurrency","id","assistant","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","CALENDAR","OCCUPATION","includes","promocode","testId","dataSource","getDataSource","ids","hotel","idHotel","isCompacted","createElement","Fragment","Compact","onExpand","View","role","row","className","styles","places","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","backgroundColor","maxWidth","Places","autoColumn","getCalendarCaption","centered","LABEL_WHEN","onPosition","Calendar","parseCalendarProps","variants","onError","onValid","top","calendarOnTop","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","FieldPromocode","PROMOCODE","onEnter","onLeave","Button","large","wide","button","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","bool","oneOf","string","func"],"sources":["../../../src/components/Finder/Finder.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar, Places } from './components';\nimport { Compact } from './Finder.compact';\nimport { FIELD, GAP_SCROLL, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n} from './helpers';\nimport { fetchCurrency, fetchUrlParams } from '../../helpers';\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { getCalendarCaption } from '../helpers';\nimport { EVENT } from '../helpers';\n\nconst { HOTEL } = TYPE;\nlet memoizedScrollY = 0;\n\nconst Finder = ({ assisted = true, compacted = false, layout, text, onChange = () => {}, onSubmit, ...others }) => {\n const { isMobile } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { currency: propCurrency, finder: storeFinder, forwarder, locale, type = HOTEL, ...store },\n } = useStore();\n\n const [calendarPosition, setCalendarPosition] = useState();\n const [currency, setCurrency] = useState();\n const [error, setError] = useState({});\n const [focus, setFocus] = useState();\n const [unavailability, setUnavailability] = useState();\n const [value, setValue] = useState(parseValue(storeFinder));\n const [visited, setVisited] = useState({});\n\n useEffect(() => {\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n if (isMobile) return;\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n document.addEventListener('click', handleClickOutside, true);\n\n return () => document.removeEventListener('click', handleClickOutside, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setUnavailability({ disabledDates: [] });\n }, [value?.occupation, value?.place]);\n\n useEffect(() => {\n const callback = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n\n Event.subscribe(EVENT.FINDER, callback);\n return () => Event.unsubscribe(EVENT.FINDER, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.\n useEffect(() => setCurrency(propCurrency), [propCurrency]);\n\n useEffect(() => {\n if (!compacted) return;\n\n const handleScroll = () => {\n const { scrollY } = window;\n if (scrollY > memoizedScrollY + GAP_SCROLL || scrollY < memoizedScrollY - GAP_SCROLL) {\n memoizedScrollY = scrollY;\n setFocus(undefined);\n }\n };\n window.addEventListener('scroll', handleScroll);\n\n return () => window.removeEventListener('scroll', handleScroll);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [compacted]);\n\n useEffect(\n () => JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder)) && setValue(parseValue(storeFinder)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n focus && setVisited({ ...visited, [`${focus}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus]);\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n };\n\n const handlePlaceChange = async (place, event) => {\n handleChange(VIEW.PLACE, place, event);\n if (place.isHotel && !fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n setCurrency(await fetchCurrency(place.id[0]));\n }\n assisted && assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setFocus(undefined);\n set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\n };\n\n const assistant = () => {\n if (!assisted) return setFocus(undefined);\n\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (focus === VIEW.CALENDAR && !visited.occupation) setFocus(VIEW.OCCUPATION);\n else if (!compacted || (assisted && [VIEW.CALENDAR, VIEW.PLACE].includes(focus))) setFocus(undefined);\n };\n\n const { place = {}, calendar = [], occupation, promocode } = value;\n const { testId } = others;\n const dataSource = getDataSource({ type, ...store });\n const { place: { id: ids = [], isHotel } = {} } = value || {};\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n const isCompacted = (compacted && isMobile) || (compacted && !isMobile && !focus);\n\n return (\n <>\n {isCompacted && <Compact {...{ value, dataSource }} onExpand={setFocus} onSubmit={handleSubmit} />}\n <View\n role=\"finder\"\n ref={ref}\n row={!isMobile}\n testId={others.testId}\n className={styles(style.finder, layout && style[layout], others.className)}\n >\n {dataSource.places && (\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\n compacted={isCompacted}\n label={translate(L10N.LABEL_WHERE)}\n placeholder={dataSource.places.placeholder || translate(L10N.LABEL_WHERE_PLACEHOLDER)}\n visible={focus === VIEW.PLACE}\n onPress={() => setFocus(focus !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n className={{ backgroundColor: 'red', maxWidth: 128 }}\n >\n <Places\n autoColumn={focus === VIEW.PLACE}\n dataSource={dataSource.places.options}\n text={compacted ? text : undefined}\n value={place.value}\n onChange={handlePlaceChange}\n onSubmit={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n testId={testId ? `${testId}-places` : undefined}\n />\n </Field>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL}\n compacted={isCompacted}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPosition={setCalendarPosition}\n onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency}\n locale={locale}\n text={compacted ? text : undefined}\n unavailability={unavailability}\n value={calendar}\n onChange={(calendar, event) => {\n handleChange(VIEW.CALENDAR, calendar, event);\n if (calendar.length === 2 && assisted) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onValid={() => setError({ ...error, calendar: undefined })}\n onSubmit={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n className={styles(calendarPosition?.top && style.calendarOnTop)}\n testId={testId ? `${testId}-calendar` : undefined}\n />\n </Field>\n\n <FieldOccupation\n compacted={isCompacted}\n dataSource={getOccupationDataSource({\n ...dataSource,\n places: dataSource.places?.options,\n place: place?.value,\n })}\n hotels={getHotels(dataSource.placesSource, place.value)}\n maxRooms={dataSource.maxRooms}\n text={compacted ? text : undefined}\n value={occupation}\n visible={focus === VIEW.OCCUPATION}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setFocus(focus !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onSubmit={isMobile && compacted ? handleSubmit : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={testId ? `${testId}-occupation` : undefined}\n />\n\n <FieldPromocode\n compacted={isCompacted}\n value={promocode}\n visible={focus === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={!compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && compacted ? handleSubmit : undefined}\n testId={testId ? `${testId}-promocode` : undefined}\n />\n\n {!isCompacted && (\n <Button\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.button}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n assisted: PropTypes.bool,\n compacted: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":"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"}
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.L10N = void 0;
7
7
  const L10N = exports.L10N = {
8
- ACTION_BOOK: {
9
- id: 'finder.place.cta',
8
+ ACTION_SEARCH: {
9
+ id: 'common.action.search',
10
10
  defaultMessage: '   '
11
11
  },
12
12
  LABEL_WHEN: {
@@ -1 +1 @@
1
- {"version":3,"file":"Finder.l10n.js","names":["L10N","exports","ACTION_BOOK","id","defaultMessage","LABEL_WHEN","LABEL_WHERE","LABEL_WHERE_PLACEHOLDER"],"sources":["../../../src/components/Finder/Finder.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_BOOK: { id: 'finder.place.cta', defaultMessage: '   ' },\n\n LABEL_WHEN: { id: 'finder.label.when', defaultMessage: '    ' },\n LABEL_WHERE: { id: 'finder.label.where', defaultMessage: '     ' },\n LABEL_WHERE_PLACEHOLDER: { id: 'common.label.select' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,WAAW,EAAE;IAAEC,EAAE,EAAE,kBAAkB;IAAEC,cAAc,EAAE;EAAM,CAAC;EAE9DC,UAAU,EAAE;IAAEF,EAAE,EAAE,mBAAmB;IAAEC,cAAc,EAAE;EAAO,CAAC;EAC/DE,WAAW,EAAE;IAAEH,EAAE,EAAE,oBAAoB;IAAEC,cAAc,EAAE;EAAQ,CAAC;EAClEG,uBAAuB,EAAE;IAAEJ,EAAE,EAAE;EAAsB;AACvD,CAAC"}
1
+ {"version":3,"file":"Finder.l10n.js","names":["L10N","exports","ACTION_SEARCH","id","defaultMessage","LABEL_WHEN","LABEL_WHERE","LABEL_WHERE_PLACEHOLDER"],"sources":["../../../src/components/Finder/Finder.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_SEARCH: { id: 'common.action.search', defaultMessage: '   ' },\n\n LABEL_WHEN: { id: 'finder.label.when', defaultMessage: '    ' },\n LABEL_WHERE: { id: 'finder.label.where', defaultMessage: '     ' },\n LABEL_WHERE_PLACEHOLDER: { id: 'common.label.select' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,aAAa,EAAE;IAAEC,EAAE,EAAE,sBAAsB;IAAEC,cAAc,EAAE;EAAM,CAAC;EAEpEC,UAAU,EAAE;IAAEF,EAAE,EAAE,mBAAmB;IAAEC,cAAc,EAAE;EAAO,CAAC;EAC/DE,WAAW,EAAE;IAAEH,EAAE,EAAE,oBAAoB;IAAEC,cAAc,EAAE;EAAQ,CAAC;EAClEG,uBAAuB,EAAE;IAAEJ,EAAE,EAAE;EAAsB;AACvD,CAAC"}
@@ -1650,7 +1650,7 @@ exports[`component:<Finder> type:chain inherit:className 1`] = `
1650
1650
  <button
1651
1651
  class="pressable button large"
1652
1652
  >
1653
- finder.place.cta
1653
+ common.action.search
1654
1654
  </button>
1655
1655
  </div>
1656
1656
  </DocumentFragment>
@@ -3306,7 +3306,7 @@ exports[`component:<Finder> type:chain prop:assisted 1`] = `
3306
3306
  <button
3307
3307
  class="pressable button large"
3308
3308
  >
3309
- finder.place.cta
3309
+ common.action.search
3310
3310
  </button>
3311
3311
  </div>
3312
3312
  </DocumentFragment>
@@ -4962,7 +4962,7 @@ exports[`component:<Finder> type:chain prop:compact 1`] = `
4962
4962
  <button
4963
4963
  class="pressable button large"
4964
4964
  >
4965
- finder.place.cta
4965
+ common.action.search
4966
4966
  </button>
4967
4967
  </div>
4968
4968
  </DocumentFragment>
@@ -6618,7 +6618,7 @@ exports[`component:<Finder> type:chain prop:layout 1`] = `
6618
6618
  <button
6619
6619
  class="pressable button large"
6620
6620
  >
6621
- finder.place.cta
6621
+ common.action.search
6622
6622
  </button>
6623
6623
  </div>
6624
6624
  </DocumentFragment>
@@ -9930,7 +9930,7 @@ exports[`component:<Finder> type:chain renders 1`] = `
9930
9930
  <button
9931
9931
  class="pressable button large"
9932
9932
  >
9933
- finder.place.cta
9933
+ common.action.search
9934
9934
  </button>
9935
9935
  </div>
9936
9936
  </DocumentFragment>
@@ -11594,7 +11594,7 @@ exports[`component:<Finder> type:chain testID 1`] = `
11594
11594
  class="pressable button large"
11595
11595
  data-testid="mirai-submit"
11596
11596
  >
11597
- finder.place.cta
11597
+ common.action.search
11598
11598
  </button>
11599
11599
  </div>
11600
11600
  </DocumentFragment>
@@ -13250,7 +13250,7 @@ exports[`component:<Finder> type:hotel inherit:className 1`] = `
13250
13250
  <button
13251
13251
  class="pressable button large"
13252
13252
  >
13253
- finder.place.cta
13253
+ common.action.search
13254
13254
  </button>
13255
13255
  </div>
13256
13256
  </DocumentFragment>
@@ -14906,7 +14906,7 @@ exports[`component:<Finder> type:hotel prop:assisted 1`] = `
14906
14906
  <button
14907
14907
  class="pressable button large"
14908
14908
  >
14909
- finder.place.cta
14909
+ common.action.search
14910
14910
  </button>
14911
14911
  </div>
14912
14912
  </DocumentFragment>
@@ -16562,7 +16562,7 @@ exports[`component:<Finder> type:hotel prop:compact 1`] = `
16562
16562
  <button
16563
16563
  class="pressable button large"
16564
16564
  >
16565
- finder.place.cta
16565
+ common.action.search
16566
16566
  </button>
16567
16567
  </div>
16568
16568
  </DocumentFragment>
@@ -18218,7 +18218,7 @@ exports[`component:<Finder> type:hotel prop:layout 1`] = `
18218
18218
  <button
18219
18219
  class="pressable button large"
18220
18220
  >
18221
- finder.place.cta
18221
+ common.action.search
18222
18222
  </button>
18223
18223
  </div>
18224
18224
  </DocumentFragment>
@@ -21530,7 +21530,7 @@ exports[`component:<Finder> type:hotel renders 1`] = `
21530
21530
  <button
21531
21531
  class="pressable button large"
21532
21532
  >
21533
- finder.place.cta
21533
+ common.action.search
21534
21534
  </button>
21535
21535
  </div>
21536
21536
  </DocumentFragment>
@@ -23194,7 +23194,7 @@ exports[`component:<Finder> type:hotel testID 1`] = `
23194
23194
  class="pressable button large"
23195
23195
  data-testid="mirai-submit"
23196
23196
  >
23197
- finder.place.cta
23197
+ common.action.search
23198
23198
  </button>
23199
23199
  </div>
23200
23200
  </DocumentFragment>
@@ -60,7 +60,7 @@ const Places = _ref => {
60
60
  value: itemValue
61
61
  } = item;
62
62
  return /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
63
- key: index,
63
+ key: "place:".concat(index),
64
64
  tag: "li",
65
65
  className: (0, _ui.styles)(style.item, itemValue === value && style.selected),
66
66
  onPress: () => onChange(item),