@mirai/core 0.3.157 → 0.3.159

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 (31) hide show
  1. package/build/Core.constants.js +2 -2
  2. package/build/Core.constants.js.map +1 -1
  3. package/build/components/Booking/Booking.js +1 -1
  4. package/build/components/Booking/Booking.js.map +1 -1
  5. package/build/components/Booking/components/Hotelverse/Hotelverse.js +49 -11
  6. package/build/components/Booking/components/Hotelverse/Hotelverse.js.map +1 -1
  7. package/build/components/Finder/Finder.js +1 -1
  8. package/build/components/Finder/Finder.js.map +1 -1
  9. package/build/components/Finder/components/Calendar/Calendar.js +3 -8
  10. package/build/components/Finder/components/Calendar/Calendar.js.map +1 -1
  11. package/build/components/Finder/components/Calendar/helpers/calcTooltips.js +11 -2
  12. package/build/components/Finder/components/Calendar/helpers/calcTooltips.js.map +1 -1
  13. package/build/components/Finder/helpers/parseCalendarProps.js +24 -3
  14. package/build/components/Finder/helpers/parseCalendarProps.js.map +1 -1
  15. package/build/components/Rates/Rates.Footer.js +1 -1
  16. package/build/components/Rates/Rates.Footer.js.map +1 -1
  17. package/build/components/Rates/Rates.Unavailability.js +19 -13
  18. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  19. package/build/components/Rates/components/Hotelverse/Hotelverse.js +2 -9
  20. package/build/components/Rates/components/Hotelverse/Hotelverse.js.map +1 -1
  21. package/build/components/helpers/addScript.js +14 -0
  22. package/build/components/helpers/addScript.js.map +1 -0
  23. package/build/components/helpers/index.js +11 -0
  24. package/build/components/helpers/index.js.map +1 -1
  25. package/build/services/Rates/helpers/getOccupationSuggestions.js +12 -7
  26. package/build/services/Rates/helpers/getOccupationSuggestions.js.map +1 -1
  27. package/build/services/Rates/helpers/getRooms.js +2 -0
  28. package/build/services/Rates/helpers/getRooms.js.map +1 -1
  29. package/package.json +1 -1
  30. package/build/components/Booking/helpers/constants.js +0 -8
  31. package/build/components/Booking/helpers/constants.js.map +0 -1
@@ -40,8 +40,8 @@ const COMMISSION_TYPE = exports.COMMISSION_TYPE = {
40
40
  [TYPE.CHAIN]: '02080'
41
41
  };
42
42
  const MIN_STAY_TYPE = exports.MIN_STAY_TYPE = {
43
- CHECK_IN: 0,
44
- STAY: 1
43
+ CHECK_IN: 1,
44
+ STAY: 2
45
45
  };
46
46
  const TAX_DEFAULT = exports.TAX_DEFAULT = 1;
47
47
  const TAX_FREE = 2;
@@ -1 +1 @@
1
- {"version":3,"file":"Core.constants.js","names":["ACCOMMODATION_TYPE","exports","DEFAULT","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","AUTH_TYPE","MIRAI","PESTANA","CALENDAR_FORMAT","ERROR","NOT_AVAILABLE","PARAMETER_ERROR","UNKNOWN","TYPE","CHAIN","HOTEL","GUEST","ADULT","CHILD","COMMISSION_TYPE","MIN_STAY_TYPE","CHECK_IN","STAY","TAX_DEFAULT","TAX_FREE","TAX_PARTIAL","TAXES","TAXES_TYPE","ALL_EXCLUDED","ALL_INCLUDED","FEES_INCLUDED","FEES_EXCLUDED","FEES_INCLUDED_TAXES_EXCLUDED","TAXES_INCLUDED","TAXES_EXCLUDED","TAXES_INCLUDED_FEES_EXCLUDED"],"sources":["../src/Core.constants.js"],"sourcesContent":["const ACCOMMODATION_TYPE = {\n DEFAULT: 0,\n ROOM: 1, // \"ROOM\"\n APARTMENT: 2, // \"APARTMENT\"\n PITCH: 3, // \"PITCH\"\n ACCOMMODATION: 4, // \"ACCOMMODATION\"\n VILLA: 5, // \"VILLA\"\n};\n\nconst AUTH_TYPE = {\n MIRAI: 1,\n PESTANA: 3,\n};\n\nconst CALENDAR_FORMAT = 'DD/MM/YYYY';\n\nconst ERROR = {\n NOT_AVAILABLE: 4,\n PARAMETER_ERROR: 3,\n UNKNOWN: 1,\n};\n\nconst TYPE = {\n // -- place\n CHAIN: 'chain',\n HOTEL: 'hotel',\n // -- person\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n};\n\nconst COMMISSION_TYPE = {\n [TYPE.HOTEL]: '02040',\n [TYPE.CHAIN]: '02080',\n};\n\nconst MIN_STAY_TYPE = { CHECK_IN: 0, STAY: 1 };\n\nconst TAX_DEFAULT = 1;\nconst TAX_FREE = 2;\nconst TAX_PARTIAL = 3;\n\nconst TAXES = [TAX_DEFAULT, TAX_FREE, TAX_PARTIAL];\n\nconst TAXES_TYPE = {\n ALL_EXCLUDED: 1,\n ALL_INCLUDED: 2,\n FEES_INCLUDED: 3,\n FEES_EXCLUDED: 4,\n FEES_INCLUDED_TAXES_EXCLUDED: 5,\n TAXES_INCLUDED: 6,\n TAXES_EXCLUDED: 7,\n TAXES_INCLUDED_FEES_EXCLUDED: 8,\n};\n\nexport {\n ACCOMMODATION_TYPE,\n AUTH_TYPE,\n CALENDAR_FORMAT,\n COMMISSION_TYPE,\n ERROR,\n MIN_STAY_TYPE,\n TAX_DEFAULT,\n TAXES,\n TAXES_TYPE,\n TYPE,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG;EACzBE,OAAO,EAAE,CAAC;EACVC,IAAI,EAAE,CAAC;EAAE;EACTC,SAAS,EAAE,CAAC;EAAE;EACdC,KAAK,EAAE,CAAC;EAAE;EACVC,aAAa,EAAE,CAAC;EAAE;EAClBC,KAAK,EAAE,CAAC,CAAE;AACZ,CAAC;AAED,MAAMC,SAAS,GAAAP,OAAA,CAAAO,SAAA,GAAG;EAChBC,KAAK,EAAE,CAAC;EACRC,OAAO,EAAE;AACX,CAAC;AAED,MAAMC,eAAe,GAAAV,OAAA,CAAAU,eAAA,GAAG,YAAY;AAEpC,MAAMC,KAAK,GAAAX,OAAA,CAAAW,KAAA,GAAG;EACZC,aAAa,EAAE,CAAC;EAChBC,eAAe,EAAE,CAAC;EAClBC,OAAO,EAAE;AACX,CAAC;AAED,MAAMC,IAAI,GAAAf,OAAA,CAAAe,IAAA,GAAG;EACX;EACAC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACd;EACAC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,eAAe,GAAArB,OAAA,CAAAqB,eAAA,GAAG;EACtB,CAACN,IAAI,CAACE,KAAK,GAAG,OAAO;EACrB,CAACF,IAAI,CAACC,KAAK,GAAG;AAChB,CAAC;AAED,MAAMM,aAAa,GAAAtB,OAAA,CAAAsB,aAAA,GAAG;EAAEC,QAAQ,EAAE,CAAC;EAAEC,IAAI,EAAE;AAAE,CAAC;AAE9C,MAAMC,WAAW,GAAAzB,OAAA,CAAAyB,WAAA,GAAG,CAAC;AACrB,MAAMC,QAAQ,GAAG,CAAC;AAClB,MAAMC,WAAW,GAAG,CAAC;AAErB,MAAMC,KAAK,GAAA5B,OAAA,CAAA4B,KAAA,GAAG,CAACH,WAAW,EAAEC,QAAQ,EAAEC,WAAW,CAAC;AAElD,MAAME,UAAU,GAAA7B,OAAA,CAAA6B,UAAA,GAAG;EACjBC,YAAY,EAAE,CAAC;EACfC,YAAY,EAAE,CAAC;EACfC,aAAa,EAAE,CAAC;EAChBC,aAAa,EAAE,CAAC;EAChBC,4BAA4B,EAAE,CAAC;EAC/BC,cAAc,EAAE,CAAC;EACjBC,cAAc,EAAE,CAAC;EACjBC,4BAA4B,EAAE;AAChC,CAAC"}
1
+ {"version":3,"file":"Core.constants.js","names":["ACCOMMODATION_TYPE","exports","DEFAULT","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","AUTH_TYPE","MIRAI","PESTANA","CALENDAR_FORMAT","ERROR","NOT_AVAILABLE","PARAMETER_ERROR","UNKNOWN","TYPE","CHAIN","HOTEL","GUEST","ADULT","CHILD","COMMISSION_TYPE","MIN_STAY_TYPE","CHECK_IN","STAY","TAX_DEFAULT","TAX_FREE","TAX_PARTIAL","TAXES","TAXES_TYPE","ALL_EXCLUDED","ALL_INCLUDED","FEES_INCLUDED","FEES_EXCLUDED","FEES_INCLUDED_TAXES_EXCLUDED","TAXES_INCLUDED","TAXES_EXCLUDED","TAXES_INCLUDED_FEES_EXCLUDED"],"sources":["../src/Core.constants.js"],"sourcesContent":["const ACCOMMODATION_TYPE = {\n DEFAULT: 0,\n ROOM: 1, // \"ROOM\"\n APARTMENT: 2, // \"APARTMENT\"\n PITCH: 3, // \"PITCH\"\n ACCOMMODATION: 4, // \"ACCOMMODATION\"\n VILLA: 5, // \"VILLA\"\n};\n\nconst AUTH_TYPE = {\n MIRAI: 1,\n PESTANA: 3,\n};\n\nconst CALENDAR_FORMAT = 'DD/MM/YYYY';\n\nconst ERROR = {\n NOT_AVAILABLE: 4,\n PARAMETER_ERROR: 3,\n UNKNOWN: 1,\n};\n\nconst TYPE = {\n // -- place\n CHAIN: 'chain',\n HOTEL: 'hotel',\n // -- person\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n};\n\nconst COMMISSION_TYPE = {\n [TYPE.HOTEL]: '02040',\n [TYPE.CHAIN]: '02080',\n};\n\nconst MIN_STAY_TYPE = { CHECK_IN: 1, STAY: 2 };\n\nconst TAX_DEFAULT = 1;\nconst TAX_FREE = 2;\nconst TAX_PARTIAL = 3;\n\nconst TAXES = [TAX_DEFAULT, TAX_FREE, TAX_PARTIAL];\n\nconst TAXES_TYPE = {\n ALL_EXCLUDED: 1,\n ALL_INCLUDED: 2,\n FEES_INCLUDED: 3,\n FEES_EXCLUDED: 4,\n FEES_INCLUDED_TAXES_EXCLUDED: 5,\n TAXES_INCLUDED: 6,\n TAXES_EXCLUDED: 7,\n TAXES_INCLUDED_FEES_EXCLUDED: 8,\n};\n\nexport {\n ACCOMMODATION_TYPE,\n AUTH_TYPE,\n CALENDAR_FORMAT,\n COMMISSION_TYPE,\n ERROR,\n MIN_STAY_TYPE,\n TAX_DEFAULT,\n TAXES,\n TAXES_TYPE,\n TYPE,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG;EACzBE,OAAO,EAAE,CAAC;EACVC,IAAI,EAAE,CAAC;EAAE;EACTC,SAAS,EAAE,CAAC;EAAE;EACdC,KAAK,EAAE,CAAC;EAAE;EACVC,aAAa,EAAE,CAAC;EAAE;EAClBC,KAAK,EAAE,CAAC,CAAE;AACZ,CAAC;AAED,MAAMC,SAAS,GAAAP,OAAA,CAAAO,SAAA,GAAG;EAChBC,KAAK,EAAE,CAAC;EACRC,OAAO,EAAE;AACX,CAAC;AAED,MAAMC,eAAe,GAAAV,OAAA,CAAAU,eAAA,GAAG,YAAY;AAEpC,MAAMC,KAAK,GAAAX,OAAA,CAAAW,KAAA,GAAG;EACZC,aAAa,EAAE,CAAC;EAChBC,eAAe,EAAE,CAAC;EAClBC,OAAO,EAAE;AACX,CAAC;AAED,MAAMC,IAAI,GAAAf,OAAA,CAAAe,IAAA,GAAG;EACX;EACAC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACd;EACAC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,eAAe,GAAArB,OAAA,CAAAqB,eAAA,GAAG;EACtB,CAACN,IAAI,CAACE,KAAK,GAAG,OAAO;EACrB,CAACF,IAAI,CAACC,KAAK,GAAG;AAChB,CAAC;AAED,MAAMM,aAAa,GAAAtB,OAAA,CAAAsB,aAAA,GAAG;EAAEC,QAAQ,EAAE,CAAC;EAAEC,IAAI,EAAE;AAAE,CAAC;AAE9C,MAAMC,WAAW,GAAAzB,OAAA,CAAAyB,WAAA,GAAG,CAAC;AACrB,MAAMC,QAAQ,GAAG,CAAC;AAClB,MAAMC,WAAW,GAAG,CAAC;AAErB,MAAMC,KAAK,GAAA5B,OAAA,CAAA4B,KAAA,GAAG,CAACH,WAAW,EAAEC,QAAQ,EAAEC,WAAW,CAAC;AAElD,MAAME,UAAU,GAAA7B,OAAA,CAAA6B,UAAA,GAAG;EACjBC,YAAY,EAAE,CAAC;EACfC,YAAY,EAAE,CAAC;EACfC,aAAa,EAAE,CAAC;EAChBC,aAAa,EAAE,CAAC;EAChBC,4BAA4B,EAAE,CAAC;EAC/BC,cAAc,EAAE,CAAC;EACjBC,cAAc,EAAE,CAAC;EACjBC,4BAA4B,EAAE;AAChC,CAAC"}
@@ -134,7 +134,7 @@ const Booking = _ref => {
134
134
  wide: true
135
135
  }, translate(time ? _Booking2.L10N.NOTIFICATION_PAY_LATER : _Booking2.L10N.NOTIFICATION[state], {
136
136
  date
137
- }), ' ', /*#__PURE__*/_react.default.createElement(_components.Hotelverse, dataSource)), !isDesktop && /*#__PURE__*/_react.default.createElement(_partials.PriceBreakdown, {
137
+ }), /*#__PURE__*/_react.default.createElement(_components.Hotelverse, dataSource)), !isDesktop && /*#__PURE__*/_react.default.createElement(_partials.PriceBreakdown, {
138
138
  dataSource: dataSource,
139
139
  disabled: hasError,
140
140
  showPayment: isDesktop
@@ -1 +1 @@
1
- {"version":3,"file":"Booking.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Booking","_Booking2","style","_Booking3","_components","_partials","_shared__","_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","Booking","_ref","_payment$config","_payment$info","skeleton","others","isDesktop","isMobile","useDevice","locale","translate","useLocale","value","hotel","url","payment","method","urlParams","code","token","reservationCode","id","hasToTracking","tracking","useStore","action","setAction","useState","dataSource","setDataSource","error","setError","expanded","setExpanded","responseError","setResponseError","useEffect","ServiceBooking","catch","trace","chainId","idchain","state","handleMenuPress","ACTION","PRINT","setTimeout","window","print","handleBackHome","payload","hotelUrl","location","origin","currency","image","info","time","response","undefined","hasError","keys","date","Date","toLocaleDateString","FORMAT_PAY_LATER_DATE","createElement","View","role","testId","className","styles","container","Progress","indeterminate","visible","progress","Fragment","src","logo","row","content","Notification","STATE","CANCELLED","COMPLETED","small","success","CONFIRMED","warning","POSTPONED","wide","L10N","NOTIFICATION_PAY_LATER","NOTIFICATION","Hotelverse","PriceBreakdown","disabled","showPayment","Payment","config","publicKey","parseDate","onError","noPrint","Summary","Details","Others","side","Menu","onPress","Modal","onChange","_ref2","onClose","large","NOTIFICATION_ERROR","ERROR","GENERIC","Action","underline","ACTION_BACK_HOME","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Booking/Booking.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { parseDate, 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 { ACTION, ERROR, FORMAT_PAY_LATER_DATE, STATE } from './Booking.constants';\nimport { L10N } from './Booking.l10n';\nimport * as style from './Booking.module.css';\nimport Skeleton from './Booking.skeleton';\nimport { Hotelverse } from './components';\nimport { Details, Menu, Modal, Others, PriceBreakdown, Summary } from './partials';\nimport { Payment } from '../__shared__';\nimport { trace } from '../helpers';\n\nconst Booking = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { locale, translate } = useLocale();\n const {\n value: {\n hotel: { url } = {},\n payment: { method } = {},\n urlParams: { code: token, reservationCode: id, hasToTracking: tracking, ...urlParams } = {},\n },\n } = useStore();\n\n const [action, setAction] = useState();\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState({});\n const [expanded, setExpanded] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n if (skeleton || !id || !token) return;\n\n (async () => {\n setDataSource(\n await ServiceBooking.get({ id, locale, token, tracking, url }).catch((error) => setResponseError(error)),\n );\n setAction();\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id]);\n\n useEffect(() => {\n if (!dataSource) return;\n\n dataSource.tracking && trace({ ...dataSource.tracking, chainId: urlParams.idchain });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource?.state]);\n\n const handleMenuPress = (action) => {\n if (action === ACTION.PRINT) {\n setExpanded(true);\n setTimeout(window.print, 10);\n } else {\n setAction(action);\n }\n };\n\n const handleBackHome = () => {\n const { payload: { hotelUrl } = {} } = responseError;\n\n window.location = hotelUrl || window.location.origin;\n };\n\n const { currency, hotel: { image } = {}, payment, state } = dataSource || {};\n const { info: { time } = {} } = payment || {};\n const response = dataSource !== undefined;\n const hasError = Object.keys(error || {}).length > 0 || !method;\n const date = time?.value ? new Date(time.value).toLocaleDateString(locale, FORMAT_PAY_LATER_DATE) : undefined;\n\n return (\n <View role=\"booking\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <img src={image} className={style.logo} />\n\n <View row={isDesktop} className={style.content}>\n <View>\n <Notification\n error={state === STATE.CANCELLED}\n info={time || state === STATE.COMPLETED}\n small={isMobile}\n success={!time && state === STATE.CONFIRMED}\n warning={state === STATE.POSTPONED}\n wide\n >\n {translate(time ? L10N.NOTIFICATION_PAY_LATER : L10N.NOTIFICATION[state], { date })}{' '}\n <Hotelverse {...dataSource} />\n </Notification>\n\n {!isDesktop && <PriceBreakdown dataSource={dataSource} disabled={hasError} showPayment={isDesktop} />}\n {payment && (\n <Payment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey[method] },\n info: { ...payment.info, date: parseDate(payment.info?.date) },\n }}\n currency={currency}\n onError={setError}\n className={style.noPrint}\n />\n )}\n <Summary dataSource={dataSource} />\n <Details dataSource={dataSource} expanded={expanded} />\n <Others dataSource={dataSource} small />\n </View>\n\n <View className={style.side}>\n {isDesktop && <PriceBreakdown dataSource={dataSource} disabled={hasError} showPayment />}\n <Menu dataSource={dataSource} disabled={hasError} onPress={handleMenuPress} />\n </View>\n </View>\n\n <Modal\n {...{ action, dataSource: { ...dataSource, token } }}\n onChange={({ response: { tracking } = {}, state }) =>\n state && setDataSource({ ...dataSource, tracking, state })\n }\n onClose={() => setAction()}\n />\n </>\n ) : responseError ? (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code] || L10N.NOTIFICATION_ERROR[ERROR.GENERIC])}\n <Action underline wide onPress={handleBackHome}>\n {translate(L10N.ACTION_BACK_HOME)}\n </Action>\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n );\n};\n\nBooking.displayName = 'Mirai:Core:Booking';\n\nBooking.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Booking };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Booking.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Booking","_Booking2","style","_Booking3","_components","_partials","_shared__","_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","Booking","_ref","_payment$config","_payment$info","skeleton","others","isDesktop","isMobile","useDevice","locale","translate","useLocale","value","hotel","url","payment","method","urlParams","code","token","reservationCode","id","hasToTracking","tracking","useStore","action","setAction","useState","dataSource","setDataSource","error","setError","expanded","setExpanded","responseError","setResponseError","useEffect","ServiceBooking","catch","trace","chainId","idchain","state","handleMenuPress","ACTION","PRINT","setTimeout","window","print","handleBackHome","payload","hotelUrl","location","origin","currency","image","info","time","response","undefined","hasError","keys","date","Date","toLocaleDateString","FORMAT_PAY_LATER_DATE","createElement","View","role","testId","className","styles","container","Progress","indeterminate","visible","progress","Fragment","src","logo","row","content","Notification","STATE","CANCELLED","COMPLETED","small","success","CONFIRMED","warning","POSTPONED","wide","L10N","NOTIFICATION_PAY_LATER","NOTIFICATION","Hotelverse","PriceBreakdown","disabled","showPayment","Payment","config","publicKey","parseDate","onError","noPrint","Summary","Details","Others","side","Menu","onPress","Modal","onChange","_ref2","onClose","large","NOTIFICATION_ERROR","ERROR","GENERIC","Action","underline","ACTION_BACK_HOME","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Booking/Booking.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { parseDate, 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 { ACTION, ERROR, FORMAT_PAY_LATER_DATE, STATE } from './Booking.constants';\nimport { L10N } from './Booking.l10n';\nimport * as style from './Booking.module.css';\nimport Skeleton from './Booking.skeleton';\nimport { Hotelverse } from './components';\nimport { Details, Menu, Modal, Others, PriceBreakdown, Summary } from './partials';\nimport { Payment } from '../__shared__';\nimport { trace } from '../helpers';\n\nconst Booking = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { locale, translate } = useLocale();\n const {\n value: {\n hotel: { url } = {},\n payment: { method } = {},\n urlParams: { code: token, reservationCode: id, hasToTracking: tracking, ...urlParams } = {},\n },\n } = useStore();\n\n const [action, setAction] = useState();\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState({});\n const [expanded, setExpanded] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n if (skeleton || !id || !token) return;\n\n (async () => {\n setDataSource(\n await ServiceBooking.get({ id, locale, token, tracking, url }).catch((error) => setResponseError(error)),\n );\n setAction();\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id]);\n\n useEffect(() => {\n if (!dataSource) return;\n\n dataSource.tracking && trace({ ...dataSource.tracking, chainId: urlParams.idchain });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource?.state]);\n\n const handleMenuPress = (action) => {\n if (action === ACTION.PRINT) {\n setExpanded(true);\n setTimeout(window.print, 10);\n } else {\n setAction(action);\n }\n };\n\n const handleBackHome = () => {\n const { payload: { hotelUrl } = {} } = responseError;\n\n window.location = hotelUrl || window.location.origin;\n };\n\n const { currency, hotel: { image } = {}, payment, state } = dataSource || {};\n const { info: { time } = {} } = payment || {};\n const response = dataSource !== undefined;\n const hasError = Object.keys(error || {}).length > 0 || !method;\n const date = time?.value ? new Date(time.value).toLocaleDateString(locale, FORMAT_PAY_LATER_DATE) : undefined;\n\n return (\n <View role=\"booking\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <img src={image} className={style.logo} />\n\n <View row={isDesktop} className={style.content}>\n <View>\n <Notification\n error={state === STATE.CANCELLED}\n info={time || state === STATE.COMPLETED}\n small={isMobile}\n success={!time && state === STATE.CONFIRMED}\n warning={state === STATE.POSTPONED}\n wide\n >\n {translate(time ? L10N.NOTIFICATION_PAY_LATER : L10N.NOTIFICATION[state], { date })}\n <Hotelverse {...dataSource} />\n </Notification>\n\n {!isDesktop && <PriceBreakdown dataSource={dataSource} disabled={hasError} showPayment={isDesktop} />}\n {payment && (\n <Payment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey[method] },\n info: { ...payment.info, date: parseDate(payment.info?.date) },\n }}\n currency={currency}\n onError={setError}\n className={style.noPrint}\n />\n )}\n <Summary dataSource={dataSource} />\n <Details dataSource={dataSource} expanded={expanded} />\n <Others dataSource={dataSource} small />\n </View>\n\n <View className={style.side}>\n {isDesktop && <PriceBreakdown dataSource={dataSource} disabled={hasError} showPayment />}\n <Menu dataSource={dataSource} disabled={hasError} onPress={handleMenuPress} />\n </View>\n </View>\n\n <Modal\n {...{ action, dataSource: { ...dataSource, token } }}\n onChange={({ response: { tracking } = {}, state }) =>\n state && setDataSource({ ...dataSource, tracking, state })\n }\n onClose={() => setAction()}\n />\n </>\n ) : responseError ? (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code] || L10N.NOTIFICATION_ERROR[ERROR.GENERIC])}\n <Action underline wide onPress={handleBackHome}>\n {translate(L10N.ACTION_BACK_HOME)}\n </Action>\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n );\n};\n\nBooking.displayName = 'Mirai:Core:Booking';\n\nBooking.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Booking };\n"],"mappings":"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"}
@@ -12,27 +12,30 @@ var _react = _interopRequireWildcard(require("react"));
12
12
  var _Hotelverse = require("./Hotelverse.l10n");
13
13
  var style = _interopRequireWildcard(require("./Hotelverse.module.css"));
14
14
  var _helpers = require("../../../helpers");
15
- var _helpers2 = require("../../helpers");
16
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
18
  const Hotelverse = _ref => {
20
19
  let {
21
- hotelverseToken: token = ''
20
+ hotelverse: {
21
+ hash,
22
+ token
23
+ } = {}
22
24
  } = _ref;
23
25
  const {
24
- locale,
25
26
  translate
26
27
  } = (0, _locale.useLocale)();
27
28
  const {
28
29
  isMobile
29
30
  } = (0, _ui.useDevice)();
31
+ const refContainer = (0, _react.useRef)(null);
30
32
  const {
31
33
  value: {
32
34
  config: {
33
35
  hotels,
34
36
  lodgingDenomination: individual
35
37
  } = {},
38
+ language,
36
39
  urlParams: {
37
40
  idHotel,
38
41
  reservationCode: id,
@@ -42,13 +45,35 @@ const Hotelverse = _ref => {
42
45
  } = (0, _dataSources.useStore)();
43
46
  const [open, setOpen] = (0, _react.useState)(false);
44
47
  const handlePress = () => setOpen(true);
45
- const handleCloseModal = () => setOpen(false);
46
48
  const accommodationType = (0, _helpers.getAccommodationType)({
47
49
  dataSource: hotels,
48
50
  hotels: [idHotel],
49
- individual: individual && typeof individual === 'object' ? individual[id] : individual
51
+ individual: individual && typeof individual === 'object' ? individual[idHotel] : individual
50
52
  });
51
- return token && showChooseRoom === 'true' && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, ". ".concat(translate(_Hotelverse.L10N.LABEL_CHOOSE_ROOM, {
53
+ (0, _react.useEffect)(() => {
54
+ const el = refContainer.current;
55
+ const cdn = process.env.CDN_HOTELVERSE;
56
+ const scriptEmbed = open && (0, _helpers.addScript)(el, "".concat(cdn, "/scripts/embed.js"));
57
+ const scriptListener = open && (0, _helpers.addScript)(el, "".concat(cdn, "/scripts/interfaceListener.js"));
58
+ if (open) document.body.classList.add('hotelverse-open');
59
+ return () => {
60
+ document.body.classList.remove('hotelverse-open');
61
+ if (scriptEmbed) el === null || el === void 0 ? void 0 : el.removeChild(scriptEmbed);
62
+ if (scriptListener) el === null || el === void 0 ? void 0 : el.removeChild(scriptListener);
63
+ };
64
+ // eslint-disable-next-line react-hooks/exhaustive-deps
65
+ }, [open]);
66
+ const {
67
+ btoa
68
+ } = window;
69
+ const commandInterface = btoa(JSON.stringify({
70
+ commandsInterface: {
71
+ disabledBackButton: true,
72
+ metrics: true
73
+ },
74
+ alg: 'HS256'
75
+ }));
76
+ return showChooseRoom === 'true' && token && hash ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, ". ".concat(translate(_Hotelverse.L10N.LABEL_CHOOSE_ROOM, {
52
77
  type: accommodationType
53
78
  }), " "), /*#__PURE__*/_react.default.createElement(_ui.Action, {
54
79
  inline: true,
@@ -65,15 +90,28 @@ const Hotelverse = _ref => {
65
90
  fit: true,
66
91
  portal: true,
67
92
  visible: open,
68
- onClose: handleCloseModal,
93
+ onClose: () => setOpen(false),
69
94
  className: style.modal
70
- }, open && /*#__PURE__*/_react.default.createElement("iframe", {
71
- src: "".concat(process.env.URL_HOTELVERSE, "?config=").concat(_helpers2.HOTELVERSE_CONFIG, "=&language=").concat(locale, "&extLocator=").concat(id, "&extHotel=").concat(idHotel, "&hash=").concat(token)
72
- })));
95
+ }, open && /*#__PURE__*/_react.default.createElement(_ui.View, {
96
+ ref: refContainer
97
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, {
98
+ id: "hv",
99
+ "data-hvhash": hash,
100
+ "data-hvaccesstokenhv": token,
101
+ "data-hvclientid": "6",
102
+ "data-hvcommandsinterface": commandInterface,
103
+ "data-hvexthotelid": idHotel,
104
+ "data-hvextlocator": id,
105
+ "data-hvlanguage": language.toUpperCase(),
106
+ "data-hvproduct": "ChooseYourRoom"
107
+ })))) : null;
73
108
  };
74
109
  exports.Hotelverse = Hotelverse;
75
110
  Hotelverse.propTypes = {
76
- hotelverseToken: _propTypes.default.string
111
+ hotelverse: _propTypes.default.shape({
112
+ hash: _propTypes.default.string,
113
+ token: _propTypes.default.string
114
+ })
77
115
  };
78
116
  Hotelverse.displayName = 'Mirai:User:Booking:Hotelverse';
79
117
  //# sourceMappingURL=Hotelverse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Hotelverse.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Hotelverse","style","_helpers","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Hotelverse","_ref","hotelverseToken","token","locale","translate","useLocale","isMobile","useDevice","value","config","hotels","lodgingDenomination","individual","urlParams","idHotel","reservationCode","id","showChooseRoom","useStore","open","setOpen","useState","handlePress","handleCloseModal","accommodationType","getAccommodationType","dataSource","createElement","Fragment","concat","L10N","LABEL_CHOOSE_ROOM","type","Action","inline","small","large","tag","underline","onPress","className","action","ACTION_CHOOSE_ROOM","Modal","blur","fit","portal","visible","onClose","modal","src","process","env","URL_HOTELVERSE","HOTELVERSE_CONFIG","exports","propTypes","PropTypes","string","displayName"],"sources":["../../../../../src/components/Booking/components/Hotelverse/Hotelverse.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Modal, useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { L10N } from './Hotelverse.l10n';\nimport * as style from './Hotelverse.module.css';\nimport { getAccommodationType } from '../../../helpers';\nimport { HOTELVERSE_CONFIG } from '../../helpers';\n\nconst Hotelverse = ({ hotelverseToken: token = '' }) => {\n const { locale, translate } = useLocale();\n const { isMobile } = useDevice();\n const {\n value: {\n config: { hotels, lodgingDenomination: individual } = {},\n urlParams: { idHotel, reservationCode: id, showChooseRoom } = {},\n },\n } = useStore();\n\n const [open, setOpen] = useState(false);\n\n const handlePress = () => setOpen(true);\n\n const handleCloseModal = () => setOpen(false);\n\n const accommodationType = getAccommodationType({\n dataSource: hotels,\n hotels: [idHotel],\n individual: individual && typeof individual === 'object' ? individual[id] : individual,\n });\n\n return (\n token &&\n showChooseRoom === 'true' && (\n <>\n {`. ${translate(L10N.LABEL_CHOOSE_ROOM, { type: accommodationType })} `}\n <Action\n inline\n small={isMobile}\n large={!isMobile}\n tag=\"span\"\n underline\n onPress={handlePress}\n className={style.action}\n >\n {translate(L10N.ACTION_CHOOSE_ROOM, { type: accommodationType })}\n </Action>\n <Modal blur fit portal visible={open} onClose={handleCloseModal} className={style.modal}>\n {open && (\n <iframe\n src={`${process.env.URL_HOTELVERSE}?config=${HOTELVERSE_CONFIG}=&language=${locale}&extLocator=${id}&extHotel=${idHotel}&hash=${token}`}\n ></iframe>\n )}\n </Modal>\n </>\n )\n );\n};\n\nHotelverse.propTypes = {\n hotelverseToken: PropTypes.string,\n};\n\nHotelverse.displayName = 'Mirai:User:Booking:Hotelverse';\n\nexport { Hotelverse };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Hotelverse.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Hotelverse","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Hotelverse","_ref","hotelverse","hash","token","translate","useLocale","isMobile","useDevice","refContainer","useRef","value","config","hotels","lodgingDenomination","individual","language","urlParams","idHotel","reservationCode","id","showChooseRoom","useStore","open","setOpen","useState","handlePress","accommodationType","getAccommodationType","dataSource","useEffect","el","current","cdn","process","env","CDN_HOTELVERSE","scriptEmbed","addScript","concat","scriptListener","document","body","classList","add","remove","removeChild","btoa","window","commandInterface","JSON","stringify","commandsInterface","disabledBackButton","metrics","alg","createElement","Fragment","L10N","LABEL_CHOOSE_ROOM","type","Action","inline","small","large","tag","underline","onPress","className","action","ACTION_CHOOSE_ROOM","Modal","blur","fit","portal","visible","onClose","modal","View","ref","toUpperCase","exports","propTypes","PropTypes","shape","string","displayName"],"sources":["../../../../../src/components/Booking/components/Hotelverse/Hotelverse.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Modal, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './Hotelverse.l10n';\nimport * as style from './Hotelverse.module.css';\nimport { addScript, getAccommodationType } from '../../../helpers';\n\nconst Hotelverse = ({ hotelverse: { hash, token } = {} }) => {\n const { translate } = useLocale();\n const { isMobile } = useDevice();\n const refContainer = useRef(null);\n const {\n value: {\n config: { hotels, lodgingDenomination: individual } = {},\n language,\n urlParams: { idHotel, reservationCode: id, showChooseRoom } = {},\n },\n } = useStore();\n\n const [open, setOpen] = useState(false);\n\n const handlePress = () => setOpen(true);\n\n const accommodationType = getAccommodationType({\n dataSource: hotels,\n hotels: [idHotel],\n individual: individual && typeof individual === 'object' ? individual[idHotel] : individual,\n });\n\n useEffect(() => {\n const el = refContainer.current;\n const cdn = process.env.CDN_HOTELVERSE;\n const scriptEmbed = open && addScript(el, `${cdn}/scripts/embed.js`);\n const scriptListener = open && addScript(el, `${cdn}/scripts/interfaceListener.js`);\n\n if (open) document.body.classList.add('hotelverse-open');\n\n return () => {\n document.body.classList.remove('hotelverse-open');\n if (scriptEmbed) el?.removeChild(scriptEmbed);\n if (scriptListener) el?.removeChild(scriptListener);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n\n const { btoa } = window;\n const commandInterface = btoa(\n JSON.stringify({ commandsInterface: { disabledBackButton: true, metrics: true }, alg: 'HS256' }),\n );\n\n return showChooseRoom === 'true' && token && hash ? (\n <>\n {`. ${translate(L10N.LABEL_CHOOSE_ROOM, { type: accommodationType })} `}\n <Action\n inline\n small={isMobile}\n large={!isMobile}\n tag=\"span\"\n underline\n onPress={handlePress}\n className={style.action}\n >\n {translate(L10N.ACTION_CHOOSE_ROOM, { type: accommodationType })}\n </Action>\n <Modal blur fit portal visible={open} onClose={() => setOpen(false)} className={style.modal}>\n {open && (\n <View ref={refContainer}>\n <View\n id=\"hv\"\n data-hvhash={hash}\n data-hvaccesstokenhv={token}\n data-hvclientid=\"6\"\n data-hvcommandsinterface={commandInterface}\n data-hvexthotelid={idHotel}\n data-hvextlocator={id}\n data-hvlanguage={language.toUpperCase()}\n data-hvproduct=\"ChooseYourRoom\"\n ></View>\n </View>\n )}\n </Modal>\n </>\n ) : null;\n};\n\nHotelverse.propTypes = {\n hotelverse: PropTypes.shape({\n hash: PropTypes.string,\n token: PropTypes.string,\n }),\n};\n\nHotelverse.displayName = 'Mirai:User:Booking:Hotelverse';\n\nexport { Hotelverse };\n"],"mappings":"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"}
@@ -220,7 +220,7 @@ const Finder = _ref => {
220
220
  placeholder: (0, _helpers3.getCalendarCaption)(undefined, translate, dateFormat),
221
221
  visible: focus === _Finder2.VIEW.CALENDAR,
222
222
  onPress: () => setFocus(focus !== _Finder2.VIEW.CALENDAR ? _Finder2.VIEW.CALENDAR : undefined)
223
- }), /*#__PURE__*/_react.default.createElement(_components.Calendar, _extends({}, (0, _helpers.parseCalendarProps)(dataSource.calendar, id, type, dataSource.variants), {
223
+ }), /*#__PURE__*/_react.default.createElement(_components.Calendar, _extends({}, (0, _helpers.parseCalendarProps)(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants), {
224
224
  id: id,
225
225
  currency: currency,
226
226
  locale: locale,
@@ -1 +1 @@
1
- {"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_shared__","_helpers2","_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","finder","storeFinder","forwarder","locale","type","store","useStore","error","setError","useState","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","useEffect","occupation","prepareRoom","DATASOURCE","handleClickOutside","_ref$current","undefined","current","contains","document","addEventListener","removeEventListener","callback","calendar","Event","subscribe","EVENT","FINDER","unsubscribe","handleScroll","scrollY","window","GAP_SCROLL","JSON","stringify","concat","handleChange","field","fieldValue","next","handleSubmit","firstError","keys","filter","forwarderUrl","getForwarderUrl","location","href","assistant","VIEW","PLACE","CALENDAR","OCCUPATION","place","promocode","testId","dataSource","getDataSource","id","ids","isHotel","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","event","getCalendarCaption","centered","LABEL_WHEN","Calendar","parseCalendarProps","variants","onError","onValid","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 { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { prepareRoom } from '../__shared__/Occupation/helpers';\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, finder: storeFinder, forwarder, locale, type = HOTEL, ...store },\n } = useStore();\n\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 const callback = ({ calendar, focus } = {}) => {\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 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 handleSubmit = () => {\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setFocus(undefined);\n set({ finder: value });\n const forwarderUrl = getForwarderUrl({ ...value, currency, forwarder, locale, store, type });\n\n if (onSubmit) onSubmit({ ...value, 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) 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 value={place.value}\n onChange={(place, event) => {\n handleChange(VIEW.PLACE, place, event);\n assistant();\n }}\n onSubmit={isMobile ? assistant : 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 onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, type, 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 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={() => setFocus(VIEW.PROMOCODE)}\n onLeave={() => setFocus(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":"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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","_shared__","_helpers2","_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","finder","storeFinder","forwarder","locale","type","store","useStore","error","setError","useState","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","useEffect","occupation","prepareRoom","DATASOURCE","handleClickOutside","_ref$current","undefined","current","contains","document","addEventListener","removeEventListener","callback","calendar","Event","subscribe","EVENT","FINDER","unsubscribe","handleScroll","scrollY","window","GAP_SCROLL","JSON","stringify","concat","handleChange","field","fieldValue","next","handleSubmit","firstError","keys","filter","forwarderUrl","getForwarderUrl","location","href","assistant","VIEW","PLACE","CALENDAR","OCCUPATION","place","promocode","testId","dataSource","getDataSource","id","ids","isHotel","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","event","getCalendarCaption","centered","LABEL_WHEN","Calendar","parseCalendarProps","variants","onError","onValid","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 { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { prepareRoom } from '../__shared__/Occupation/helpers';\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, finder: storeFinder, forwarder, locale, type = HOTEL, ...store },\n } = useStore();\n\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 const callback = ({ calendar, focus } = {}) => {\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 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 handleSubmit = () => {\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setFocus(undefined);\n set({ finder: value });\n const forwarderUrl = getForwarderUrl({ ...value, currency, forwarder, locale, store, type });\n\n if (onSubmit) onSubmit({ ...value, 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) 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 value={place.value}\n onChange={(place, event) => {\n handleChange(VIEW.PLACE, place, event);\n assistant();\n }}\n onSubmit={isMobile ? assistant : 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 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 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={() => setFocus(VIEW.PROMOCODE)}\n onLeave={() => setFocus(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":"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"}
@@ -119,13 +119,7 @@ const Calendar = _ref => {
119
119
  locale,
120
120
  range: true,
121
121
  rangeMaxDays,
122
- rangeMinDays: (0, _helpers.calcMinStay)({
123
- from,
124
- minStayDates,
125
- minStayType,
126
- rangeMinDays,
127
- to
128
- })
122
+ rangeMinDays
129
123
  };
130
124
  const {
131
125
  config: {
@@ -155,8 +149,9 @@ const Calendar = _ref => {
155
149
  scrollEventThrottle: _Calendar.SCROLL_EVENT_MS,
156
150
  tooltips: (0, _helpers.calcTooltips)({
157
151
  from,
152
+ minStayDates,
158
153
  minStayType,
159
- rangeMinDays: props.rangeMinDays,
154
+ rangeMinDays,
160
155
  to,
161
156
  translate
162
157
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Calendar","_Calendar2","style","_helpers","_shared__","_helpers2","_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","Calendar","_ref","_getDataSource","_getDataSource$places","_getDataSource$places2","_getDataSource$places3","_getDataSource2","currency","id","locale","pricesLegend","rangeMaxDays","RANGE_MAX_DAYS","rangeMinDays","showPrices","text","unavailability","disabledDates","minStayDates","minStayType","onChange","onError","onSubmit","onValid","others","isMobile","useDevice","translate","useLocale","value","store","useStore","focus","setFocus","useState","prices","setPrices","setValue","valueFormat","visibleDate","setVisibleDate","useEffect","nextValue","parseValue","getPrices","dateCalc","Date","MONTHS","from","to","ERROR","NOT_FILLED","JSON","stringify","rangeMonths","undefined","IS_JEST","next","fetchPrices","current","values","handleChange","event","handleNavigation","handleScroll","_ref2","percentY","date","getVisibleDate","handleSubmit","testId","props","range","calcMinStay","config","hotels","dataSource","lodgingDenomination","individual","tagId","getDataSource","places","options","find","ids","isHotel","accommodationType","getAccommodationType","getHotels","placesSource","createElement","View","role","captions","format","CALENDAR_FORMAT","months","MONTHS_IN_MOBILE","scrollEventThrottle","SCROLL_EVENT_MS","tooltips","calcTooltips","onFocus","onNavigation","onScroll","className","styles","calendar","Notification","inline","small","notification","L10N","LABEL_INFO_PRICES","accommodation","LABEL_ACCOMMODATION_TYPE","type","guests","nights","taxType","row","footer","BookingDates","Button","concat","disabled","onPress","ACTION_NEXT","exports","displayName","propTypes","PropTypes","oneOf","CURRENCIES","string","number","bool","TAX","TAX_FREE","TAX_PARTIAL","shape","arrayOf","instanceOf","func"],"sources":["../../../../../src/components/Finder/components/Calendar/Calendar.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { CURRENCIES, dateCalc } from '@mirai/locale';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Calendar as CalendarBase, Notification, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ERROR, MONTHS, RANGE_MAX_DAYS, SCROLL_EVENT_MS, TAX, TAX_FREE, TAX_PARTIAL } from './Calendar.constants';\nimport { L10N } from './Calendar.l10n';\nimport * as style from './Calendar.module.css';\nimport { calcMinStay, calcTooltips, fetchPrices, getVisibleDate, parseValue, valueFormat } from './helpers';\nimport { BookingDates } from '../../../__shared__';\nimport { CALENDAR_FORMAT, getAccommodationType, IS_JEST, MONTHS_IN_MOBILE } from '../../../helpers';\nimport { getDataSource, getHotels } from '../../helpers';\n\nconst Calendar = ({\n currency,\n id,\n locale,\n pricesLegend,\n rangeMaxDays = RANGE_MAX_DAYS,\n rangeMinDays,\n showPrices,\n text,\n unavailability: { disabledDates = [], minStayDates = {}, minStayType } = {},\n onChange,\n onError,\n onSubmit,\n onValid,\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: store } = useStore();\n\n const [focus, setFocus] = useState();\n const [prices, setPrices] = useState();\n const [value, setValue] = useState(valueFormat(others.value));\n const [visibleDate, setVisibleDate] = useState();\n\n useEffect(() => {\n setPrices();\n\n const nextValue = visibleDate || (value?.length && value[0] && parseValue(value)[0]);\n showPrices && id && getPrices((nextValue && dateCalc(nextValue, -1, 'months')) || new Date(), MONTHS);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency, id, showPrices]);\n\n useEffect(() => {\n const [from, to] = value || [];\n\n if (onValid && from && to) onValid();\n else if (onError && (!from || !to)) onError(ERROR.NOT_FILLED);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n useEffect(() => {\n JSON.stringify(value) !== JSON.stringify(valueFormat(others.value)) && setValue(valueFormat(others.value));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [others.value]);\n\n const getPrices = async (from, rangeMonths = 2) => {\n if (IS_JEST || !from) return;\n\n const next = await fetchPrices({ currency, from, id, locale, rangeMonths });\n setPrices((current) => {\n return { currency: next.currency, values: { ...current?.values, ...next?.values } };\n });\n };\n\n const handleChange = (next = [], event) => {\n setFocus(undefined);\n setValue(valueFormat(next));\n onChange && onChange(next, event);\n };\n\n const handleNavigation = (value) => {\n setVisibleDate(value);\n\n return showPrices && getPrices(value);\n };\n\n const handleScroll = ({ percentY }) => {\n const date = getVisibleDate(percentY, others.to);\n setVisibleDate(date);\n\n return showPrices && id && getPrices(date, MONTHS);\n };\n\n const handleSubmit = (event) => onSubmit(value, event);\n\n const { testId } = others;\n const [from, to] = parseValue(value);\n const props = {\n ...others,\n locale,\n range: true,\n rangeMaxDays,\n rangeMinDays: calcMinStay({ from, minStayDates, minStayType, rangeMinDays, to }),\n };\n\n const { config: { hotels: dataSource, lodgingDenomination: individual } = {} } = store || {};\n\n const tagId = getDataSource(store)?.places?.options?.find(\n ({ id: ids = [], isHotel } = {}) => isHotel && ids[0] === id,\n )?.value;\n\n const accommodationType = getAccommodationType({\n dataSource,\n hotels: getHotels(getDataSource(store)?.placesSource, tagId),\n individual: individual && typeof individual === 'object' ? individual[id] : individual,\n });\n\n return (\n <View role=\"calendar\">\n <CalendarBase\n {...props}\n captions={prices?.values}\n disabledDates={disabledDates}\n format={CALENDAR_FORMAT}\n months={isMobile ? MONTHS_IN_MOBILE : undefined}\n scrollEventThrottle={SCROLL_EVENT_MS}\n tooltips={calcTooltips({ from, minStayType, rangeMinDays: props.rangeMinDays, to, translate })}\n value={value}\n onChange={handleChange}\n onFocus={setFocus}\n onNavigation={handleNavigation}\n onScroll={handleScroll}\n className={styles(style.calendar, others.className)}\n />\n\n {prices?.currency && (\n <Notification inline small className={style.notification}>\n {translate(L10N.LABEL_INFO_PRICES, {\n accommodation: translate(L10N.LABEL_ACCOMMODATION_TYPE, { type: accommodationType }),\n currency,\n guests: 2,\n nights: 1,\n taxType: pricesLegend,\n })}\n </Notification>\n )}\n\n <View row className={style.footer}>\n <BookingDates {...{ from, focus, to, rangeMinDays }} />\n\n {onSubmit && (\n <Button testId={testId ? `${testId}-submit` : undefined} disabled={!from || !to} onPress={handleSubmit}>\n {text || translate(L10N.ACTION_NEXT)}\n </Button>\n )}\n </View>\n </View>\n );\n};\n\nCalendar.displayName = 'Mirai:Core:Finder:Calendar';\n\nCalendar.propTypes = {\n currency: PropTypes.oneOf(CURRENCIES),\n id: PropTypes.string,\n locale: PropTypes.string,\n rangeMaxDays: PropTypes.number,\n rangeMinDays: PropTypes.number,\n showPrices: PropTypes.bool,\n pricesLegend: PropTypes.oneOf([TAX, TAX_FREE, TAX_PARTIAL]),\n text: PropTypes.string,\n unavailability: PropTypes.shape({}),\n value: PropTypes.arrayOf(PropTypes.instanceOf(Date)),\n onChange: PropTypes.func,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Calendar };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Calendar","_Calendar2","style","_helpers","_shared__","_helpers2","_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","Calendar","_ref","_getDataSource","_getDataSource$places","_getDataSource$places2","_getDataSource$places3","_getDataSource2","currency","id","locale","pricesLegend","rangeMaxDays","RANGE_MAX_DAYS","rangeMinDays","showPrices","text","unavailability","disabledDates","minStayDates","minStayType","onChange","onError","onSubmit","onValid","others","isMobile","useDevice","translate","useLocale","value","store","useStore","focus","setFocus","useState","prices","setPrices","setValue","valueFormat","visibleDate","setVisibleDate","useEffect","nextValue","parseValue","getPrices","dateCalc","Date","MONTHS","from","to","ERROR","NOT_FILLED","JSON","stringify","rangeMonths","undefined","IS_JEST","next","fetchPrices","current","values","handleChange","event","handleNavigation","handleScroll","_ref2","percentY","date","getVisibleDate","handleSubmit","testId","props","range","config","hotels","dataSource","lodgingDenomination","individual","tagId","getDataSource","places","options","find","ids","isHotel","accommodationType","getAccommodationType","getHotels","placesSource","createElement","View","role","captions","format","CALENDAR_FORMAT","months","MONTHS_IN_MOBILE","scrollEventThrottle","SCROLL_EVENT_MS","tooltips","calcTooltips","onFocus","onNavigation","onScroll","className","styles","calendar","Notification","inline","small","notification","L10N","LABEL_INFO_PRICES","accommodation","LABEL_ACCOMMODATION_TYPE","type","guests","nights","taxType","row","footer","BookingDates","Button","concat","disabled","onPress","ACTION_NEXT","exports","displayName","propTypes","PropTypes","oneOf","CURRENCIES","string","number","bool","TAX","TAX_FREE","TAX_PARTIAL","shape","arrayOf","instanceOf","func"],"sources":["../../../../../src/components/Finder/components/Calendar/Calendar.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { CURRENCIES, dateCalc } from '@mirai/locale';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Calendar as CalendarBase, Notification, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ERROR, MONTHS, RANGE_MAX_DAYS, SCROLL_EVENT_MS, TAX, TAX_FREE, TAX_PARTIAL } from './Calendar.constants';\nimport { L10N } from './Calendar.l10n';\nimport * as style from './Calendar.module.css';\nimport { calcTooltips, fetchPrices, getVisibleDate, parseValue, valueFormat } from './helpers';\nimport { BookingDates } from '../../../__shared__';\nimport { CALENDAR_FORMAT, getAccommodationType, IS_JEST, MONTHS_IN_MOBILE } from '../../../helpers';\nimport { getDataSource, getHotels } from '../../helpers';\n\nconst Calendar = ({\n currency,\n id,\n locale,\n pricesLegend,\n rangeMaxDays = RANGE_MAX_DAYS,\n rangeMinDays,\n showPrices,\n text,\n unavailability: { disabledDates = [], minStayDates = {}, minStayType } = {},\n onChange,\n onError,\n onSubmit,\n onValid,\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: store } = useStore();\n\n const [focus, setFocus] = useState();\n const [prices, setPrices] = useState();\n const [value, setValue] = useState(valueFormat(others.value));\n const [visibleDate, setVisibleDate] = useState();\n\n useEffect(() => {\n setPrices();\n\n const nextValue = visibleDate || (value?.length && value[0] && parseValue(value)[0]);\n showPrices && id && getPrices((nextValue && dateCalc(nextValue, -1, 'months')) || new Date(), MONTHS);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency, id, showPrices]);\n\n useEffect(() => {\n const [from, to] = value || [];\n\n if (onValid && from && to) onValid();\n else if (onError && (!from || !to)) onError(ERROR.NOT_FILLED);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n useEffect(() => {\n JSON.stringify(value) !== JSON.stringify(valueFormat(others.value)) && setValue(valueFormat(others.value));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [others.value]);\n\n const getPrices = async (from, rangeMonths = 2) => {\n if (IS_JEST || !from) return;\n\n const next = await fetchPrices({ currency, from, id, locale, rangeMonths });\n setPrices((current) => {\n return { currency: next.currency, values: { ...current?.values, ...next?.values } };\n });\n };\n\n const handleChange = (next = [], event) => {\n setFocus(undefined);\n setValue(valueFormat(next));\n onChange && onChange(next, event);\n };\n\n const handleNavigation = (value) => {\n setVisibleDate(value);\n\n return showPrices && getPrices(value);\n };\n\n const handleScroll = ({ percentY }) => {\n const date = getVisibleDate(percentY, others.to);\n setVisibleDate(date);\n\n return showPrices && id && getPrices(date, MONTHS);\n };\n\n const handleSubmit = (event) => onSubmit(value, event);\n\n const { testId } = others;\n const [from, to] = parseValue(value);\n const props = { ...others, locale, range: true, rangeMaxDays, rangeMinDays };\n\n const { config: { hotels: dataSource, lodgingDenomination: individual } = {} } = store || {};\n\n const tagId = getDataSource(store)?.places?.options?.find(\n ({ id: ids = [], isHotel } = {}) => isHotel && ids[0] === id,\n )?.value;\n\n const accommodationType = getAccommodationType({\n dataSource,\n hotels: getHotels(getDataSource(store)?.placesSource, tagId),\n individual: individual && typeof individual === 'object' ? individual[id] : individual,\n });\n\n return (\n <View role=\"calendar\">\n <CalendarBase\n {...props}\n captions={prices?.values}\n disabledDates={disabledDates}\n format={CALENDAR_FORMAT}\n months={isMobile ? MONTHS_IN_MOBILE : undefined}\n scrollEventThrottle={SCROLL_EVENT_MS}\n tooltips={calcTooltips({ from, minStayDates, minStayType, rangeMinDays, to, translate })}\n value={value}\n onChange={handleChange}\n onFocus={setFocus}\n onNavigation={handleNavigation}\n onScroll={handleScroll}\n className={styles(style.calendar, others.className)}\n />\n\n {prices?.currency && (\n <Notification inline small className={style.notification}>\n {translate(L10N.LABEL_INFO_PRICES, {\n accommodation: translate(L10N.LABEL_ACCOMMODATION_TYPE, { type: accommodationType }),\n currency,\n guests: 2,\n nights: 1,\n taxType: pricesLegend,\n })}\n </Notification>\n )}\n\n <View row className={style.footer}>\n <BookingDates {...{ from, focus, to, rangeMinDays }} />\n\n {onSubmit && (\n <Button testId={testId ? `${testId}-submit` : undefined} disabled={!from || !to} onPress={handleSubmit}>\n {text || translate(L10N.ACTION_NEXT)}\n </Button>\n )}\n </View>\n </View>\n );\n};\n\nCalendar.displayName = 'Mirai:Core:Finder:Calendar';\n\nCalendar.propTypes = {\n currency: PropTypes.oneOf(CURRENCIES),\n id: PropTypes.string,\n locale: PropTypes.string,\n rangeMaxDays: PropTypes.number,\n rangeMinDays: PropTypes.number,\n showPrices: PropTypes.bool,\n pricesLegend: PropTypes.oneOf([TAX, TAX_FREE, TAX_PARTIAL]),\n text: PropTypes.string,\n unavailability: PropTypes.shape({}),\n value: PropTypes.arrayOf(PropTypes.instanceOf(Date)),\n onChange: PropTypes.func,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Calendar };\n"],"mappings":"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"}
@@ -5,18 +5,27 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.calcTooltips = void 0;
7
7
  var _locale = require("@mirai/locale");
8
+ var _calcMinStay = require("./calcMinStay");
8
9
  var _helpers = require("../../../../helpers");
9
10
  var _Calendar = require("../Calendar.l10n");
10
11
  const calcTooltips = function () {
11
12
  let {
12
13
  from,
13
- to,
14
+ minStayDates,
14
15
  minStayType,
15
- rangeMinDays,
16
+ rangeMinDays: propRangeMinDays,
17
+ to,
16
18
  translate = _locale.translate
17
19
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
18
20
  if (!(0, _locale.isDate)(from) || to && !(0, _locale.isDate)(to)) return;
19
21
  const value = {};
22
+ const rangeMinDays = (0, _calcMinStay.calcMinStay)({
23
+ from,
24
+ minStayDates,
25
+ minStayType,
26
+ rangeMinDays: propRangeMinDays,
27
+ to
28
+ });
20
29
  if (minStayType !== undefined && from && !to && rangeMinDays > 1) {
21
30
  value[(0, _locale.dateFormat)(from, {
22
31
  format: _helpers.CALENDAR_FORMAT
@@ -1 +1 @@
1
- {"version":3,"file":"calcTooltips.js","names":["_locale","require","_helpers","_Calendar","calcTooltips","from","to","minStayType","rangeMinDays","translate","translateBase","arguments","length","undefined","isDate","value","dateFormat","format","text","L10N","LABEL_MIN_NIGHTS","pressable","exports"],"sources":["../../../../../../src/components/Finder/components/Calendar/helpers/calcTooltips.js"],"sourcesContent":["import { dateFormat, isDate, translate as translateBase } from '@mirai/locale';\n\nimport { CALENDAR_FORMAT as format } from '../../../../helpers';\nimport { L10N } from '../Calendar.l10n';\n\nexport const calcTooltips = ({ from, to, minStayType, rangeMinDays, translate = translateBase } = {}) => {\n if (!isDate(from) || (to && !isDate(to))) return;\n\n const value = {};\n if (minStayType !== undefined && from && !to && rangeMinDays > 1) {\n value[dateFormat(from, { format })] = {\n text: translate(L10N.LABEL_MIN_NIGHTS, { value: rangeMinDays }),\n pressable: false,\n };\n }\n\n return value;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAEO,MAAMG,YAAY,GAAG,SAAAA,CAAA,EAA6E;EAAA,IAA5E;IAAEC,IAAI;IAAEC,EAAE;IAAEC,WAAW;IAAEC,YAAY;IAAEC,SAAS,GAAGC;EAAc,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAClG,IAAI,CAAC,IAAAG,cAAM,EAACT,IAAI,CAAC,IAAKC,EAAE,IAAI,CAAC,IAAAQ,cAAM,EAACR,EAAE,CAAE,EAAE;EAE1C,MAAMS,KAAK,GAAG,CAAC,CAAC;EAChB,IAAIR,WAAW,KAAKM,SAAS,IAAIR,IAAI,IAAI,CAACC,EAAE,IAAIE,YAAY,GAAG,CAAC,EAAE;IAChEO,KAAK,CAAC,IAAAC,kBAAU,EAACX,IAAI,EAAE;MAAEY,MAAM,EAANA;IAAO,CAAC,CAAC,CAAC,GAAG;MACpCC,IAAI,EAAET,SAAS,CAACU,cAAI,CAACC,gBAAgB,EAAE;QAAEL,KAAK,EAAEP;MAAa,CAAC,CAAC;MAC/Da,SAAS,EAAE;IACb,CAAC;EACH;EAEA,OAAON,KAAK;AACd,CAAC;AAACO,OAAA,CAAAlB,YAAA,GAAAA,YAAA"}
1
+ {"version":3,"file":"calcTooltips.js","names":["_locale","require","_calcMinStay","_helpers","_Calendar","calcTooltips","from","minStayDates","minStayType","rangeMinDays","propRangeMinDays","to","translate","translateBase","arguments","length","undefined","isDate","value","calcMinStay","dateFormat","format","text","L10N","LABEL_MIN_NIGHTS","pressable","exports"],"sources":["../../../../../../src/components/Finder/components/Calendar/helpers/calcTooltips.js"],"sourcesContent":["import { dateFormat, isDate, translate as translateBase } from '@mirai/locale';\n\nimport { calcMinStay } from './calcMinStay';\nimport { CALENDAR_FORMAT as format } from '../../../../helpers';\nimport { L10N } from '../Calendar.l10n';\n\nexport const calcTooltips = ({\n from,\n minStayDates,\n minStayType,\n rangeMinDays: propRangeMinDays,\n to,\n translate = translateBase,\n} = {}) => {\n if (!isDate(from) || (to && !isDate(to))) return;\n\n const value = {};\n const rangeMinDays = calcMinStay({ from, minStayDates, minStayType, rangeMinDays: propRangeMinDays, to });\n\n if (minStayType !== undefined && from && !to && rangeMinDays > 1) {\n value[dateFormat(from, { format })] = {\n text: translate(L10N.LABEL_MIN_NIGHTS, { value: rangeMinDays }),\n pressable: false,\n };\n }\n\n return value;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAEO,MAAMI,YAAY,GAAG,SAAAA,CAAA,EAOjB;EAAA,IAPkB;IAC3BC,IAAI;IACJC,YAAY;IACZC,WAAW;IACXC,YAAY,EAAEC,gBAAgB;IAC9BC,EAAE;IACFC,SAAS,GAAGC;EACd,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACJ,IAAI,CAAC,IAAAG,cAAM,EAACX,IAAI,CAAC,IAAKK,EAAE,IAAI,CAAC,IAAAM,cAAM,EAACN,EAAE,CAAE,EAAE;EAE1C,MAAMO,KAAK,GAAG,CAAC,CAAC;EAChB,MAAMT,YAAY,GAAG,IAAAU,wBAAW,EAAC;IAAEb,IAAI;IAAEC,YAAY;IAAEC,WAAW;IAAEC,YAAY,EAAEC,gBAAgB;IAAEC;EAAG,CAAC,CAAC;EAEzG,IAAIH,WAAW,KAAKQ,SAAS,IAAIV,IAAI,IAAI,CAACK,EAAE,IAAIF,YAAY,GAAG,CAAC,EAAE;IAChES,KAAK,CAAC,IAAAE,kBAAU,EAACd,IAAI,EAAE;MAAEe,MAAM,EAANA;IAAO,CAAC,CAAC,CAAC,GAAG;MACpCC,IAAI,EAAEV,SAAS,CAACW,cAAI,CAACC,gBAAgB,EAAE;QAAEN,KAAK,EAAET;MAAa,CAAC,CAAC;MAC/DgB,SAAS,EAAE;IACb,CAAC;EACH;EAEA,OAAOP,KAAK;AACd,CAAC;AAACQ,OAAA,CAAArB,YAAA,GAAAA,YAAA"}