@mirai/core 0.3.412 → 0.3.414

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 (43) hide show
  1. package/build/components/BannerLoyalty/BannerLoyalty.constants.js +2 -1
  2. package/build/components/BannerLoyalty/BannerLoyalty.constants.js.map +1 -1
  3. package/build/components/BannerLoyalty/BannerLoyalty.js +5 -5
  4. package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
  5. package/build/components/Checkout/Checkout.js.map +1 -1
  6. package/build/components/Finder/Finder.js +7 -3
  7. package/build/components/Finder/Finder.js.map +1 -1
  8. package/build/components/Rates/Rates.Unavailability.js +8 -5
  9. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  10. package/build/components/Rates/Rates.js +5 -9
  11. package/build/components/Rates/Rates.js.map +1 -1
  12. package/build/components/Rates/Rates.l10n.js +6 -0
  13. package/build/components/Rates/Rates.l10n.js.map +1 -1
  14. package/build/components/Rates/components/CardHotel/CardHotel.js +3 -3
  15. package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
  16. package/build/components/Rates/components/Filters/Filters.js +4 -6
  17. package/build/components/Rates/components/Filters/Filters.js.map +1 -1
  18. package/build/components/Rates/components/Item/Item.Preview.js +22 -12
  19. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  20. package/build/components/Rates/components/Item/Item.Rates.js +23 -26
  21. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  22. package/build/components/Rates/components/Item/Item.Summary.js +2 -2
  23. package/build/components/Rates/components/Item/Item.Summary.js.map +1 -1
  24. package/build/components/Rates/components/Item/Item.js +20 -0
  25. package/build/components/Rates/components/Item/Item.js.map +1 -1
  26. package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.Preview.test.js.snap +3 -0
  27. package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.test.js.snap +3 -0
  28. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js +16 -2
  29. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js.map +1 -1
  30. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js +1 -3
  31. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js.map +1 -1
  32. package/build/components/Rates/components/ModalExtras/ModalExtras.js +0 -3
  33. package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
  34. package/build/components/Rates/helpers/getClubInclude.js +16 -0
  35. package/build/components/Rates/helpers/getClubInclude.js.map +1 -0
  36. package/build/components/Rates/helpers/{isClubRate.js → getClubRate.js} +12 -7
  37. package/build/components/Rates/helpers/getClubRate.js.map +1 -0
  38. package/build/components/Rates/helpers/index.js +22 -11
  39. package/build/components/Rates/helpers/index.js.map +1 -1
  40. package/package.json +1 -1
  41. package/public/App.Container.jsx +9 -14
  42. package/public/App.module.css +4 -0
  43. package/build/components/Rates/helpers/isClubRate.js.map +0 -1
@@ -3,7 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.BENEFIT_TIMEOUT = exports.BENEFIT_MIN_WIDTH = void 0;
6
+ exports.DEFAULT_LOCALE = exports.BENEFIT_TIMEOUT = exports.BENEFIT_MIN_WIDTH = void 0;
7
7
  const BENEFIT_MIN_WIDTH = exports.BENEFIT_MIN_WIDTH = 192;
8
8
  const BENEFIT_TIMEOUT = exports.BENEFIT_TIMEOUT = 3000;
9
+ const DEFAULT_LOCALE = exports.DEFAULT_LOCALE = 'en-GB';
9
10
  //# sourceMappingURL=BannerLoyalty.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BannerLoyalty.constants.js","names":["BENEFIT_MIN_WIDTH","exports","BENEFIT_TIMEOUT"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.constants.js"],"sourcesContent":["const BENEFIT_MIN_WIDTH = 192;\n\nconst BENEFIT_TIMEOUT = 3000;\n\nexport { BENEFIT_MIN_WIDTH, BENEFIT_TIMEOUT };\n"],"mappings":";;;;;;AAAA,MAAMA,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,GAAG;AAE7B,MAAME,eAAe,GAAAD,OAAA,CAAAC,eAAA,GAAG,IAAI"}
1
+ {"version":3,"file":"BannerLoyalty.constants.js","names":["BENEFIT_MIN_WIDTH","exports","BENEFIT_TIMEOUT","DEFAULT_LOCALE"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.constants.js"],"sourcesContent":["const BENEFIT_MIN_WIDTH = 192;\n\nconst BENEFIT_TIMEOUT = 3000;\n\nconst DEFAULT_LOCALE = 'en-GB';\n\nexport { BENEFIT_MIN_WIDTH, BENEFIT_TIMEOUT, DEFAULT_LOCALE };\n"],"mappings":";;;;;;AAAA,MAAMA,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,GAAG;AAE7B,MAAME,eAAe,GAAAD,OAAA,CAAAC,eAAA,GAAG,IAAI;AAE5B,MAAMC,cAAc,GAAAF,OAAA,CAAAE,cAAA,GAAG,OAAO"}
@@ -48,11 +48,11 @@ const BannerLoyalty = _ref => {
48
48
  } = (0, _dataSources.useStore)();
49
49
  const [scrollIndex, setScrollIndex] = (0, _react.useState)(0);
50
50
  (0, _react.useEffect)(() => {
51
- if (title && benefits.length > 0) _dataSources.Event.publish(_helpers.EVENT.METRICS, {
51
+ if (!session && title && benefits.length > 0) _dataSources.Event.publish(_helpers.EVENT.METRICS, {
52
52
  id: 'BANNER_LOYALTY:RENDER'
53
53
  });
54
54
  // eslint-disable-next-line react-hooks/exhaustive-deps
55
- }, []);
55
+ }, [session]);
56
56
  (0, _react.useEffect)(() => {
57
57
  clearTimeout(interval);
58
58
  if (isMobile || !benefits.length || scrollIndex >= benefits.length + 1) return;
@@ -92,10 +92,10 @@ const BannerLoyalty = _ref => {
92
92
  headline: true,
93
93
  level: isMobile ? 2 : 1,
94
94
  className: style.text
95
- }, title[locale] || title[_locale.DEFAULT_LOCALE]), /*#__PURE__*/_react.default.createElement(_ui.Text, {
95
+ }, title[locale] || title[_BannerLoyalty.DEFAULT_LOCALE]), /*#__PURE__*/_react.default.createElement(_ui.Text, {
96
96
  action: isMobile,
97
97
  className: style.text
98
- }, description[locale] || description[_locale.DEFAULT_LOCALE])), /*#__PURE__*/_react.default.createElement(_ui.View, {
98
+ }, description[locale] || description[_BannerLoyalty.DEFAULT_LOCALE])), /*#__PURE__*/_react.default.createElement(_ui.View, {
99
99
  wide: true
100
100
  }, /*#__PURE__*/_react.default.createElement(_ui.ScrollView, {
101
101
  horizontal: !isMobile,
@@ -119,7 +119,7 @@ const BannerLoyalty = _ref => {
119
119
  action: !isMobile,
120
120
  small: isMobile,
121
121
  className: style.text
122
- }, description[locale] || description[_locale.DEFAULT_LOCALE]));
122
+ }, description[locale] || description[_BannerLoyalty.DEFAULT_LOCALE]));
123
123
  })), /*#__PURE__*/_react.default.createElement(_ui.Text, {
124
124
  light: true,
125
125
  action: !isMobile,
@@ -1 +1 @@
1
- {"version":3,"file":"BannerLoyalty.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BannerLoyalty","_BannerLoyalty2","style","_BannerLoyalty3","_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","interval","BannerLoyalty","_ref","clubConditions","skeleton","others","isMobile","useDevice","locale","stateLocale","translate","useLocale","value","club","banner","benefits","description","title","url","discount","session","useStore","scrollIndex","setScrollIndex","useState","useEffect","Event","publish","EVENT","METRICS","id","clearTimeout","setTimeout","BENEFIT_TIMEOUT","handlePressFilter","RATES_FILTER_CLUB","handlePressLogin","LOGIN","visible","getNormalizedLocale","actionProps","action","bold","small","className","textInline","createElement","View","row","testId","container","highlight","Text","brand","headline","level","text","DEFAULT_LOCALE","wide","ScrollView","horizontal","scrollTo","BENEFIT_MIN_WIDTH","list","map","icon","undefined","index","Icon","accent","ICON","AMENITY","light","Fragment","Action","onPress","L10N","LABEL_UNLOCK_EXCLUSIVE_MEMBER","LABEL_CLUB_CONDITIONS","conditions","href","ACTION_CLUB_VIEW_CONDITIONS","LABEL_LOGIN_NOW","login","ACTION_LOGIN","toLowerCase","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { DEFAULT_LOCALE, useLocale } from '@mirai/locale';\nimport { Action, Icon, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { BENEFIT_MIN_WIDTH, BENEFIT_TIMEOUT } from './BannerLoyalty.constants';\nimport { L10N } from './BannerLoyalty.l10n';\nimport * as style from './BannerLoyalty.module.css';\nimport Skeleton from './BannerLoyalty.skeleton';\nimport { EVENT, getNormalizedLocale, ICON } from '../helpers';\n\nlet interval;\n\nconst BannerLoyalty = ({ clubConditions, skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const { locale: stateLocale, translate } = useLocale();\n const {\n value: { club: { banner: { benefits = [], description = {}, title, url } = {}, discount } = {}, session },\n } = useStore();\n\n const [scrollIndex, setScrollIndex] = useState(0);\n\n useEffect(() => {\n if (title && benefits.length > 0) Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:RENDER' });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n clearTimeout(interval);\n if (isMobile || !benefits.length || scrollIndex >= benefits.length + 1) return;\n\n interval = setTimeout(() => setScrollIndex(scrollIndex + 1), BENEFIT_TIMEOUT);\n }, [benefits, isMobile, scrollIndex]);\n\n const handlePressFilter = () => {\n Event.publish(EVENT.RATES_FILTER_CLUB, true);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:CLUBDISCOUNT', value: true });\n };\n\n const handlePressLogin = () => {\n Event.publish(EVENT.LOGIN, { visible: true });\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:LOGIN' });\n };\n\n const locale = getNormalizedLocale(stateLocale);\n const actionProps = { action: !isMobile, bold: true, small: isMobile, className: style.textInline };\n\n return skeleton && !session ? (\n <Skeleton />\n ) : !session && title && benefits.length > 0 ? (\n <View row={!isMobile} testId={others.testId} className={[style.container, others.className]}>\n <View className={style.highlight}>\n <Text bold brand headline level={isMobile ? 2 : 1} className={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 wide>\n <ScrollView horizontal={!isMobile} scrollTo={scrollIndex * BENEFIT_MIN_WIDTH} 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 </ScrollView>\n\n <Text light action={!isMobile} small={isMobile}>\n {discount === false && (\n <>\n <Action {...actionProps} onPress={handlePressFilter}>\n {translate(L10N.LABEL_UNLOCK_EXCLUSIVE_MEMBER)}\n </Action>{' '}\n </>\n )}\n\n {clubConditions\n ? translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action\n action={!isMobile}\n small={isMobile}\n href={clubConditions}\n target=\"_blank\"\n className={style.textInline}\n >\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })\n : translate(L10N.LABEL_LOGIN_NOW, {\n login: (\n <Action {...actionProps} onPress={handlePressLogin}>\n {translate(L10N.ACTION_LOGIN).toLowerCase()}\n </Action>\n ),\n })}\n\n {url && (\n <>\n {' '}\n <Action action={!isMobile} href={url} small={isMobile} target=\"_blank\" className={style.textInline}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n )}\n </Text>\n </View>\n </View>\n ) : null;\n};\n\nBannerLoyalty.displayName = 'Mirai:Core:BannerLoyalty';\n\nBannerLoyalty.propTypes = {\n clubConditions: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { BannerLoyalty };\n"],"mappings":"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"}
1
+ {"version":3,"file":"BannerLoyalty.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BannerLoyalty","_BannerLoyalty2","style","_BannerLoyalty3","_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","interval","BannerLoyalty","_ref","clubConditions","skeleton","others","isMobile","useDevice","locale","stateLocale","translate","useLocale","value","club","banner","benefits","description","title","url","discount","session","useStore","scrollIndex","setScrollIndex","useState","useEffect","Event","publish","EVENT","METRICS","id","clearTimeout","setTimeout","BENEFIT_TIMEOUT","handlePressFilter","RATES_FILTER_CLUB","handlePressLogin","LOGIN","visible","getNormalizedLocale","actionProps","action","bold","small","className","textInline","createElement","View","row","testId","container","highlight","Text","brand","headline","level","text","DEFAULT_LOCALE","wide","ScrollView","horizontal","scrollTo","BENEFIT_MIN_WIDTH","list","map","icon","undefined","index","Icon","accent","ICON","AMENITY","light","Fragment","Action","onPress","L10N","LABEL_UNLOCK_EXCLUSIVE_MEMBER","LABEL_CLUB_CONDITIONS","conditions","href","ACTION_CLUB_VIEW_CONDITIONS","LABEL_LOGIN_NOW","login","ACTION_LOGIN","toLowerCase","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Icon, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { DEFAULT_LOCALE, BENEFIT_MIN_WIDTH, BENEFIT_TIMEOUT } from './BannerLoyalty.constants';\nimport { L10N } from './BannerLoyalty.l10n';\nimport * as style from './BannerLoyalty.module.css';\nimport Skeleton from './BannerLoyalty.skeleton';\nimport { EVENT, getNormalizedLocale, ICON } from '../helpers';\n\nlet interval;\n\nconst BannerLoyalty = ({ clubConditions, skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const { locale: stateLocale, translate } = useLocale();\n const {\n value: { club: { banner: { benefits = [], description = {}, title, url } = {}, discount } = {}, session },\n } = useStore();\n\n const [scrollIndex, setScrollIndex] = useState(0);\n\n useEffect(() => {\n if (!session && title && benefits.length > 0) Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:RENDER' });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n useEffect(() => {\n clearTimeout(interval);\n if (isMobile || !benefits.length || scrollIndex >= benefits.length + 1) return;\n\n interval = setTimeout(() => setScrollIndex(scrollIndex + 1), BENEFIT_TIMEOUT);\n }, [benefits, isMobile, scrollIndex]);\n\n const handlePressFilter = () => {\n Event.publish(EVENT.RATES_FILTER_CLUB, true);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:CLUBDISCOUNT', value: true });\n };\n\n const handlePressLogin = () => {\n Event.publish(EVENT.LOGIN, { visible: true });\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:LOGIN' });\n };\n\n const locale = getNormalizedLocale(stateLocale);\n const actionProps = { action: !isMobile, bold: true, small: isMobile, className: style.textInline };\n\n return skeleton && !session ? (\n <Skeleton />\n ) : !session && title && benefits.length > 0 ? (\n <View row={!isMobile} testId={others.testId} className={[style.container, others.className]}>\n <View className={style.highlight}>\n <Text bold brand headline level={isMobile ? 2 : 1} className={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 wide>\n <ScrollView horizontal={!isMobile} scrollTo={scrollIndex * BENEFIT_MIN_WIDTH} 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 </ScrollView>\n\n <Text light action={!isMobile} small={isMobile}>\n {discount === false && (\n <>\n <Action {...actionProps} onPress={handlePressFilter}>\n {translate(L10N.LABEL_UNLOCK_EXCLUSIVE_MEMBER)}\n </Action>{' '}\n </>\n )}\n\n {clubConditions\n ? translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action\n action={!isMobile}\n small={isMobile}\n href={clubConditions}\n target=\"_blank\"\n className={style.textInline}\n >\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })\n : translate(L10N.LABEL_LOGIN_NOW, {\n login: (\n <Action {...actionProps} onPress={handlePressLogin}>\n {translate(L10N.ACTION_LOGIN).toLowerCase()}\n </Action>\n ),\n })}\n\n {url && (\n <>\n {' '}\n <Action action={!isMobile} href={url} small={isMobile} target=\"_blank\" className={style.textInline}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n )}\n </Text>\n </View>\n </View>\n ) : null;\n};\n\nBannerLoyalty.displayName = 'Mirai:Core:BannerLoyalty';\n\nBannerLoyalty.propTypes = {\n clubConditions: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { BannerLoyalty };\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","style","_Checkout2","_partials","_Core","_shared__","_Booking","_Header","_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","Checkout","_ref","skeleton","others","isDesktop","useDevice","translate","useLocale","value","currency","hotel","language","locale","session","urlParams","posError","tpvError","useStore","dataSource","setDataSource","useState","error","setError","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","useEffect","Event","publish","EVENT","METRICS","id","response","ServiceBooking","checkout","catch","trace","tracking","chainId","idchain","handleModalAgency","handleErrorConfirmation","window","scrollTo","top","behavior","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","concat","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","BookingTerms","Confirmation","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 { Confirmation, Form } from './partials';\nimport { ERROR } from '../../Core.constants';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer, NotificationRequiredFields } from '../__shared__';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { Header } from '../Header';\nimport { trace } from '../helpers';\nimport { EVENT } from '../helpers';\n\nconst Checkout = ({ skeleton, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const {\n value: { currency, hotel, language, locale, session, urlParams: { posError: tpvError, ...urlParams } = {} },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [error, setError] = 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 const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n }).catch((error) => {\n setResponseError(error);\n });\n setDataSource(response);\n response && trace({ ...response.tracking, chainId: urlParams.idchain });\n })();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, session]);\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 { 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={!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 <BookingDetails dataSource={dataSource} expanded />\n </BookingSummary>\n )}\n\n <Form dataSource={dataSource} showErrors={hasRequiredFields} onError={setError} />\n\n {isDesktop && <BookingDetails dataSource={dataSource} className={style.box} />}\n\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <Confirmation\n dataSource={dataSource}\n error={Object.keys(error || {}).length > 0}\n onError={handleErrorConfirmation}\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","_partials","_Core","_shared__","_Booking","_Header","_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","Checkout","_ref","skeleton","others","isDesktop","useDevice","translate","useLocale","value","currency","hotel","language","locale","session","urlParams","posError","tpvError","useStore","dataSource","setDataSource","useState","error","setError","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","useEffect","Event","publish","EVENT","METRICS","id","response","ServiceBooking","checkout","catch","trace","tracking","chainId","idchain","handleModalAgency","handleErrorConfirmation","window","scrollTo","top","behavior","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","concat","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","BookingTerms","Confirmation","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 { Confirmation, Form } from './partials';\nimport { ERROR } from '../../Core.constants';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer, NotificationRequiredFields } from '../__shared__';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { Header } from '../Header';\nimport { EVENT, trace } from '../helpers';\n\nconst Checkout = ({ skeleton, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const {\n value: { currency, hotel, language, locale, session, urlParams: { posError: tpvError, ...urlParams } = {} },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [error, setError] = 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 const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n }).catch((error) => {\n setResponseError(error);\n });\n setDataSource(response);\n response && trace({ ...response.tracking, chainId: urlParams.idchain });\n })();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, session]);\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 { 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={!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 <BookingDetails dataSource={dataSource} expanded />\n </BookingSummary>\n )}\n\n <Form dataSource={dataSource} showErrors={hasRequiredFields} onError={setError} />\n\n {isDesktop && <BookingDetails dataSource={dataSource} className={style.box} />}\n\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <Confirmation\n dataSource={dataSource}\n error={Object.keys(error || {}).length > 0}\n onError={handleErrorConfirmation}\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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"}
@@ -28,6 +28,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
28
28
  const {
29
29
  HOTEL
30
30
  } = _Finder2.TYPE;
31
+ let timeoutMetricChange;
31
32
  const Finder = _ref => {
32
33
  var _dataSource$places;
33
34
  let {
@@ -170,9 +171,12 @@ const Finder = _ref => {
170
171
  previousValue: value[field],
171
172
  value: fieldValue
172
173
  });
173
- if (metrics) _dataSources.Event.publish(_helpers3.EVENT.METRICS, {
174
- id: "".concat(metrics, ":CHANGE:").concat(field)
175
- });
174
+ if (metrics) {
175
+ clearTimeout(timeoutMetricChange);
176
+ timeoutMetricChange = setTimeout(() => _dataSources.Event.publish(_helpers3.EVENT.METRICS, {
177
+ id: "".concat(metrics, ":CHANGE:").concat(field)
178
+ }), 500);
179
+ }
176
180
  };
177
181
  const handleClickOutside = function () {
178
182
  var _ref$current;
@@ -1 +1 @@
1
- {"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_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","Finder","_ref","_dataSource$places","compacted","icon","inline","layout","metrics","skeleton","storage","text","onChange","onSubmit","others","isMobile","isTablet","mobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","value","components","currency","propCurrency","finder","storeFinder","forwarder","locale","type","store","useStore","calendarPosition","setCalendarPosition","useState","setCurrency","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","warning","setWarning","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","window","addEventListener","handlePageShow","document","handleClickOutside","includes","Event","publish","EVENT","METRICS","id","removeEventListener","current","getAvailableWidth","disabledDates","place","_fetchUrlParams","isHotel","fetchUrlParams","location","search","fetchCurrency","callback","calendar","undefined","handleSubmit","nextValue","setTimeout","track","subscribe","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","next","setStorage","FINDER_FIELD_CHANGE","previousValue","_ref$current","contains","persisted","handlePlaceChange","VIEW","PLACE","assistant","dataSource","places","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","CALENDAR","promocode","ids","getDataSource","hotel","idHotel","is","column","rates","fieldProps","className","centered","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","tag","testId","styles","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","LABEL_WHEN","onPosition","Calendar","parseCalendarProps","variants","rangeMinDays","event","onError","onValid","top","calendarOnTop","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","withWarning","onWarning","FieldPromocode","PROMOCODE","onEnter","onLeave","Button","large","tabindex","wide","button","withIcon","Icon","ICON","SEARCH","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 { Icon, 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, 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 { setStorage, track } from './helpers';\nimport { getAvailableWidth } from './helpers/getAvailableWidth';\nimport { fetchCurrency, fetchUrlParams } from '../../helpers';\n// ! TODO: Why we don't publish prepareRoom in ../../helpers\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { EVENT, getCalendarCaption, ICON } from '../helpers';\n\nconst { HOTEL } = TYPE;\n\nconst Finder = ({\n compacted = false,\n icon = false,\n inline = true,\n layout,\n metrics,\n skeleton,\n storage = true,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, isTablet, mobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { components = {}, 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 const [warning, setWarning] = useState();\n const [width, setWidth] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n\n window.addEventListener('pageshow', handlePageShow);\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n if (metrics && !metrics.includes('RATES')) Event.publish(EVENT.METRICS, { id: 'FINDER:RENDER' });\n\n return () => {\n window.removeEventListener('pageshow', handlePageShow);\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (layout === 'column' && ref.current) setWidth(getAvailableWidth(ref.current));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deviceWidth]);\n\n useEffect(() => {\n unavailability && setUnavailability({ disabledDates: [] });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.occupation, value?.place]);\n\n useEffect(() => {\n const { place: { id, isHotel } = {} } = value || {};\n if (isHotel && !fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n (async () => {\n setCurrency(await fetchCurrency(id[0]));\n })();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [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 !others?.skeleton && !onSubmit && setTimeout(() => track({ mobile, type, ...store }), 10);\n\n Event.subscribe(EVENT.FINDER, callback);\n\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 () => {\n if (JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder))) setValue(parseValue(storeFinder));\n },\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 storage && setStorage(next, store?.id);\n\n Event.publish(EVENT.FINDER_FIELD_CHANGE, { field, previousValue: value[field], value: fieldValue });\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:CHANGE:${field}` });\n };\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setFocus();\n setVisited();\n setValue(parseValue(storeFinder));\n };\n\n const handlePlaceChange = async (place) => {\n setWarning(false);\n handleChange(VIEW.PLACE, place);\n\n assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n if (dataSource.places && value.place === undefined) return setFocus(VIEW.PLACE);\n\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setWarning(false);\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 if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:SUBMIT`, ...nextValue });\n };\n\n const assistant = () => {\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (!compacted || [VIEW.CALENDAR, VIEW.PLACE].includes(focus)) setFocus(undefined);\n };\n\n const { calendar = [], occupation, place = {}, promocode } = value;\n const { id: ids = [], isHotel } = place;\n const dataSource = getDataSource({ type, ...store });\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n const is = {\n column: isMobile || layout === 'column',\n compacted: (compacted && isMobile) || (compacted && !isMobile && !focus),\n rates: components.rates !== undefined,\n };\n\n const fieldProps = {\n compacted: is.compacted,\n inline,\n className: style.field,\n ...(is.column ? { centered: true, style: width ? { maxWidth: width, width } : undefined } : undefined),\n };\n\n return (\n <>\n {is.compacted && (\n <Compact\n {...{ value, dataSource }}\n onExpand={setFocus}\n onSubmit={!is.rates || (is.rates && !isMobile) ? handleSubmit : undefined}\n {...others}\n />\n )}\n\n <View\n ref={ref}\n role=\"finder\"\n row={!is.column}\n tag=\"finder\"\n testId={others.testId}\n className={!is.compacted ? styles(style.finder, is.column && style.column, others.className) : undefined}\n >\n {dataSource.places && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\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 {...fieldProps}\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={is.rates ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-places` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n </>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL}\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 testId={others.testId ? `${others.testId}-calendar-field` : undefined}\n {...fieldProps}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency}\n locale={locale}\n rangeMinDays={1}\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 && !is.rates) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, calendar: undefined })}\n className={styles(calendarPosition?.top && style.calendarOnTop)}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n\n <FieldOccupation\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 withWarning={warning}\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={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n onWarning={() => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n }}\n testId={others.testId ? `${others.testId}-occupation` : undefined}\n {...fieldProps}\n />\n\n {inline && <View className={style.separator} />}\n\n <FieldPromocode\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={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted && (\n <Button\n large\n tabindex={4}\n role=\"finder-button\"\n wide={is.column}\n onPress={handleSubmit}\n className={styles(style.button, ((icon && !is.column) || isTablet) && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {(icon && !is.column) || isTablet ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n compacted: PropTypes.bool,\n icon: PropTypes.bool,\n inline: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n metrics: PropTypes.string,\n skeleton: PropTypes.bool,\n storage: PropTypes.bool,\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_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","timeoutMetricChange","Finder","_ref","_dataSource$places","compacted","icon","inline","layout","metrics","skeleton","storage","text","onChange","onSubmit","others","isMobile","isTablet","mobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","value","components","currency","propCurrency","finder","storeFinder","forwarder","locale","type","store","useStore","calendarPosition","setCalendarPosition","useState","setCurrency","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","warning","setWarning","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","window","addEventListener","handlePageShow","document","handleClickOutside","includes","Event","publish","EVENT","METRICS","id","removeEventListener","current","getAvailableWidth","disabledDates","place","_fetchUrlParams","isHotel","fetchUrlParams","location","search","fetchCurrency","callback","calendar","undefined","handleSubmit","nextValue","setTimeout","track","subscribe","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","next","setStorage","FINDER_FIELD_CHANGE","previousValue","clearTimeout","_ref$current","contains","persisted","handlePlaceChange","VIEW","PLACE","assistant","dataSource","places","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","CALENDAR","promocode","ids","getDataSource","hotel","idHotel","is","column","rates","fieldProps","className","centered","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","tag","testId","styles","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","LABEL_WHEN","onPosition","Calendar","parseCalendarProps","variants","rangeMinDays","event","onError","onValid","top","calendarOnTop","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","withWarning","onWarning","FieldPromocode","PROMOCODE","onEnter","onLeave","Button","large","tabindex","wide","button","withIcon","Icon","ICON","SEARCH","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 { Icon, 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, 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 { setStorage, track } from './helpers';\nimport { getAvailableWidth } from './helpers/getAvailableWidth';\nimport { fetchCurrency, fetchUrlParams } from '../../helpers';\n// ! TODO: Why we don't publish prepareRoom in ../../helpers\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { EVENT, getCalendarCaption, ICON } from '../helpers';\n\nconst { HOTEL } = TYPE;\nlet timeoutMetricChange;\n\nconst Finder = ({\n compacted = false,\n icon = false,\n inline = true,\n layout,\n metrics,\n skeleton,\n storage = true,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, isTablet, mobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { components = {}, 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 const [warning, setWarning] = useState();\n const [width, setWidth] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n\n window.addEventListener('pageshow', handlePageShow);\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n if (metrics && !metrics.includes('RATES')) Event.publish(EVENT.METRICS, { id: 'FINDER:RENDER' });\n\n return () => {\n window.removeEventListener('pageshow', handlePageShow);\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (layout === 'column' && ref.current) setWidth(getAvailableWidth(ref.current));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deviceWidth]);\n\n useEffect(() => {\n unavailability && setUnavailability({ disabledDates: [] });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.occupation, value?.place]);\n\n useEffect(() => {\n const { place: { id, isHotel } = {} } = value || {};\n if (isHotel && !fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n (async () => {\n setCurrency(await fetchCurrency(id[0]));\n })();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [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 !others?.skeleton && !onSubmit && setTimeout(() => track({ mobile, type, ...store }), 10);\n\n Event.subscribe(EVENT.FINDER, callback);\n\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 () => {\n if (JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder))) setValue(parseValue(storeFinder));\n },\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 storage && setStorage(next, store?.id);\n\n Event.publish(EVENT.FINDER_FIELD_CHANGE, { field, previousValue: value[field], value: fieldValue });\n if (metrics) {\n clearTimeout(timeoutMetricChange);\n timeoutMetricChange = setTimeout(() => Event.publish(EVENT.METRICS, { id: `${metrics}:CHANGE:${field}` }), 500);\n }\n };\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setFocus();\n setVisited();\n setValue(parseValue(storeFinder));\n };\n\n const handlePlaceChange = async (place) => {\n setWarning(false);\n handleChange(VIEW.PLACE, place);\n\n assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n if (dataSource.places && value.place === undefined) return setFocus(VIEW.PLACE);\n\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setWarning(false);\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 if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:SUBMIT`, ...nextValue });\n };\n\n const assistant = () => {\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (!compacted || [VIEW.CALENDAR, VIEW.PLACE].includes(focus)) setFocus(undefined);\n };\n\n const { calendar = [], occupation, place = {}, promocode } = value;\n const { id: ids = [], isHotel } = place;\n const dataSource = getDataSource({ type, ...store });\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n const is = {\n column: isMobile || layout === 'column',\n compacted: (compacted && isMobile) || (compacted && !isMobile && !focus),\n rates: components.rates !== undefined,\n };\n\n const fieldProps = {\n compacted: is.compacted,\n inline,\n className: style.field,\n ...(is.column ? { centered: true, style: width ? { maxWidth: width, width } : undefined } : undefined),\n };\n\n return (\n <>\n {is.compacted && (\n <Compact\n {...{ value, dataSource }}\n onExpand={setFocus}\n onSubmit={!is.rates || (is.rates && !isMobile) ? handleSubmit : undefined}\n {...others}\n />\n )}\n\n <View\n ref={ref}\n role=\"finder\"\n row={!is.column}\n tag=\"finder\"\n testId={others.testId}\n className={!is.compacted ? styles(style.finder, is.column && style.column, others.className) : undefined}\n >\n {dataSource.places && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\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 {...fieldProps}\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={is.rates ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-places` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n </>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL}\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 testId={others.testId ? `${others.testId}-calendar-field` : undefined}\n {...fieldProps}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency}\n locale={locale}\n rangeMinDays={1}\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 && !is.rates) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, calendar: undefined })}\n className={styles(calendarPosition?.top && style.calendarOnTop)}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n\n <FieldOccupation\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 withWarning={warning}\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={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n onWarning={() => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n }}\n testId={others.testId ? `${others.testId}-occupation` : undefined}\n {...fieldProps}\n />\n\n {inline && <View className={style.separator} />}\n\n <FieldPromocode\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={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted && (\n <Button\n large\n tabindex={4}\n role=\"finder-button\"\n wide={is.column}\n onPress={handleSubmit}\n className={styles(style.button, ((icon && !is.column) || isTablet) && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {(icon && !is.column) || isTablet ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n compacted: PropTypes.bool,\n icon: PropTypes.bool,\n inline: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n metrics: PropTypes.string,\n skeleton: PropTypes.bool,\n storage: PropTypes.bool,\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":"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"}
@@ -52,6 +52,9 @@ const Unavailability = _ref => {
52
52
  _dataSources.Event.publish(_helpers2.EVENT.FINDER, {
53
53
  calendar
54
54
  });
55
+ _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
56
+ id: 'UNAVAILABILITY:RENDER'
57
+ });
55
58
  // eslint-disable-next-line react-hooks/exhaustive-deps
56
59
  }, []);
57
60
  const {
@@ -70,7 +73,7 @@ const Unavailability = _ref => {
70
73
  }
71
74
  });
72
75
  _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
73
- id: 'RATES:UNAVAILABILITY:CALENDAR'
76
+ id: 'UNAVAILABILITY:CALENDAR'
74
77
  });
75
78
  };
76
79
  const handleOccupation = function () {
@@ -87,7 +90,7 @@ const Unavailability = _ref => {
87
90
  }
88
91
  });
89
92
  _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
90
- id: 'RATES:UNAVAILABILITY:OCCUPATION'
93
+ id: 'UNAVAILABILITY:OCCUPATION'
91
94
  });
92
95
  };
93
96
  const handleFinder = () => {
@@ -98,7 +101,7 @@ const Unavailability = _ref => {
98
101
  focus: 'occupation'
99
102
  });
100
103
  _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
101
- id: 'RATES:UNAVAILABILITY:REFINE_SEARCH'
104
+ id: 'UNAVAILABILITY:REFINE_SEARCH'
102
105
  });
103
106
  };
104
107
  const renderPrice = function () {
@@ -137,7 +140,7 @@ const Unavailability = _ref => {
137
140
  small: isMobile,
138
141
  target: "_blank",
139
142
  onPress: () => _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
140
- id: 'RATES:UNAVAILABILITY:MAILTO'
143
+ id: 'UNAVAILABILITY:MAILTO'
141
144
  }),
142
145
  className: style.action
143
146
  }, email),
@@ -146,7 +149,7 @@ const Unavailability = _ref => {
146
149
  small: isMobile,
147
150
  target: "_blank",
148
151
  onPress: () => _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
149
- id: 'RATES:UNAVAILABILITY:TEL'
152
+ id: 'UNAVAILABILITY:TEL'
150
153
  }),
151
154
  className: style.action
152
155
  }, phone)
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_shared__","_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","Unavailability","_ref","calendar","hotel","email","phone","hotels","nights","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","onMapView","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","currency","finder","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","METRICS","id","handleOccupation","rooms","undefined","map","handleFinder","focus","renderPrice","price","onPress","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","light","getLabelTaxes","Button","ACTION_VIEW_MORE","renderContactInfo","action","contactInfo","LABEL_CONTACT_INFO","Action","href","concat","place","hasSuggestions","unavailability","banner","Icon","accent","ICON","CALENDAR_BUSY","PERSON_OFF","icon","wide","texts","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","button","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","Cards","taxes","others","index","parseDate","Card","card","dateFormat","DATE_FORMAT","anchorDates","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","getAccommodationLabel","plural","type","distribution","name","roomIndex","room","_item$ages","item","itemIndex","getOccupationLabel","ages","OCCUPATION_TYPE","CHILD","LABEL_YEARS_OLD","amount","sort","join","spaceBetween","LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS","secondary","ACTION_SHOW_ON_MAP","CardHotel","exports","displayName","propTypes","PropTypes","shape","string","arrayOf","number","func"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, parseDate, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { Card, Cards } from '../__shared__';\nimport { EVENT, OCCUPATION_TYPE } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotel: { email, phone } = {},\n hotels = [],\n nights = 1,\n suggestions: { calendar: calendarSuggestions = [], description, occupation: occupationSuggestions = [] } = {},\n taxesType,\n onMapView,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = store;\n\n const handleCalendar = (from, to) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, calendar: [from, to] } });\n Event.publish(EVENT.METRICS, { id: 'RATES:UNAVAILABILITY:CALENDAR' });\n };\n\n const handleOccupation = (rooms = []) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, occupation: rooms.map(({ occupation } = {}) => occupation) } });\n Event.publish(EVENT.METRICS, { id: 'RATES:UNAVAILABILITY:OCCUPATION' });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, calendarSuggestions ? { calendar, focus: 'calendar' } : { focus: 'occupation' });\n Event.publish(EVENT.METRICS, { id: 'RATES:UNAVAILABILITY:REFINE_SEARCH' });\n };\n\n const renderPrice = ({ price, onPress } = {}) => (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n\n const renderContactInfo = () => (\n <Text action={!isMobile} small={isMobile} className={style.contactInfo}>\n {translate(L10N.LABEL_CONTACT_INFO, {\n email: (\n <Action\n href={`mailto:${email}`}\n small={isMobile}\n target=\"_blank\"\n onPress={() => Event.publish(EVENT.METRICS, { id: 'RATES:UNAVAILABILITY:MAILTO' })}\n className={style.action}\n >\n {email}\n </Action>\n ),\n phone: (\n <Action\n href={`tel:${phone}`}\n small={isMobile}\n target=\"_blank\"\n onPress={() => Event.publish(EVENT.METRICS, { id: 'RATES:UNAVAILABILITY:TEL' })}\n className={style.action}\n >\n {phone}\n </Action>\n ),\n })}\n </Text>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const hasSuggestions = calendarSuggestions || occupationSuggestions;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon accent value={calendarSuggestions ? ICON.CALENDAR_BUSY : ICON.PERSON_OFF} className={style.icon} />\n <View wide className={style.texts}>\n <Text accent bold headline>\n {calendarSuggestions\n ? description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)\n : translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)}\n </Text>\n {!isMobile && renderContactInfo()}\n </View>\n <Button onPress={handleFinder} className={style.button}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n {isMobile && renderContactInfo()}\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {calendarSuggestions.length > 0 && (\n <Cards>\n {calendarSuggestions.map(({ price = 0, taxes, ...others } = {}, index) => {\n const from = parseDate(others?.from);\n const to = parseDate(others?.to);\n\n return (\n <Card key={`calendar:${index}`}>\n <View className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n </Card>\n );\n })}\n </Cards>\n )}\n\n {occupationSuggestions.length > 0 && (\n <Cards>\n {occupationSuggestions.map(({ rooms = [], price = 0, taxes }, index) => (\n <Card key={`rooms:${index}`}>\n <View className={style.card}>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${rooms.length} ${getAccommodationLabel(\n { plural: rooms.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {rooms.map(({ name, occupation = [] } = {}, roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>\n {name}\n </Text>\n {occupation.map((item = {}, itemIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${itemIndex}`} light small>\n {`${getOccupationLabel({ ...item, ages: [] }, translate)} ${\n item.type === OCCUPATION_TYPE.CHILD\n ? `(${translate(L10N.LABEL_YEARS_OLD, { amount: item.ages?.sort().join('-') })})`\n : ''\n }`}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(rooms) })}\n </View>\n </Card>\n ))}\n </Cards>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <View row={!isMobile} className={style.spaceBetween}>\n <Text bold headline>\n {translate(L10N.LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS, { value: hotels.length })}\n </Text>\n <Button secondary wide={isMobile} onPress={() => onMapView(hotels)}>\n {translate(L10N.ACTION_SHOW_ON_MAP)}\n </Button>\n </View>\n )}\n <Cards>\n {hotels.map((item, index) => (\n <CardHotel key={`${item.index || index}:${width}`} {...item} nights={nights} unavailability />\n ))}\n </Cards>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotel: PropTypes.shape({\n email: PropTypes.string,\n phone: PropTypes.string,\n }),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n nights: PropTypes.number,\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n onMapView: PropTypes.func,\n};\n\nexport { Unavailability };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_shared__","_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","Unavailability","_ref","calendar","hotel","email","phone","hotels","nights","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","onMapView","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","METRICS","id","currency","finder","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","rooms","undefined","map","handleFinder","focus","renderPrice","price","onPress","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","light","getLabelTaxes","Button","ACTION_VIEW_MORE","renderContactInfo","action","contactInfo","LABEL_CONTACT_INFO","Action","href","concat","place","hasSuggestions","unavailability","banner","Icon","accent","ICON","CALENDAR_BUSY","PERSON_OFF","icon","wide","texts","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","button","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","Cards","taxes","others","index","parseDate","Card","card","dateFormat","DATE_FORMAT","anchorDates","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","getAccommodationLabel","plural","type","distribution","name","roomIndex","room","_item$ages","item","itemIndex","getOccupationLabel","ages","OCCUPATION_TYPE","CHILD","LABEL_YEARS_OLD","amount","sort","join","spaceBetween","LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS","secondary","ACTION_SHOW_ON_MAP","CardHotel","exports","displayName","propTypes","PropTypes","shape","string","arrayOf","number","func"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, parseDate, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { Card, Cards } from '../__shared__';\nimport { EVENT, OCCUPATION_TYPE } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotel: { email, phone } = {},\n hotels = [],\n nights = 1,\n suggestions: { calendar: calendarSuggestions = [], description, occupation: occupationSuggestions = [] } = {},\n taxesType,\n onMapView,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:RENDER' });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = store;\n\n const handleCalendar = (from, to) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, calendar: [from, to] } });\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:CALENDAR' });\n };\n\n const handleOccupation = (rooms = []) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, occupation: rooms.map(({ occupation } = {}) => occupation) } });\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:OCCUPATION' });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, calendarSuggestions ? { calendar, focus: 'calendar' } : { focus: 'occupation' });\n Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:REFINE_SEARCH' });\n };\n\n const renderPrice = ({ price, onPress } = {}) => (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n\n const renderContactInfo = () => (\n <Text action={!isMobile} small={isMobile} className={style.contactInfo}>\n {translate(L10N.LABEL_CONTACT_INFO, {\n email: (\n <Action\n href={`mailto:${email}`}\n small={isMobile}\n target=\"_blank\"\n onPress={() => Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:MAILTO' })}\n className={style.action}\n >\n {email}\n </Action>\n ),\n phone: (\n <Action\n href={`tel:${phone}`}\n small={isMobile}\n target=\"_blank\"\n onPress={() => Event.publish(EVENT.METRICS, { id: 'UNAVAILABILITY:TEL' })}\n className={style.action}\n >\n {phone}\n </Action>\n ),\n })}\n </Text>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const hasSuggestions = calendarSuggestions || occupationSuggestions;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon accent value={calendarSuggestions ? ICON.CALENDAR_BUSY : ICON.PERSON_OFF} className={style.icon} />\n <View wide className={style.texts}>\n <Text accent bold headline>\n {calendarSuggestions\n ? description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)\n : translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)}\n </Text>\n {!isMobile && renderContactInfo()}\n </View>\n <Button onPress={handleFinder} className={style.button}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n {isMobile && renderContactInfo()}\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {calendarSuggestions.length > 0 && (\n <Cards>\n {calendarSuggestions.map(({ price = 0, taxes, ...others } = {}, index) => {\n const from = parseDate(others?.from);\n const to = parseDate(others?.to);\n\n return (\n <Card key={`calendar:${index}`}>\n <View className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n </Card>\n );\n })}\n </Cards>\n )}\n\n {occupationSuggestions.length > 0 && (\n <Cards>\n {occupationSuggestions.map(({ rooms = [], price = 0, taxes }, index) => (\n <Card key={`rooms:${index}`}>\n <View className={style.card}>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${rooms.length} ${getAccommodationLabel(\n { plural: rooms.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {rooms.map(({ name, occupation = [] } = {}, roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>\n {name}\n </Text>\n {occupation.map((item = {}, itemIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${itemIndex}`} light small>\n {`${getOccupationLabel({ ...item, ages: [] }, translate)} ${\n item.type === OCCUPATION_TYPE.CHILD\n ? `(${translate(L10N.LABEL_YEARS_OLD, { amount: item.ages?.sort().join('-') })})`\n : ''\n }`}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(rooms) })}\n </View>\n </Card>\n ))}\n </Cards>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <View row={!isMobile} className={style.spaceBetween}>\n <Text bold headline>\n {translate(L10N.LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS, { value: hotels.length })}\n </Text>\n <Button secondary wide={isMobile} onPress={() => onMapView(hotels)}>\n {translate(L10N.ACTION_SHOW_ON_MAP)}\n </Button>\n </View>\n )}\n <Cards>\n {hotels.map((item, index) => (\n <CardHotel key={`${item.index || index}:${width}`} {...item} nights={nights} unavailability />\n ))}\n </Cards>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotel: PropTypes.shape({\n email: PropTypes.string,\n phone: PropTypes.string,\n }),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n nights: PropTypes.number,\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n onMapView: PropTypes.func,\n};\n\nexport { Unavailability };\n"],"mappings":"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"}