@mirai/core 0.3.261 → 0.3.262

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.
@@ -211,7 +211,9 @@ const Unavailability = _ref => {
211
211
  } = _ref2;
212
212
  return /*#__PURE__*/_react.default.createElement(_shared__.Card, {
213
213
  key: "rooms:".concat(index)
214
- }, /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
214
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, {
215
+ className: style.card
216
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
215
217
  bold: true,
216
218
  capitalize: true,
217
219
  headline: !isMobile,
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_shared__","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Unavailability","_ref","calendar","hotel","email","phone","hotels","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","currency","finder","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","rooms","undefined","map","handleFinder","isCalendar","focus","renderPrice","price","onPress","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","lighten","getLabelTaxes","Button","ACTION_VIEW_MORE","renderContactInfo","action","contactInfo","LABEL_CONTACT_INFO","Action","inline","href","concat","place","id","hasSuggestions","unavailability","banner","Icon","ICON","CALENDAR_BUSY","PERSON_OFF","wide","texts","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","Cards","taxes","index","Card","card","dateFormat","DATE_FORMAT","anchorDates","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","getAccommodationLabel","plural","type","distribution","name","roomIndex","room","_item$ages","item","itemIndex","getOccupationLabel","ages","OCCUPATION_TYPE","CHILD","LABEL_YEARS_OLD","amount","sort","join","LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS","CardHotel","exports","displayName","propTypes","PropTypes","shape","string","arrayOf","number"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { Card, Cards } from '../__shared__';\nimport { EVENT, OCCUPATION_TYPE } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotel: { email, phone } = {},\n hotels = [],\n suggestions: { calendar: calendarSuggestions = [], description, occupation: occupationSuggestions = [] } = {},\n taxesType,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = store;\n\n const handleCalendar = (from, to) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, calendar: [from, to] } });\n };\n\n const handleOccupation = (rooms = []) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, occupation: rooms.map(({ occupation } = {}) => occupation) } });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, isCalendar ? { calendar, focus: 'calendar' } : { focus: 'occupation' });\n };\n\n const renderPrice = ({ price, onPress } = {}) => (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n {!!taxesType && (\n <Text lighten small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n\n const renderContactInfo = () => (\n <Text action={!isMobile} small={isMobile} className={style.contactInfo}>\n {translate(L10N.LABEL_CONTACT_INFO, {\n email: (\n <Action inline href={`mailto:${email}`} small={isMobile} target=\"_blank\" className={style.action}>\n {email}\n </Action>\n ),\n phone: (\n <Action inline href={`tel:${phone}`} small={isMobile} target=\"_blank\" className={style.action}>\n {phone}\n </Action>\n ),\n })}\n </Text>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const hasSuggestions = calendarSuggestions.length > 0 || occupationSuggestions.length > 0;\n const isCalendar = calendarSuggestions.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon value={isCalendar ? ICON.CALENDAR_BUSY : ICON.PERSON_OFF} />\n <View wide className={style.texts}>\n <Text headline level={isMobile ? 3 : 2}>\n {isCalendar\n ? description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)\n : translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)}\n </Text>\n {!isMobile && renderContactInfo()}\n </View>\n <Button wide={isMobile} onPress={handleFinder}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n {isMobile && renderContactInfo()}\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {isCalendar && (\n <Cards>\n {calendarSuggestions.map(({ from, to, price = 0, taxes } = {}, index) => (\n <Card key={`calendar:${index}`}>\n <View className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n </Card>\n ))}\n </Cards>\n )}\n\n {occupationSuggestions.length > 0 && (\n <Cards>\n {occupationSuggestions.map(({ rooms = [], price = 0, taxes }, index) => (\n <Card key={`rooms:${index}`}>\n <View>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${rooms.length} ${getAccommodationLabel(\n { plural: rooms.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {rooms.map(({ name, occupation = [] } = {}, roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>\n {name}\n </Text>\n {occupation.map((item = {}, itemIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${itemIndex}`} lighten small>\n {`${getOccupationLabel({ ...item, ages: [] }, translate)} ${\n item.type === OCCUPATION_TYPE.CHILD\n ? `(${translate(L10N.LABEL_YEARS_OLD, { amount: item.ages?.sort().join('-') })})`\n : ''\n }`}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(rooms) })}\n </View>\n </Card>\n ))}\n </Cards>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <Text bold headline>\n {translate(L10N.LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS, { value: hotels.length })}\n </Text>\n )}\n <Cards>\n {hotels.map((item, index) => (\n <CardHotel key={`${item.index || index}:${width}`} {...item} />\n ))}\n </Cards>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotel: PropTypes.shape({\n email: PropTypes.string,\n phone: PropTypes.string,\n }),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n};\n\nexport { Unavailability };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,KAAA,GAAAL,uBAAA,CAAAN,OAAA;AACA,IAAAY,SAAA,GAAAZ,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AAAoD,SAAAc,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,SAAAT,wBAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAnB,uBAAA+B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAGpD,MAAMK,cAAc,GAAGC,IAAA,IAMjB;EAAA,IANkB;IACtBC,QAAQ,GAAG,CAAC,CAAC;IACbC,KAAK,EAAE;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAG,CAAC,CAAC;IAC5BC,MAAM,GAAG,EAAE;IACXC,WAAW,EAAE;MAAEL,QAAQ,EAAEM,mBAAmB,GAAG,EAAE;MAAEC,WAAW;MAAEC,UAAU,EAAEC,qBAAqB,GAAG;IAAG,CAAC,GAAG,CAAC,CAAC;IAC7GC;EACF,CAAC,GAAAX,IAAA;EACC,MAAM;IAAEY,QAAQ;IAAEC;EAAM,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACvC,MAAM;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACzC,MAAM;IAAEC,KAAK,EAAEC;EAAM,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEnC,IAAAC,gBAAS,EAAC,MAAM;IACdC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,MAAM,EAAE;MAAExB;IAAS,CAAC,CAAC;IACzC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM;IAAEyB,QAAQ;IAAEC,MAAM,GAAG,CAAC,CAAC;IAAEzB,KAAK,EAAE;MAAE0B,iBAAiB,EAAEC,sBAAsB;MAAEC,QAAQ,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGX,KAAK;EAEjH,MAAMY,cAAc,GAAGA,CAACC,IAAI,EAAEC,EAAE,KAAK;IACnCX,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,MAAM,EAAE;MAAEE,MAAM,EAAE;QAAE,GAAGA,MAAM;QAAE1B,QAAQ,EAAE,CAAC+B,IAAI,EAAEC,EAAE;MAAE;IAAE,CAAC,CAAC;EAC9E,CAAC;EAED,MAAMC,gBAAgB,GAAG,SAAAA,CAAA,EAAgB;IAAA,IAAfC,KAAK,GAAAzC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA0C,SAAA,GAAA1C,SAAA,MAAG,EAAE;IAClC4B,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,MAAM,EAAE;MAAEE,MAAM,EAAE;QAAE,GAAGA,MAAM;QAAElB,UAAU,EAAE0B,KAAK,CAACE,GAAG,CAAC;UAAA,IAAC;YAAE5B;UAAW,CAAC,GAAAf,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA0C,SAAA,GAAA1C,SAAA,MAAG,CAAC,CAAC;UAAA,OAAKe,UAAU;QAAA;MAAE;IAAE,CAAC,CAAC;EACpH,CAAC;EAED,MAAM6B,YAAY,GAAGA,CAAA,KAAM;IACzBhB,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,MAAM,EAAEc,UAAU,GAAG;MAAEtC,QAAQ;MAAEuC,KAAK,EAAE;IAAW,CAAC,GAAG;MAAEA,KAAK,EAAE;IAAa,CAAC,CAAC;EACrG,CAAC;EAED,MAAMC,WAAW,GAAG,SAAAA,CAAA;IAAA,IAAC;MAAEC,KAAK;MAAEC;IAAQ,CAAC,GAAAjD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA0C,SAAA,GAAA1C,SAAA,MAAG,CAAC,CAAC;IAAA,oBAC1CnC,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAAyF,IAAI;MAACC,GAAG;MAACC,SAAS,EAAElF,KAAK,CAAC6E;IAAM,gBAC/BnF,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAAyF,IAAI,qBACHtF,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAA4F,IAAI;MAACC,KAAK;IAAA,GAAEjC,SAAS,CAACkC,YAAI,CAACC,UAAU,CAAQ,CAAC,eAC/C5F,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAA4F,IAAI;MAACI,IAAI;MAACC,QAAQ;MAACC,KAAK,EAAE1C,QAAQ,IAAI8B,KAAK,IAAI,KAAK,GAAG,CAAC,GAAG;IAAE,GAC3D,IAAAa,sBAAc,EAAC;MAAE7B,QAAQ;MAAEX,MAAM;MAAEyC,qBAAqB,EAAE,CAAC;MAAEtC,KAAK,EAAEwB;IAAM,CAAC,CACxE,CAAC,EACN,CAAC,CAAC/B,SAAS,iBACVpD,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAA4F,IAAI;MAACS,OAAO;MAACR,KAAK;IAAA,GAChBjC,SAAS,CAAC,IAAA0C,sBAAa,EAAC/C,SAAS,CAAC,CAC/B,CAEJ,CAAC,eAEPpD,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAAuG,MAAM;MAAChB,OAAO,EAAEA;IAAQ,GAAE3B,SAAS,CAACkC,YAAI,CAACU,gBAAgB,CAAU,CAChE,CAAC;EAAA,CACR;EAED,MAAMC,iBAAiB,GAAGA,CAAA,kBACxBtG,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAA4F,IAAI;IAACc,MAAM,EAAE,CAAClD,QAAS;IAACqC,KAAK,EAAErC,QAAS;IAACmC,SAAS,EAAElF,KAAK,CAACkG;EAAY,GACpE/C,SAAS,CAACkC,YAAI,CAACc,kBAAkB,EAAE;IAClC7D,KAAK,eACH5C,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAA6G,MAAM;MAACC,MAAM;MAACC,IAAI,YAAAC,MAAA,CAAYjE,KAAK,CAAG;MAAC8C,KAAK,EAAErC,QAAS;MAACnB,MAAM,EAAC,QAAQ;MAACsD,SAAS,EAAElF,KAAK,CAACiG;IAAO,GAC9F3D,KACK,CACT;IACDC,KAAK,eACH7C,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAA6G,MAAM;MAACC,MAAM;MAACC,IAAI,SAAAC,MAAA,CAAShE,KAAK,CAAG;MAAC6C,KAAK,EAAErC,QAAS;MAACnB,MAAM,EAAC,QAAQ;MAACsD,SAAS,EAAElF,KAAK,CAACiG;IAAO,GAC3F1D,KACK;EAEZ,CAAC,CACG,CACP;EAED,MAAM;IAAEiE,KAAK,EAAE;MAAEC,EAAE,EAAE,CAACA,EAAE,CAAC,GAAG;IAAG,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG3C,MAAM;EAChD,MAAM;IAAEC,iBAAiB,GAAGC;EAAuB,CAAC,GAAGC,QAAQ,CAACwC,EAAE,CAAC,IAAI,CAAC,CAAC;EAEzE,MAAMC,cAAc,GAAGhE,mBAAmB,CAACZ,MAAM,GAAG,CAAC,IAAIe,qBAAqB,CAACf,MAAM,GAAG,CAAC;EACzF,MAAM4C,UAAU,GAAGhC,mBAAmB,CAACZ,MAAM,GAAG,CAAC;EAEjD,oBACEpC,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAAyF,IAAI;IAACE,SAAS,EAAElF,KAAK,CAAC2G;EAAe,gBACpCjH,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAAyF,IAAI;IAACC,GAAG,EAAE,CAAClC,QAAS;IAACmC,SAAS,EAAElF,KAAK,CAAC4G;EAAO,gBAC5ClH,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAAsH,IAAI;IAACxD,KAAK,EAAEqB,UAAU,GAAGoC,cAAI,CAACC,aAAa,GAAGD,cAAI,CAACE;EAAW,CAAE,CAAC,eAClEtH,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAAyF,IAAI;IAACiC,IAAI;IAAC/B,SAAS,EAAElF,KAAK,CAACkH;EAAM,gBAChCxH,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAA4F,IAAI;IAACK,QAAQ;IAACC,KAAK,EAAE1C,QAAQ,GAAG,CAAC,GAAG;EAAE,GACpC2B,UAAU,GACP/B,WAAW,IAAIQ,SAAS,CAACkC,YAAI,CAAC8B,8BAA8B,CAAC,GAC7DhE,SAAS,CAACkC,YAAI,CAAC+B,gCAAgC,CAC/C,CAAC,EACN,CAACrE,QAAQ,IAAIiD,iBAAiB,CAAC,CAC5B,CAAC,eACPtG,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAAuG,MAAM;IAACmB,IAAI,EAAElE,QAAS;IAAC+B,OAAO,EAAEL;EAAa,GAC3CtB,SAAS,CAACkC,YAAI,CAACgC,oBAAoB,CAC9B,CAAC,EACRtE,QAAQ,IAAIiD,iBAAiB,CAAC,CAC3B,CAAC,EAENU,cAAc,iBACbhH,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAA4F,IAAI;IAACI,IAAI;IAACC,QAAQ;EAAA,GAChBrC,SAAS,CAACkC,YAAI,CAACiC,4BAA4B,CACxC,CACP,EAEA5C,UAAU,iBACThF,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAAC9E,SAAA,CAAAsH,KAAK,QACH7E,mBAAmB,CAAC8B,GAAG,CAAC;IAAA,IAAC;MAAEL,IAAI;MAAEC,EAAE;MAAES,KAAK,GAAG,CAAC;MAAE2C;IAAM,CAAC,GAAA3F,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA0C,SAAA,GAAA1C,SAAA,MAAG,CAAC,CAAC;IAAA,IAAE4F,KAAK,GAAA5F,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAA0C,SAAA;IAAA,oBAClE7E,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAAC9E,SAAA,CAAAyH,IAAI;MAAC1F,GAAG,cAAAuE,MAAA,CAAckB,KAAK;IAAG,gBAC7B/H,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAAyF,IAAI;MAACE,SAAS,EAAElF,KAAK,CAAC2H;IAAK,gBAC1BjI,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAAyF,IAAI,qBACHtF,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAAyF,IAAI;MAACC,GAAG;IAAA,gBACPvF,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAA4F,IAAI;MAACI,IAAI;MAACC,QAAQ,EAAE,CAACzC,QAAS;MAAC0C,KAAK,EAAE;IAAE,GACtC,IAAAmC,kBAAU,EAACzD,IAAI,EAAE;MAAEjB,MAAM;MAAE,GAAG2E;IAAY,CAAC,CACxC,CAAC,eACPnI,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAA4F,IAAI;MAACD,SAAS,EAAElF,KAAK,CAAC8H;IAAY,GAAC,QAAO,CAAC,eAC5CpI,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAA4F,IAAI;MAACI,IAAI;MAACC,QAAQ,EAAE,CAACzC,QAAS;MAAC0C,KAAK,EAAE;IAAE,GACtC,IAAAmC,kBAAU,EAACxD,EAAE,IAAIO,KAAK,EAAE;MAAEzB,MAAM;MAAE,GAAG2E;IAAY,CAAC,CAC/C,CACF,CAAC,eACPnI,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAA4F,IAAI;MAACc,MAAM,EAAE,CAAClD,QAAS;MAACqC,KAAK,EAAErC;IAAS,MAAAwD,MAAA,CAAK,IAAAwB,gBAAQ,EAAC5D,IAAI,EAAEC,EAAE,CAAC,CAAC4D,IAAI,OAAAzB,MAAA,CAAIpD,SAAS,CAChFkC,YAAI,CAAC4C,YACP,CAAC,CAAS,CACN,CAAC,EAENrD,WAAW,CAAC;MAAEC,KAAK;MAAE2C,KAAK;MAAE1C,OAAO,EAAEA,CAAA,KAAMZ,cAAc,CAACC,IAAI,EAAEC,EAAE;IAAE,CAAC,CAClE,CACF,CAAC;EAAA,CACR,CACI,CACR,EAEAvB,qBAAqB,CAACf,MAAM,GAAG,CAAC,iBAC/BpC,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAAC9E,SAAA,CAAAsH,KAAK,QACH1E,qBAAqB,CAAC2B,GAAG,CAAC,CAAA0D,KAAA,EAAmCT,KAAK;IAAA,IAAvC;MAAEnD,KAAK,GAAG,EAAE;MAAEO,KAAK,GAAG,CAAC;MAAE2C;IAAM,CAAC,GAAAU,KAAA;IAAA,oBAC1DxI,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAAC9E,SAAA,CAAAyH,IAAI;MAAC1F,GAAG,WAAAuE,MAAA,CAAWkB,KAAK;IAAG,gBAC1B/H,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAAyF,IAAI,qBACHtF,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAA4F,IAAI;MAACI,IAAI;MAAC4C,UAAU;MAAC3C,QAAQ,EAAE,CAACzC,QAAS;MAAC0C,KAAK,EAAE;IAAE,MAAAc,MAAA,CAC9CjC,KAAK,CAACxC,MAAM,OAAAyE,MAAA,CAAI,IAAA6B,+BAAqB,EACvC;MAAEC,MAAM,EAAE/D,KAAK,CAACxC,MAAM,GAAG,CAAC;MAAEwG,IAAI,EAAEvE;IAAkB,CAAC,EACrDZ,SACF,CAAC,CACG,CAAC,eAEPzD,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAAyF,IAAI;MAACE,SAAS,EAAElF,KAAK,CAACuI;IAAa,GACjCjE,KAAK,CAACE,GAAG,CAAC;MAAA,IAAC;QAAEgE,IAAI;QAAE5F,UAAU,GAAG;MAAG,CAAC,GAAAf,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA0C,SAAA,GAAA1C,SAAA,MAAG,CAAC,CAAC;MAAA,IAAE4G,SAAS,GAAA5G,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAA0C,SAAA;MAAA,oBACnD7E,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAAyF,IAAI;QAAChD,GAAG,gBAAAuE,MAAA,CAAgBkB,KAAK,YAAAlB,MAAA,CAASkC,SAAS,CAAG;QAACvD,SAAS,EAAElF,KAAK,CAAC0I;MAAK,gBACxEhJ,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAA4F,IAAI;QAACc,MAAM;QAACkC,UAAU;MAAA,GACpBK,IACG,CAAC,EACN5F,UAAU,CAAC4B,GAAG,CAAC;QAAA,IAAAmE,UAAA;QAAA,IAACC,IAAI,GAAA/G,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA0C,SAAA,GAAA1C,SAAA,MAAG,CAAC,CAAC;QAAA,IAAEgH,SAAS,GAAAhH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAA0C,SAAA;QAAA,oBACnC7E,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAA4F,IAAI;UAACnD,GAAG,gBAAAuE,MAAA,CAAgBkB,KAAK,YAAAlB,MAAA,CAASkC,SAAS,OAAAlC,MAAA,CAAIsC,SAAS,CAAG;UAACjD,OAAO;UAACR,KAAK;QAAA,MAAAmB,MAAA,CACxE,IAAAuC,4BAAkB,EAAC;UAAE,GAAGF,IAAI;UAAEG,IAAI,EAAE;QAAG,CAAC,EAAE5F,SAAS,CAAC,OAAAoD,MAAA,CACtDqC,IAAI,CAACN,IAAI,KAAKU,yBAAe,CAACC,KAAK,OAAA1C,MAAA,CAC3BpD,SAAS,CAACkC,YAAI,CAAC6D,eAAe,EAAE;UAAEC,MAAM,GAAAR,UAAA,GAAEC,IAAI,CAACG,IAAI,cAAAJ,UAAA,uBAATA,UAAA,CAAWS,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG;QAAE,CAAC,CAAC,SAC5E,EAAE,CAEJ,CAAC;MAAA,CACR,CACG,CAAC;IAAA,CACR,CACG,CAAC,EAENzE,WAAW,CAAC;MAAEC,KAAK;MAAE2C,KAAK;MAAE1C,OAAO,EAAEA,CAAA,KAAMT,gBAAgB,CAACC,KAAK;IAAE,CAAC,CACjE,CACF,CAAC;EAAA,CACR,CACI,CACR,EAEAoC,cAAc,IAAIlE,MAAM,CAACV,MAAM,GAAG,CAAC,iBAClCpC,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACxF,GAAA,CAAA4F,IAAI;IAACI,IAAI;IAACC,QAAQ;EAAA,GAChBrC,SAAS,CAACkC,YAAI,CAACiE,mCAAmC,EAAE;IAAEjG,KAAK,EAAEb,MAAM,CAACV;EAAO,CAAC,CACzE,CACP,eACDpC,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAAC9E,SAAA,CAAAsH,KAAK,QACH/E,MAAM,CAACgC,GAAG,CAAC,CAACoE,IAAI,EAAEnB,KAAK,kBACtB/H,MAAA,CAAAe,OAAA,CAAAsE,aAAA,CAACnF,WAAA,CAAA2J,SAAS,EAAA9H,QAAA;IAACO,GAAG,KAAAuE,MAAA,CAAKqC,IAAI,CAACnB,KAAK,IAAIA,KAAK,OAAAlB,MAAA,CAAIvD,KAAK;EAAG,GAAK4F,IAAI,CAAG,CAC/D,CACI,CACH,CAAC;AAEX,CAAC;AAACY,OAAA,CAAAtH,cAAA,GAAAA,cAAA;AAEFA,cAAc,CAACuH,WAAW,GAAG,iCAAiC;AAE9DvH,cAAc,CAACwH,SAAS,GAAG;EACzBtH,QAAQ,EAAEuH,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7BvH,KAAK,EAAEsH,kBAAS,CAACC,KAAK,CAAC;IACrBtH,KAAK,EAAEqH,kBAAS,CAACE,MAAM;IACvBtH,KAAK,EAAEoH,kBAAS,CAACE;EACnB,CAAC,CAAC;EACFrH,MAAM,EAAEmH,kBAAS,CAACG,OAAO,CAACH,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9CnH,WAAW,EAAEkH,kBAAS,CAACC,KAAK,CAAC;IAC3BxH,QAAQ,EAAEuH,kBAAS,CAACG,OAAO,CAACH,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChDhH,UAAU,EAAE+G,kBAAS,CAACG,OAAO,CAACH,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EACnD,CAAC,CAAC;EACF9G,SAAS,EAAE6G,kBAAS,CAACI;AACvB,CAAC"}
1
+ {"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_shared__","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Unavailability","_ref","calendar","hotel","email","phone","hotels","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","currency","finder","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","rooms","undefined","map","handleFinder","isCalendar","focus","renderPrice","price","onPress","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","lighten","getLabelTaxes","Button","ACTION_VIEW_MORE","renderContactInfo","action","contactInfo","LABEL_CONTACT_INFO","Action","inline","href","concat","place","id","hasSuggestions","unavailability","banner","Icon","ICON","CALENDAR_BUSY","PERSON_OFF","wide","texts","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","Cards","taxes","index","Card","card","dateFormat","DATE_FORMAT","anchorDates","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","getAccommodationLabel","plural","type","distribution","name","roomIndex","room","_item$ages","item","itemIndex","getOccupationLabel","ages","OCCUPATION_TYPE","CHILD","LABEL_YEARS_OLD","amount","sort","join","LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS","CardHotel","exports","displayName","propTypes","PropTypes","shape","string","arrayOf","number"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { Card, Cards } from '../__shared__';\nimport { EVENT, OCCUPATION_TYPE } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotel: { email, phone } = {},\n hotels = [],\n suggestions: { calendar: calendarSuggestions = [], description, occupation: occupationSuggestions = [] } = {},\n taxesType,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = store;\n\n const handleCalendar = (from, to) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, calendar: [from, to] } });\n };\n\n const handleOccupation = (rooms = []) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, occupation: rooms.map(({ occupation } = {}) => occupation) } });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, isCalendar ? { calendar, focus: 'calendar' } : { focus: 'occupation' });\n };\n\n const renderPrice = ({ price, onPress } = {}) => (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n {!!taxesType && (\n <Text lighten small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n\n const renderContactInfo = () => (\n <Text action={!isMobile} small={isMobile} className={style.contactInfo}>\n {translate(L10N.LABEL_CONTACT_INFO, {\n email: (\n <Action inline href={`mailto:${email}`} small={isMobile} target=\"_blank\" className={style.action}>\n {email}\n </Action>\n ),\n phone: (\n <Action inline href={`tel:${phone}`} small={isMobile} target=\"_blank\" className={style.action}>\n {phone}\n </Action>\n ),\n })}\n </Text>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const hasSuggestions = calendarSuggestions.length > 0 || occupationSuggestions.length > 0;\n const isCalendar = calendarSuggestions.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon value={isCalendar ? ICON.CALENDAR_BUSY : ICON.PERSON_OFF} />\n <View wide className={style.texts}>\n <Text headline level={isMobile ? 3 : 2}>\n {isCalendar\n ? description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)\n : translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)}\n </Text>\n {!isMobile && renderContactInfo()}\n </View>\n <Button wide={isMobile} onPress={handleFinder}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n {isMobile && renderContactInfo()}\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {isCalendar && (\n <Cards>\n {calendarSuggestions.map(({ from, to, price = 0, taxes } = {}, index) => (\n <Card key={`calendar:${index}`}>\n <View className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n </Card>\n ))}\n </Cards>\n )}\n\n {occupationSuggestions.length > 0 && (\n <Cards>\n {occupationSuggestions.map(({ rooms = [], price = 0, taxes }, index) => (\n <Card key={`rooms:${index}`}>\n <View className={style.card}>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${rooms.length} ${getAccommodationLabel(\n { plural: rooms.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {rooms.map(({ name, occupation = [] } = {}, roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>\n {name}\n </Text>\n {occupation.map((item = {}, itemIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${itemIndex}`} lighten small>\n {`${getOccupationLabel({ ...item, ages: [] }, translate)} ${\n item.type === OCCUPATION_TYPE.CHILD\n ? `(${translate(L10N.LABEL_YEARS_OLD, { amount: item.ages?.sort().join('-') })})`\n : ''\n }`}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(rooms) })}\n </View>\n </Card>\n ))}\n </Cards>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <Text bold headline>\n {translate(L10N.LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS, { value: hotels.length })}\n </Text>\n )}\n <Cards>\n {hotels.map((item, index) => (\n <CardHotel key={`${item.index || index}:${width}`} {...item} />\n ))}\n </Cards>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotel: PropTypes.shape({\n email: PropTypes.string,\n phone: PropTypes.string,\n }),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n};\n\nexport { Unavailability };\n"],"mappings":"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"}
@@ -215,6 +215,7 @@ const Rates = _ref => {
215
215
  let values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
216
216
  setCart([]);
217
217
  setDataSource(undefined);
218
+ setRoom();
218
219
  scrollTo(0);
219
220
  (0, _helpers3.replaceUrlParams)((0, _helpers.getFinderParams)({
220
221
  ...values,
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_helpers2","_services2","_shared__","_Finder","_Header","_helpers3","_SessionLogin","_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","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isDesktop","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","refItems","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","occupation","maxRooms","rates","meta","metaCart","session","urlParams","useStore","cart","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","useEffect","getMetaBoard","then","board","notification","L10N","NOTIFICATION_META_RATE_FOUND","NOTIFICATION_META_RATE_NOT_FOUND","Event","publish","EVENT","NOTIFICATION","contrast","defaultMessage","handleSelect","catch","debounceFetch","multiRoom","current","offsetHeight","offsetTop","scrollTo","trackDataSource","fetchUrlParams","location","search","fetch","nextOccupation","FINDER","checkin","nights","parties","getFinderParams","replaceUrlParams","params","selectedIds","map","join","parseToParties","nextDataSource","ServiceRates","externalSignout","signout","debounce","handleClubDiscount","next","handleStrictSearch","handleFinder","values","nextCart","scrollToRoom","roomId","trackSelectItem","handleSubmit","isPestana","ServiceFeatures","FEATURES","PESTANA","getCheckoutParams","getOccupationTotals","infantAge","hotelCurrency","selectableExtras","some","included","handleCheckout","document","href","getForwarderUrl","window","top","behavior","_refItems$current$roo","getBoundingClientRect","scrollY","contentBackground","Theme","features","getFeatures","dateDiff","days","response","roomSelectorProps","onPress","showStrictSearch","promocode","idoffers","roomTypeId","createElement","Fragment","Header","name","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","onClubDiscount","onSelect","onStrictSearch","Cards","items","_ref2","index","item","Item","taxesType","concat","el","selected","onMoreInfo","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport {\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n getMetaBoard,\n signout,\n trackDataSource,\n trackSelectItem,\n} from './helpers';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { debounce, fetchUrlParams } from '../../helpers';\nimport { ServiceRates } from '../../services';\nimport { Cards } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, parseToParties, replaceUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const refItems = useRef({});\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n occupation: { maxRooms } = {},\n rates: { meta: metaCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n // -- hooks ----------------------------------------------------------------------------------------------------------\n useEffect(() => {\n if (!dataSource || !metaCart.length) return;\n\n getMetaBoard({ cart, dataSource, metaCart })\n .then((board) => {\n const notification = board ? L10N.NOTIFICATION_META_RATE_FOUND : L10N.NOTIFICATION_META_RATE_NOT_FOUND;\n Event.publish(EVENT.NOTIFICATION, { contrast: true, defaultMessage: translate(notification, urlParams) });\n if (board) handleSelect(board);\n })\n .catch(() => set({ rates: undefined }));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, metaCart]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n scrollTo(offsetTop + (isMobile ? offsetHeight : 0));\n }\n setDataSource();\n }\n\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n trackDataSource({ ...dataSource, ...fetchUrlParams(location.search), isMobile, occupation, place });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n // -- methods --------------------------------------------------------------------------------------------------------\n const fetch = async (room, nextOccupation = occupation) => {\n if (skeleton) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n setFetching(true);\n setResponseError();\n\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n\n const params = {\n ...urlParams,\n club,\n clubDiscount,\n id,\n locale,\n maxRooms,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ id } = {}) => id).join(','),\n session,\n strictSearch,\n };\n if (room !== undefined) params.parties = parseToParties([nextOccupation[room || 0]]);\n\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && nextOccupation?.length > 1 && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleClubDiscount = async (next) => {\n setClubDiscount(next);\n login && setLogin(false);\n };\n\n const handleStrictSearch = (value) => {\n setStrictSearch(value);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n debounceFetch(undefined, values.occupation);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n trackSelectItem({\n ...dataSource,\n ...fetchUrlParams(location.search),\n board,\n cart: nextCart,\n isMobile,\n occupation,\n });\n }\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (multiRoom && !board) set({ rates: undefined });\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: fetchUrlParams(location.search) }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n extras,\n forwarder,\n session,\n urlParams: fetchUrlParams(location.search),\n });\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n\n if (top) scrollTo(top + window.scrollY - (isMobile ? 16 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const features = getFeatures(id, urlParams, { isDesktop, isMobile });\n const multiRoom = occupation?.length > 1 || metaCart.length > 0;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const showStrictSearch = !!finder?.promocode || !!urlParams?.idoffers || urlParams?.roomTypeId;\n\n return (\n <>\n <Header currency locale login name />\n\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n clubDiscount,\n dataSource,\n features,\n multiRoom,\n showStrictSearch,\n strictSearch,\n onClubDiscount: handleClubDiscount,\n onSelect: handleSelect,\n onStrictSearch: handleStrictSearch,\n }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n {...item}\n {...{\n id,\n cart,\n features,\n multiRoom,\n nights,\n room,\n taxesType: dataSource.taxesType,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </Cards>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && (\n <Footer {...{ cart, dataSource, extras, login, occupation }} onSubmit={() => handleSubmit(cart)} />\n )}\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => (multiRoom ? setLogin(false) : handleSelect())}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_helpers2","_services2","_shared__","_Finder","_Header","_helpers3","_SessionLogin","_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","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isDesktop","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","refItems","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","occupation","maxRooms","rates","meta","metaCart","session","urlParams","useStore","cart","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","useEffect","getMetaBoard","then","board","notification","L10N","NOTIFICATION_META_RATE_FOUND","NOTIFICATION_META_RATE_NOT_FOUND","Event","publish","EVENT","NOTIFICATION","contrast","defaultMessage","handleSelect","catch","debounceFetch","multiRoom","current","offsetHeight","offsetTop","scrollTo","trackDataSource","fetchUrlParams","location","search","fetch","nextOccupation","FINDER","checkin","nights","parties","getFinderParams","replaceUrlParams","params","selectedIds","map","join","parseToParties","nextDataSource","ServiceRates","externalSignout","signout","debounce","handleClubDiscount","next","handleStrictSearch","handleFinder","values","nextCart","scrollToRoom","roomId","trackSelectItem","handleSubmit","isPestana","ServiceFeatures","FEATURES","PESTANA","getCheckoutParams","getOccupationTotals","infantAge","hotelCurrency","selectableExtras","some","included","handleCheckout","document","href","getForwarderUrl","window","top","behavior","_refItems$current$roo","getBoundingClientRect","scrollY","contentBackground","Theme","features","getFeatures","dateDiff","days","response","roomSelectorProps","onPress","showStrictSearch","promocode","idoffers","roomTypeId","createElement","Fragment","Header","name","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","onClubDiscount","onSelect","onStrictSearch","Cards","items","_ref2","index","item","Item","taxesType","concat","el","selected","onMoreInfo","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport {\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n getMetaBoard,\n signout,\n trackDataSource,\n trackSelectItem,\n} from './helpers';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { debounce, fetchUrlParams } from '../../helpers';\nimport { ServiceRates } from '../../services';\nimport { Cards } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, parseToParties, replaceUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const refItems = useRef({});\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n occupation: { maxRooms } = {},\n rates: { meta: metaCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n // -- hooks ----------------------------------------------------------------------------------------------------------\n useEffect(() => {\n if (!dataSource || !metaCart.length) return;\n\n getMetaBoard({ cart, dataSource, metaCart })\n .then((board) => {\n const notification = board ? L10N.NOTIFICATION_META_RATE_FOUND : L10N.NOTIFICATION_META_RATE_NOT_FOUND;\n Event.publish(EVENT.NOTIFICATION, { contrast: true, defaultMessage: translate(notification, urlParams) });\n if (board) handleSelect(board);\n })\n .catch(() => set({ rates: undefined }));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, metaCart]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n scrollTo(offsetTop + (isMobile ? offsetHeight : 0));\n }\n setDataSource();\n }\n\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n trackDataSource({ ...dataSource, ...fetchUrlParams(location.search), isMobile, occupation, place });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n // -- methods --------------------------------------------------------------------------------------------------------\n const fetch = async (room, nextOccupation = occupation) => {\n if (skeleton) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n setFetching(true);\n setResponseError();\n\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n\n const params = {\n ...urlParams,\n club,\n clubDiscount,\n id,\n locale,\n maxRooms,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ id } = {}) => id).join(','),\n session,\n strictSearch,\n };\n if (room !== undefined) params.parties = parseToParties([nextOccupation[room || 0]]);\n\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && nextOccupation?.length > 1 && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleClubDiscount = async (next) => {\n setClubDiscount(next);\n login && setLogin(false);\n };\n\n const handleStrictSearch = (value) => {\n setStrictSearch(value);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n debounceFetch(undefined, values.occupation);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n trackSelectItem({\n ...dataSource,\n ...fetchUrlParams(location.search),\n board,\n cart: nextCart,\n isMobile,\n occupation,\n });\n }\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (multiRoom && !board) set({ rates: undefined });\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: fetchUrlParams(location.search) }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n extras,\n forwarder,\n session,\n urlParams: fetchUrlParams(location.search),\n });\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n\n if (top) scrollTo(top + window.scrollY - (isMobile ? 16 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const features = getFeatures(id, urlParams, { isDesktop, isMobile });\n const multiRoom = occupation?.length > 1 || metaCart.length > 0;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const showStrictSearch = !!finder?.promocode || !!urlParams?.idoffers || urlParams?.roomTypeId;\n\n return (\n <>\n <Header currency locale login name />\n\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n clubDiscount,\n dataSource,\n features,\n multiRoom,\n showStrictSearch,\n strictSearch,\n onClubDiscount: handleClubDiscount,\n onSelect: handleSelect,\n onStrictSearch: handleStrictSearch,\n }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n {...item}\n {...{\n id,\n cart,\n features,\n multiRoom,\n nights,\n room,\n taxesType: dataSource.taxesType,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </Cards>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && (\n <Footer {...{ cart, dataSource, extras, login, occupation }} onSubmit={() => handleSubmit(cart)} />\n )}\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => (multiRoom ? setLogin(false) : handleSelect())}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
@@ -44,6 +44,7 @@ const Summary = _ref => {
44
44
  const [busy, setBusy] = (0, _react.useState)(false);
45
45
  (0, _react.useEffect)(() => Object.keys(selected).length === 0 && setBusy(false), [selected]);
46
46
  const {
47
+ basePrice,
47
48
  cancellationId,
48
49
  checkoutPrice,
49
50
  dayPrice,
@@ -64,14 +65,18 @@ const Summary = _ref => {
64
65
  const handlePress = () => {
65
66
  if (!multiRoom) setBusy(true);
66
67
  onSelect(!isSelected ? {
67
- checkoutPrice,
68
+ basePrice,
69
+ breakdown,
68
70
  cancellationId,
71
+ checkoutPrice,
72
+ fees,
69
73
  id,
70
74
  name,
71
75
  price,
72
76
  rateId,
73
77
  roomId,
74
78
  roomName,
79
+ taxes,
75
80
  totalPriceRaw
76
81
  } : undefined);
77
82
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_Rates","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Summary","_ref","id","roomId","isSoldOut","multiRoom","name","roomName","nights","selected","selectedBoard","taxesType","onSelect","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","keys","length","cancellationId","checkoutPrice","dayPrice","discount","percentage","discountPercentage","breakdown","fees","originalPrice","price","rateId","taxes","totalPriceRaw","isSelected","handlePress","undefined","hasDiscountClub","find","_ref2","type","DISCOUNT_TYPE","CLUB","createElement","Fragment","View","className","offset","summary","Text","accent","bold","small","concat","L10N","LABEL_CLUB_MEMBERS","LABEL_DISCOUNT","row","gap","content","end","headline","level","maximumFractionDigits","action","lighten","lineThrough","tiny","LABEL_PER_NIGHT","getLabelTaxes","PriceDetails","board","priceDetails","Button","disabled","secondary","onPress","LABEL_NOT_AVAILABLE","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","number","bool","string","shape","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceDetails } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { getLabelTaxes } from '../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Summary = ({\n id: roomId,\n isSoldOut = false,\n multiRoom = false,\n name: roomName,\n nights = 2,\n selected = {},\n selectedBoard = {},\n taxesType,\n onSelect,\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => Object.keys(selected).length === 0 && setBusy(false), [selected]);\n\n const {\n cancellationId,\n checkoutPrice,\n dayPrice,\n discount: { percentage: discountPercentage = 0, breakdown = [] } = {},\n fees,\n id,\n name,\n originalPrice,\n price,\n rateId,\n taxes,\n totalPriceRaw,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n if (!multiRoom) setBusy(true);\n onSelect(\n !isSelected\n ? { checkoutPrice, cancellationId, id, name, price, rateId, roomId, roomName, totalPriceRaw }\n : undefined,\n );\n };\n\n const hasDiscountClub = discountPercentage > 0 && breakdown.find(({ type }) => type === DISCOUNT_TYPE.CLUB);\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n {!isSoldOut && discountPercentage > 0 && (\n <Text accent bold small>\n {hasDiscountClub && `${translate(L10N.LABEL_CLUB_MEMBERS)} `}\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <View row className={[style.gap, style.content, isSoldOut && style.end]}>\n {!isSoldOut && (\n <View>\n <View row className={style.price}>\n <Text bold headline level={isMobile || multiRoom || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: price })}\n </Text>\n\n {price !== originalPrice && (\n <Text action lighten className={style.lineThrough}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: originalPrice })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({ currency, value: dayPrice })} ${translate(\n L10N.LABEL_PER_NIGHT,\n )}`}</Text>\n )}\n\n {!!taxesType && (\n <Text lighten small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n {(discountPercentage > 0 || fees > 0 || taxes > 0) && (\n <PriceDetails {...{ board: selectedBoard }} className={style.priceDetails} />\n )}\n </View>\n )}\n\n <Button busy={busy} disabled={isSoldOut} secondary={multiRoom && isSelected} onPress={handlePress}>\n {translate(\n isSoldOut\n ? L10N.LABEL_NOT_AVAILABLE\n : multiRoom\n ? isSelected\n ? L10N.LABEL_DESELECT\n : L10N.LABEL_SELECT\n : L10N.ACTION_RESERVE,\n )}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item:Summary';\n\nSummary.propTypes = {\n id: PropTypes.number,\n isSoldOut: PropTypes.bool,\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n nights: PropTypes.number,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxesType: PropTypes.number,\n onSelect: PropTypes.func,\n};\n\nexport { Summary };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_Rates","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Summary","_ref","id","roomId","isSoldOut","multiRoom","name","roomName","nights","selected","selectedBoard","taxesType","onSelect","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","keys","length","basePrice","cancellationId","checkoutPrice","dayPrice","discount","percentage","discountPercentage","breakdown","fees","originalPrice","price","rateId","taxes","totalPriceRaw","isSelected","handlePress","undefined","hasDiscountClub","find","_ref2","type","DISCOUNT_TYPE","CLUB","createElement","Fragment","View","className","offset","summary","Text","accent","bold","small","concat","L10N","LABEL_CLUB_MEMBERS","LABEL_DISCOUNT","row","gap","content","end","headline","level","maximumFractionDigits","action","lighten","lineThrough","tiny","LABEL_PER_NIGHT","getLabelTaxes","PriceDetails","board","priceDetails","Button","disabled","secondary","onPress","LABEL_NOT_AVAILABLE","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","number","bool","string","shape","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceDetails } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { getLabelTaxes } from '../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Summary = ({\n id: roomId,\n isSoldOut = false,\n multiRoom = false,\n name: roomName,\n nights = 2,\n selected = {},\n selectedBoard = {},\n taxesType,\n onSelect,\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => Object.keys(selected).length === 0 && setBusy(false), [selected]);\n\n const {\n basePrice,\n cancellationId,\n checkoutPrice,\n dayPrice,\n discount: { percentage: discountPercentage = 0, breakdown = [] } = {},\n fees,\n id,\n name,\n originalPrice,\n price,\n rateId,\n taxes,\n totalPriceRaw,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n if (!multiRoom) setBusy(true);\n onSelect(\n !isSelected\n ? {\n basePrice,\n breakdown,\n cancellationId,\n checkoutPrice,\n fees,\n id,\n name,\n price,\n rateId,\n roomId,\n roomName,\n taxes,\n totalPriceRaw,\n }\n : undefined,\n );\n };\n\n const hasDiscountClub = discountPercentage > 0 && breakdown.find(({ type }) => type === DISCOUNT_TYPE.CLUB);\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n {!isSoldOut && discountPercentage > 0 && (\n <Text accent bold small>\n {hasDiscountClub && `${translate(L10N.LABEL_CLUB_MEMBERS)} `}\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <View row className={[style.gap, style.content, isSoldOut && style.end]}>\n {!isSoldOut && (\n <View>\n <View row className={style.price}>\n <Text bold headline level={isMobile || multiRoom || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: price })}\n </Text>\n\n {price !== originalPrice && (\n <Text action lighten className={style.lineThrough}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: originalPrice })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({ currency, value: dayPrice })} ${translate(\n L10N.LABEL_PER_NIGHT,\n )}`}</Text>\n )}\n\n {!!taxesType && (\n <Text lighten small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n {(discountPercentage > 0 || fees > 0 || taxes > 0) && (\n <PriceDetails {...{ board: selectedBoard }} className={style.priceDetails} />\n )}\n </View>\n )}\n\n <Button busy={busy} disabled={isSoldOut} secondary={multiRoom && isSelected} onPress={handlePress}>\n {translate(\n isSoldOut\n ? L10N.LABEL_NOT_AVAILABLE\n : multiRoom\n ? isSelected\n ? L10N.LABEL_DESELECT\n : L10N.LABEL_SELECT\n : L10N.ACTION_RESERVE,\n )}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item:Summary';\n\nSummary.propTypes = {\n id: PropTypes.number,\n isSoldOut: PropTypes.bool,\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n nights: PropTypes.number,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxesType: PropTypes.number,\n onSelect: PropTypes.func,\n};\n\nexport { Summary };\n"],"mappings":"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"}
@@ -7,8 +7,7 @@ exports.getPrices = void 0;
7
7
  const getPrices = _ref => {
8
8
  let {
9
9
  cart = [],
10
- extras = [],
11
- items = []
10
+ extras = []
12
11
  } = _ref;
13
12
  const taxesExtras = extras.reduce(function (total) {
14
13
  var _value;
@@ -36,27 +35,12 @@ const getPrices = _ref => {
36
35
  let fees = 0;
37
36
  let taxes = taxesExtras;
38
37
  let breakdown = [];
39
- const boards = items.map(function () {
40
- let {
41
- boards = []
42
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
43
- return boards.map(board => board);
44
- }).flat();
45
- cart.forEach(function () {
46
- let {
47
- id
48
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
49
- const board = boards.find(function () {
50
- let {
51
- id: boardId
52
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
53
- return boardId === id;
54
- });
55
- if (!board) return;
56
- basePrice += board.basePrice;
57
- fees += board.fees || 0;
58
- taxes += board.taxes || 0;
59
- board.discount.breakdown.forEach(discount => {
38
+ cart.forEach(cartItem => {
39
+ if (!cartItem) return;
40
+ basePrice += cartItem.basePrice;
41
+ fees += cartItem.fees || 0;
42
+ taxes += cartItem.taxes || 0;
43
+ cartItem.breakdown.forEach(discount => {
60
44
  const current = breakdown.find(function () {
61
45
  let {
62
46
  type
@@ -1 +1 @@
1
- {"version":3,"file":"getPrices.js","names":["getPrices","_ref","cart","extras","items","taxesExtras","reduce","total","_value","amount","nights","valueAmount","valueNights","value","arguments","length","undefined","taxes","totalBaseExtras","_value2","basePrice","fees","breakdown","boards","map","board","flat","forEach","id","find","boardId","discount","current","type","push","exports"],"sources":["../../../../../../../../src/components/Rates/components/Item/components/PriceDetails/helpers/getPrices.js"],"sourcesContent":["export const getPrices = ({ cart = [], extras = [], items = [] }) => {\n const taxesExtras = extras.reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.taxes || 0),\n 0,\n );\n const totalBaseExtras = extras.reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.basePrice || 0),\n 0,\n );\n\n let basePrice = 0;\n let fees = 0;\n let taxes = taxesExtras;\n let breakdown = [];\n const boards = items.map(({ boards = [] } = {}) => boards.map((board) => board)).flat();\n\n cart.forEach(({ id } = {}) => {\n const board = boards.find(({ id: boardId } = {}) => boardId === id);\n if (!board) return;\n\n basePrice += board.basePrice;\n fees += board.fees || 0;\n taxes += board.taxes || 0;\n board.discount.breakdown.forEach((discount) => {\n const current = breakdown.find(({ type } = {}) => type === discount.type);\n\n if (!current) breakdown.push({ ...discount });\n else current.value += discount.value;\n });\n });\n\n return { basePrice, discount: { breakdown }, fees, taxes, totalBaseExtras };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"getPrices.js","names":["getPrices","_ref","cart","extras","taxesExtras","reduce","total","_value","amount","nights","valueAmount","valueNights","value","arguments","length","undefined","taxes","totalBaseExtras","_value2","basePrice","fees","breakdown","forEach","cartItem","discount","current","find","type","push","exports"],"sources":["../../../../../../../../src/components/Rates/components/Item/components/PriceDetails/helpers/getPrices.js"],"sourcesContent":["export const getPrices = ({ cart = [], extras = [] }) => {\n const taxesExtras = extras.reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.taxes || 0),\n 0,\n );\n const totalBaseExtras = extras.reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.basePrice || 0),\n 0,\n );\n\n let basePrice = 0;\n let fees = 0;\n let taxes = taxesExtras;\n let breakdown = [];\n\n cart.forEach((cartItem) => {\n if (!cartItem) return;\n\n basePrice += cartItem.basePrice;\n fees += cartItem.fees || 0;\n taxes += cartItem.taxes || 0;\n cartItem.breakdown.forEach((discount) => {\n const current = breakdown.find(({ type } = {}) => type === discount.type);\n\n if (!current) breakdown.push({ ...discount });\n else current.value += discount.value;\n });\n });\n\n return { basePrice, discount: { breakdown }, fees, taxes, totalBaseExtras };\n};\n"],"mappings":";;;;;;AAAO,MAAMA,SAAS,GAAGC,IAAA,IAAgC;EAAA,IAA/B;IAAEC,IAAI,GAAG,EAAE;IAAEC,MAAM,GAAG;EAAG,CAAC,GAAAF,IAAA;EAClD,MAAMG,WAAW,GAAGD,MAAM,CAACE,MAAM,CAC/B,UAACC,KAAK;IAAA,IAAAC,MAAA;IAAA,IAAE;MAAEC,MAAM;MAAEC,MAAM;MAAEC,WAAW;MAAEC,WAAW;MAAEC,KAAK,GAAG,CAAC;IAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OACnEP,KAAK,IAAI,EAAAC,MAAA,GAAAK,KAAK,CAACF,WAAW,IAAIF,MAAM,CAAC,CAACG,WAAW,IAAIF,MAAM,CAAC,cAAAF,MAAA,uBAAnDA,MAAA,CAAqDS,KAAK,KAAI,CAAC,CAAC;EAAA,GAC3E,CACF,CAAC;EACD,MAAMC,eAAe,GAAGd,MAAM,CAACE,MAAM,CACnC,UAACC,KAAK;IAAA,IAAAY,OAAA;IAAA,IAAE;MAAEV,MAAM;MAAEC,MAAM;MAAEC,WAAW;MAAEC,WAAW;MAAEC,KAAK,GAAG,CAAC;IAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,OACnEP,KAAK,IAAI,EAAAY,OAAA,GAAAN,KAAK,CAACF,WAAW,IAAIF,MAAM,CAAC,CAACG,WAAW,IAAIF,MAAM,CAAC,cAAAS,OAAA,uBAAnDA,OAAA,CAAqDC,SAAS,KAAI,CAAC,CAAC;EAAA,GAC/E,CACF,CAAC;EAED,IAAIA,SAAS,GAAG,CAAC;EACjB,IAAIC,IAAI,GAAG,CAAC;EACZ,IAAIJ,KAAK,GAAGZ,WAAW;EACvB,IAAIiB,SAAS,GAAG,EAAE;EAElBnB,IAAI,CAACoB,OAAO,CAAEC,QAAQ,IAAK;IACzB,IAAI,CAACA,QAAQ,EAAE;IAEfJ,SAAS,IAAII,QAAQ,CAACJ,SAAS;IAC/BC,IAAI,IAAIG,QAAQ,CAACH,IAAI,IAAI,CAAC;IAC1BJ,KAAK,IAAIO,QAAQ,CAACP,KAAK,IAAI,CAAC;IAC5BO,QAAQ,CAACF,SAAS,CAACC,OAAO,CAAEE,QAAQ,IAAK;MACvC,MAAMC,OAAO,GAAGJ,SAAS,CAACK,IAAI,CAAC;QAAA,IAAC;UAAEC;QAAK,CAAC,GAAAd,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKc,IAAI,KAAKH,QAAQ,CAACG,IAAI;MAAA,EAAC;MAEzE,IAAI,CAACF,OAAO,EAAEJ,SAAS,CAACO,IAAI,CAAC;QAAE,GAAGJ;MAAS,CAAC,CAAC,CAAC,KACzCC,OAAO,CAACb,KAAK,IAAIY,QAAQ,CAACZ,KAAK;IACtC,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAO;IAAEO,SAAS;IAAEK,QAAQ,EAAE;MAAEH;IAAU,CAAC;IAAED,IAAI;IAAEJ,KAAK;IAAEC;EAAgB,CAAC;AAC7E,CAAC;AAACY,OAAA,CAAA7B,SAAA,GAAAA,SAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.3.261",
3
+ "version": "0.3.262",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",