@mirai/core 0.4.113 → 0.4.114

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.
@@ -154,6 +154,7 @@ const Summary = _ref => {
154
154
  tiny: isMobile
155
155
  }, translate((0, _helpers.getLabelTaxes)(taxesType))), (discountPercentage > 0 || fees > 0 || taxes > 0) && /*#__PURE__*/_react.default.createElement(_components.PriceDetails, {
156
156
  board: selectedBoard,
157
+ taxesType,
157
158
  className: style.priceDetails
158
159
  })), /*#__PURE__*/_react.default.createElement(_ui.Button, {
159
160
  busy: busy,
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Summary","_ref","availableRates","features","showPricePerNight","id","roomId","isSoldOut","multiRoom","name","roomName","nights","priceFactor","selected","selectedBoard","taxesType","onSelect","others","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","keys","length","basePrice","cancellationId","checkoutPrice","confidential","dayPrice","deals","discount","fees","originalPrice","price","rateId","taxes","totalPriceRaw","isSelected","handlePress","undefined","percentage","discountPercentage","clubOffer","getClubRate","board","rate","find","_ref2","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","Fragment","View","className","offset","summary","row","Text","bold","small","tag","highlight","L10N","LABEL_ONLY_MEMBERS","accent","LABEL_DISCOUNT","concat","gap","content","end","headline","level","action","light","lineThrough","tiny","LABEL_FOR_NIGHTS","LABEL_PER_NIGHT","getLabelTaxes","PriceDetails","priceDetails","Button","disabled","secondary","onPress","LABEL_NOT_AVAILABLE","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","arrayOf","any","shape","bool","number","string","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, getClubRate } from '../../helpers';\n\nconst Summary = ({\n availableRates = [],\n features: { showPricePerNight = false } = {},\n id: roomId,\n isSoldOut = false,\n multiRoom = false,\n name: roomName,\n nights = 2,\n priceFactor = 1,\n selected = {},\n selectedBoard = {},\n taxesType,\n onSelect,\n ...others\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 confidential,\n dayPrice,\n deals,\n discount,\n fees,\n id,\n name,\n originalPrice = 0,\n price = 0,\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 cancellationId,\n checkoutPrice,\n confidential,\n deals,\n discount,\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 { percentage: discountPercentage = 0 } = discount || {};\n\n const clubOffer = getClubRate({\n board: selectedBoard,\n rate: availableRates.find(({ id }) => rateId === id),\n });\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n\n const { testId } = others;\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n <View row>\n {clubOffer && (\n <Text bold small className={[style.tag, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n )}\n\n {!isSoldOut && discountPercentage > 0 && (\n <Text accent bold small>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n </View>\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({ ...currencyFormatProps, value: price / priceFactor })}\n </Text>\n\n {price !== originalPrice && (\n <Text action light className={style.lineThrough}>\n {currencyFormat({ ...currencyFormatProps, value: originalPrice / priceFactor })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({\n ...currencyFormatProps,\n value: showPricePerNight ? price : dayPrice,\n })} ${translate(showPricePerNight ? L10N.LABEL_FOR_NIGHTS : L10N.LABEL_PER_NIGHT, { nights })}`}</Text>\n )}\n\n {!!taxesType && (\n <Text light 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\n busy={busy}\n disabled={isSoldOut}\n secondary={multiRoom && isSelected}\n onPress={handlePress}\n testId={testId ? `${testId}-select` : undefined}\n >\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 availableRates: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n showPricePerNight: PropTypes.bool,\n }),\n id: PropTypes.number,\n isSoldOut: PropTypes.bool,\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n nights: PropTypes.number,\n priceFactor: 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","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Summary","_ref","availableRates","features","showPricePerNight","id","roomId","isSoldOut","multiRoom","name","roomName","nights","priceFactor","selected","selectedBoard","taxesType","onSelect","others","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","keys","length","basePrice","cancellationId","checkoutPrice","confidential","dayPrice","deals","discount","fees","originalPrice","price","rateId","taxes","totalPriceRaw","isSelected","handlePress","undefined","percentage","discountPercentage","clubOffer","getClubRate","board","rate","find","_ref2","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","Fragment","View","className","offset","summary","row","Text","bold","small","tag","highlight","L10N","LABEL_ONLY_MEMBERS","accent","LABEL_DISCOUNT","concat","gap","content","end","headline","level","action","light","lineThrough","tiny","LABEL_FOR_NIGHTS","LABEL_PER_NIGHT","getLabelTaxes","PriceDetails","priceDetails","Button","disabled","secondary","onPress","LABEL_NOT_AVAILABLE","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","arrayOf","any","shape","bool","number","string","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, getClubRate } from '../../helpers';\n\nconst Summary = ({\n availableRates = [],\n features: { showPricePerNight = false } = {},\n id: roomId,\n isSoldOut = false,\n multiRoom = false,\n name: roomName,\n nights = 2,\n priceFactor = 1,\n selected = {},\n selectedBoard = {},\n taxesType,\n onSelect,\n ...others\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 confidential,\n dayPrice,\n deals,\n discount,\n fees,\n id,\n name,\n originalPrice = 0,\n price = 0,\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 cancellationId,\n checkoutPrice,\n confidential,\n deals,\n discount,\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 { percentage: discountPercentage = 0 } = discount || {};\n\n const clubOffer = getClubRate({\n board: selectedBoard,\n rate: availableRates.find(({ id }) => rateId === id),\n });\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n\n const { testId } = others;\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n <View row>\n {clubOffer && (\n <Text bold small className={[style.tag, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n )}\n\n {!isSoldOut && discountPercentage > 0 && (\n <Text accent bold small>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n </View>\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({ ...currencyFormatProps, value: price / priceFactor })}\n </Text>\n\n {price !== originalPrice && (\n <Text action light className={style.lineThrough}>\n {currencyFormat({ ...currencyFormatProps, value: originalPrice / priceFactor })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({\n ...currencyFormatProps,\n value: showPricePerNight ? price : dayPrice,\n })} ${translate(showPricePerNight ? L10N.LABEL_FOR_NIGHTS : L10N.LABEL_PER_NIGHT, { nights })}`}</Text>\n )}\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n {(discountPercentage > 0 || fees > 0 || taxes > 0) && (\n <PriceDetails {...{ board: selectedBoard, taxesType }} className={style.priceDetails} />\n )}\n </View>\n )}\n\n <Button\n busy={busy}\n disabled={isSoldOut}\n secondary={multiRoom && isSelected}\n onPress={handlePress}\n testId={testId ? `${testId}-select` : undefined}\n >\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 availableRates: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n showPricePerNight: PropTypes.bool,\n }),\n id: PropTypes.number,\n isSoldOut: PropTypes.bool,\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n nights: PropTypes.number,\n priceFactor: 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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"}
@@ -115,6 +115,9 @@ const L10N = exports.L10N = {
115
115
  LABEL_SELECTED_OCCUPATION: {
116
116
  id: 'common.label.selected_occupation'
117
117
  },
118
+ LABEL_SUBTOTAL: {
119
+ id: 'finder.label.subtotal'
120
+ },
118
121
  LABEL_TAXES: {
119
122
  id: 'finder.label.taxes'
120
123
  },
@@ -1 +1 @@
1
- {"version":3,"file":"Item.l10n.js","names":["L10N","exports","ACTION_MORE_INFO","id","ACTION_RESERVE","ACTION_VIEW_MORE","LABEL_ACCOMMODATION_PLAN","LABEL_BASE_PRICE","LABEL_BED_DISPOSITION","LABEL_CANCELLATION_POLICY","LABEL_COUNTDOWN","LABEL_COUNTDOWN_OFFER","LABEL_CLUB_MEMBERS","LABEL_DESCRIPTION","LABEL_DESELECT","LABEL_DISCOUNT","LABEL_DISCOUNT_INCLUDED","LABEL_DISCOUNT_TYPE","LABEL_DOUBLE_BED_WIDTH","LABEL_EXTRAS","LABEL_FEES","LABEL_FOR_NIGHTS","LABEL_INCLUDED","LABEL_LIMITED_OFFER","LABEL_MAX_OCCUPATION","LABEL_MIRAI_TWIN","LABEL_MORE_SERVICES","LABEL_NOT_AVAILABLE","LABEL_OFFER","LABEL_ONLY_MEMBERS","LABEL_OR","LABEL_PAYMENT_TERMS","LABEL_PER_NIGHT","LABEL_PRICE_DETAILS","LABEL_REMAINING_ITEMS","LABEL_SELECT","LABEL_SELECTED_OCCUPATION","LABEL_TAXES","LABEL_TOP_AMENITIES","LABEL_TOTAL","LABEL_WHATS_INCLUDED","LABEL_YEARS_OLD"],"sources":["../../../../../src/components/Rates/components/Item/Item.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_MORE_INFO: { id: 'common.action.more_info' },\n ACTION_RESERVE: { id: 'common.action.reserve' },\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n\n LABEL_ACCOMMODATION_PLAN: { id: 'finder.label.accommodation_plan' },\n LABEL_BASE_PRICE: { id: 'common.label.base_price' },\n LABEL_BED_DISPOSITION: { id: 'finder.label.bed_disposition' },\n LABEL_CANCELLATION_POLICY: { id: 'common.label.cancellation_policy' },\n LABEL_COUNTDOWN: { id: 'finder.label.countdown' },\n LABEL_COUNTDOWN_OFFER: { id: 'finder.label.countdown_offer' },\n LABEL_CLUB_MEMBERS: { id: 'finder.label.club_members' },\n LABEL_DESCRIPTION: { id: 'common.label.description' },\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_DOUBLE_BED_WIDTH: { id: 'finder.label.double_bed_width' },\n LABEL_EXTRAS: { id: 'common.label.extras' },\n LABEL_FEES: { id: 'finder.label.fees' },\n LABEL_FOR_NIGHTS: { id: 'common.label.for_nights' },\n LABEL_INCLUDED: { id: 'common.label.included' },\n LABEL_LIMITED_OFFER: { id: 'finder.label.limited_offer' },\n LABEL_MAX_OCCUPATION: { id: 'common.label.max_occupation' },\n LABEL_MIRAI_TWIN: { id: 'finder.label.mirai_twin' },\n LABEL_MORE_SERVICES: { id: 'finder.label.more_services' },\n LABEL_NOT_AVAILABLE: { id: 'common.label.not_available' },\n LABEL_OFFER: { id: 'common.label.offer' },\n LABEL_ONLY_MEMBERS: { id: 'finder.label.only_members' },\n LABEL_OR: { id: 'common.label.or' },\n LABEL_PAYMENT_TERMS: { id: 'common.label.payment_terms' },\n LABEL_PER_NIGHT: { id: 'finder.label.per_night' },\n LABEL_PRICE_DETAILS: { id: 'finder.label.price_details' },\n LABEL_REMAINING_ITEMS: { id: 'finder.label.remaining_items' },\n LABEL_SELECT: { id: 'common.label.select' },\n LABEL_SELECTED_OCCUPATION: { id: 'common.label.selected_occupation' },\n LABEL_TAXES: { id: 'finder.label.taxes' },\n LABEL_TOP_AMENITIES: { id: 'finder.label.top_amenities' },\n LABEL_TOTAL: { id: 'common.label.total' },\n LABEL_WHATS_INCLUDED: { id: 'finder.label.whats_included' },\n LABEL_YEARS_OLD: { id: 'common.label.years_old' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,gBAAgB,EAAE;IAAEC,EAAE,EAAE;EAA0B,CAAC;EACnDC,cAAc,EAAE;IAAED,EAAE,EAAE;EAAwB,CAAC;EAC/CE,gBAAgB,EAAE;IAAEF,EAAE,EAAE;EAA0B,CAAC;EAEnDG,wBAAwB,EAAE;IAAEH,EAAE,EAAE;EAAkC,CAAC;EACnEI,gBAAgB,EAAE;IAAEJ,EAAE,EAAE;EAA0B,CAAC;EACnDK,qBAAqB,EAAE;IAAEL,EAAE,EAAE;EAA+B,CAAC;EAC7DM,yBAAyB,EAAE;IAAEN,EAAE,EAAE;EAAmC,CAAC;EACrEO,eAAe,EAAE;IAAEP,EAAE,EAAE;EAAyB,CAAC;EACjDQ,qBAAqB,EAAE;IAAER,EAAE,EAAE;EAA+B,CAAC;EAC7DS,kBAAkB,EAAE;IAAET,EAAE,EAAE;EAA4B,CAAC;EACvDU,iBAAiB,EAAE;IAAEV,EAAE,EAAE;EAA2B,CAAC;EACrDW,cAAc,EAAE;IAAEX,EAAE,EAAE;EAAwB,CAAC;EAC/CY,cAAc,EAAE;IAAEZ,EAAE,EAAE;EAAwB,CAAC;EAC/Ca,uBAAuB,EAAE;IAAEb,EAAE,EAAE;EAAiC,CAAC;EACjEc,mBAAmB,EAAE;IACnB,CAAC,EAAE;MAAEd,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAAkC;EAC7C,CAAC;EACDe,sBAAsB,EAAE;IAAEf,EAAE,EAAE;EAAgC,CAAC;EAC/DgB,YAAY,EAAE;IAAEhB,EAAE,EAAE;EAAsB,CAAC;EAC3CiB,UAAU,EAAE;IAAEjB,EAAE,EAAE;EAAoB,CAAC;EACvCkB,gBAAgB,EAAE;IAAElB,EAAE,EAAE;EAA0B,CAAC;EACnDmB,cAAc,EAAE;IAAEnB,EAAE,EAAE;EAAwB,CAAC;EAC/CoB,mBAAmB,EAAE;IAAEpB,EAAE,EAAE;EAA6B,CAAC;EACzDqB,oBAAoB,EAAE;IAAErB,EAAE,EAAE;EAA8B,CAAC;EAC3DsB,gBAAgB,EAAE;IAAEtB,EAAE,EAAE;EAA0B,CAAC;EACnDuB,mBAAmB,EAAE;IAAEvB,EAAE,EAAE;EAA6B,CAAC;EACzDwB,mBAAmB,EAAE;IAAExB,EAAE,EAAE;EAA6B,CAAC;EACzDyB,WAAW,EAAE;IAAEzB,EAAE,EAAE;EAAqB,CAAC;EACzC0B,kBAAkB,EAAE;IAAE1B,EAAE,EAAE;EAA4B,CAAC;EACvD2B,QAAQ,EAAE;IAAE3B,EAAE,EAAE;EAAkB,CAAC;EACnC4B,mBAAmB,EAAE;IAAE5B,EAAE,EAAE;EAA6B,CAAC;EACzD6B,eAAe,EAAE;IAAE7B,EAAE,EAAE;EAAyB,CAAC;EACjD8B,mBAAmB,EAAE;IAAE9B,EAAE,EAAE;EAA6B,CAAC;EACzD+B,qBAAqB,EAAE;IAAE/B,EAAE,EAAE;EAA+B,CAAC;EAC7DgC,YAAY,EAAE;IAAEhC,EAAE,EAAE;EAAsB,CAAC;EAC3CiC,yBAAyB,EAAE;IAAEjC,EAAE,EAAE;EAAmC,CAAC;EACrEkC,WAAW,EAAE;IAAElC,EAAE,EAAE;EAAqB,CAAC;EACzCmC,mBAAmB,EAAE;IAAEnC,EAAE,EAAE;EAA6B,CAAC;EACzDoC,WAAW,EAAE;IAAEpC,EAAE,EAAE;EAAqB,CAAC;EACzCqC,oBAAoB,EAAE;IAAErC,EAAE,EAAE;EAA8B,CAAC;EAC3DsC,eAAe,EAAE;IAAEtC,EAAE,EAAE;EAAyB;AAClD,CAAC"}
1
+ {"version":3,"file":"Item.l10n.js","names":["L10N","exports","ACTION_MORE_INFO","id","ACTION_RESERVE","ACTION_VIEW_MORE","LABEL_ACCOMMODATION_PLAN","LABEL_BASE_PRICE","LABEL_BED_DISPOSITION","LABEL_CANCELLATION_POLICY","LABEL_COUNTDOWN","LABEL_COUNTDOWN_OFFER","LABEL_CLUB_MEMBERS","LABEL_DESCRIPTION","LABEL_DESELECT","LABEL_DISCOUNT","LABEL_DISCOUNT_INCLUDED","LABEL_DISCOUNT_TYPE","LABEL_DOUBLE_BED_WIDTH","LABEL_EXTRAS","LABEL_FEES","LABEL_FOR_NIGHTS","LABEL_INCLUDED","LABEL_LIMITED_OFFER","LABEL_MAX_OCCUPATION","LABEL_MIRAI_TWIN","LABEL_MORE_SERVICES","LABEL_NOT_AVAILABLE","LABEL_OFFER","LABEL_ONLY_MEMBERS","LABEL_OR","LABEL_PAYMENT_TERMS","LABEL_PER_NIGHT","LABEL_PRICE_DETAILS","LABEL_REMAINING_ITEMS","LABEL_SELECT","LABEL_SELECTED_OCCUPATION","LABEL_SUBTOTAL","LABEL_TAXES","LABEL_TOP_AMENITIES","LABEL_TOTAL","LABEL_WHATS_INCLUDED","LABEL_YEARS_OLD"],"sources":["../../../../../src/components/Rates/components/Item/Item.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_MORE_INFO: { id: 'common.action.more_info' },\n ACTION_RESERVE: { id: 'common.action.reserve' },\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n\n LABEL_ACCOMMODATION_PLAN: { id: 'finder.label.accommodation_plan' },\n LABEL_BASE_PRICE: { id: 'common.label.base_price' },\n LABEL_BED_DISPOSITION: { id: 'finder.label.bed_disposition' },\n LABEL_CANCELLATION_POLICY: { id: 'common.label.cancellation_policy' },\n LABEL_COUNTDOWN: { id: 'finder.label.countdown' },\n LABEL_COUNTDOWN_OFFER: { id: 'finder.label.countdown_offer' },\n LABEL_CLUB_MEMBERS: { id: 'finder.label.club_members' },\n LABEL_DESCRIPTION: { id: 'common.label.description' },\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_DOUBLE_BED_WIDTH: { id: 'finder.label.double_bed_width' },\n LABEL_EXTRAS: { id: 'common.label.extras' },\n LABEL_FEES: { id: 'finder.label.fees' },\n LABEL_FOR_NIGHTS: { id: 'common.label.for_nights' },\n LABEL_INCLUDED: { id: 'common.label.included' },\n LABEL_LIMITED_OFFER: { id: 'finder.label.limited_offer' },\n LABEL_MAX_OCCUPATION: { id: 'common.label.max_occupation' },\n LABEL_MIRAI_TWIN: { id: 'finder.label.mirai_twin' },\n LABEL_MORE_SERVICES: { id: 'finder.label.more_services' },\n LABEL_NOT_AVAILABLE: { id: 'common.label.not_available' },\n LABEL_OFFER: { id: 'common.label.offer' },\n LABEL_ONLY_MEMBERS: { id: 'finder.label.only_members' },\n LABEL_OR: { id: 'common.label.or' },\n LABEL_PAYMENT_TERMS: { id: 'common.label.payment_terms' },\n LABEL_PER_NIGHT: { id: 'finder.label.per_night' },\n LABEL_PRICE_DETAILS: { id: 'finder.label.price_details' },\n LABEL_REMAINING_ITEMS: { id: 'finder.label.remaining_items' },\n LABEL_SELECT: { id: 'common.label.select' },\n LABEL_SELECTED_OCCUPATION: { id: 'common.label.selected_occupation' },\n LABEL_SUBTOTAL: { id: 'finder.label.subtotal' },\n LABEL_TAXES: { id: 'finder.label.taxes' },\n LABEL_TOP_AMENITIES: { id: 'finder.label.top_amenities' },\n LABEL_TOTAL: { id: 'common.label.total' },\n LABEL_WHATS_INCLUDED: { id: 'finder.label.whats_included' },\n LABEL_YEARS_OLD: { id: 'common.label.years_old' },\n};\n"],"mappings":"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"}
@@ -11,18 +11,27 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _react = _interopRequireDefault(require("react"));
12
12
  var _helpers = require("./helpers");
13
13
  var style = _interopRequireWildcard(require("./PriceDetails.module.css"));
14
+ var _Core = require("../../../../../../Core.constants");
14
15
  var _helpers2 = require("../../../../../helpers");
15
16
  var _Rates = require("../../../../Rates.constants");
16
17
  var _Item = require("../../Item.l10n");
17
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
19
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+ const {
22
+ ALL_EXCLUDED,
23
+ FEES_EXCLUDED,
24
+ FEES_INCLUDED_TAXES_EXCLUDED,
25
+ TAXES_EXCLUDED,
26
+ TAXES_INCLUDED_FEES_EXCLUDED
27
+ } = _Core.TAXES_TYPE;
20
28
  const PriceDetails = _ref => {
21
29
  let {
22
30
  board = {},
23
31
  cart = [],
24
32
  extras = [],
25
33
  metrics = 'RATES:ITEM',
34
+ taxesType,
26
35
  ...others
27
36
  } = _ref;
28
37
  const {
@@ -70,6 +79,50 @@ const PriceDetails = _ref => {
70
79
  }), {
71
80
  confidential: true
72
81
  });
82
+ const renderSubtotal = () => (totalBreakdown > 0 || totalBaseExtras > 0) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
83
+ className: style.anchor
84
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, {
85
+ row: true,
86
+ className: style.item
87
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
88
+ action: true,
89
+ bold: true
90
+ }, translate(_Item.L10N.LABEL_SUBTOTAL)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
91
+ action: true,
92
+ bold: true
93
+ }, currencyFormat({
94
+ currency,
95
+ value: basePrice + totalBaseExtras - totalBreakdown + (taxesType === TAXES_INCLUDED_FEES_EXCLUDED ? boardTaxes : 0) + (taxesType === FEES_INCLUDED_TAXES_EXCLUDED ? boardFees : 0)
96
+ }))));
97
+ const renderTaxes = () => boardTaxes > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
98
+ row: true,
99
+ className: style.item
100
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
101
+ action: true
102
+ }, translate(_Item.L10N.LABEL_TAXES)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
103
+ action: true
104
+ }, currencyFormat({
105
+ currency,
106
+ value: boardTaxes
107
+ })));
108
+ const renderFees = () => boardFees > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
109
+ row: true,
110
+ className: style.item
111
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
112
+ action: true
113
+ }, translate(_Item.L10N.LABEL_FEES)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
114
+ action: true
115
+ }, currencyFormat({
116
+ currency,
117
+ value: boardFees
118
+ })));
119
+ const taxesTypes = {
120
+ [ALL_EXCLUDED]: [renderSubtotal, renderTaxes, renderFees],
121
+ [TAXES_EXCLUDED]: [renderSubtotal, renderTaxes, renderFees],
122
+ [FEES_EXCLUDED]: [renderTaxes, renderSubtotal, renderFees],
123
+ [TAXES_INCLUDED_FEES_EXCLUDED]: [renderTaxes, renderSubtotal, renderFees],
124
+ [FEES_INCLUDED_TAXES_EXCLUDED]: [renderFees, renderSubtotal, renderTaxes]
125
+ };
73
126
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
74
127
  row: true
75
128
  }, /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
@@ -113,27 +166,9 @@ const PriceDetails = _ref => {
113
166
  currency,
114
167
  value: -value
115
168
  })));
116
- }), boardTaxes > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
117
- row: true,
118
- className: style.item
119
- }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
120
- action: true
121
- }, translate(_Item.L10N.LABEL_TAXES)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
122
- action: true
123
- }, currencyFormat({
124
- currency,
125
- value: boardTaxes
126
- }))), boardFees > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
127
- row: true,
128
- className: style.item
129
- }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
130
- action: true
131
- }, translate(_Item.L10N.LABEL_FEES)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
132
- action: true
133
- }, currencyFormat({
134
- currency,
135
- value: boardFees
136
- }))), /*#__PURE__*/_react.default.createElement(_ui.View, {
169
+ }), (taxesTypes[taxesType] || [renderTaxes, renderFees]).map((render, index) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
170
+ key: index
171
+ }, render())), /*#__PURE__*/_react.default.createElement(_ui.View, {
137
172
  className: style.anchor
138
173
  }), /*#__PURE__*/_react.default.createElement(_ui.View, {
139
174
  row: true,
@@ -171,6 +206,7 @@ PriceDetails.propTypes = {
171
206
  }),
172
207
  cart: _propTypes.default.arrayOf(_propTypes.default.shape({})),
173
208
  extras: _propTypes.default.arrayOf(_propTypes.default.shape({})),
174
- metrics: _propTypes.default.string
209
+ metrics: _propTypes.default.string,
210
+ taxesType: _propTypes.default.number
175
211
  };
176
212
  //# sourceMappingURL=PriceDetails.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PriceDetails.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_helpers","style","_interopRequireWildcard","_helpers2","_Rates","_Item","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","PriceDetails","_ref","board","cart","extras","metrics","others","isMobile","useDevice","value","currency","finder","promocode","useStore","currencyFormat","translate","useLocale","handlePress","Event","publish","EVENT","METRICS","id","concat","basePrice","discount","breakdown","fees","boardFees","taxes","boardTaxes","totalBaseExtras","length","getPrices","totalBreakdown","reduce","total","_ref2","confidential","current","createElement","View","row","Tooltip","pressable","Template","className","item","Text","action","L10N","LABEL_BASE_PRICE","LABEL_EXTRAS","map","_ref3","type","key","LABEL_DISCOUNT_TYPE","DISCOUNT_TYPE","PROMOTION","DEAL","toUpperCase","LABEL_TAXES","LABEL_FEES","anchor","bold","LABEL_TOTAL","onPress","tooltip","accent","medium","small","LABEL_PRICE_DETAILS","exports","displayName","propTypes","PropTypes","shape","arrayOf","number","percentage","originalPrice","string"],"sources":["../../../../../../../src/components/Rates/components/Item/components/PriceDetails/PriceDetails.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { getPrices } from './helpers';\nimport * as style from './PriceDetails.module.css';\nimport { EVENT } from '../../../../../helpers';\nimport { DISCOUNT_TYPE } from '../../../../Rates.constants';\nimport { L10N } from '../../Item.l10n';\n\nconst PriceDetails = ({ board = {}, cart = [], extras = [], metrics = 'RATES:ITEM', ...others }) => {\n const { isMobile } = useDevice();\n const { value: { currency, finder: { promocode } = {} } = {} } = useStore();\n const { currencyFormat, translate } = useLocale();\n\n const handlePress = () => Event.publish(EVENT.METRICS, { id: `${metrics}:PRICE_DETAILS` });\n\n const {\n basePrice = 0,\n discount: { breakdown = [] } = {},\n fees: boardFees = 0,\n taxes: boardTaxes = 0,\n totalBaseExtras = 0,\n } = cart.length === 0 ? board : getPrices({ cart, extras, ...others });\n\n const totalBreakdown = breakdown.reduce((total, { value }) => total + value, 0);\n const total = basePrice + boardFees + boardTaxes + totalBaseExtras - totalBreakdown;\n const { confidential } =\n cart.length === 0\n ? board\n : cart.reduce((total, current) => ({ confidential: current.confidential && total.confidential }), {\n confidential: true,\n });\n\n return (\n <View row>\n <Tooltip\n pressable\n Template={() => (\n <View className={style.breakdown}>\n {basePrice > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_BASE_PRICE)}</Text>\n <Text action>{currencyFormat({ currency, value: basePrice })}</Text>\n </View>\n )}\n\n {totalBaseExtras > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_EXTRAS)}</Text>\n <Text action>{currencyFormat({ currency, value: totalBaseExtras })}</Text>\n </View>\n )}\n\n {breakdown?.map(({ type, value }) => (\n <View row key={type} className={style.item}>\n <Text action>\n {translate(L10N.LABEL_DISCOUNT_TYPE[type])}\n {promocode &&\n (type === DISCOUNT_TYPE.PROMOTION || (type === DISCOUNT_TYPE.DEAL && confidential)) &&\n ` ${promocode.toUpperCase()}`}\n </Text>\n <Text action>{currencyFormat({ currency, value: -value })}</Text>\n </View>\n ))}\n\n {boardTaxes > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_TAXES)}</Text>\n <Text action>{currencyFormat({ currency, value: boardTaxes })}</Text>\n </View>\n )}\n\n {boardFees > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_FEES)}</Text>\n <Text action>{currencyFormat({ currency, value: boardFees })}</Text>\n </View>\n )}\n\n <View className={style.anchor} />\n\n <View row className={style.item}>\n <Text bold>{translate(L10N.LABEL_TOTAL)}</Text>\n <Text bold>{currencyFormat({ currency, value: total })}</Text>\n </View>\n </View>\n )}\n onPress={handlePress}\n className={style.tooltip}\n >\n <Text accent action={!isMobile} medium small={isMobile} className={others.className}>\n {translate(L10N.LABEL_PRICE_DETAILS)}\n </Text>\n </Tooltip>\n </View>\n );\n};\n\nPriceDetails.displayName = 'Mirai:Core:Rates:Item:PriceDetails';\n\nPriceDetails.propTypes = {\n board: PropTypes.shape({\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 cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n metrics: PropTypes.string,\n};\n\nexport { PriceDetails };\n"],"mappings":"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"}
1
+ {"version":3,"file":"PriceDetails.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_helpers","style","_interopRequireWildcard","_Core","_helpers2","_Rates","_Item","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ALL_EXCLUDED","FEES_EXCLUDED","FEES_INCLUDED_TAXES_EXCLUDED","TAXES_EXCLUDED","TAXES_INCLUDED_FEES_EXCLUDED","TAXES_TYPE","PriceDetails","_ref","board","cart","extras","metrics","taxesType","others","isMobile","useDevice","value","currency","finder","promocode","useStore","currencyFormat","translate","useLocale","handlePress","Event","publish","EVENT","METRICS","id","concat","basePrice","discount","breakdown","fees","boardFees","taxes","boardTaxes","totalBaseExtras","length","getPrices","totalBreakdown","reduce","total","_ref2","confidential","current","renderSubtotal","createElement","Fragment","View","className","anchor","row","item","Text","action","bold","L10N","LABEL_SUBTOTAL","renderTaxes","LABEL_TAXES","renderFees","LABEL_FEES","taxesTypes","Tooltip","pressable","Template","LABEL_BASE_PRICE","LABEL_EXTRAS","map","_ref3","type","key","LABEL_DISCOUNT_TYPE","DISCOUNT_TYPE","PROMOTION","DEAL","toUpperCase","render","index","LABEL_TOTAL","onPress","tooltip","accent","medium","small","LABEL_PRICE_DETAILS","exports","displayName","propTypes","PropTypes","shape","arrayOf","number","percentage","originalPrice","string"],"sources":["../../../../../../../src/components/Rates/components/Item/components/PriceDetails/PriceDetails.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { getPrices } from './helpers';\nimport * as style from './PriceDetails.module.css';\nimport { TAXES_TYPE } from '../../../../../../Core.constants';\nimport { EVENT } from '../../../../../helpers';\nimport { DISCOUNT_TYPE } from '../../../../Rates.constants';\nimport { L10N } from '../../Item.l10n';\n\nconst { ALL_EXCLUDED, FEES_EXCLUDED, FEES_INCLUDED_TAXES_EXCLUDED, TAXES_EXCLUDED, TAXES_INCLUDED_FEES_EXCLUDED } =\n TAXES_TYPE;\n\nconst PriceDetails = ({ board = {}, cart = [], extras = [], metrics = 'RATES:ITEM', taxesType, ...others }) => {\n const { isMobile } = useDevice();\n const { value: { currency, finder: { promocode } = {} } = {} } = useStore();\n const { currencyFormat, translate } = useLocale();\n\n const handlePress = () => Event.publish(EVENT.METRICS, { id: `${metrics}:PRICE_DETAILS` });\n\n const {\n basePrice = 0,\n discount: { breakdown = [] } = {},\n fees: boardFees = 0,\n taxes: boardTaxes = 0,\n totalBaseExtras = 0,\n } = cart.length === 0 ? board : getPrices({ cart, extras, ...others });\n\n const totalBreakdown = breakdown.reduce((total, { value }) => total + value, 0);\n const total = basePrice + boardFees + boardTaxes + totalBaseExtras - totalBreakdown;\n const { confidential } =\n cart.length === 0\n ? board\n : cart.reduce((total, current) => ({ confidential: current.confidential && total.confidential }), {\n confidential: true,\n });\n\n const renderSubtotal = () =>\n (totalBreakdown > 0 || totalBaseExtras > 0) && (\n <>\n <View className={style.anchor} />\n <View row className={style.item}>\n <Text action bold>\n {translate(L10N.LABEL_SUBTOTAL)}\n </Text>\n <Text action bold>\n {currencyFormat({\n currency,\n value:\n basePrice +\n totalBaseExtras -\n totalBreakdown +\n (taxesType === TAXES_INCLUDED_FEES_EXCLUDED ? boardTaxes : 0) +\n (taxesType === FEES_INCLUDED_TAXES_EXCLUDED ? boardFees : 0),\n })}\n </Text>\n </View>\n </>\n );\n\n const renderTaxes = () =>\n boardTaxes > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_TAXES)}</Text>\n <Text action>{currencyFormat({ currency, value: boardTaxes })}</Text>\n </View>\n );\n\n const renderFees = () =>\n boardFees > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_FEES)}</Text>\n <Text action>{currencyFormat({ currency, value: boardFees })}</Text>\n </View>\n );\n\n const taxesTypes = {\n [ALL_EXCLUDED]: [renderSubtotal, renderTaxes, renderFees],\n [TAXES_EXCLUDED]: [renderSubtotal, renderTaxes, renderFees],\n [FEES_EXCLUDED]: [renderTaxes, renderSubtotal, renderFees],\n [TAXES_INCLUDED_FEES_EXCLUDED]: [renderTaxes, renderSubtotal, renderFees],\n [FEES_INCLUDED_TAXES_EXCLUDED]: [renderFees, renderSubtotal, renderTaxes],\n };\n\n return (\n <View row>\n <Tooltip\n pressable\n Template={() => (\n <View className={style.breakdown}>\n {basePrice > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_BASE_PRICE)}</Text>\n <Text action>{currencyFormat({ currency, value: basePrice })}</Text>\n </View>\n )}\n\n {totalBaseExtras > 0 && (\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_EXTRAS)}</Text>\n <Text action>{currencyFormat({ currency, value: totalBaseExtras })}</Text>\n </View>\n )}\n\n {breakdown?.map(({ type, value }) => (\n <View row key={type} className={style.item}>\n <Text action>\n {translate(L10N.LABEL_DISCOUNT_TYPE[type])}\n {promocode &&\n (type === DISCOUNT_TYPE.PROMOTION || (type === DISCOUNT_TYPE.DEAL && confidential)) &&\n ` ${promocode.toUpperCase()}`}\n </Text>\n <Text action>{currencyFormat({ currency, value: -value })}</Text>\n </View>\n ))}\n\n {(taxesTypes[taxesType] || [renderTaxes, renderFees]).map((render, index) => (\n <React.Fragment key={index}>{render()}</React.Fragment>\n ))}\n\n <View className={style.anchor} />\n\n <View row className={style.item}>\n <Text bold>{translate(L10N.LABEL_TOTAL)}</Text>\n <Text bold>{currencyFormat({ currency, value: total })}</Text>\n </View>\n </View>\n )}\n onPress={handlePress}\n className={style.tooltip}\n >\n <Text accent action={!isMobile} medium small={isMobile} className={others.className}>\n {translate(L10N.LABEL_PRICE_DETAILS)}\n </Text>\n </Tooltip>\n </View>\n );\n};\n\nPriceDetails.displayName = 'Mirai:Core:Rates:Item:PriceDetails';\n\nPriceDetails.propTypes = {\n board: PropTypes.shape({\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 cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n metrics: PropTypes.string,\n taxesType: PropTypes.number,\n};\n\nexport { PriceDetails };\n"],"mappings":"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"}
@@ -303,7 +303,8 @@ const ModalExtras = _ref => {
303
303
  return selected;
304
304
  }),
305
305
  cart: cart,
306
- metrics: "RATES:EXTRAS"
306
+ metrics: "RATES:EXTRAS",
307
+ taxesType: taxesType
307
308
  }, others, {
308
309
  className: style.priceDetails
309
310
  }))), /*#__PURE__*/_react.default.createElement(_ui.Button, {
@@ -1 +1 @@
1
- {"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_helpers3","_components","_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","ModalExtras","_ref","busy","cart","extras","propExtras","taxesType","visible","onCancel","onSubmit","others","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","setExtras","useState","useEffect","Event","publish","EVENT","METRICS","id","handleChange","field","undefined","map","extra","parseInt","handleSelect","next","_ref2","selected","concat","filter","_ref3","_ref4","handleSubmit","item","included","_ref5","_baseValue","amount","baseValue","nights","valueAmount","valueNights","price","hasSelected","total","reduce","totalExtras","_value","place","standaloneCard","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","Modal","fit","title","L10N","LABEL_ENHANCED_YOUR_STAY","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","row","container","accommodationThreshold","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","text","type","wide","styles","card","standalone","backgroundImage","gap","offset","anchor","Text","bold","small","Notification","inline","warning","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","tiny","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","onChange","LABEL_NIGHTS","spaceBetween","headline","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","footer","level","getLabelTaxes","PriceDetails","_ref6","metrics","priceDetails","ACTION_RESERVE","ACTION_NEXT","exports","propTypes","PropTypes","bool","arrayOf","shape","number","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Modal, Notification, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { getGuestLabel } from '../../../helpers';\nimport { EVENT } from '../../../helpers';\nimport { getLabelTaxes } from '../../helpers';\nimport { PriceDetails } from '../Item/components';\n\nconst ModalExtras = ({\n busy,\n cart = [],\n extras: propExtras = [],\n taxesType,\n visible = false,\n onCancel = () => {},\n onSubmit = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const {\n value: { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n useEffect(() => {\n if (visible) {\n setExtras(propExtras);\n Event.publish(EVENT.METRICS, { id: 'RATES:EXTRAS' });\n }\n }, [propExtras, visible]);\n\n const handleChange = ({ id, field, value } = {}) => {\n // ! Why parse Number()? should come from the service.\n setExtras(extras.map((extra) => ({ ...extra, [field]: extra.id === id ? parseInt(value) : extra[field] })));\n };\n\n const handleSelect = (id) => {\n const next = extras.map(({ selected = false, ...extra }) => ({\n ...extra,\n selected: extra.id === id ? !selected : selected,\n }));\n\n setExtras(next);\n\n Event.publish(EVENT.METRICS, {\n id: `RATES:EXTRAS:${\n next.filter(({ selected }) => selected).length > extras.filter(({ selected }) => selected).length\n ? 'ADD'\n : 'REMOVE'\n }`,\n });\n };\n\n const handleSubmit = () => {\n onSubmit(\n extras\n .filter((item) => item.selected || item.included)\n .map(({ amount, baseValue, nights, id, included, valueAmount, valueNights }) => ({\n id,\n included,\n amount: parseInt(valueAmount || amount),\n nights: parseInt(valueNights || nights),\n value: baseValue[valueAmount || amount][valueNights || nights]?.price,\n })),\n );\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = extras\n .filter((item) => item.selected)\n .reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const { testId } = others;\n\n return (\n <Modal\n fit\n title={translate(L10N.LABEL_ENHANCED_YOUR_STAY)}\n visible={visible}\n onClose={onCancel}\n className={style.modal}\n testId={testId}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View row className={style.container}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected && selected ? style.selected : undefined,\n )}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small={!isMobile} tiny={isMobile}>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total ? currencyFormat({ ...currencyFormatProps, value: total }) : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </View>\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ ...currencyFormatProps, value: total + totalExtras })}\n </Text>\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails\n extras={extras.filter(({ selected }) => selected)}\n cart={cart}\n metrics=\"RATES:EXTRAS\"\n {...others}\n className={style.priceDetails}\n />\n </View>\n )}\n\n <Button busy={busy} onPress={handleSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {translate(hasSelected ? L10N.ACTION_RESERVE : L10N.ACTION_NEXT)}\n </Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n busy: PropTypes.bool,\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n visible: PropTypes.bool,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":"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"}
1
+ {"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_helpers3","_components","_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","ModalExtras","_ref","busy","cart","extras","propExtras","taxesType","visible","onCancel","onSubmit","others","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","setExtras","useState","useEffect","Event","publish","EVENT","METRICS","id","handleChange","field","undefined","map","extra","parseInt","handleSelect","next","_ref2","selected","concat","filter","_ref3","_ref4","handleSubmit","item","included","_ref5","_baseValue","amount","baseValue","nights","valueAmount","valueNights","price","hasSelected","total","reduce","totalExtras","_value","place","standaloneCard","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","Modal","fit","title","L10N","LABEL_ENHANCED_YOUR_STAY","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","row","container","accommodationThreshold","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","text","type","wide","styles","card","standalone","backgroundImage","gap","offset","anchor","Text","bold","small","Notification","inline","warning","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","tiny","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","onChange","LABEL_NIGHTS","spaceBetween","headline","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","footer","level","getLabelTaxes","PriceDetails","_ref6","metrics","priceDetails","ACTION_RESERVE","ACTION_NEXT","exports","propTypes","PropTypes","bool","arrayOf","shape","number","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Modal, Notification, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { getGuestLabel } from '../../../helpers';\nimport { EVENT } from '../../../helpers';\nimport { getLabelTaxes } from '../../helpers';\nimport { PriceDetails } from '../Item/components';\n\nconst ModalExtras = ({\n busy,\n cart = [],\n extras: propExtras = [],\n taxesType,\n visible = false,\n onCancel = () => {},\n onSubmit = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const {\n value: { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n useEffect(() => {\n if (visible) {\n setExtras(propExtras);\n Event.publish(EVENT.METRICS, { id: 'RATES:EXTRAS' });\n }\n }, [propExtras, visible]);\n\n const handleChange = ({ id, field, value } = {}) => {\n // ! Why parse Number()? should come from the service.\n setExtras(extras.map((extra) => ({ ...extra, [field]: extra.id === id ? parseInt(value) : extra[field] })));\n };\n\n const handleSelect = (id) => {\n const next = extras.map(({ selected = false, ...extra }) => ({\n ...extra,\n selected: extra.id === id ? !selected : selected,\n }));\n\n setExtras(next);\n\n Event.publish(EVENT.METRICS, {\n id: `RATES:EXTRAS:${\n next.filter(({ selected }) => selected).length > extras.filter(({ selected }) => selected).length\n ? 'ADD'\n : 'REMOVE'\n }`,\n });\n };\n\n const handleSubmit = () => {\n onSubmit(\n extras\n .filter((item) => item.selected || item.included)\n .map(({ amount, baseValue, nights, id, included, valueAmount, valueNights }) => ({\n id,\n included,\n amount: parseInt(valueAmount || amount),\n nights: parseInt(valueNights || nights),\n value: baseValue[valueAmount || amount][valueNights || nights]?.price,\n })),\n );\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = extras\n .filter((item) => item.selected)\n .reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const { testId } = others;\n\n return (\n <Modal\n fit\n title={translate(L10N.LABEL_ENHANCED_YOUR_STAY)}\n visible={visible}\n onClose={onCancel}\n className={style.modal}\n testId={testId}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View row className={style.container}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected && selected ? style.selected : undefined,\n )}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small={!isMobile} tiny={isMobile}>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total ? currencyFormat({ ...currencyFormatProps, value: total }) : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </View>\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ ...currencyFormatProps, value: total + totalExtras })}\n </Text>\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails\n extras={extras.filter(({ selected }) => selected)}\n cart={cart}\n metrics=\"RATES:EXTRAS\"\n taxesType={taxesType}\n {...others}\n className={style.priceDetails}\n />\n </View>\n )}\n\n <Button busy={busy} onPress={handleSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {translate(hasSelected ? L10N.ACTION_RESERVE : L10N.ACTION_NEXT)}\n </Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n busy: PropTypes.bool,\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n visible: PropTypes.bool,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.113",
3
+ "version": "0.4.114",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",