@mirai/core 0.3.46 → 0.3.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/Finder/Finder.js +3 -0
- package/build/components/Finder/Finder.js.map +1 -1
- package/build/components/Finder/__tests__/__snapshots__/Finder.test.js.snap +3478 -208
- package/build/components/Finder/components/Calendar/helpers/fetchPrices.js +1 -1
- package/build/components/Finder/components/Calendar/helpers/fetchPrices.js.map +1 -1
- package/build/components/Rates/Rates.js +9 -3
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +14 -1
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/Item.l10n.js +6 -0
- package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
- package/build/components/Rates/components/Item/Item.module.css +4 -0
- package/build/components/Rates/components/Item/components/Discount/Discount.js +2 -2
- package/build/components/Rates/components/Item/components/Discount/Discount.js.map +1 -1
- package/build/components/Rates/components/Item/components/Discount/Discount.module.css +0 -7
- package/build/services/Rates/get.js +2 -2
- package/build/services/Rates/get.js.map +1 -1
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ const fetchPrices = async function () {
|
|
|
16
16
|
locale,
|
|
17
17
|
rangeMonths = 2
|
|
18
18
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
19
|
-
const responses = await Promise.all(Array.from(Array(rangeMonths).keys()).map(index => _services.ServicePricing.getStatic(id, (0, _locale.dateFormat)(index ? (0, _locale.dateCalc)(from, index, 'months') : from, {
|
|
19
|
+
const responses = await Promise.all(Array.from(Array(rangeMonths).keys()).map(index => _services.ServicePricing.getStatic(id, (0, _locale.dateFormat)(index ? (0, _locale.dateCalc)(new Date(from === null || from === void 0 ? void 0 : from.getFullYear(), from === null || from === void 0 ? void 0 : from.getMonth(), 1), index, 'months') : from, {
|
|
20
20
|
format: _helpers.CALENDAR_FORMAT
|
|
21
21
|
}), MONTHS, currency).catch(() => ({}))));
|
|
22
22
|
const next = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchPrices.js","names":["_locale","require","_services","_helpers","MONTHS","fetchPrices","currency","from","id","locale","rangeMonths","arguments","length","undefined","responses","Promise","all","Array","keys","map","index","ServicePricing","getStatic","dateFormat","dateCalc","format","CALENDAR_FORMAT","catch","next","values","forEach","prices","common","fancy","symbol","Object","entries","_ref","date","price","currencyFormat","value","exports"],"sources":["../../../../../../src/components/Finder/components/Calendar/helpers/fetchPrices.js"],"sourcesContent":["import { dateCalc, dateFormat
|
|
1
|
+
{"version":3,"file":"fetchPrices.js","names":["_locale","require","_services","_helpers","MONTHS","fetchPrices","currency","from","id","locale","rangeMonths","arguments","length","undefined","responses","Promise","all","Array","keys","map","index","ServicePricing","getStatic","dateFormat","dateCalc","Date","getFullYear","getMonth","format","CALENDAR_FORMAT","catch","next","values","forEach","prices","common","fancy","symbol","Object","entries","_ref","date","price","currencyFormat","value","exports"],"sources":["../../../../../../src/components/Finder/components/Calendar/helpers/fetchPrices.js"],"sourcesContent":["import { currencyFormat, dateCalc, dateFormat } from '@mirai/locale';\nimport { ServicePricing } from '@mirai/services';\n\nimport { CALENDAR_FORMAT } from '../../../../helpers';\n\nconst MONTHS = 1;\n\nexport const fetchPrices = async ({ currency, from, id, locale, rangeMonths = 2 } = {}) => {\n const responses = await Promise.all(\n Array.from(Array(rangeMonths).keys()).map((index) =>\n ServicePricing.getStatic(\n id,\n dateFormat(index ? dateCalc(new Date(from?.getFullYear(), from?.getMonth(), 1), index, 'months') : from, {\n format: CALENDAR_FORMAT,\n }),\n MONTHS,\n currency,\n ).catch(() => ({})),\n ),\n );\n\n const next = { currency, values: {} };\n\n responses.forEach(({ currency, prices = {} } = {}) => {\n const common = { currency, fancy: true, locale, symbol: true };\n\n if (currency) next.currency = currency;\n\n Object.entries(prices).forEach(([date, price]) => {\n if (price) next.values[date] = currencyFormat({ ...common, value: price });\n });\n });\n\n return next;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAEA,MAAMG,MAAM,GAAG,CAAC;AAET,MAAMC,WAAW,GAAG,eAAAA,CAAA,EAAgE;EAAA,IAAzD;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,EAAE;IAAEC,MAAM;IAAEC,WAAW,GAAG;EAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACpF,MAAMG,SAAS,GAAG,MAAMC,OAAO,CAACC,GAAG,CACjCC,KAAK,CAACV,IAAI,CAACU,KAAK,CAACP,WAAW,CAAC,CAACQ,IAAI,CAAC,CAAC,CAAC,CAACC,GAAG,CAAEC,KAAK,IAC9CC,wBAAc,CAACC,SAAS,CACtBd,EAAE,EACF,IAAAe,kBAAU,EAACH,KAAK,GAAG,IAAAI,gBAAQ,EAAC,IAAIC,IAAI,CAAClB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEmB,WAAW,CAAC,CAAC,EAAEnB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEoB,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEP,KAAK,EAAE,QAAQ,CAAC,GAAGb,IAAI,EAAE;IACvGqB,MAAM,EAAEC;EACV,CAAC,CAAC,EACFzB,MAAM,EACNE,QACF,CAAC,CAACwB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CACpB,CACF,CAAC;EAED,MAAMC,IAAI,GAAG;IAAEzB,QAAQ;IAAE0B,MAAM,EAAE,CAAC;EAAE,CAAC;EAErClB,SAAS,CAACmB,OAAO,CAAC,YAAoC;IAAA,IAAnC;MAAE3B,QAAQ;MAAE4B,MAAM,GAAG,CAAC;IAAE,CAAC,GAAAvB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAC/C,MAAMwB,MAAM,GAAG;MAAE7B,QAAQ;MAAE8B,KAAK,EAAE,IAAI;MAAE3B,MAAM;MAAE4B,MAAM,EAAE;IAAK,CAAC;IAE9D,IAAI/B,QAAQ,EAAEyB,IAAI,CAACzB,QAAQ,GAAGA,QAAQ;IAEtCgC,MAAM,CAACC,OAAO,CAACL,MAAM,CAAC,CAACD,OAAO,CAACO,IAAA,IAAmB;MAAA,IAAlB,CAACC,IAAI,EAAEC,KAAK,CAAC,GAAAF,IAAA;MAC3C,IAAIE,KAAK,EAAEX,IAAI,CAACC,MAAM,CAACS,IAAI,CAAC,GAAG,IAAAE,sBAAc,EAAC;QAAE,GAAGR,MAAM;QAAES,KAAK,EAAEF;MAAM,CAAC,CAAC;IAC5E,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAOX,IAAI;AACb,CAAC;AAACc,OAAA,CAAAxC,WAAA,GAAAA,WAAA"}
|
|
@@ -36,6 +36,9 @@ const Rates = _ref => {
|
|
|
36
36
|
discount
|
|
37
37
|
} = {},
|
|
38
38
|
currency,
|
|
39
|
+
finder: {
|
|
40
|
+
occupation
|
|
41
|
+
} = {},
|
|
39
42
|
hotel = {},
|
|
40
43
|
locale,
|
|
41
44
|
session,
|
|
@@ -77,11 +80,12 @@ const Rates = _ref => {
|
|
|
77
80
|
};
|
|
78
81
|
const handleChange = function () {
|
|
79
82
|
let {
|
|
80
|
-
id,
|
|
81
83
|
amount = 0,
|
|
84
|
+
id,
|
|
85
|
+
standalone = false,
|
|
82
86
|
...others
|
|
83
87
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
84
|
-
const next = {
|
|
88
|
+
const next = standalone ? {} : {
|
|
85
89
|
...selected
|
|
86
90
|
};
|
|
87
91
|
if (amount === 0) delete next[id];else next[id] = {
|
|
@@ -117,6 +121,7 @@ const Rates = _ref => {
|
|
|
117
121
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
118
122
|
className: style.finder
|
|
119
123
|
}, /*#__PURE__*/_react.default.createElement(_Finder.Finder, {
|
|
124
|
+
assisted: false,
|
|
120
125
|
compact: compact,
|
|
121
126
|
text: translate(_Rates3.L10N.ACTION_SEARCH),
|
|
122
127
|
onExpand: () => setCompact(false),
|
|
@@ -144,8 +149,9 @@ const Rates = _ref => {
|
|
|
144
149
|
key: id || index,
|
|
145
150
|
id
|
|
146
151
|
}, item, {
|
|
147
|
-
selected,
|
|
148
152
|
filter,
|
|
153
|
+
occupation,
|
|
154
|
+
selected,
|
|
149
155
|
onChange: handleChange,
|
|
150
156
|
onMoreInfo: () => setItemInfo(item),
|
|
151
157
|
onRateInfo: rate => setItemRateInfo(rate)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_ui","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","style","_Rates4","_interopRequireDefault","_services","_Finder","_helpers2","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","Rates","_ref","others","translate","useLocale","value","club","discount","currency","hotel","locale","session","urlParams","useStore","compact","setCompact","useState","dataSource","setDataSource","fetching","setFetching","undefined","filter","setFilter","clubDiscount","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","responseError","setResponseError","selected","setSelected","useEffect","fetch","handleScroll","window","addEventListener","removeEventListener","params","ServiceRates","catch","handleChange","id","amount","next","handleChangeCurrency","nextCurrency","handleChangeFilter","nextFilter","handleFinderSubmit","values","getFinderParams","history","replaceState","toUrlParams","response","createElement","Fragment","View","className","finder","Finder","text","L10N","ACTION_SEARCH","onExpand","onSubmit","role","styles","container","Progress","indeterminate","visible","progress","wrapper","content","Filter","onChange","onCurrency","items","map","_ref2","index","item","Item","onMoreInfo","onRateInfo","rate","Footer","ModalItemInfo","onClose","ModalItemRateInfo","exports"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Progress, styles, View } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { Item, ModalItemInfo, ModalItemRateInfo } from './components';\nimport { getFinderParams } from './helpers';\nimport { Filter } from './Rates.Filter';\nimport { Footer } from './Rates.Footer';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport Skeleton from './Rates.Skeleton';\nimport { ServiceRates } from '../../services';\nimport { Finder } from '../Finder/Finder';\nimport { toUrlParams } from '../helpers';\n\nconst Rates = ({ ...others }) => {\n const { translate } = useLocale();\n const {\n set,\n value: { club: { discount } = {}, currency, hotel = {}, locale, session, urlParams },\n } = useStore();\n\n const [compact, setCompact] = useState(true);\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [filter, setFilter] = useState({ clubDiscount: discount });\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [responseError, setResponseError] = useState();\n const [selected, setSelected] = useState({});\n\n useEffect(() => {\n fetch(currency);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency, locale, session]);\n\n useEffect(() => {\n const handleScroll = () => setCompact(true);\n\n window.addEventListener('scroll', handleScroll);\n return () => window.removeEventListener('scroll', handleScroll);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const fetch = async (currency, clubDiscount = filter.clubDiscount, params = urlParams) => {\n setFetching(true);\n setDataSource(\n await ServiceRates.get({ ...params, currency, locale, session, clubDiscount }).catch(setResponseError),\n );\n setFetching(false);\n };\n\n const handleChange = ({ id, amount = 0, ...others } = {}) => {\n const next = { ...selected };\n if (amount === 0) delete next[id];\n else next[id] = { amount, ...others };\n\n setSelected(next);\n };\n\n const handleChangeCurrency = async (nextCurrency) => {\n await fetch(nextCurrency);\n set({ currency: nextCurrency });\n };\n\n const handleChangeFilter = async (nextFilter) => {\n setFilter(nextFilter);\n if (nextFilter.clubDiscount !== filter.clubDiscount) await fetch(currency, nextFilter.clubDiscount);\n };\n\n const handleFinderSubmit = (values) => {\n setCompact(true);\n setDataSource(undefined);\n const params = getFinderParams({ ...urlParams, ...values, currency, locale, hotel });\n\n history.replaceState({}, '', toUrlParams(params));\n fetch(currency, filter.clubDiscount, params);\n };\n\n const response = dataSource !== undefined;\n\n return (\n <>\n <View className={style.finder}>\n <Finder\n compact={compact}\n text={translate(L10N.ACTION_SEARCH)}\n onExpand={() => setCompact(false)}\n onSubmit={handleFinderSubmit}\n />\n </View>\n <View {...others} role=\"rates\" className={styles(style.container, others.className)}>\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n <View className={[style.wrapper, style.content]}>\n {response ? (\n <>\n <Filter\n dataSource={dataSource}\n value={filter}\n onChange={handleChangeFilter}\n onCurrency={handleChangeCurrency}\n />\n {dataSource.items.map(({ id, ...item }, index) => (\n <Item\n key={id || index}\n {...{ id, ...item, selected, filter }}\n onChange={handleChange}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo(rate)}\n />\n ))}\n </>\n ) : (\n <Skeleton />\n )}\n </View>\n\n <Footer dataSource={dataSource} filter={filter} selected={selected} onChange={handleChange} />\n </View>\n\n <ModalItemInfo {...itemInfo} visible={!!itemInfo} onClose={() => setItemInfo()} />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n </>\n );\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_ui","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","style","_Rates4","_interopRequireDefault","_services","_Finder","_helpers2","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","Rates","_ref","others","translate","useLocale","value","club","discount","currency","finder","occupation","hotel","locale","session","urlParams","useStore","compact","setCompact","useState","dataSource","setDataSource","fetching","setFetching","undefined","filter","setFilter","clubDiscount","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","responseError","setResponseError","selected","setSelected","useEffect","fetch","handleScroll","window","addEventListener","removeEventListener","params","ServiceRates","catch","handleChange","amount","id","standalone","next","handleChangeCurrency","nextCurrency","handleChangeFilter","nextFilter","handleFinderSubmit","values","getFinderParams","history","replaceState","toUrlParams","response","createElement","Fragment","View","className","Finder","assisted","text","L10N","ACTION_SEARCH","onExpand","onSubmit","role","styles","container","Progress","indeterminate","visible","progress","wrapper","content","Filter","onChange","onCurrency","items","map","_ref2","index","item","Item","onMoreInfo","onRateInfo","rate","Footer","ModalItemInfo","onClose","ModalItemRateInfo","exports"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Progress, styles, View } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { Item, ModalItemInfo, ModalItemRateInfo } from './components';\nimport { getFinderParams } from './helpers';\nimport { Filter } from './Rates.Filter';\nimport { Footer } from './Rates.Footer';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport Skeleton from './Rates.Skeleton';\nimport { ServiceRates } from '../../services';\nimport { Finder } from '../Finder/Finder';\nimport { toUrlParams } from '../helpers';\n\nconst Rates = ({ ...others }) => {\n const { translate } = useLocale();\n const {\n set,\n value: { club: { discount } = {}, currency, finder: { occupation } = {}, hotel = {}, locale, session, urlParams },\n } = useStore();\n\n const [compact, setCompact] = useState(true);\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [filter, setFilter] = useState({ clubDiscount: discount });\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [responseError, setResponseError] = useState();\n const [selected, setSelected] = useState({});\n\n useEffect(() => {\n fetch(currency);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency, locale, session]);\n\n useEffect(() => {\n const handleScroll = () => setCompact(true);\n\n window.addEventListener('scroll', handleScroll);\n return () => window.removeEventListener('scroll', handleScroll);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const fetch = async (currency, clubDiscount = filter.clubDiscount, params = urlParams) => {\n setFetching(true);\n setDataSource(\n await ServiceRates.get({ ...params, currency, locale, session, clubDiscount }).catch(setResponseError),\n );\n setFetching(false);\n };\n\n const handleChange = ({ amount = 0, id, standalone = false, ...others } = {}) => {\n const next = standalone ? {} : { ...selected };\n if (amount === 0) delete next[id];\n else next[id] = { amount, ...others };\n\n setSelected(next);\n };\n\n const handleChangeCurrency = async (nextCurrency) => {\n await fetch(nextCurrency);\n set({ currency: nextCurrency });\n };\n\n const handleChangeFilter = async (nextFilter) => {\n setFilter(nextFilter);\n if (nextFilter.clubDiscount !== filter.clubDiscount) await fetch(currency, nextFilter.clubDiscount);\n };\n\n const handleFinderSubmit = (values) => {\n setCompact(true);\n setDataSource(undefined);\n const params = getFinderParams({ ...urlParams, ...values, currency, locale, hotel });\n\n history.replaceState({}, '', toUrlParams(params));\n fetch(currency, filter.clubDiscount, params);\n };\n\n const response = dataSource !== undefined;\n\n return (\n <>\n <View className={style.finder}>\n <Finder\n assisted={false}\n compact={compact}\n text={translate(L10N.ACTION_SEARCH)}\n onExpand={() => setCompact(false)}\n onSubmit={handleFinderSubmit}\n />\n </View>\n <View {...others} role=\"rates\" className={styles(style.container, others.className)}>\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n <View className={[style.wrapper, style.content]}>\n {response ? (\n <>\n <Filter\n dataSource={dataSource}\n value={filter}\n onChange={handleChangeFilter}\n onCurrency={handleChangeCurrency}\n />\n {dataSource.items.map(({ id, ...item }, index) => (\n <Item\n key={id || index}\n {...{ id, ...item, filter, occupation, selected }}\n onChange={handleChange}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo(rate)}\n />\n ))}\n </>\n ) : (\n <Skeleton />\n )}\n </View>\n\n <Footer dataSource={dataSource} filter={filter} selected={selected} onChange={handleChange} />\n </View>\n\n <ModalItemInfo {...itemInfo} visible={!!itemInfo} onClose={() => setItemInfo()} />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n </>\n );\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ const Item = _ref => {
|
|
|
25
25
|
filter = {},
|
|
26
26
|
images = [],
|
|
27
27
|
name: title,
|
|
28
|
+
occupation = [],
|
|
28
29
|
rates = [],
|
|
29
30
|
selected = {},
|
|
30
31
|
onChange,
|
|
@@ -200,7 +201,18 @@ const Item = _ref => {
|
|
|
200
201
|
})), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
201
202
|
lighten: true,
|
|
202
203
|
tiny: true
|
|
203
|
-
}, translate(_Item.L10N.LABEL_PER_UNIT_NIGHT)))), /*#__PURE__*/_react.default.createElement(_ui.
|
|
204
|
+
}, translate(_Item.L10N.LABEL_PER_UNIT_NIGHT)))), occupation.length === 1 ? /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
205
|
+
large: true,
|
|
206
|
+
secondary: amount > 0,
|
|
207
|
+
onPress: () => onChange({
|
|
208
|
+
id,
|
|
209
|
+
amount: amount > 0 ? 0 : 1,
|
|
210
|
+
basePrice,
|
|
211
|
+
price,
|
|
212
|
+
standalone: true
|
|
213
|
+
}),
|
|
214
|
+
className: style.button
|
|
215
|
+
}, translate(amount > 0 ? _Item.L10N.LABEL_DESELECT : _Item.L10N.LABEL_SELECT)) : /*#__PURE__*/_react.default.createElement(_ui.InputSelect, {
|
|
204
216
|
name: "amount",
|
|
205
217
|
disabledOptions: rateAvailability.map(amount => amount > availableAmount),
|
|
206
218
|
options: rateAvailability,
|
|
@@ -242,6 +254,7 @@ Item.propTypes = {
|
|
|
242
254
|
thumbnail: _propTypes.default.string
|
|
243
255
|
})),
|
|
244
256
|
name: _propTypes.default.string,
|
|
257
|
+
occupation: _propTypes.default.arrayOf(_propTypes.default.array),
|
|
245
258
|
rates: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
246
259
|
selected: _propTypes.default.shape({}),
|
|
247
260
|
onChange: _propTypes.default.func,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.js","names":["_dataSources","require","_locale","_ui","_Slider","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_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","Item","_ref","availability","filter","images","name","title","rates","selected","onChange","onMoreInfo","onRateInfo","others","isDesktop","width","useDevice","translate","useLocale","value","currency","hotel","warningAvailability","useStore","previewRef","useRef","expanded","setExpanded","useState","expandedRate","setExpandedRate","sliderWidth","setSliderWidth","useEffect","_previewRef$current","current","clientWidth","availableAmount","reduce","total","_ref2","_selected$id","id","amount","createElement","View","className","box","item","row","header","Text","bold","headline","level","small","L10N","LABEL_INCLUDED_TAXES_FEES","Notification","error","LABEL_REMAINING_ITEMS","info","ref","preview","slider","Slider","captions","map","_ref3","alt","height","_ref4","large","thumbnails","_ref5","thumbnail","Features","Amenities","highlight","Action","inline","onPress","ACTION_MORE_INFO","styles","wide","rate","undefined","board","boardName","basePrice","cancellation","discount","included","dayPrice","price","restrictions","min","max","rateAvailability","Array","from","_","index","expandedContent","includes","lighten","upperCase","percentage","Discount","content","texts","slice","actionExpand","warning","React","Fragment","prices","currencyFormat","pricePerDay","tiny","LABEL_PER_UNIT_NIGHT","InputSelect","disabledOptions","options","parseInt","inputSelect","footer","hint","Pressable","Icon","ICON","INFO","ButtonMore","text","ACTION_MORE_RATES","buttonMore","exports","propTypes","PropTypes","number","bool","shape","string","arrayOf","func","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Action, Icon, InputSelect, Notification, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport { Slider } from '@mirai/ui/build/components/Slider';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useEffect, useState } from 'react';\n\nimport { Amenities, Discount, Features } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ButtonMore } from '../../../__shared__';\nimport { ICON } from '../../../helpers';\n\nconst Item = ({\n availability = 0,\n filter = {},\n images = [],\n name: title,\n rates = [],\n selected = {},\n onChange,\n onMoreInfo,\n onRateInfo,\n ...others\n}) => {\n const { isDesktop, width } = useDevice();\n const { translate } = useLocale();\n const { value: { currency, hotel: { warningAvailability = 9999 } } = {} } = useStore();\n const previewRef = useRef(null);\n\n const [expanded, setExpanded] = useState(rates.length < 3);\n const [expandedRate, setExpandedRate] = useState([]);\n const [sliderWidth, setSliderWidth] = useState(320);\n\n useEffect(() => {\n if (previewRef.current) setSliderWidth(previewRef.current?.clientWidth);\n }, [width]);\n\n const availableAmount = availability - rates.reduce((total, { id }) => total + (selected[id]?.amount || 0), 0);\n\n return (\n <View className={[style.box, style.item, others.className]}>\n <View row className={style.header}>\n <Text bold headline level={2} className={style.title}>\n {title}\n </Text>\n <Text small>{translate(L10N.LABEL_INCLUDED_TAXES_FEES)}</Text>\n {availability <= warningAvailability && (\n <Notification error small>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Notification>\n )}\n </View>\n\n <View row={isDesktop} className={style.info}>\n <View ref={previewRef} className={style.preview}>\n <View className={style.slider}>\n <Slider\n captions={images.map(({ alt }) => alt)}\n height={220}\n images={images.map(({ large }) => large)}\n thumbnails={images.map(({ thumbnail }) => thumbnail)}\n width={sliderWidth}\n onChange={() => {}}\n className={style.slider}\n />\n </View>\n <Features box {...others} />\n {isDesktop && <Amenities highlight {...others} />}\n <Action inline onPress={onMoreInfo}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </View>\n\n <View className={styles(style.rates, expanded && style.expanded)} wide>\n {rates\n .filter((rate = {}) => (filter.board ? rate.boardName === filter.board : true))\n .map((rate = {}) => {\n const {\n basePrice,\n boardName,\n cancellation = {},\n discount = {},\n included = [],\n id,\n name,\n dayPrice,\n price,\n restrictions = [],\n amount: [min = 1, max = 2] = [],\n } = rate;\n\n const { amount = 0 } = selected[id] || {};\n const rateAvailability = [0, ...Array.from({ length: max - min + 1 }).map((_, index) => index + min)];\n const expandedContent = included.length === 1 || expandedRate.includes(id);\n\n return (\n <View key={id} className={styles(style.box, style.rate, amount && style.selected)}>\n <View row className={style.header}>\n <Text lighten small upperCase>\n {boardName}\n </Text>\n {discount.percentage > 0 && <Discount {...rate} />}\n </View>\n\n <View row={isDesktop} className={style.content}>\n <View className={style.texts}>\n <Text bold headline level={3}>\n {name}\n </Text>\n\n {included.length > 0 && (\n <View>\n {included.slice(0, expandedContent ? undefined : 1).map((item, index) => (\n <Text key={index} small lighten wide>\n {item}\n\n {index === 0 && !expandedContent && (\n <Action\n inline\n small\n onPress={() => setExpandedRate([...expandedRate, id])}\n className={style.actionExpand}\n >\n More Info\n </Action>\n )}\n </Text>\n ))}\n </View>\n )}\n\n {restrictions.length > 0 && (\n <Notification small warning>\n {restrictions[0]}\n </Notification>\n )}\n </View>\n\n {React.createElement(\n isDesktop ? React.Fragment : View,\n isDesktop ? undefined : { row: true, wide: true },\n <>\n <View className={style.prices}>\n <Text bold headline level={2}>\n {currencyFormat({ currency, value: price * (amount || 1) })}\n </Text>\n <View row className={style.pricePerDay}>\n <Text tiny>{currencyFormat({ currency, value: dayPrice })}</Text>\n <Text lighten tiny>\n {translate(L10N.LABEL_PER_UNIT_NIGHT)}\n </Text>\n </View>\n </View>\n\n <InputSelect\n name=\"amount\"\n disabledOptions={rateAvailability.map((amount) => amount > availableAmount)}\n options={rateAvailability}\n value={amount}\n onChange={(amount) => onChange({ id, amount: parseInt(amount), basePrice, price })}\n className={style.inputSelect}\n />\n </>,\n )}\n </View>\n\n <View row className={style.footer}>\n <Text small>{cancellation.hint}</Text>\n <Pressable onPress={() => onRateInfo(rate)}>\n <Icon value={ICON.INFO} />\n </Pressable>\n </View>\n </View>\n );\n })}\n\n {!expanded && (\n <ButtonMore\n text={translate(L10N.ACTION_MORE_RATES)}\n onPress={() => setExpanded(true)}\n className={style.buttonMore}\n />\n )}\n </View>\n </View>\n </View>\n );\n};\n\nItem.propTypes = {\n availability: PropTypes.number,\n expanded: PropTypes.bool,\n filter: PropTypes.shape({\n board: PropTypes.string,\n }),\n id: PropTypes.string,\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n name: PropTypes.string,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({}),\n onChange: PropTypes.func,\n onMoreInfo: PropTypes.func,\n onRateInfo: PropTypes.func,\n};\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nexport { Item };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Item.js","names":["_dataSources","require","_locale","_ui","_Slider","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_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","Item","_ref","availability","filter","images","name","title","occupation","rates","selected","onChange","onMoreInfo","onRateInfo","others","isDesktop","width","useDevice","translate","useLocale","value","currency","hotel","warningAvailability","useStore","previewRef","useRef","expanded","setExpanded","useState","expandedRate","setExpandedRate","sliderWidth","setSliderWidth","useEffect","_previewRef$current","current","clientWidth","availableAmount","reduce","total","_ref2","_selected$id","id","amount","createElement","View","className","box","item","row","header","Text","bold","headline","level","small","L10N","LABEL_INCLUDED_TAXES_FEES","Notification","error","LABEL_REMAINING_ITEMS","info","ref","preview","slider","Slider","captions","map","_ref3","alt","height","_ref4","large","thumbnails","_ref5","thumbnail","Features","Amenities","highlight","Action","inline","onPress","ACTION_MORE_INFO","styles","wide","rate","undefined","board","boardName","basePrice","cancellation","discount","included","dayPrice","price","restrictions","min","max","rateAvailability","Array","from","_","index","expandedContent","includes","lighten","upperCase","percentage","Discount","content","texts","slice","actionExpand","warning","React","Fragment","prices","currencyFormat","pricePerDay","tiny","LABEL_PER_UNIT_NIGHT","Button","secondary","standalone","button","LABEL_DESELECT","LABEL_SELECT","InputSelect","disabledOptions","options","parseInt","inputSelect","footer","hint","Pressable","Icon","ICON","INFO","ButtonMore","text","ACTION_MORE_RATES","buttonMore","exports","propTypes","PropTypes","number","bool","shape","string","arrayOf","array","func","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, InputSelect, Notification, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport { Slider } from '@mirai/ui/build/components/Slider';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useEffect, useState } from 'react';\n\nimport { Amenities, Discount, Features } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ButtonMore } from '../../../__shared__';\nimport { ICON } from '../../../helpers';\n\nconst Item = ({\n availability = 0,\n filter = {},\n images = [],\n name: title,\n occupation = [],\n rates = [],\n selected = {},\n onChange,\n onMoreInfo,\n onRateInfo,\n ...others\n}) => {\n const { isDesktop, width } = useDevice();\n const { translate } = useLocale();\n const { value: { currency, hotel: { warningAvailability = 9999 } } = {} } = useStore();\n const previewRef = useRef(null);\n\n const [expanded, setExpanded] = useState(rates.length < 3);\n const [expandedRate, setExpandedRate] = useState([]);\n const [sliderWidth, setSliderWidth] = useState(320);\n\n useEffect(() => {\n if (previewRef.current) setSliderWidth(previewRef.current?.clientWidth);\n }, [width]);\n\n const availableAmount = availability - rates.reduce((total, { id }) => total + (selected[id]?.amount || 0), 0);\n\n return (\n <View className={[style.box, style.item, others.className]}>\n <View row className={style.header}>\n <Text bold headline level={2} className={style.title}>\n {title}\n </Text>\n <Text small>{translate(L10N.LABEL_INCLUDED_TAXES_FEES)}</Text>\n {availability <= warningAvailability && (\n <Notification error small>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Notification>\n )}\n </View>\n\n <View row={isDesktop} className={style.info}>\n <View ref={previewRef} className={style.preview}>\n <View className={style.slider}>\n <Slider\n captions={images.map(({ alt }) => alt)}\n height={220}\n images={images.map(({ large }) => large)}\n thumbnails={images.map(({ thumbnail }) => thumbnail)}\n width={sliderWidth}\n onChange={() => {}}\n className={style.slider}\n />\n </View>\n <Features box {...others} />\n {isDesktop && <Amenities highlight {...others} />}\n <Action inline onPress={onMoreInfo}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </View>\n\n <View className={styles(style.rates, expanded && style.expanded)} wide>\n {rates\n .filter((rate = {}) => (filter.board ? rate.boardName === filter.board : true))\n .map((rate = {}) => {\n const {\n basePrice,\n boardName,\n cancellation = {},\n discount = {},\n included = [],\n id,\n name,\n dayPrice,\n price,\n restrictions = [],\n amount: [min = 1, max = 2] = [],\n } = rate;\n\n const { amount = 0 } = selected[id] || {};\n const rateAvailability = [0, ...Array.from({ length: max - min + 1 }).map((_, index) => index + min)];\n const expandedContent = included.length === 1 || expandedRate.includes(id);\n\n return (\n <View key={id} className={styles(style.box, style.rate, amount && style.selected)}>\n <View row className={style.header}>\n <Text lighten small upperCase>\n {boardName}\n </Text>\n {discount.percentage > 0 && <Discount {...rate} />}\n </View>\n\n <View row={isDesktop} className={style.content}>\n <View className={style.texts}>\n <Text bold headline level={3}>\n {name}\n </Text>\n\n {included.length > 0 && (\n <View>\n {included.slice(0, expandedContent ? undefined : 1).map((item, index) => (\n <Text key={index} small lighten wide>\n {item}\n\n {index === 0 && !expandedContent && (\n <Action\n inline\n small\n onPress={() => setExpandedRate([...expandedRate, id])}\n className={style.actionExpand}\n >\n More Info\n </Action>\n )}\n </Text>\n ))}\n </View>\n )}\n\n {restrictions.length > 0 && (\n <Notification small warning>\n {restrictions[0]}\n </Notification>\n )}\n </View>\n\n {React.createElement(\n isDesktop ? React.Fragment : View,\n isDesktop ? undefined : { row: true, wide: true },\n <>\n <View className={style.prices}>\n <Text bold headline level={2}>\n {currencyFormat({ currency, value: price * (amount || 1) })}\n </Text>\n <View row className={style.pricePerDay}>\n <Text tiny>{currencyFormat({ currency, value: dayPrice })}</Text>\n <Text lighten tiny>\n {translate(L10N.LABEL_PER_UNIT_NIGHT)}\n </Text>\n </View>\n </View>\n\n {occupation.length === 1 ? (\n <Button\n large\n secondary={amount > 0}\n onPress={() =>\n onChange({ id, amount: amount > 0 ? 0 : 1, basePrice, price, standalone: true })\n }\n className={style.button}\n >\n {translate(amount > 0 ? L10N.LABEL_DESELECT : L10N.LABEL_SELECT)}\n </Button>\n ) : (\n <InputSelect\n name=\"amount\"\n disabledOptions={rateAvailability.map((amount) => amount > availableAmount)}\n options={rateAvailability}\n value={amount}\n onChange={(amount) => onChange({ id, amount: parseInt(amount), basePrice, price })}\n className={style.inputSelect}\n />\n )}\n </>,\n )}\n </View>\n\n <View row className={style.footer}>\n <Text small>{cancellation.hint}</Text>\n <Pressable onPress={() => onRateInfo(rate)}>\n <Icon value={ICON.INFO} />\n </Pressable>\n </View>\n </View>\n );\n })}\n\n {!expanded && (\n <ButtonMore\n text={translate(L10N.ACTION_MORE_RATES)}\n onPress={() => setExpanded(true)}\n className={style.buttonMore}\n />\n )}\n </View>\n </View>\n </View>\n );\n};\n\nItem.propTypes = {\n availability: PropTypes.number,\n expanded: PropTypes.bool,\n filter: PropTypes.shape({\n board: PropTypes.string,\n }),\n id: PropTypes.string,\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n name: PropTypes.string,\n occupation: PropTypes.arrayOf(PropTypes.array),\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({}),\n onChange: PropTypes.func,\n onMoreInfo: PropTypes.func,\n onRateInfo: PropTypes.func,\n};\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nexport { Item };\n"],"mappings":"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"}
|
|
@@ -25,6 +25,9 @@ const L10N = exports.L10N = {
|
|
|
25
25
|
LABEL_CANCELLATION_POLICY: {
|
|
26
26
|
id: 'common.label.cancellation_policy'
|
|
27
27
|
},
|
|
28
|
+
LABEL_DESELECT: {
|
|
29
|
+
id: 'common.label.deselect'
|
|
30
|
+
},
|
|
28
31
|
LABEL_DISCOUNT: {
|
|
29
32
|
id: 'finder.label.discount'
|
|
30
33
|
},
|
|
@@ -63,6 +66,9 @@ const L10N = exports.L10N = {
|
|
|
63
66
|
LABEL_REMAINING_ITEMS: {
|
|
64
67
|
id: 'finder.label.remaining_items'
|
|
65
68
|
},
|
|
69
|
+
LABEL_SELECT: {
|
|
70
|
+
id: 'common.label.select'
|
|
71
|
+
},
|
|
66
72
|
LABEL_TOP_AMENITIES: {
|
|
67
73
|
id: 'finder.label.top_amenities'
|
|
68
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.l10n.js","names":["L10N","exports","ACTION_MORE_INFO","id","ACTION_MORE_RATES","LABEL_BED_DISPOSITION","LABEL_BED_TYPE","LABEL_CANCELLATION_POLICY","LABEL_DISCOUNT","LABEL_DISCOUNT_INCLUDED","LABEL_DISCOUNT_TYPE","LABEL_INCLUDED_TAXES_FEES","LABEL_MORE_SERVICES","LABEL_OR","LABEL_ORIGINAL_PRICE","LABEL_PAYMENT_TERMS","LABEL_PER_UNIT_NIGHT","LABEL_REMAINING_ITEMS","LABEL_TOP_AMENITIES"],"sources":["../../../../../src/components/Rates/components/Item/Item.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_MORE_INFO: { id: 'common.action.more_info' },\n ACTION_MORE_RATES: { id: 'finder.action.more_rates' },\n\n LABEL_BED_DISPOSITION: { id: 'finder.label.bed_disposition' },\n LABEL_BED_TYPE: {\n 1: { id: 'finder.label.bed_type_single' },\n 2: { id: 'finder.label.bed_type_double' },\n },\n LABEL_CANCELLATION_POLICY: { id: 'common.label.cancellation_policy' },\n LABEL_DISCOUNT: { id: 'finder.label.discount' },\n LABEL_DISCOUNT_INCLUDED: { id: 'finder.label.discount_included' },\n LABEL_DISCOUNT_TYPE: {\n 0: { id: 'finder.label.discount_club' },\n 1: { id: 'finder.label.discount_deal' },\n 2: { id: 'finder.label.discount_promotion' },\n },\n LABEL_INCLUDED_TAXES_FEES: { id: 'finder.label.includes_taxes_fees' },\n LABEL_MORE_SERVICES: { id: 'finder.label.more_services' },\n LABEL_OR: { id: 'common.label.or' },\n LABEL_ORIGINAL_PRICE: { id: 'finder.label.original_price' },\n LABEL_PAYMENT_TERMS: { id: 'common.label.payment_terms' },\n LABEL_PER_UNIT_NIGHT: { id: 'finder.label.per_unit_night' },\n LABEL_REMAINING_ITEMS: { id: 'finder.label.remaining_items' },\n LABEL_TOP_AMENITIES: { id: 'finder.label.top_amenities' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,gBAAgB,EAAE;IAAEC,EAAE,EAAE;EAA0B,CAAC;EACnDC,iBAAiB,EAAE;IAAED,EAAE,EAAE;EAA2B,CAAC;EAErDE,qBAAqB,EAAE;IAAEF,EAAE,EAAE;EAA+B,CAAC;EAC7DG,cAAc,EAAE;IACd,CAAC,EAAE;MAAEH,EAAE,EAAE;IAA+B,CAAC;IACzC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAA+B;EAC1C,CAAC;EACDI,yBAAyB,EAAE;IAAEJ,EAAE,EAAE;EAAmC,CAAC;EACrEK,cAAc,EAAE;IAAEL,EAAE,EAAE;EAAwB,CAAC;EAC/CM,
|
|
1
|
+
{"version":3,"file":"Item.l10n.js","names":["L10N","exports","ACTION_MORE_INFO","id","ACTION_MORE_RATES","LABEL_BED_DISPOSITION","LABEL_BED_TYPE","LABEL_CANCELLATION_POLICY","LABEL_DESELECT","LABEL_DISCOUNT","LABEL_DISCOUNT_INCLUDED","LABEL_DISCOUNT_TYPE","LABEL_INCLUDED_TAXES_FEES","LABEL_MORE_SERVICES","LABEL_OR","LABEL_ORIGINAL_PRICE","LABEL_PAYMENT_TERMS","LABEL_PER_UNIT_NIGHT","LABEL_REMAINING_ITEMS","LABEL_SELECT","LABEL_TOP_AMENITIES"],"sources":["../../../../../src/components/Rates/components/Item/Item.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_MORE_INFO: { id: 'common.action.more_info' },\n ACTION_MORE_RATES: { id: 'finder.action.more_rates' },\n\n LABEL_BED_DISPOSITION: { id: 'finder.label.bed_disposition' },\n LABEL_BED_TYPE: {\n 1: { id: 'finder.label.bed_type_single' },\n 2: { id: 'finder.label.bed_type_double' },\n },\n LABEL_CANCELLATION_POLICY: { id: 'common.label.cancellation_policy' },\n LABEL_DESELECT: { id: 'common.label.deselect' },\n LABEL_DISCOUNT: { id: 'finder.label.discount' },\n LABEL_DISCOUNT_INCLUDED: { id: 'finder.label.discount_included' },\n LABEL_DISCOUNT_TYPE: {\n 0: { id: 'finder.label.discount_club' },\n 1: { id: 'finder.label.discount_deal' },\n 2: { id: 'finder.label.discount_promotion' },\n },\n LABEL_INCLUDED_TAXES_FEES: { id: 'finder.label.includes_taxes_fees' },\n LABEL_MORE_SERVICES: { id: 'finder.label.more_services' },\n LABEL_OR: { id: 'common.label.or' },\n LABEL_ORIGINAL_PRICE: { id: 'finder.label.original_price' },\n LABEL_PAYMENT_TERMS: { id: 'common.label.payment_terms' },\n LABEL_PER_UNIT_NIGHT: { id: 'finder.label.per_unit_night' },\n LABEL_REMAINING_ITEMS: { id: 'finder.label.remaining_items' },\n LABEL_SELECT: { id: 'common.label.select' },\n LABEL_TOP_AMENITIES: { id: 'finder.label.top_amenities' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,gBAAgB,EAAE;IAAEC,EAAE,EAAE;EAA0B,CAAC;EACnDC,iBAAiB,EAAE;IAAED,EAAE,EAAE;EAA2B,CAAC;EAErDE,qBAAqB,EAAE;IAAEF,EAAE,EAAE;EAA+B,CAAC;EAC7DG,cAAc,EAAE;IACd,CAAC,EAAE;MAAEH,EAAE,EAAE;IAA+B,CAAC;IACzC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAA+B;EAC1C,CAAC;EACDI,yBAAyB,EAAE;IAAEJ,EAAE,EAAE;EAAmC,CAAC;EACrEK,cAAc,EAAE;IAAEL,EAAE,EAAE;EAAwB,CAAC;EAC/CM,cAAc,EAAE;IAAEN,EAAE,EAAE;EAAwB,CAAC;EAC/CO,uBAAuB,EAAE;IAAEP,EAAE,EAAE;EAAiC,CAAC;EACjEQ,mBAAmB,EAAE;IACnB,CAAC,EAAE;MAAER,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAAkC;EAC7C,CAAC;EACDS,yBAAyB,EAAE;IAAET,EAAE,EAAE;EAAmC,CAAC;EACrEU,mBAAmB,EAAE;IAAEV,EAAE,EAAE;EAA6B,CAAC;EACzDW,QAAQ,EAAE;IAAEX,EAAE,EAAE;EAAkB,CAAC;EACnCY,oBAAoB,EAAE;IAAEZ,EAAE,EAAE;EAA8B,CAAC;EAC3Da,mBAAmB,EAAE;IAAEb,EAAE,EAAE;EAA6B,CAAC;EACzDc,oBAAoB,EAAE;IAAEd,EAAE,EAAE;EAA8B,CAAC;EAC3De,qBAAqB,EAAE;IAAEf,EAAE,EAAE;EAA+B,CAAC;EAC7DgB,YAAY,EAAE;IAAEhB,EAAE,EAAE;EAAsB,CAAC;EAC3CiB,mBAAmB,EAAE;IAAEjB,EAAE,EAAE;EAA6B;AAC1D,CAAC"}
|
|
@@ -77,6 +77,10 @@
|
|
|
77
77
|
min-width: calc(var(--mirai-ui-space-XXL) + var(--mirai-ui-space-M));
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
+
.item .rate .button {
|
|
81
|
+
width: calc(var(--mirai-ui-space-XXL) * 2);
|
|
82
|
+
}
|
|
83
|
+
|
|
80
84
|
.item .rate .footer {
|
|
81
85
|
border-top: solid 1px var(--mirai-ui-content-border);
|
|
82
86
|
gap: var(--mirai-ui-space-XS);
|
|
@@ -72,8 +72,8 @@ const Discount = _ref => {
|
|
|
72
72
|
}))
|
|
73
73
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
74
74
|
bold: true,
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
accent: true,
|
|
76
|
+
small: true
|
|
77
77
|
}, translate(!isMobile ? _Item.L10N.LABEL_DISCOUNT_INCLUDED : _Item.L10N.LABEL_DISCOUNT, {
|
|
78
78
|
value: "".concat(percentage, "%")
|
|
79
79
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Discount.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_Item","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Discount","_ref","discount","breakdown","percentage","originalPrice","isMobile","useDevice","value","currency","useStore","translate","useLocale","createElement","Tooltip","bottom","pressable","Template","View","className","row","item","Text","tiny","type","L10N","LABEL_ORIGINAL_PRICE","currencyFormat","anchor","map","_ref2","key","LABEL_DISCOUNT_TYPE","bold","small","LABEL_DISCOUNT_INCLUDED","LABEL_DISCOUNT","concat","exports","displayName","propTypes","PropTypes","shape","arrayOf","number"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Discount/Discount.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './Discount.module.css';\nimport { L10N } from '../../Item.l10n';\n\nconst Discount = ({ discount: { breakdown = [], percentage }, originalPrice }) => {\n const { isMobile } = useDevice();\n const { value: { currency } = {} } = useStore();\n const { translate } = useLocale();\n\n return (\n <Tooltip\n bottom\n pressable\n Template={() => (\n <View className={style.breakdown}>\n <View row className={style.item}>\n <Text tiny className={style.type}>\n {translate(L10N.LABEL_ORIGINAL_PRICE)}\n </Text>\n <Text tiny>{currencyFormat({ currency, value: originalPrice })}</Text>\n </View>\n <View className={style.anchor} />\n {breakdown?.map(({ type, value }) => (\n <View row key={type} className={style.item}>\n <Text tiny className={style.type}>\n {translate(L10N.LABEL_DISCOUNT_TYPE[type])}\n </Text>\n <Text tiny>{currencyFormat({ currency, value: -value })}</Text>\n </View>\n ))}\n </View>\n )}\n >\n <Text bold small
|
|
1
|
+
{"version":3,"file":"Discount.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_Item","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Discount","_ref","discount","breakdown","percentage","originalPrice","isMobile","useDevice","value","currency","useStore","translate","useLocale","createElement","Tooltip","bottom","pressable","Template","View","className","row","item","Text","tiny","type","L10N","LABEL_ORIGINAL_PRICE","currencyFormat","anchor","map","_ref2","key","LABEL_DISCOUNT_TYPE","bold","accent","small","LABEL_DISCOUNT_INCLUDED","LABEL_DISCOUNT","concat","exports","displayName","propTypes","PropTypes","shape","arrayOf","number"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Discount/Discount.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './Discount.module.css';\nimport { L10N } from '../../Item.l10n';\n\nconst Discount = ({ discount: { breakdown = [], percentage }, originalPrice }) => {\n const { isMobile } = useDevice();\n const { value: { currency } = {} } = useStore();\n const { translate } = useLocale();\n\n return (\n <Tooltip\n bottom\n pressable\n Template={() => (\n <View className={style.breakdown}>\n <View row className={style.item}>\n <Text tiny className={style.type}>\n {translate(L10N.LABEL_ORIGINAL_PRICE)}\n </Text>\n <Text tiny>{currencyFormat({ currency, value: originalPrice })}</Text>\n </View>\n <View className={style.anchor} />\n {breakdown?.map(({ type, value }) => (\n <View row key={type} className={style.item}>\n <Text tiny className={style.type}>\n {translate(L10N.LABEL_DISCOUNT_TYPE[type])}\n </Text>\n <Text tiny>{currencyFormat({ currency, value: -value })}</Text>\n </View>\n ))}\n </View>\n )}\n >\n <Text bold accent small>\n {translate(!isMobile ? L10N.LABEL_DISCOUNT_INCLUDED : L10N.LABEL_DISCOUNT, { value: `${percentage}%` })}\n </Text>\n </Tooltip>\n );\n};\n\nDiscount.displayName = 'Mirai:Core:Rates:Item.Discount';\n\nDiscount.propTypes = {\n discount: PropTypes.shape({\n breakdown: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.number,\n value: PropTypes.number,\n }),\n ),\n percentage: PropTypes.number,\n }),\n originalPrice: PropTypes.number,\n};\n\nexport { Discount };\n"],"mappings":"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"}
|
|
@@ -21,10 +21,3 @@
|
|
|
21
21
|
flex: 1;
|
|
22
22
|
width: max-content;
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
.percentage {
|
|
26
|
-
background-color: var(--mirai-ui-accent);
|
|
27
|
-
border-radius: var(--mirai-ui-border-radius);
|
|
28
|
-
color: var(--mirai-ui-base);
|
|
29
|
-
padding: calc(var(--mirai-ui-space-XS) / 2) var(--mirai-ui-space-XS);
|
|
30
|
-
}
|
|
@@ -19,7 +19,7 @@ const {
|
|
|
19
19
|
const KEY_HASH = 'm14357';
|
|
20
20
|
const get = function () {
|
|
21
21
|
let {
|
|
22
|
-
clubDiscount:
|
|
22
|
+
clubDiscount: applyClubDiscount,
|
|
23
23
|
currency: userCurrency,
|
|
24
24
|
locale,
|
|
25
25
|
session = {},
|
|
@@ -33,7 +33,7 @@ const get = function () {
|
|
|
33
33
|
nights
|
|
34
34
|
} = others;
|
|
35
35
|
const params = Object.entries({
|
|
36
|
-
|
|
36
|
+
applyClubDiscount,
|
|
37
37
|
currency: userCurrency,
|
|
38
38
|
...others,
|
|
39
39
|
accessClubToken: session.authorization,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","names":["_dataSources","require","_services","_jsSha","_interopRequireDefault","_constants","_helpers","obj","__esModule","default","DOUBLE","SINGLE","BED_TYPE","KEY_HASH","get","clubDiscount","applyCubDiscount","currency","userCurrency","locale","session","others","arguments","length","undefined","Promise","resolve","reject","idtokenprovider","id","checkin","nights","params","Object","entries","accessClubToken","authorization","cid","sha1","concat","lang","split","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","URLSearchParams","headers","catch","result","error","currencyCode","hotelCurrency","measureUnit","unit","roomTypes","ServiceCurrency","exchange","items","values","map","amountAvailable","availability","name","newInfoRoom","info","occupationOptions","rates","description","roomTypeInfo","bedDistributions","bedType","photos","roomSize","size","occupationQuantities","numAdults","adults","totalChildren","children","occupationRates","forEach","boardOptions","boards","cancellationPolicyDeadline","cancelEnd","cancellationPolicyName","cancelName","cancellationPolicyText","cancelText","cancellationPolicyTooltip","cancelTitle","includedList","included","paymentText","paymentConditions","restrictions","boardGroupName","boardName","detail","discountPricesBefore","discounts","maxRoomsPerReservation","max","minRoomsPerReservation","min","offersApplied","deals","totalLocalTaxes","localTaxes","totalPriceOriginal","totalPriceWithTaxes","totalPrice","withTaxesAvgPrice","clientCodeTotal","promoCode","clubTotal","club","offerTotal","deal","originalPrice","Math","withTaxes","push","amount","basePrice","normalizePrice","cancellation","hint","trim","title","text","dayPrice","getPrice","price","days","dayStandardFormat","offerId","discount","parseDiscount","Set","flat","slice","amenities","parseAmenities","bedDisposition","type","BED_DISPOSITION","bedTypes","reduce","next","includes","images","photoAltDescription","alt","urlLarge","large","urlMediumRect","thumbnail","maxOccupation","UNIT","exports"],"sources":["../../../src/services/Rates/get.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency } from '@mirai/services';\nimport sha1 from 'js-sha1';\n\nimport { BED_DISPOSITION, BED_TYPE, UNIT } from './constants';\nimport { getPrice, normalizePrice, parseAmenities, parseDiscount } from './helpers';\n\nconst { DOUBLE, SINGLE } = BED_TYPE;\n\nconst KEY_HASH = 'm14357';\n\nexport const get = ({ clubDiscount: applyCubDiscount, currency: userCurrency, locale, session = {}, ...others } = {}) =>\n new Promise(async (resolve, reject) => {\n if (!userCurrency || !locale) return reject();\n\n const { idtokenprovider: id, checkin, nights } = others;\n const params = Object.entries({\n applyCubDiscount,\n currency: userCurrency,\n ...others,\n accessClubToken: session.authorization,\n cid: sha1(`${KEY_HASH}-${id}-${checkin}-${nights}`),\n lang: locale.split('-')[0],\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_BOOKING,\n endpoint: `/request_availability_v2.json?${new URLSearchParams(params)}`,\n //TODO: back have to change the endpoint for don`t have remove this headers\n headers: { 'Content-Type': undefined, 'X-Requested-With': undefined },\n }).catch(reject);\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const { currencyCode: hotelCurrency, measureUnit: unit, roomTypes } = response;\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n\n resolve({\n items: Object.values(roomTypes).map(\n ({ amountAvailable: availability, name, newInfoRoom: info = {}, occupationOptions = {} } = {}) => {\n const rates = [];\n const { description, roomTypeInfo: { bedDistributions: bedType = [], photos, roomSize: size } = {} } = info;\n const {\n occupationQuantities: { numAdults: adults = 0, totalChildren: children = 0 } = {},\n rates: occupationRates,\n } = Object.values(occupationOptions)[0];\n\n Object.values(occupationRates).forEach(\n ({\n boardOptions: boards,\n cancellationPolicyDeadline: cancelEnd,\n cancellationPolicyName: cancelName,\n cancellationPolicyText: cancelText,\n cancellationPolicyTooltip: cancelTitle,\n includedList: included,\n name,\n paymentText: paymentConditions,\n restrictions,\n } = {}) => {\n Object.values(boards).forEach(\n ({\n boardGroupName: boardName,\n detail,\n discountPricesBefore: discounts = {},\n id,\n maxRoomsPerReservation: max,\n minRoomsPerReservation: min,\n offersApplied: deals,\n totalLocalTaxes: localTaxes,\n totalPriceOriginal,\n totalPriceWithTaxes: totalPrice,\n withTaxesAvgPrice,\n } = {}) => {\n const { clientCodeTotal: promoCode, clubTotal: club, offerTotal: deal } = discounts;\n const originalPrice =\n Math.max(deal?.withTaxes || 0, club?.withTaxes || 0, promoCode?.withTaxes || 0) || totalPrice;\n\n rates.push({\n amount: [min, availability < max ? availability : max],\n basePrice: normalizePrice(totalPriceOriginal, currency),\n boardName,\n cancellation: {\n hint: `${cancelName} ${cancelEnd ? cancelEnd : ''}`.trim(),\n title: cancelTitle,\n text: cancelText,\n },\n dayPrice: getPrice({ currency, hotelCurrency, price: withTaxesAvgPrice }),\n days: detail.map(({ dayStandardFormat: value, offerId: deal, price } = {}) => ({\n deal,\n price: getPrice({ currency, hotelCurrency, price }),\n value,\n })),\n deals,\n discount: parseDiscount({ currency, hotelCurrency, ...discounts, originalPrice, totalPrice }),\n id,\n included: [...new Set(Object.values(included).flat())].slice(0, 3),\n localTaxes,\n originalPrice: getPrice({ currency, hotelCurrency, price: originalPrice }),\n price: getPrice({ currency, hotelCurrency, price: totalPrice + localTaxes }),\n name,\n paymentConditions,\n restrictions,\n });\n },\n );\n },\n );\n\n return {\n amenities: parseAmenities(info),\n availability,\n bedDisposition: bedType.map((type) => BED_DISPOSITION[type]),\n bedTypes: bedType.reduce((result, next) => {\n BED_DISPOSITION[next].forEach(({ amount, type } = {}) => {\n if ([DOUBLE, SINGLE].includes(type) && amount > 0) result[result.length ? 1 : 0] = type;\n });\n\n return result;\n }, []),\n description,\n images: photos?.map(({ photoAltDescription: alt, urlLarge: large, urlMediumRect: thumbnail } = {}) => ({\n alt,\n large,\n thumbnail,\n })),\n name,\n maxOccupation: adults + children,\n rates,\n size: size ? `${size} ${UNIT[unit].size}` : undefined,\n };\n },\n ),\n });\n });\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"get.js","names":["_dataSources","require","_services","_jsSha","_interopRequireDefault","_constants","_helpers","obj","__esModule","default","DOUBLE","SINGLE","BED_TYPE","KEY_HASH","get","clubDiscount","applyClubDiscount","currency","userCurrency","locale","session","others","arguments","length","undefined","Promise","resolve","reject","idtokenprovider","id","checkin","nights","params","Object","entries","accessClubToken","authorization","cid","sha1","concat","lang","split","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","URLSearchParams","headers","catch","result","error","currencyCode","hotelCurrency","measureUnit","unit","roomTypes","ServiceCurrency","exchange","items","values","map","amountAvailable","availability","name","newInfoRoom","info","occupationOptions","rates","description","roomTypeInfo","bedDistributions","bedType","photos","roomSize","size","occupationQuantities","numAdults","adults","totalChildren","children","occupationRates","forEach","boardOptions","boards","cancellationPolicyDeadline","cancelEnd","cancellationPolicyName","cancelName","cancellationPolicyText","cancelText","cancellationPolicyTooltip","cancelTitle","includedList","included","paymentText","paymentConditions","restrictions","boardGroupName","boardName","detail","discountPricesBefore","discounts","maxRoomsPerReservation","max","minRoomsPerReservation","min","offersApplied","deals","totalLocalTaxes","localTaxes","totalPriceOriginal","totalPriceWithTaxes","totalPrice","withTaxesAvgPrice","clientCodeTotal","promoCode","clubTotal","club","offerTotal","deal","originalPrice","Math","withTaxes","push","amount","basePrice","normalizePrice","cancellation","hint","trim","title","text","dayPrice","getPrice","price","days","dayStandardFormat","offerId","discount","parseDiscount","Set","flat","slice","amenities","parseAmenities","bedDisposition","type","BED_DISPOSITION","bedTypes","reduce","next","includes","images","photoAltDescription","alt","urlLarge","large","urlMediumRect","thumbnail","maxOccupation","UNIT","exports"],"sources":["../../../src/services/Rates/get.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency } from '@mirai/services';\nimport sha1 from 'js-sha1';\n\nimport { BED_DISPOSITION, BED_TYPE, UNIT } from './constants';\nimport { getPrice, normalizePrice, parseAmenities, parseDiscount } from './helpers';\n\nconst { DOUBLE, SINGLE } = BED_TYPE;\n\nconst KEY_HASH = 'm14357';\n\nexport const get = ({\n clubDiscount: applyClubDiscount,\n currency: userCurrency,\n locale,\n session = {},\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n if (!userCurrency || !locale) return reject();\n\n const { idtokenprovider: id, checkin, nights } = others;\n const params = Object.entries({\n applyClubDiscount,\n currency: userCurrency,\n ...others,\n accessClubToken: session.authorization,\n cid: sha1(`${KEY_HASH}-${id}-${checkin}-${nights}`),\n lang: locale.split('-')[0],\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_BOOKING,\n endpoint: `/request_availability_v2.json?${new URLSearchParams(params)}`,\n //TODO: back have to change the endpoint for don`t have remove this headers\n headers: { 'Content-Type': undefined, 'X-Requested-With': undefined },\n }).catch(reject);\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const { currencyCode: hotelCurrency, measureUnit: unit, roomTypes } = response;\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n\n resolve({\n items: Object.values(roomTypes).map(\n ({ amountAvailable: availability, name, newInfoRoom: info = {}, occupationOptions = {} } = {}) => {\n const rates = [];\n const { description, roomTypeInfo: { bedDistributions: bedType = [], photos, roomSize: size } = {} } = info;\n const {\n occupationQuantities: { numAdults: adults = 0, totalChildren: children = 0 } = {},\n rates: occupationRates,\n } = Object.values(occupationOptions)[0];\n\n Object.values(occupationRates).forEach(\n ({\n boardOptions: boards,\n cancellationPolicyDeadline: cancelEnd,\n cancellationPolicyName: cancelName,\n cancellationPolicyText: cancelText,\n cancellationPolicyTooltip: cancelTitle,\n includedList: included,\n name,\n paymentText: paymentConditions,\n restrictions,\n } = {}) => {\n Object.values(boards).forEach(\n ({\n boardGroupName: boardName,\n detail,\n discountPricesBefore: discounts = {},\n id,\n maxRoomsPerReservation: max,\n minRoomsPerReservation: min,\n offersApplied: deals,\n totalLocalTaxes: localTaxes,\n totalPriceOriginal,\n totalPriceWithTaxes: totalPrice,\n withTaxesAvgPrice,\n } = {}) => {\n const { clientCodeTotal: promoCode, clubTotal: club, offerTotal: deal } = discounts;\n const originalPrice =\n Math.max(deal?.withTaxes || 0, club?.withTaxes || 0, promoCode?.withTaxes || 0) || totalPrice;\n\n rates.push({\n amount: [min, availability < max ? availability : max],\n basePrice: normalizePrice(totalPriceOriginal, currency),\n boardName,\n cancellation: {\n hint: `${cancelName} ${cancelEnd ? cancelEnd : ''}`.trim(),\n title: cancelTitle,\n text: cancelText,\n },\n dayPrice: getPrice({ currency, hotelCurrency, price: withTaxesAvgPrice }),\n days: detail.map(({ dayStandardFormat: value, offerId: deal, price } = {}) => ({\n deal,\n price: getPrice({ currency, hotelCurrency, price }),\n value,\n })),\n deals,\n discount: parseDiscount({ currency, hotelCurrency, ...discounts, originalPrice, totalPrice }),\n id,\n included: [...new Set(Object.values(included).flat())].slice(0, 3),\n localTaxes,\n originalPrice: getPrice({ currency, hotelCurrency, price: originalPrice }),\n price: getPrice({ currency, hotelCurrency, price: totalPrice + localTaxes }),\n name,\n paymentConditions,\n restrictions,\n });\n },\n );\n },\n );\n\n return {\n amenities: parseAmenities(info),\n availability,\n bedDisposition: bedType.map((type) => BED_DISPOSITION[type]),\n bedTypes: bedType.reduce((result, next) => {\n BED_DISPOSITION[next].forEach(({ amount, type } = {}) => {\n if ([DOUBLE, SINGLE].includes(type) && amount > 0) result[result.length ? 1 : 0] = type;\n });\n\n return result;\n }, []),\n description,\n images: photos?.map(({ photoAltDescription: alt, urlLarge: large, urlMediumRect: thumbnail } = {}) => ({\n alt,\n large,\n thumbnail,\n })),\n name,\n maxOccupation: adults + children,\n rates,\n size: size ? `${size} ${UNIT[unit].size}` : undefined,\n };\n },\n ),\n });\n });\n"],"mappings":"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"}
|