@mirai/core 0.3.406 → 0.3.408
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__tests__/Finder/workflows/occupation.workflow.js +16 -2
- package/__tests__/Rates/__mocks__/extras-one-success.json +138 -0
- package/__tests__/Rates/__mocks__/extras-success.json +397 -0
- package/__tests__/Rates/workflows/extras.js +9 -0
- package/__tests__/Rates/workflows/extrasExpect.js +11 -0
- package/__tests__/Rates/workflows/index.js +4 -0
- package/__tests__/Rates/workflows/multiroom.js +26 -0
- package/__tests__/Rates/workflows/rates.js +9 -0
- package/__tests__/__screenshots__/rates.spec.jsx/Desktop/Search-multiroom-with-one-extras-1.png +0 -0
- package/__tests__/__screenshots__/rates.spec.jsx/Desktop/Search-multiroom-with-some-extras-1.png +0 -0
- package/__tests__/__screenshots__/rates.spec.jsx/iPhone-12/Search-multiroom-with-one-extras-1.png +0 -0
- package/__tests__/__screenshots__/rates.spec.jsx/iPhone-12/Search-multiroom-with-some-extras-1.png +0 -0
- package/__tests__/finder.spec.js +10 -0
- package/__tests__/rates.spec.jsx +31 -12
- package/build/components/Rates/Rates.Footer.js +5 -1
- package/build/components/Rates/Rates.Footer.js.map +1 -1
- package/build/components/Rates/Rates.Header.js +12 -10
- package/build/components/Rates/Rates.Header.js.map +1 -1
- package/build/components/Rates/Rates.js +23 -7
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/__tests__/__snapshots__/Rates.test.js.snap +70 -59
- package/build/components/Rates/components/Filters/Filters.js +15 -5
- package/build/components/Rates/components/Filters/Filters.js.map +1 -1
- package/build/components/Rates/components/Filters/Filters.l10n.js +3 -0
- package/build/components/Rates/components/Filters/Filters.l10n.js.map +1 -1
- package/build/components/Rates/components/Filters/helpers/getAvailableFilters.js +4 -1
- package/build/components/Rates/components/Filters/helpers/getAvailableFilters.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Rates.js +5 -5
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Summary.js +14 -7
- package/build/components/Rates/components/Item/Item.Summary.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +3 -2
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/Item.l10n.js +3 -0
- package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
- package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.module.css +2 -2
- package/build/components/Rates/components/ModalExtras/ModalExtras.js +7 -2
- package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
- package/build/components/Rates/helpers/select.js +7 -1
- package/build/components/Rates/helpers/select.js.map +1 -1
- package/build/contexts/PerfomanceManager/PerfomanceManager.js +1 -1
- package/build/contexts/PerfomanceManager/PerfomanceManager.js.map +1 -1
- package/package.json +1 -1
- package/playwright.config.js +1 -0
- package/public/routes/Step1-Rates.jsx +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Item","exports","React","forwardRef","_ref","ref","boards","cancellations","features","filters","metaBoard","multiRoom","rates","selected","onPreview","onSelect","others","selectedBoard","setSelectedBoard","useState","touched","setTouched","useEffect","keys","updateSelectedBoard","roomId","id","roomName","name","nextBoard","find","board","cancellationId","rateId","handleBoard","clearSelection","Event","publish","EVENT","METRICS","handleCancellation","_ref2","cancellation","handleRate","_ref3","offer","findPrice","dataSource","undefined","item","price","columnMode","rowMode","showAllBoards","showAllOffers","showPricePerNight","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","isSoldOut","soldOut","values","cart","props","availableBoards","availableRates","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","push","sort","b","rate","selectedCancellation","valueFactor","nights","createElement","Card","focus","View","row","className","card","Preview","Fragment","wide","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Item.module.css';\nimport { Preview } from './Item.Preview';\nimport { Rates } from './Item.Rates';\nimport { Summary } from './Item.Summary';\nimport { Card } from '../../../__shared__';\nimport { EVENT } from '../../../helpers';\n\nconst Item = React.forwardRef(\n (\n {\n boards = [],\n cancellations = [],\n features = {},\n filters = {},\n metaBoard,\n multiRoom,\n rates = [],\n selected,\n onPreview,\n onSelect = () => {},\n ...others\n },\n ref,\n ) => {\n const [selectedBoard, setSelectedBoard] = useState();\n const [touched, setTouched] = useState(false);\n\n useEffect(() => {\n if (Object.keys(filters).length) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n useEffect(() => {\n if (!selectedBoard) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n if (!metaBoard || boards.length < 1) return;\n setSelectedBoard(metaBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [metaBoard]);\n\n useEffect(() => {\n onPreview && touched && onPreview({ ...selectedBoard, roomId: others.id, roomName: others.name });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedBoard]);\n\n useEffect(() => {\n if (!selected) return;\n\n const nextBoard = boards.find((board) => board.id === selected.id);\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const updateSelectedBoard = () => {\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n const nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n if (nextBoard) setSelectedBoard(nextBoard);\n };\n\n const handleBoard = (board) => {\n clearSelection();\n setSelectedBoard(board);\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:BOARD', board: board.id });\n };\n\n const handleCancellation = (id) => {\n clearSelection();\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:CANCELLATION', cancellation: id });\n };\n\n const handleRate = ({ id, cancellationId }) => {\n clearSelection();\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:OFFER', offer: id });\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const clearSelection = () => {\n onPreview && setTouched(true);\n multiRoom && selected?.id === id && onSelect(undefined);\n };\n\n const { columnMode, rowMode, showAllBoards, showAllOffers, showPricePerNight, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const ratePrice = findPrice(rateId, rates);\n const visibleBoards = boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n const isSoldOut =\n others.soldOut &&\n (rates.length === 0 ||\n (Object.values(others.cart || {}).filter(({ roomId } = {}) => roomId === selectedBoard?.roomId).length > 0 &&\n selected?.id != id));\n\n const props = {\n ...others,\n availableBoards: boards,\n availableRates: rates,\n boards: showAllBoards\n ? boards\n .map((board) => {\n const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;\n let { increment } = board;\n\n if (!selectedBoard) {\n const boardCancellationPrice = findPrice(board.cancellationId, cancellations);\n const boardRatePrice = findPrice(board.rateId, rates);\n increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;\n }\n\n return { ...board, disabled: !selectedBoard, increment };\n })\n .filter((board) => {\n if (!board.disabled) return true;\n\n const visible = !visibleBoards.find((item) => item.name === board.name);\n if (visible) visibleBoards.push(board);\n\n return visible;\n })\n .sort((a, b) => a.increment - b.increment)\n : visibleBoards,\n cancellations,\n features,\n isSoldOut,\n multiRoom,\n rates: showOffersFirst\n ? rates\n .map((rate) => ({ ...rate, price: rate.price + findPrice(rate.cancellationId, cancellations) }))\n .sort((a, b) => a.price - b.price)\n : showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);\n\n return { ...rate, disabled: !showOffersFirst && !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n valueFactor: showPricePerNight && others.nights > 1 ? others.nights : 1,\n onSelect,\n };\n\n return (\n <Card\n {...{ columnMode, rowMode }}\n disabled={isSoldOut}\n focus={(selected && selected.id === id) || (metaBoard && boards.find((item) => metaBoard?.id === item.id))}\n >\n <View ref={ref} row={rowMode} className={[style.card, rowMode && style.rowMode, others.className]}>\n <Preview {...props} />\n\n {React.createElement(\n rowMode ? View : React.Fragment,\n rowMode ? { className: [style.card, style.rowMode], wide: true } : undefined,\n <>\n {!isSoldOut && (\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n )}\n <Summary {...props} />\n </>,\n )}\n </View>\n </Card>\n );\n },\n);\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nItem.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.shape({})),\n cancellations: PropTypes.arrayOf(PropTypes.shape({})),\n features: PropTypes.shape({}),\n filters: PropTypes.shape({}),\n metaBoard: PropTypes.shape({\n id: PropTypes.string,\n }),\n multiRoom: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({\n id: PropTypes.string,\n }),\n showAllOffers: PropTypes.bool,\n onPreview: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Item.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Item","exports","React","forwardRef","_ref","ref","boards","cancellations","features","filters","metaBoard","multiRoom","priceFactor","rates","selected","onPreview","onSelect","others","selectedBoard","setSelectedBoard","useState","touched","setTouched","useEffect","keys","updateSelectedBoard","roomId","id","roomName","name","nextBoard","find","board","cancellationId","rateId","handleBoard","clearSelection","Event","publish","EVENT","METRICS","handleCancellation","_ref2","cancellation","handleRate","_ref3","offer","findPrice","dataSource","undefined","item","price","columnMode","rowMode","showAllBoards","showAllOffers","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","isSoldOut","soldOut","values","cart","props","availableBoards","availableRates","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","push","sort","b","rate","selectedCancellation","createElement","Card","focus","View","row","className","card","Preview","Fragment","wide","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","string","bool","number","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Item.module.css';\nimport { Preview } from './Item.Preview';\nimport { Rates } from './Item.Rates';\nimport { Summary } from './Item.Summary';\nimport { Card } from '../../../__shared__';\nimport { EVENT } from '../../../helpers';\n\nconst Item = React.forwardRef(\n (\n {\n boards = [],\n cancellations = [],\n features = {},\n filters = {},\n metaBoard,\n multiRoom,\n priceFactor = 1,\n rates = [],\n selected,\n onPreview,\n onSelect = () => {},\n ...others\n },\n ref,\n ) => {\n const [selectedBoard, setSelectedBoard] = useState();\n const [touched, setTouched] = useState(false);\n\n useEffect(() => {\n if (Object.keys(filters).length) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters]);\n\n useEffect(() => {\n if (!selectedBoard) updateSelectedBoard();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n if (!metaBoard || boards.length < 1) return;\n setSelectedBoard(metaBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [metaBoard]);\n\n useEffect(() => {\n onPreview && touched && onPreview({ ...selectedBoard, roomId: others.id, roomName: others.name });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedBoard]);\n\n useEffect(() => {\n if (!selected) return;\n\n const nextBoard = boards.find((board) => board.id === selected.id);\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const updateSelectedBoard = () => {\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n const nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n if (nextBoard) setSelectedBoard(nextBoard);\n };\n\n const handleBoard = (board) => {\n clearSelection();\n setSelectedBoard(board);\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:BOARD', board: board.id });\n };\n\n const handleCancellation = (id) => {\n clearSelection();\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:CANCELLATION', cancellation: id });\n };\n\n const handleRate = ({ id, cancellationId }) => {\n clearSelection();\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:OFFER', offer: id });\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const clearSelection = () => {\n onPreview && setTouched(true);\n multiRoom && selected?.id === id && onSelect(undefined);\n };\n\n const { columnMode, rowMode, showAllBoards, showAllOffers, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const ratePrice = findPrice(rateId, rates);\n const visibleBoards = boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n const isSoldOut =\n others.soldOut &&\n (rates.length === 0 ||\n (Object.values(others.cart || {}).filter(({ roomId } = {}) => roomId === selectedBoard?.roomId).length > 0 &&\n selected?.id != id));\n\n const props = {\n ...others,\n availableBoards: boards,\n availableRates: rates,\n boards: showAllBoards\n ? boards\n .map((board) => {\n const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;\n let { increment } = board;\n\n if (!selectedBoard) {\n const boardCancellationPrice = findPrice(board.cancellationId, cancellations);\n const boardRatePrice = findPrice(board.rateId, rates);\n increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;\n }\n\n return { ...board, disabled: !selectedBoard, increment };\n })\n .filter((board) => {\n if (!board.disabled) return true;\n\n const visible = !visibleBoards.find((item) => item.name === board.name);\n if (visible) visibleBoards.push(board);\n\n return visible;\n })\n .sort((a, b) => a.increment - b.increment)\n : visibleBoards,\n cancellations,\n features,\n isSoldOut,\n multiRoom,\n priceFactor,\n rates: showOffersFirst\n ? rates\n .map((rate) => ({ ...rate, price: rate.price + findPrice(rate.cancellationId, cancellations) }))\n .sort((a, b) => a.price - b.price)\n : showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);\n\n return { ...rate, disabled: !showOffersFirst && !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n onSelect,\n };\n\n return (\n <Card\n {...{ columnMode, rowMode }}\n disabled={isSoldOut}\n focus={(selected && selected.id === id) || (metaBoard && boards.find((item) => metaBoard?.id === item.id))}\n >\n <View ref={ref} row={rowMode} className={[style.card, rowMode && style.rowMode, others.className]}>\n <Preview {...props} />\n\n {React.createElement(\n rowMode ? View : React.Fragment,\n rowMode ? { className: [style.card, style.rowMode], wide: true } : undefined,\n <>\n {!isSoldOut && (\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n )}\n <Summary {...props} />\n </>,\n )}\n </View>\n </Card>\n );\n },\n);\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nItem.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.shape({})),\n cancellations: PropTypes.arrayOf(PropTypes.shape({})),\n features: PropTypes.shape({}),\n filters: PropTypes.shape({}),\n metaBoard: PropTypes.shape({\n id: PropTypes.string,\n }),\n multiRoom: PropTypes.bool,\n priceFactor: PropTypes.number,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({\n id: PropTypes.string,\n }),\n showAllOffers: PropTypes.bool,\n onPreview: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
|
|
@@ -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_CLUB_MEMBERS","LABEL_DESCRIPTION","LABEL_DESELECT","LABEL_DISCOUNT","LABEL_DISCOUNT_INCLUDED","LABEL_DISCOUNT_TYPE","LABEL_DOUBLE_BED_WIDTH","LABEL_EXTRAS","LABEL_FEES","LABEL_INCLUDED","LABEL_LIMITED_OFFER","LABEL_MAX_OCCUPATION","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_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_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_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,kBAAkB,EAAE;IAAER,EAAE,EAAE;EAA4B,CAAC;EACvDS,iBAAiB,EAAE;IAAET,EAAE,EAAE;EAA2B,CAAC;EACrDU,cAAc,EAAE;IAAEV,EAAE,EAAE;EAAwB,CAAC;EAC/CW,cAAc,EAAE;IAAEX,EAAE,EAAE;EAAwB,CAAC;EAC/CY,uBAAuB,EAAE;IAAEZ,EAAE,EAAE;EAAiC,CAAC;EACjEa,mBAAmB,EAAE;IACnB,CAAC,EAAE;MAAEb,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAAkC;EAC7C,CAAC;EACDc,sBAAsB,EAAE;IAAEd,EAAE,EAAE;EAAgC,CAAC;EAC/De,YAAY,EAAE;IAAEf,EAAE,EAAE;EAAsB,CAAC;EAC3CgB,UAAU,EAAE;IAAEhB,EAAE,EAAE;EAAoB,CAAC;EACvCiB,
|
|
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_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_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_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_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,kBAAkB,EAAE;IAAER,EAAE,EAAE;EAA4B,CAAC;EACvDS,iBAAiB,EAAE;IAAET,EAAE,EAAE;EAA2B,CAAC;EACrDU,cAAc,EAAE;IAAEV,EAAE,EAAE;EAAwB,CAAC;EAC/CW,cAAc,EAAE;IAAEX,EAAE,EAAE;EAAwB,CAAC;EAC/CY,uBAAuB,EAAE;IAAEZ,EAAE,EAAE;EAAiC,CAAC;EACjEa,mBAAmB,EAAE;IACnB,CAAC,EAAE;MAAEb,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAA6B,CAAC;IACvC,CAAC,EAAE;MAAEA,EAAE,EAAE;IAAkC;EAC7C,CAAC;EACDc,sBAAsB,EAAE;IAAEd,EAAE,EAAE;EAAgC,CAAC;EAC/De,YAAY,EAAE;IAAEf,EAAE,EAAE;EAAsB,CAAC;EAC3CgB,UAAU,EAAE;IAAEhB,EAAE,EAAE;EAAoB,CAAC;EACvCiB,gBAAgB,EAAE;IAAEjB,EAAE,EAAE;EAA0B,CAAC;EACnDkB,cAAc,EAAE;IAAElB,EAAE,EAAE;EAAwB,CAAC;EAC/CmB,mBAAmB,EAAE;IAAEnB,EAAE,EAAE;EAA6B,CAAC;EACzDoB,oBAAoB,EAAE;IAAEpB,EAAE,EAAE;EAA8B,CAAC;EAC3DqB,mBAAmB,EAAE;IAAErB,EAAE,EAAE;EAA6B,CAAC;EACzDsB,mBAAmB,EAAE;IAAEtB,EAAE,EAAE;EAA6B,CAAC;EACzDuB,WAAW,EAAE;IAAEvB,EAAE,EAAE;EAAqB,CAAC;EACzCwB,kBAAkB,EAAE;IAAExB,EAAE,EAAE;EAA4B,CAAC;EACvDyB,QAAQ,EAAE;IAAEzB,EAAE,EAAE;EAAkB,CAAC;EACnC0B,mBAAmB,EAAE;IAAE1B,EAAE,EAAE;EAA6B,CAAC;EACzD2B,eAAe,EAAE;IAAE3B,EAAE,EAAE;EAAyB,CAAC;EACjD4B,mBAAmB,EAAE;IAAE5B,EAAE,EAAE;EAA6B,CAAC;EACzD6B,qBAAqB,EAAE;IAAE7B,EAAE,EAAE;EAA+B,CAAC;EAC7D8B,YAAY,EAAE;IAAE9B,EAAE,EAAE;EAAsB,CAAC;EAC3C+B,yBAAyB,EAAE;IAAE/B,EAAE,EAAE;EAAmC,CAAC;EACrEgC,WAAW,EAAE;IAAEhC,EAAE,EAAE;EAAqB,CAAC;EACzCiC,mBAAmB,EAAE;IAAEjC,EAAE,EAAE;EAA6B,CAAC;EACzDkC,WAAW,EAAE;IAAElC,EAAE,EAAE;EAAqB,CAAC;EACzCmC,oBAAoB,EAAE;IAAEnC,EAAE,EAAE;EAA8B,CAAC;EAC3DoC,eAAe,EAAE;IAAEpC,EAAE,EAAE;EAAyB;AAClD,CAAC"}
|
package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.module.css
CHANGED
|
@@ -13,13 +13,13 @@
|
|
|
13
13
|
padding: var(--mirai-ui-space-XXS) var(--mirai-ui-space-XS);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
.breakdown .item >
|
|
16
|
+
.breakdown .item > ui-text:first-child {
|
|
17
17
|
overflow: hidden;
|
|
18
18
|
text-overflow: ellipsis;
|
|
19
19
|
white-space: nowrap;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
.breakdown
|
|
22
|
+
.breakdown ui-text {
|
|
23
23
|
color: var(--mirai-ui-base);
|
|
24
24
|
}
|
|
25
25
|
|
|
@@ -144,12 +144,16 @@ const ModalExtras = _ref => {
|
|
|
144
144
|
accommodationType = hotelAccommodationType
|
|
145
145
|
} = variants[id] || {};
|
|
146
146
|
const standaloneCard = extras.length === 1;
|
|
147
|
+
const {
|
|
148
|
+
testId
|
|
149
|
+
} = others;
|
|
147
150
|
return /*#__PURE__*/_react.default.createElement(_ui.Modal, {
|
|
148
151
|
fit: true,
|
|
149
152
|
title: translate(_ModalExtras.L10N.LABEL_ENHANCED_YOUR_STAY),
|
|
150
153
|
visible: visible,
|
|
151
154
|
onClose: onCancel,
|
|
152
|
-
className: style.modal
|
|
155
|
+
className: style.modal,
|
|
156
|
+
testId: testId
|
|
153
157
|
}, /*#__PURE__*/_react.default.createElement(_ui.ScrollView, {
|
|
154
158
|
scrollIndicator: true,
|
|
155
159
|
scrollTo: visible ? 0.5 : undefined,
|
|
@@ -302,7 +306,8 @@ const ModalExtras = _ref => {
|
|
|
302
306
|
}, others, {
|
|
303
307
|
className: style.priceDetails
|
|
304
308
|
}))), /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
305
|
-
onPress: handleSubmit
|
|
309
|
+
onPress: handleSubmit,
|
|
310
|
+
testId: testId ? "".concat(testId, "-submit") : undefined
|
|
306
311
|
}, translate(hasSelected ? _ModalExtras.L10N.ACTION_RESERVE : _ModalExtras.L10N.ACTION_NEXT))));
|
|
307
312
|
};
|
|
308
313
|
exports.ModalExtras = ModalExtras;
|
|
@@ -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","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","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","unselected","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","maximumFractionDigits","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","arrayOf","shape","number","bool","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 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 Event.publish(EVENT.METRICS, { id: 'RATES:EXTRAS:SUBMIT' });\n\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\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 >\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 : style.unselected) : 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\n ? currencyFormat({ currency, maximumFractionDigits: 0, value: total })\n : 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({ currency, maximumFractionDigits: 0, 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 onPress={handleSubmit}>{translate(hasSelected ? L10N.ACTION_RESERVE : L10N.ACTION_NEXT)}</Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\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","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","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","unselected","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","maximumFractionDigits","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","arrayOf","shape","number","bool","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 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 Event.publish(EVENT.METRICS, { id: 'RATES:EXTRAS:SUBMIT' });\n\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 { 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 : style.unselected) : 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\n ? currencyFormat({ currency, maximumFractionDigits: 0, value: total })\n : 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({ currency, maximumFractionDigits: 0, 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 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 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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"}
|
|
@@ -15,6 +15,9 @@ const select = function () {
|
|
|
15
15
|
priceRange = {},
|
|
16
16
|
sizeRange = {}
|
|
17
17
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
18
|
+
let {
|
|
19
|
+
priceFactor = 1
|
|
20
|
+
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
18
21
|
return items.filter(function () {
|
|
19
22
|
let {
|
|
20
23
|
amenities = [],
|
|
@@ -47,7 +50,10 @@ const select = function () {
|
|
|
47
50
|
} = (0, _filterItem.filterItem)(item, {
|
|
48
51
|
board,
|
|
49
52
|
freeCancellation,
|
|
50
|
-
priceRange
|
|
53
|
+
priceRange: {
|
|
54
|
+
max: priceRange.max ? priceRange.max * priceFactor : undefined,
|
|
55
|
+
min: priceRange.min ? priceRange.min * priceFactor : undefined
|
|
56
|
+
}
|
|
51
57
|
});
|
|
52
58
|
const hasOptions = availability === 0 || boards.length > 0 && (cancellations.length > 0 || rates.length > 0);
|
|
53
59
|
return hasAmenities && hasBedTypes && hasSize && hasOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","names":["_filterItem","require","select","items","arguments","length","undefined","amenities","filterAmenities","bedType","board","freeCancellation","priceRange","sizeRange","filter","availability","bedTypes","size","rawSize","item","hasAmenities","every","map","_ref","id","includes","hasBedTypes","hasSize","split","max","maxSize","min","minSize","parseInt","boards","cancellations","rates","filterItem","hasOptions","exports"],"sources":["../../../../src/components/Rates/helpers/select.js"],"sourcesContent":["import { filterItem } from './filterItem';\n\nexport const select = (\n items = [],\n { amenities: filterAmenities = [], bedType, board, freeCancellation, priceRange = {}, sizeRange = {} } = {},\n) =>\n items.filter(({ amenities = [], availability = 0, bedTypes = [], size: rawSize = '', ...item } = {}) => {\n const hasAmenities =\n filterAmenities.length === 0 || filterAmenities.every((item) => amenities.map(({ id }) => id).includes(item));\n\n const hasBedTypes = !bedType || bedTypes.includes(bedType);\n\n let hasSize = true;\n let [size] = rawSize.split(' ');\n if (size) {\n const { max: maxSize, min: minSize } = sizeRange;\n\n size = parseInt(size);\n hasSize = (!minSize || size >= minSize) && (!maxSize || size <= maxSize);\n }\n\n const {
|
|
1
|
+
{"version":3,"file":"select.js","names":["_filterItem","require","select","items","arguments","length","undefined","amenities","filterAmenities","bedType","board","freeCancellation","priceRange","sizeRange","priceFactor","filter","availability","bedTypes","size","rawSize","item","hasAmenities","every","map","_ref","id","includes","hasBedTypes","hasSize","split","max","maxSize","min","minSize","parseInt","boards","cancellations","rates","filterItem","hasOptions","exports"],"sources":["../../../../src/components/Rates/helpers/select.js"],"sourcesContent":["import { filterItem } from './filterItem';\n\nexport const select = (\n items = [],\n { amenities: filterAmenities = [], bedType, board, freeCancellation, priceRange = {}, sizeRange = {} } = {},\n { priceFactor = 1 } = {},\n) =>\n items.filter(({ amenities = [], availability = 0, bedTypes = [], size: rawSize = '', ...item } = {}) => {\n const hasAmenities =\n filterAmenities.length === 0 || filterAmenities.every((item) => amenities.map(({ id }) => id).includes(item));\n\n const hasBedTypes = !bedType || bedTypes.includes(bedType);\n\n let hasSize = true;\n let [size] = rawSize.split(' ');\n if (size) {\n const { max: maxSize, min: minSize } = sizeRange;\n\n size = parseInt(size);\n hasSize = (!minSize || size >= minSize) && (!maxSize || size <= maxSize);\n }\n\n const {\n boards = [],\n cancellations = [],\n rates = [],\n } = filterItem(item, {\n board,\n freeCancellation,\n priceRange: {\n max: priceRange.max ? priceRange.max * priceFactor : undefined,\n min: priceRange.min ? priceRange.min * priceFactor : undefined,\n },\n });\n const hasOptions = availability === 0 || (boards.length > 0 && (cancellations.length > 0 || rates.length > 0));\n\n return hasAmenities && hasBedTypes && hasSize && hasOptions;\n });\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAEO,MAAMC,MAAM,GAAG,SAAAA,CAAA;EAAA,IACpBC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACV;IAAEG,SAAS,EAAEC,eAAe,GAAG,EAAE;IAAEC,OAAO;IAAEC,KAAK;IAAEC,gBAAgB;IAAEC,UAAU,GAAG,CAAC,CAAC;IAAEC,SAAS,GAAG,CAAC;EAAE,CAAC,GAAAT,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAC3G;IAAEU,WAAW,GAAG;EAAE,CAAC,GAAAV,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OAExBD,KAAK,CAACY,MAAM,CAAC,YAA2F;IAAA,IAA1F;MAAER,SAAS,GAAG,EAAE;MAAES,YAAY,GAAG,CAAC;MAAEC,QAAQ,GAAG,EAAE;MAAEC,IAAI,EAAEC,OAAO,GAAG,EAAE;MAAE,GAAGC;IAAK,CAAC,GAAAhB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IACjG,MAAMiB,YAAY,GAChBb,eAAe,CAACH,MAAM,KAAK,CAAC,IAAIG,eAAe,CAACc,KAAK,CAAEF,IAAI,IAAKb,SAAS,CAACgB,GAAG,CAACC,IAAA;MAAA,IAAC;QAAEC;MAAG,CAAC,GAAAD,IAAA;MAAA,OAAKC,EAAE;IAAA,EAAC,CAACC,QAAQ,CAACN,IAAI,CAAC,CAAC;IAE/G,MAAMO,WAAW,GAAG,CAAClB,OAAO,IAAIQ,QAAQ,CAACS,QAAQ,CAACjB,OAAO,CAAC;IAE1D,IAAImB,OAAO,GAAG,IAAI;IAClB,IAAI,CAACV,IAAI,CAAC,GAAGC,OAAO,CAACU,KAAK,CAAC,GAAG,CAAC;IAC/B,IAAIX,IAAI,EAAE;MACR,MAAM;QAAEY,GAAG,EAAEC,OAAO;QAAEC,GAAG,EAAEC;MAAQ,CAAC,GAAGpB,SAAS;MAEhDK,IAAI,GAAGgB,QAAQ,CAAChB,IAAI,CAAC;MACrBU,OAAO,GAAG,CAAC,CAACK,OAAO,IAAIf,IAAI,IAAIe,OAAO,MAAM,CAACF,OAAO,IAAIb,IAAI,IAAIa,OAAO,CAAC;IAC1E;IAEA,MAAM;MACJI,MAAM,GAAG,EAAE;MACXC,aAAa,GAAG,EAAE;MAClBC,KAAK,GAAG;IACV,CAAC,GAAG,IAAAC,sBAAU,EAAClB,IAAI,EAAE;MACnBV,KAAK;MACLC,gBAAgB;MAChBC,UAAU,EAAE;QACVkB,GAAG,EAAElB,UAAU,CAACkB,GAAG,GAAGlB,UAAU,CAACkB,GAAG,GAAGhB,WAAW,GAAGR,SAAS;QAC9D0B,GAAG,EAAEpB,UAAU,CAACoB,GAAG,GAAGpB,UAAU,CAACoB,GAAG,GAAGlB,WAAW,GAAGR;MACvD;IACF,CAAC,CAAC;IACF,MAAMiC,UAAU,GAAGvB,YAAY,KAAK,CAAC,IAAKmB,MAAM,CAAC9B,MAAM,GAAG,CAAC,KAAK+B,aAAa,CAAC/B,MAAM,GAAG,CAAC,IAAIgC,KAAK,CAAChC,MAAM,GAAG,CAAC,CAAE;IAE9G,OAAOgB,YAAY,IAAIM,WAAW,IAAIC,OAAO,IAAIW,UAAU;EAC7D,CAAC,CAAC;AAAA;AAACC,OAAA,CAAAtC,MAAA,GAAAA,MAAA"}
|
|
@@ -65,7 +65,7 @@ const PerfomanceManager = () => {
|
|
|
65
65
|
id,
|
|
66
66
|
...props
|
|
67
67
|
} = _ref3;
|
|
68
|
-
if (!id || window.IS_PLAYWRIGHT) return;
|
|
68
|
+
if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;
|
|
69
69
|
const event = id.toUpperCase().trim();
|
|
70
70
|
const method = event.includes('RENDER') ? trackRender : track;
|
|
71
71
|
method(event, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerfomanceManager.js","names":["_dataSources","require","_ui","_react","_helpers","_PerfomanceManager","_PerfomanceManager2","_helpers2","_Core","_helpers3","PerfomanceManager","device","useDevice","track","trackRender","useMetrics","value","components","perfomance","store","useStore","hotel","id","instanceId","locale","session","type","useEffect","handleEvent","event","availableProviders","map","arguments","length","undefined","Object","entries","EVENTS","filter","_ref","provider","includes","parseInt","forEach","_ref2","callback","console","log","concat","getPerfomanceLabel","handleMetrics","_ref3","props","window","IS_PLAYWRIGHT","toUpperCase","trim","method","hotelId","mobile","keys","Event","subscribe","EVENT","CORE_READY","loadScripts","COMPONENTS_EVENT","METRICS","unsubscribe","loadedComponents","Promise","all","config","index","init","SCRIPTS","some","item","loadScript","domain","publish","PERFOMANCE_READY","exports"],"sources":["../../../src/contexts/PerfomanceManager/PerfomanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\n// ! TODO\n// import { ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect } from 'react';\n\nimport { getPerfomanceLabel } from './helpers';\nimport { EVENTS } from './PerfomanceManager.events';\nimport { SCRIPTS } from './PerfomanceManager.scripts';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { EVENT } from '../../Core.constants';\nimport { loadScript } from '../../helpers';\n\nconst PerfomanceManager = () => {\n const device = useDevice();\n const { track, trackRender } = useMetrics();\n const {\n value: { components = {}, perfomance = [], ...store },\n } = useStore();\n\n const { hotel, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n const handleEvent = (event, value) => {\n const availableProviders = perfomance.map(({ id } = {}) => id);\n\n Object.entries(EVENTS[event])\n .filter(([provider]) => availableProviders.includes(parseInt(provider)))\n .forEach(([provider, callback = () => {}]) => {\n console.log(`⚡️ ${getPerfomanceLabel(provider)} ${event}`);\n callback({ ...value, device, store });\n });\n };\n\n // ! TODO\n // const metrics = ServiceFeatures.get('metrics', id);\n const handleMetrics = ({ id, ...props }) => {\n if (!id || window.IS_PLAYWRIGHT) return;\n const event = id.toUpperCase().trim();\n const method = event.includes('RENDER') ? trackRender : track;\n\n method(event, {\n ...props,\n hotelId: hotel.id,\n instanceId,\n locale,\n mobile: device.mobile,\n session,\n type,\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, (value) => handleEvent(event, value)));\n Event.subscribe(EVENT.CORE_READY, loadScripts);\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => {\n Object.keys(EVENT).forEach((event) => Event.unsubscribe(event, handleEvent));\n Event.unsubscribe(EVENT.CORE_READY, loadScripts);\n Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const loadScripts = async () => {\n const loadedComponents = Object.keys(components);\n\n await Promise.all(\n perfomance.map(async ({ id, ...config } = {}, index) => {\n const { components = [], init = () => {} } = SCRIPTS[id] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n await loadScript({\n domain: `perfomance-${getPerfomanceLabel(id)}`,\n id: index,\n ...init({ ...config, hotel }),\n });\n }\n }),\n );\n\n Event.publish(EVENT.PERFOMANCE_READY);\n };\n\n return null;\n};\n\nexport { PerfomanceManager };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGA,IAAAC,GAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,mBAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AAVA;AACA;;AAWA,MAAMS,iBAAiB,GAAGA,CAAA,KAAM;EAC9B,MAAMC,MAAM,GAAG,IAAAC,aAAS,EAAC,CAAC;EAC1B,MAAM;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAG,IAAAC,uBAAU,EAAC,CAAC;EAC3C,MAAM;IACJC,KAAK,EAAE;MAAEC,UAAU,GAAG,CAAC,CAAC;MAAEC,UAAU,GAAG,EAAE;MAAE,GAAGC;IAAM;EACtD,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM;IAAEC,KAAK;IAAEC,EAAE,EAAEC,UAAU;IAAEC,MAAM;IAAEC,OAAO;IAAEC;EAAK,CAAC,GAAGP,KAAK;EAE9D,IAAAQ,gBAAS,EAAC,MAAM;IACd,MAAMC,WAAW,GAAGA,CAACC,KAAK,EAAEb,KAAK,KAAK;MACpC,MAAMc,kBAAkB,GAAGZ,UAAU,CAACa,GAAG,CAAC;QAAA,IAAC;UAAET;QAAG,CAAC,GAAAU,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKV,EAAE;MAAA,EAAC;MAE9Da,MAAM,CAACC,OAAO,CAACC,yBAAM,CAACR,KAAK,CAAC,CAAC,CAC1BS,MAAM,CAACC,IAAA;QAAA,IAAC,CAACC,QAAQ,CAAC,GAAAD,IAAA;QAAA,OAAKT,kBAAkB,CAACW,QAAQ,CAACC,QAAQ,CAACF,QAAQ,CAAC,CAAC;MAAA,EAAC,CACvEG,OAAO,CAACC,KAAA,IAAqC;QAAA,IAApC,CAACJ,QAAQ,EAAEK,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC,CAAC,GAAAD,KAAA;QACvCE,OAAO,CAACC,GAAG,iBAAAC,MAAA,CAAO,IAAAC,2BAAkB,EAACT,QAAQ,CAAC,OAAAQ,MAAA,CAAInB,KAAK,CAAE,CAAC;QAC1DgB,QAAQ,CAAC;UAAE,GAAG7B,KAAK;UAAEL,MAAM;UAAEQ;QAAM,CAAC,CAAC;MACvC,CAAC,CAAC;IACN,CAAC;;IAED;IACA;IACA,MAAM+B,aAAa,GAAGC,KAAA,IAAsB;MAAA,IAArB;QAAE7B,EAAE;QAAE,GAAG8B;MAAM,CAAC,GAAAD,KAAA;MACrC,IAAI,CAAC7B,EAAE,IAAI+B,MAAM,CAACC,aAAa,EAAE;
|
|
1
|
+
{"version":3,"file":"PerfomanceManager.js","names":["_dataSources","require","_ui","_react","_helpers","_PerfomanceManager","_PerfomanceManager2","_helpers2","_Core","_helpers3","PerfomanceManager","device","useDevice","track","trackRender","useMetrics","value","components","perfomance","store","useStore","hotel","id","instanceId","locale","session","type","useEffect","handleEvent","event","availableProviders","map","arguments","length","undefined","Object","entries","EVENTS","filter","_ref","provider","includes","parseInt","forEach","_ref2","callback","console","log","concat","getPerfomanceLabel","handleMetrics","_ref3","props","window","IS_PLAYWRIGHT","location","host","toUpperCase","trim","method","hotelId","mobile","keys","Event","subscribe","EVENT","CORE_READY","loadScripts","COMPONENTS_EVENT","METRICS","unsubscribe","loadedComponents","Promise","all","config","index","init","SCRIPTS","some","item","loadScript","domain","publish","PERFOMANCE_READY","exports"],"sources":["../../../src/contexts/PerfomanceManager/PerfomanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\n// ! TODO\n// import { ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect } from 'react';\n\nimport { getPerfomanceLabel } from './helpers';\nimport { EVENTS } from './PerfomanceManager.events';\nimport { SCRIPTS } from './PerfomanceManager.scripts';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { EVENT } from '../../Core.constants';\nimport { loadScript } from '../../helpers';\n\nconst PerfomanceManager = () => {\n const device = useDevice();\n const { track, trackRender } = useMetrics();\n const {\n value: { components = {}, perfomance = [], ...store },\n } = useStore();\n\n const { hotel, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n const handleEvent = (event, value) => {\n const availableProviders = perfomance.map(({ id } = {}) => id);\n\n Object.entries(EVENTS[event])\n .filter(([provider]) => availableProviders.includes(parseInt(provider)))\n .forEach(([provider, callback = () => {}]) => {\n console.log(`⚡️ ${getPerfomanceLabel(provider)} ${event}`);\n callback({ ...value, device, store });\n });\n };\n\n // ! TODO\n // const metrics = ServiceFeatures.get('metrics', id);\n const handleMetrics = ({ id, ...props }) => {\n if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n\n const event = id.toUpperCase().trim();\n const method = event.includes('RENDER') ? trackRender : track;\n\n method(event, {\n ...props,\n hotelId: hotel.id,\n instanceId,\n locale,\n mobile: device.mobile,\n session,\n type,\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, (value) => handleEvent(event, value)));\n Event.subscribe(EVENT.CORE_READY, loadScripts);\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => {\n Object.keys(EVENT).forEach((event) => Event.unsubscribe(event, handleEvent));\n Event.unsubscribe(EVENT.CORE_READY, loadScripts);\n Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const loadScripts = async () => {\n const loadedComponents = Object.keys(components);\n\n await Promise.all(\n perfomance.map(async ({ id, ...config } = {}, index) => {\n const { components = [], init = () => {} } = SCRIPTS[id] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n await loadScript({\n domain: `perfomance-${getPerfomanceLabel(id)}`,\n id: index,\n ...init({ ...config, hotel }),\n });\n }\n }),\n );\n\n Event.publish(EVENT.PERFOMANCE_READY);\n };\n\n return null;\n};\n\nexport { PerfomanceManager };\n"],"mappings":"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"}
|
package/package.json
CHANGED
package/playwright.config.js
CHANGED
|
@@ -2,7 +2,7 @@ import { View } from '@mirai/ui';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
|
|
4
4
|
export const Step1 = () => (
|
|
5
|
-
<View data-mirai-component="rates">
|
|
5
|
+
<View data-mirai-component="rates" data-test-id={window.IS_PLAYWRIGHT ? 'rates' : undefined}>
|
|
6
6
|
{/* <span data-content-error>
|
|
7
7
|
Lorem ipsum dolor sit amet consectetur adipisicing elit. Ad itaque odio inventore eos et consequuntur molestias
|
|
8
8
|
doloremque temporibus accusantium laborum rem nobis nostrum, voluptatum dolorum, repellendus quasi esse eveniet
|