@mirai/core 0.3.47 → 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.
@@ -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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAC,uBAAA,CAAAJ,OAAA;AAEA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAN,uBAAA,CAAAJ,OAAA;AACA,IAAAW,OAAA,GAAAC,sBAAA,CAAAZ,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AACA,IAAAc,OAAA,GAAAd,OAAA;AACA,IAAAe,SAAA,GAAAf,OAAA;AAAyC,SAAAY,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAhB,wBAAAgB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAAA,SAAAY,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAL,CAAA,MAAAA,CAAA,GAAAM,SAAA,CAAAC,MAAA,EAAAP,CAAA,UAAAQ,MAAA,GAAAF,SAAA,CAAAN,CAAA,YAAAS,GAAA,IAAAD,MAAA,QAAAf,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAEzC,MAAMK,KAAK,GAAGC,IAAA,IAAmB;EAAA,IAAlB;IAAE,GAAGC;EAAO,CAAC,GAAAD,IAAA;EAC1B,MAAM;IAAEE;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IACJd,GAAG;IACHe,KAAK,EAAE;MAAEC,IAAI,EAAE;QAAEC;MAAS,CAAC,GAAG,CAAC,CAAC;MAAEC,QAAQ;MAAEC,KAAK,GAAG,CAAC,CAAC;MAAEC,MAAM;MAAEC,OAAO;MAAEC;IAAU;EACrF,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAC,IAAI,CAAC;EAC5C,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC;EAC9C,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAJ,eAAQ,EAACK,SAAS,CAAC;EACnD,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAP,eAAQ,EAAC;IAAEQ,YAAY,EAAEjB;EAAS,CAAC,CAAC;EAChE,MAAM,CAACkB,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAV,eAAQ,EAAC,CAAC;EAC1C,MAAM,CAACW,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAZ,eAAQ,EAAC,CAAC;EAClD,MAAM,CAACa,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAd,eAAQ,EAAC,CAAC;EACpD,MAAM,CAACe,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAhB,eAAQ,EAAC,CAAC,CAAC,CAAC;EAE5C,IAAAiB,gBAAS,EAAC,MAAM;IACdC,KAAK,CAAC1B,QAAQ,CAAC;IACf;EACF,CAAC,EAAE,CAACA,QAAQ,EAAEE,MAAM,EAAEC,OAAO,CAAC,CAAC;EAE/B,IAAAsB,gBAAS,EAAC,MAAM;IACd,MAAME,YAAY,GAAGA,CAAA,KAAMpB,UAAU,CAAC,IAAI,CAAC;IAE3CqB,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAEF,YAAY,CAAC;IAC/C,OAAO,MAAMC,MAAM,CAACE,mBAAmB,CAAC,QAAQ,EAAEH,YAAY,CAAC;IAC/D;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMD,KAAK,GAAG,eAAAA,CAAO1B,QAAQ,EAA6D;IAAA,IAA3DgB,YAAY,GAAA7B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA0B,SAAA,GAAA1B,SAAA,MAAG2B,MAAM,CAACE,YAAY;IAAA,IAAEe,MAAM,GAAA5C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA0B,SAAA,GAAA1B,SAAA,MAAGiB,SAAS;IACnFQ,WAAW,CAAC,IAAI,CAAC;IACjBF,aAAa,CACX,MAAMsB,sBAAY,CAAC9D,GAAG,CAAC;MAAE,GAAG6D,MAAM;MAAE/B,QAAQ;MAAEE,MAAM;MAAEC,OAAO;MAAEa;IAAa,CAAC,CAAC,CAACiB,KAAK,CAACX,gBAAgB,CACvG,CAAC;IACDV,WAAW,CAAC,KAAK,CAAC;EACpB,CAAC;EAED,MAAMsB,YAAY,GAAG,SAAAA,CAAA,EAAwC;IAAA,IAAvC;MAAEC,EAAE;MAAEC,MAAM,GAAG,CAAC;MAAE,GAAG1C;IAAO,CAAC,GAAAP,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA0B,SAAA,GAAA1B,SAAA,MAAG,CAAC,CAAC;IACtD,MAAMkD,IAAI,GAAG;MAAE,GAAGd;IAAS,CAAC;IAC5B,IAAIa,MAAM,KAAK,CAAC,EAAE,OAAOC,IAAI,CAACF,EAAE,CAAC,CAAC,KAC7BE,IAAI,CAACF,EAAE,CAAC,GAAG;MAAEC,MAAM;MAAE,GAAG1C;IAAO,CAAC;IAErC8B,WAAW,CAACa,IAAI,CAAC;EACnB,CAAC;EAED,MAAMC,oBAAoB,GAAG,MAAOC,YAAY,IAAK;IACnD,MAAMb,KAAK,CAACa,YAAY,CAAC;IACzBzD,GAAG,CAAC;MAAEkB,QAAQ,EAAEuC;IAAa,CAAC,CAAC;EACjC,CAAC;EAED,MAAMC,kBAAkB,GAAG,MAAOC,UAAU,IAAK;IAC/C1B,SAAS,CAAC0B,UAAU,CAAC;IACrB,IAAIA,UAAU,CAACzB,YAAY,KAAKF,MAAM,CAACE,YAAY,EAAE,MAAMU,KAAK,CAAC1B,QAAQ,EAAEyC,UAAU,CAACzB,YAAY,CAAC;EACrG,CAAC;EAED,MAAM0B,kBAAkB,GAAIC,MAAM,IAAK;IACrCpC,UAAU,CAAC,IAAI,CAAC;IAChBG,aAAa,CAACG,SAAS,CAAC;IACxB,MAAMkB,MAAM,GAAG,IAAAa,wBAAe,EAAC;MAAE,GAAGxC,SAAS;MAAE,GAAGuC,MAAM;MAAE3C,QAAQ;MAAEE,MAAM;MAAED;IAAM,CAAC,CAAC;IAEpF4C,OAAO,CAACC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAAC,qBAAW,EAAChB,MAAM,CAAC,CAAC;IACjDL,KAAK,CAAC1B,QAAQ,EAAEc,MAAM,CAACE,YAAY,EAAEe,MAAM,CAAC;EAC9C,CAAC;EAED,MAAMiB,QAAQ,GAAGvC,UAAU,KAAKI,SAAS;EAEzC,oBACEjE,MAAA,CAAAe,OAAA,CAAAsF,aAAA,CAAArG,MAAA,CAAAe,OAAA,CAAAuF,QAAA,qBACEtG,MAAA,CAAAe,OAAA,CAAAsF,aAAA,CAACtG,GAAA,CAAAwG,IAAI;IAACC,SAAS,EAAEjG,KAAK,CAACkG;EAAO,gBAC5BzG,MAAA,CAAAe,OAAA,CAAAsF,aAAA,CAAC1F,OAAA,CAAA+F,MAAM;IACLhD,OAAO,EAAEA,OAAQ;IACjBiD,IAAI,EAAE5D,SAAS,CAAC6D,YAAI,CAACC,aAAa,CAAE;IACpCC,QAAQ,EAAEA,CAAA,KAAMnD,UAAU,CAAC,KAAK,CAAE;IAClCoD,QAAQ,EAAEjB;EAAmB,CAC9B,CACG,CAAC,eACP9F,MAAA,CAAAe,OAAA,CAAAsF,aAAA,CAACtG,GAAA,CAAAwG,IAAI,EAAApE,QAAA,KAAKW,MAAM;IAAEkE,IAAI,EAAC,OAAO;IAACR,SAAS,EAAE,IAAAS,UAAM,EAAC1G,KAAK,CAAC2G,SAAS,EAAEpE,MAAM,CAAC0D,SAAS;EAAE,iBAClFxG,MAAA,CAAAe,OAAA,CAAAsF,aAAA,CAACtG,GAAA,CAAAoH,QAAQ;IAACC,aAAa;IAACC,OAAO,EAAEtD,QAAQ,IAAI,CAACU,aAAc;IAAC+B,SAAS,EAAEjG,KAAK,CAAC+G;EAAS,CAAE,CAAC,eAE1FtH,MAAA,CAAAe,OAAA,CAAAsF,aAAA,CAACtG,GAAA,CAAAwG,IAAI;IAACC,SAAS,EAAE,CAACjG,KAAK,CAACgH,OAAO,EAAEhH,KAAK,CAACiH,OAAO;EAAE,GAC7CpB,QAAQ,gBACPpG,MAAA,CAAAe,OAAA,CAAAsF,aAAA,CAAArG,MAAA,CAAAe,OAAA,CAAAuF,QAAA,qBACEtG,MAAA,CAAAe,OAAA,CAAAsF,aAAA,CAACjG,MAAA,CAAAqH,MAAM;IACL5D,UAAU,EAAEA,UAAW;IACvBZ,KAAK,EAAEiB,MAAO;IACdwD,QAAQ,EAAE9B,kBAAmB;IAC7B+B,UAAU,EAAEjC;EAAqB,CAClC,CAAC,EACD7B,UAAU,CAAC+D,KAAK,CAACC,GAAG,CAAC,CAAAC,KAAA,EAAkBC,KAAK;IAAA,IAAtB;MAAExC,EAAE;MAAE,GAAGyC;IAAK,CAAC,GAAAF,KAAA;IAAA,oBACpC9H,MAAA,CAAAe,OAAA,CAAAsF,aAAA,CAACnG,WAAA,CAAA+H,IAAI,EAAA9F,QAAA;MACHO,GAAG,EAAE6C,EAAE,IAAIwC,KAAM;MACXxC;IAAE,GAAKyC,IAAI;MAAErD,QAAQ;MAAET,MAAM;MACnCwD,QAAQ,EAAEpC,YAAa;MACvB4C,UAAU,EAAEA,CAAA,KAAM5D,WAAW,CAAC0D,IAAI,CAAE;MACpCG,UAAU,EAAGC,IAAI,IAAK5D,eAAe,CAAC4D,IAAI;IAAE,EAC7C,CAAC;EAAA,CACH,CACD,CAAC,gBAEHpI,MAAA,CAAAe,OAAA,CAAAsF,aAAA,CAAC7F,OAAA,CAAAO,OAAQ,MAAE,CAET,CAAC,eAEPf,MAAA,CAAAe,OAAA,CAAAsF,aAAA,CAAChG,OAAA,CAAAgI,MAAM;IAACxE,UAAU,EAAEA,UAAW;IAACK,MAAM,EAAEA,MAAO;IAACS,QAAQ,EAAEA,QAAS;IAAC+C,QAAQ,EAAEpC;EAAa,CAAE,CACzF,CAAC,eAEPtF,MAAA,CAAAe,OAAA,CAAAsF,aAAA,CAACnG,WAAA,CAAAoI,aAAa,EAAAnG,QAAA,KAAKkC,QAAQ;IAAEgD,OAAO,EAAE,CAAC,CAAChD,QAAS;IAACkE,OAAO,EAAEA,CAAA,KAAMjE,WAAW,CAAC;EAAE,EAAE,CAAC,eAClFtE,MAAA,CAAAe,OAAA,CAAAsF,aAAA,CAACnG,WAAA,CAAAsI,iBAAiB,EAAArG,QAAA,KAAKoC,YAAY;IAAE8C,OAAO,EAAE,CAAC,CAAC9C,YAAa;IAACgE,OAAO,EAAEA,CAAA,KAAM/D,eAAe,CAAC;EAAE,EAAE,CACjG,CAAC;AAEP,CAAC;AAACiE,OAAA,CAAA7F,KAAA,GAAAA,KAAA"}
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.InputSelect, {
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,uBAAuB,EAAE;IAAEN,EAAE,EAAE;EAAiC,CAAC;EACjEO,mBAAmB,EAAE;IACnB,CAAC,EAAE;MAAEP,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAAkC;EAC7C,CAAC;EACDQ,yBAAyB,EAAE;IAAER,EAAE,EAAE;EAAmC,CAAC;EACrES,mBAAmB,EAAE;IAAET,EAAE,EAAE;EAA6B,CAAC;EACzDU,QAAQ,EAAE;IAAEV,EAAE,EAAE;EAAkB,CAAC;EACnCW,oBAAoB,EAAE;IAAEX,EAAE,EAAE;EAA8B,CAAC;EAC3DY,mBAAmB,EAAE;IAAEZ,EAAE,EAAE;EAA6B,CAAC;EACzDa,oBAAoB,EAAE;IAAEb,EAAE,EAAE;EAA8B,CAAC;EAC3Dc,qBAAqB,EAAE;IAAEd,EAAE,EAAE;EAA+B,CAAC;EAC7De,mBAAmB,EAAE;IAAEf,EAAE,EAAE;EAA6B;AAC1D,CAAC"}
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
- small: true,
76
- className: style.percentage
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 className={style.percentage}>\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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"}
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: applyCubDiscount,
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
- applyCubDiscount,
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.3.47",
3
+ "version": "0.3.48",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",