@mirai/core 0.4.561 → 0.4.563
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/Core.constants.js +7 -1
- package/build/Core.constants.js.map +1 -1
- package/build/components/Booking/Booking.constants.js +10 -2
- package/build/components/Booking/Booking.constants.js.map +1 -1
- package/build/components/Booking/Booking.js +77 -3
- package/build/components/Booking/Booking.js.map +1 -1
- package/build/components/Booking/Booking.l10n.js +58 -13
- package/build/components/Booking/Booking.l10n.js.map +1 -1
- package/build/components/Booking/Booking.module.css +208 -0
- package/build/components/Booking/components/Summary/Summary.module.css +0 -1
- package/build/components/Booking/helpers/getChildrenAmount.js +9 -0
- package/build/components/Booking/helpers/getChildrenAmount.js.map +1 -0
- package/build/components/Booking/helpers/getDetailsByRoom.js +28 -0
- package/build/components/Booking/helpers/getDetailsByRoom.js.map +1 -0
- package/build/components/Booking/helpers/getOccupationDataSource.js +44 -0
- package/build/components/Booking/helpers/getOccupationDataSource.js.map +1 -0
- package/build/components/Booking/helpers/getOccupationFromParty.js +25 -0
- package/build/components/Booking/helpers/getOccupationFromParty.js.map +1 -0
- package/build/components/Booking/helpers/getRoomDataSource.js +57 -0
- package/build/components/Booking/helpers/getRoomDataSource.js.map +1 -0
- package/build/components/Booking/helpers/getRoomSelectionData.js +56 -0
- package/build/components/Booking/helpers/getRoomSelectionData.js.map +1 -0
- package/build/components/Booking/helpers/index.js +66 -0
- package/build/components/Booking/helpers/index.js.map +1 -1
- package/build/components/Booking/partials/Booking.FormEditBoard.js +179 -0
- package/build/components/Booking/partials/Booking.FormEditBoard.js.map +1 -0
- package/build/components/Booking/partials/Booking.FormEditDate.js +0 -4
- package/build/components/Booking/partials/Booking.FormEditDate.js.map +1 -1
- package/build/components/Booking/partials/Booking.FormEditOccupation.js +224 -0
- package/build/components/Booking/partials/Booking.FormEditOccupation.js.map +1 -0
- package/build/components/Booking/partials/Booking.Menu.js +39 -14
- package/build/components/Booking/partials/Booking.Menu.js.map +1 -1
- package/build/components/Booking/partials/Booking.Modal.actions.js +194 -0
- package/build/components/Booking/partials/Booking.Modal.actions.js.map +1 -0
- package/build/components/Booking/partials/Booking.Modal.js +39 -52
- package/build/components/Booking/partials/Booking.Modal.js.map +1 -1
- package/build/components/Booking/partials/Booking.ModalBoard.js +192 -0
- package/build/components/Booking/partials/Booking.ModalBoard.js.map +1 -0
- package/build/components/Booking/partials/Booking.ModalOccupation.js +186 -0
- package/build/components/Booking/partials/Booking.ModalOccupation.js.map +1 -0
- package/build/components/Booking/partials/Booking.ModalRoomSelection.js +160 -0
- package/build/components/Booking/partials/Booking.ModalRoomSelection.js.map +1 -0
- package/build/components/Booking/partials/Booking.RoomCard.js +69 -0
- package/build/components/Booking/partials/Booking.RoomCard.js.map +1 -0
- package/build/components/Booking/partials/hooks/index.js +28 -0
- package/build/components/Booking/partials/hooks/index.js.map +1 -0
- package/build/components/Booking/partials/hooks/useEditFlow.js +108 -0
- package/build/components/Booking/partials/hooks/useEditFlow.js.map +1 -0
- package/build/components/Booking/partials/hooks/useSelectedRoomData.js +60 -0
- package/build/components/Booking/partials/hooks/useSelectedRoomData.js.map +1 -0
- package/build/components/Booking/partials/index.js +47 -3
- package/build/components/Booking/partials/index.js.map +1 -1
- package/build/components/Checkout/Checkout.constants.js +2 -1
- package/build/components/Checkout/Checkout.constants.js.map +1 -1
- package/build/components/Checkout/Checkout.l10n.js +6 -0
- package/build/components/Checkout/Checkout.l10n.js.map +1 -1
- package/build/components/Checkout/helpers/getFieldProps.js +12 -2
- package/build/components/Checkout/helpers/getFieldProps.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Form.js +16 -6
- package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
- package/build/components/Rates/Rates.js +2 -1
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/helpers/showClubRate.js +4 -1
- package/build/components/Rates/helpers/showClubRate.js.map +1 -1
- package/build/components/__shared__/Occupation/Occupation.js +9 -6
- package/build/components/__shared__/Occupation/Occupation.js.map +1 -1
- package/build/components/__shared__/Occupation/Occupation.module.css +12 -0
- package/build/contexts/PerformanceManager/PerformanceManager.js +6 -2
- package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
- package/build/helpers/consolidateStore.js +4 -1
- package/build/helpers/consolidateStore.js.map +1 -1
- package/build/helpers/getVariant.js +33 -0
- package/build/helpers/getVariant.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"showClubRate.js","names":["_dataSources","require","_getClubRate","_Rates","storage","Storage","adapter","SessionAdapter","showClubRate","_ref","cart","clubDiscount","dataSource","isPestana","session","get","CLUB_RATE_STORAGE_VIEWED","filter","board","getClubRate","length","set","exports"],"sources":["../../../../src/components/Rates/helpers/showClubRate.js"],"sourcesContent":["import { SessionAdapter, Storage } from '@mirai/data-sources';\n\nimport { getClubRate } from './getClubRate';\nimport { CLUB_RATE_STORAGE_VIEWED } from '../Rates.constants';\n\nconst storage = new Storage({ adapter: SessionAdapter });\n\nexport const showClubRate = ({ cart, clubDiscount, dataSource, isPestana, session }) => {\n if (\n !isPestana &&\n clubDiscount &&\n !session &&\n !storage.get(CLUB_RATE_STORAGE_VIEWED) &&\n cart.filter((board) => getClubRate({ board, dataSource })).length > 0\n ) {\n storage.set(CLUB_RATE_STORAGE_VIEWED, true);\n\n return true;\n }\n return false;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,
|
|
1
|
+
{"version":3,"file":"showClubRate.js","names":["_dataSources","require","_getClubRate","_Core","_Rates","storage","Storage","adapter","SessionAdapter","showClubRate","_ref","cart","clubDiscount","dataSource","isPestana","session","variant","VARIANT","B","get","CLUB_RATE_STORAGE_VIEWED","filter","board","getClubRate","length","set","exports"],"sources":["../../../../src/components/Rates/helpers/showClubRate.js"],"sourcesContent":["import { SessionAdapter, Storage } from '@mirai/data-sources';\n\nimport { getClubRate } from './getClubRate';\nimport { VARIANT } from '../../../Core.constants';\nimport { CLUB_RATE_STORAGE_VIEWED } from '../Rates.constants';\n\nconst storage = new Storage({ adapter: SessionAdapter });\n\nexport const showClubRate = ({ cart, clubDiscount, dataSource, isPestana, session, variant }) => {\n if (variant === VARIANT.B) return false;\n\n if (\n !isPestana &&\n clubDiscount &&\n !session &&\n !storage.get(CLUB_RATE_STORAGE_VIEWED) &&\n cart.filter((board) => getClubRate({ board, dataSource })).length > 0\n ) {\n storage.set(CLUB_RATE_STORAGE_VIEWED, true);\n\n return true;\n }\n return false;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA,MAAMI,OAAO,GAAG,IAAIC,oBAAO,CAAC;EAAEC,OAAO,EAAEC;AAAe,CAAC,CAAC;AAEjD,MAAMC,YAAY,GAAGC,IAAA,IAAqE;EAAA,IAApE;IAAEC,IAAI;IAAEC,YAAY;IAAEC,UAAU;IAAEC,SAAS;IAAEC,OAAO;IAAEC;EAAQ,CAAC,GAAAN,IAAA;EAC1F,IAAIM,OAAO,KAAKC,aAAO,CAACC,CAAC,EAAE,OAAO,KAAK;EAEvC,IACE,CAACJ,SAAS,IACVF,YAAY,IACZ,CAACG,OAAO,IACR,CAACV,OAAO,CAACc,GAAG,CAACC,+BAAwB,CAAC,IACtCT,IAAI,CAACU,MAAM,CAAEC,KAAK,IAAK,IAAAC,wBAAW,EAAC;IAAED,KAAK;IAAET;EAAW,CAAC,CAAC,CAAC,CAACW,MAAM,GAAG,CAAC,EACrE;IACAnB,OAAO,CAACoB,GAAG,CAACL,+BAAwB,EAAE,IAAI,CAAC;IAE3C,OAAO,IAAI;EACb;EACA,OAAO,KAAK;AACd,CAAC;AAACM,OAAA,CAAAjB,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -15,7 +15,7 @@ var _Occupation3 = require("./Occupation.l10n");
|
|
|
15
15
|
var style = _interopRequireWildcard(require("./Occupation.module.css"));
|
|
16
16
|
var _prepareRoom = require("../../../helpers/prepareRoom");
|
|
17
17
|
var _helpers2 = require("../../helpers");
|
|
18
|
-
const _excluded = ["dataSource", "error", "maxRooms", "minRooms", "text", "type", "value", "warning", "onChange", "onError", "onSubmit", "onValid", "onWarning"];
|
|
18
|
+
const _excluded = ["allowRooms", "dataSource", "error", "maxRooms", "minRooms", "text", "type", "value", "warning", "onChange", "onError", "onSubmit", "onValid", "onWarning"];
|
|
19
19
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
20
20
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
21
21
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
@@ -23,6 +23,7 @@ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i
|
|
|
23
23
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
24
24
|
const Occupation = exports.Occupation = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
|
|
25
25
|
let {
|
|
26
|
+
allowRooms = true,
|
|
26
27
|
dataSource = _Occupation.DATASOURCE,
|
|
27
28
|
error,
|
|
28
29
|
maxRooms,
|
|
@@ -120,6 +121,7 @@ const Occupation = exports.Occupation = /*#__PURE__*/_react.default.forwardRef((
|
|
|
120
121
|
};
|
|
121
122
|
const handleSubmit = () => {
|
|
122
123
|
setWithWarning(false);
|
|
124
|
+
if (!onSubmit) return;
|
|
123
125
|
onSubmit(value);
|
|
124
126
|
};
|
|
125
127
|
const handleValid = () => {
|
|
@@ -142,7 +144,7 @@ const Occupation = exports.Occupation = /*#__PURE__*/_react.default.forwardRef((
|
|
|
142
144
|
return /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
|
|
143
145
|
role: "occupation",
|
|
144
146
|
ref: ref,
|
|
145
|
-
className: (0, _ui.styles)(style.container, others.className)
|
|
147
|
+
className: (0, _ui.styles)(style.container, !allowRooms && style.singleRoom, others.className)
|
|
146
148
|
}), (withError || withWarning) && /*#__PURE__*/_react.default.createElement(_ui.Notification, {
|
|
147
149
|
error: withError,
|
|
148
150
|
small: true,
|
|
@@ -159,7 +161,7 @@ const Occupation = exports.Occupation = /*#__PURE__*/_react.default.forwardRef((
|
|
|
159
161
|
key: "room:".concat(roomIndex),
|
|
160
162
|
ref: el => itemsRef.current[roomIndex] = el,
|
|
161
163
|
wide: true
|
|
162
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
164
|
+
}, allowRooms && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
163
165
|
key: "room:header:".concat(roomIndex),
|
|
164
166
|
row: true,
|
|
165
167
|
className: style.header
|
|
@@ -183,10 +185,10 @@ const Occupation = exports.Occupation = /*#__PURE__*/_react.default.forwardRef((
|
|
|
183
185
|
onChange: value => handleIndividual(roomIndex, groupIndex, value),
|
|
184
186
|
testId: "group-".concat(groupIndex)
|
|
185
187
|
}))));
|
|
186
|
-
})), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
188
|
+
})), (allowRooms || onSubmit) && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
187
189
|
row: true,
|
|
188
|
-
className: (0, _ui.styles)(style.footer)
|
|
189
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
190
|
+
className: (0, _ui.styles)(style.footer, !allowRooms && style.footerSingle)
|
|
191
|
+
}, allowRooms && /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
190
192
|
disabled: maxRooms && value.length >= maxRooms,
|
|
191
193
|
preventDefault: true,
|
|
192
194
|
secondary: true,
|
|
@@ -205,6 +207,7 @@ const Occupation = exports.Occupation = /*#__PURE__*/_react.default.forwardRef((
|
|
|
205
207
|
});
|
|
206
208
|
Occupation.displayName = 'Mirai:Core:Occupation';
|
|
207
209
|
Occupation.propTypes = {
|
|
210
|
+
allowRooms: _propTypes.default.bool,
|
|
208
211
|
dataSource: _propTypes.default.arrayOf(_Occupation.SHAPE.DATASOURCE),
|
|
209
212
|
error: _propTypes.default.bool,
|
|
210
213
|
maxRooms: _propTypes.default.number,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Occupation.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Occupation","_Occupation2","_Occupation3","style","_prepareRoom","_helpers2","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","Occupation","exports","React","forwardRef","_ref","ref","dataSource","DATASOURCE","error","maxRooms","minRooms","text","type","ACCOMMODATION_TYPE","ROOM","value","Array","map","prepareRoom","warning","onChange","onError","onSubmit","onValid","onWarning","others","translate","useLocale","itemsRef","useRef","scrollEnd","setScrollEnd","useState","withError","setWithError","withWarning","setWithWarning","currentDataSource","setCurrentDataSource","useEffect","JSON","stringify","nextValue","consolidateValue","checkRoom","handleValid","handleChange","_itemsRef$current","roomIndex","findIndex","room","some","ages","undefined","TYPE","CHILD","age","scrollHeight","getScrollHeight","hasAges","rooms","current","el","handleAddRoom","_itemsRef$current2","parentNode","handleRemoveRoom","event","groupValue","stopPropagation","scroll","filter","_","index","handleIndividual","groupIndex","fulfill","amount","ERROR","NOT_FILLED","handleSubmit","_groupValue$ages","_itemsRef$current3","testId","isValid","createElement","View","role","className","styles","container","Notification","small","notification","L10N","NOTIFICATION_ERROR_UNFILLED_FIELDS","NOTIFICATION_WARNING_OCCUPATION","ScrollView","scrollTo","snap","scrollview","key","concat","wide","row","header","Text","action","bold","id","LABEL_PLACE_TYPE_COUNT","PLACE","Button","preventDefault","transparent","onPress","ACTION_REMOVE","group","OccupationGroup","footer","disabled","secondary","buttonAdd","ACTION_ADD_PLACE_TYPE","buttonSubmit","ACTION_SEARCH","displayName","propTypes","PropTypes","arrayOf","SHAPE","bool","number","string","oneOf","values","VALUE","func"],"sources":["../../../../src/components/__shared__/Occupation/Occupation.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Button, Notification, ScrollView, Text, View, styles } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { checkRoom, consolidateValue, getScrollHeight } from './helpers';\nimport { DATASOURCE, ERROR, PLACE, SHAPE, TYPE } from './Occupation.constants';\nimport { OccupationGroup } from './Occupation.Group';\nimport { L10N } from './Occupation.l10n';\nimport * as style from './Occupation.module.css';\nimport { prepareRoom } from '../../../helpers/prepareRoom';\nimport { ACCOMMODATION_TYPE } from '../../helpers';\n\nconst Occupation = React.forwardRef(\n (\n {\n dataSource = DATASOURCE,\n error,\n maxRooms,\n minRooms = 1,\n text,\n type = ACCOMMODATION_TYPE.ROOM,\n value = dataSource ? [...Array(minRooms)].map(() => prepareRoom(dataSource || DATASOURCE)) : [],\n warning,\n onChange = () => {},\n onError = () => {},\n onSubmit,\n onValid = () => {},\n onWarning = () => {},\n ...others\n },\n ref,\n ) => {\n const { translate } = useLocale();\n const itemsRef = useRef([]);\n\n const [scrollEnd, setScrollEnd] = useState();\n const [withError, setWithError] = useState(error);\n const [withWarning, setWithWarning] = useState(false);\n const [currentDataSource, setCurrentDataSource] = useState([]);\n\n useEffect(() => {\n if (JSON.stringify(dataSource) !== JSON.stringify(currentDataSource)) setWithWarning(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentDataSource, dataSource]);\n\n useEffect(() => {\n let nextValue = consolidateValue(value, dataSource, currentDataSource);\n if (!nextValue) {\n setWithWarning(true);\n onWarning();\n nextValue = [prepareRoom(dataSource)];\n } else if (error && checkRoom(nextValue, dataSource)) {\n handleValid();\n }\n if (JSON.stringify(dataSource) !== JSON.stringify(currentDataSource)) setCurrentDataSource(dataSource);\n // ! TODO: Check why doesnt work witn non-hotels\n if (JSON.stringify(nextValue) !== JSON.stringify(value)) handleChange(nextValue);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, value]);\n\n useEffect(() => {\n setWithError(error);\n const roomIndex = value.findIndex((room) =>\n room.some(({ ages = [], type } = {}) => type === TYPE.CHILD && ages.some((age) => age === undefined)),\n );\n if (roomIndex < 0) return;\n\n const scrollHeight = getScrollHeight({\n hasAges: true,\n roomIndex,\n rooms: itemsRef.current?.map((el) => el?.scrollHeight),\n });\n if (scrollHeight >= 0) setScrollEnd(scrollEnd !== scrollHeight ? scrollHeight : scrollEnd + 0.1);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [error]);\n\n useEffect(() => {\n if (warning === undefined) return;\n\n setWithWarning(warning);\n }, [warning]);\n\n const handleAddRoom = () => {\n const { parentNode: { scrollHeight } = {} } = (itemsRef.current?.length > 0 && itemsRef.current[0]) || {};\n if (scrollHeight) setScrollEnd(scrollHeight);\n\n handleChange([...value, prepareRoom(dataSource)]);\n setWithWarning(false);\n };\n\n const handleRemoveRoom = (event, roomIndex, groupValue) => {\n event.stopPropagation();\n scroll(roomIndex, groupValue);\n\n handleChange(value.filter((_, index) => roomIndex !== index));\n itemsRef.current = [];\n setWithWarning(false);\n };\n\n const handleIndividual = (roomIndex, groupIndex, groupValue) => {\n dataSource[groupIndex].fulfill && scroll(roomIndex, groupValue);\n\n const nextValue = [...value];\n nextValue[roomIndex] = [...nextValue[roomIndex]] || [];\n nextValue[roomIndex][groupIndex] = groupValue.amount === 0 ? undefined : groupValue;\n\n handleChange(nextValue);\n setWithWarning(false);\n };\n\n const handleChange = (nextValue) => {\n onChange(nextValue);\n checkRoom(nextValue, dataSource) ? handleValid() : onError(ERROR.NOT_FILLED);\n };\n\n const handleSubmit = () => {\n setWithWarning(false);\n onSubmit(value);\n };\n\n const handleValid = () => {\n setWithError(false);\n onValid();\n };\n\n const scroll = (roomIndex, groupValue) => {\n const scrollHeight = getScrollHeight({\n hasAges: groupValue?.ages?.length > 0,\n roomIndex,\n rooms: itemsRef.current?.map((el) => el?.scrollHeight),\n });\n if (scrollHeight >= 0) setScrollEnd(scrollEnd !== scrollHeight ? scrollHeight : scrollEnd + 0.1);\n };\n\n const { testId } = others;\n const isValid = checkRoom(value, dataSource);\n\n return (\n <View {...others} role=\"occupation\" ref={ref} className={styles(style.container, others.className)}>\n {(withError || withWarning) && (\n <Notification error={withError} small warning={withWarning} className={style.notification}>\n {translate(withError ? L10N.NOTIFICATION_ERROR_UNFILLED_FIELDS : L10N.NOTIFICATION_WARNING_OCCUPATION)}\n </Notification>\n )}\n <ScrollView scrollTo={scrollEnd} snap={false} className={style.scrollview}>\n {value.map((room = [], roomIndex) => (\n <View key={`room:${roomIndex}`} ref={(el) => (itemsRef.current[roomIndex] = el)} wide>\n <View key={`room:header:${roomIndex}`} row className={style.header}>\n <Text action bold>\n {translate({ id: `${L10N.LABEL_PLACE_TYPE_COUNT.id}.${PLACE[type]}` }, { roomIndex: roomIndex + 1 })}\n </Text>\n {value.length > minRooms && (\n <Button\n preventDefault\n small\n transparent\n onPress={(event) => handleRemoveRoom(event, roomIndex, room[roomIndex])}\n testId={testId ? `${testId}-remove-room-${roomIndex}` : undefined}\n >\n {translate(L10N.ACTION_REMOVE)}\n </Button>\n )}\n </View>\n {dataSource.map((group, groupIndex) => (\n <OccupationGroup\n {...group}\n error={error}\n key={`room:${roomIndex}:${groupIndex}`}\n value={room[groupIndex]}\n onChange={(value) => handleIndividual(roomIndex, groupIndex, value)}\n testId={`group-${groupIndex}`}\n />\n ))}\n </View>\n ))}\n </ScrollView>\n\n <View row className={styles(style.footer)}>\n <Button\n disabled={maxRooms && value.length >= maxRooms}\n preventDefault\n secondary\n className={style.buttonAdd}\n onPress={handleAddRoom}\n testId={testId ? `${testId}-add-room` : undefined}\n >\n {translate({ id: `${L10N.ACTION_ADD_PLACE_TYPE.id}.${PLACE[type]}` })}\n </Button>\n {onSubmit && (\n <Button\n disabled={!isValid}\n className={style.buttonSubmit}\n preventDefault\n onPress={handleSubmit}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </View>\n );\n },\n);\n\nOccupation.displayName = 'Mirai:Core:Occupation';\n\nOccupation.propTypes = {\n dataSource: PropTypes.arrayOf(SHAPE.DATASOURCE),\n error: PropTypes.bool,\n maxRooms: PropTypes.number,\n minRooms: PropTypes.number,\n text: PropTypes.string,\n type: PropTypes.oneOf(Object.values(ACCOMMODATION_TYPE)),\n value: PropTypes.arrayOf(PropTypes.arrayOf(SHAPE.VALUE)),\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n onWarning: PropTypes.func,\n};\n\nexport { Occupation };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Occupation.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Occupation","_Occupation2","_Occupation3","style","_prepareRoom","_helpers2","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","Occupation","exports","React","forwardRef","_ref","ref","allowRooms","dataSource","DATASOURCE","error","maxRooms","minRooms","text","type","ACCOMMODATION_TYPE","ROOM","value","Array","map","prepareRoom","warning","onChange","onError","onSubmit","onValid","onWarning","others","translate","useLocale","itemsRef","useRef","scrollEnd","setScrollEnd","useState","withError","setWithError","withWarning","setWithWarning","currentDataSource","setCurrentDataSource","useEffect","JSON","stringify","nextValue","consolidateValue","checkRoom","handleValid","handleChange","_itemsRef$current","roomIndex","findIndex","room","some","ages","undefined","TYPE","CHILD","age","scrollHeight","getScrollHeight","hasAges","rooms","current","el","handleAddRoom","_itemsRef$current2","parentNode","handleRemoveRoom","event","groupValue","stopPropagation","scroll","filter","_","index","handleIndividual","groupIndex","fulfill","amount","ERROR","NOT_FILLED","handleSubmit","_groupValue$ages","_itemsRef$current3","testId","isValid","createElement","View","role","className","styles","container","singleRoom","Notification","small","notification","L10N","NOTIFICATION_ERROR_UNFILLED_FIELDS","NOTIFICATION_WARNING_OCCUPATION","ScrollView","scrollTo","snap","scrollview","key","concat","wide","row","header","Text","action","bold","id","LABEL_PLACE_TYPE_COUNT","PLACE","Button","preventDefault","transparent","onPress","ACTION_REMOVE","group","OccupationGroup","footer","footerSingle","disabled","secondary","buttonAdd","ACTION_ADD_PLACE_TYPE","buttonSubmit","ACTION_SEARCH","displayName","propTypes","PropTypes","bool","arrayOf","SHAPE","number","string","oneOf","values","VALUE","func"],"sources":["../../../../src/components/__shared__/Occupation/Occupation.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Button, Notification, ScrollView, Text, View, styles } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { checkRoom, consolidateValue, getScrollHeight } from './helpers';\nimport { DATASOURCE, ERROR, PLACE, SHAPE, TYPE } from './Occupation.constants';\nimport { OccupationGroup } from './Occupation.Group';\nimport { L10N } from './Occupation.l10n';\nimport * as style from './Occupation.module.css';\nimport { prepareRoom } from '../../../helpers/prepareRoom';\nimport { ACCOMMODATION_TYPE } from '../../helpers';\n\nconst Occupation = React.forwardRef(\n (\n {\n allowRooms = true,\n dataSource = DATASOURCE,\n error,\n maxRooms,\n minRooms = 1,\n text,\n type = ACCOMMODATION_TYPE.ROOM,\n value = dataSource ? [...Array(minRooms)].map(() => prepareRoom(dataSource || DATASOURCE)) : [],\n warning,\n onChange = () => {},\n onError = () => {},\n onSubmit,\n onValid = () => {},\n onWarning = () => {},\n ...others\n },\n ref,\n ) => {\n const { translate } = useLocale();\n const itemsRef = useRef([]);\n\n const [scrollEnd, setScrollEnd] = useState();\n const [withError, setWithError] = useState(error);\n const [withWarning, setWithWarning] = useState(false);\n const [currentDataSource, setCurrentDataSource] = useState([]);\n\n useEffect(() => {\n if (JSON.stringify(dataSource) !== JSON.stringify(currentDataSource)) setWithWarning(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentDataSource, dataSource]);\n\n useEffect(() => {\n let nextValue = consolidateValue(value, dataSource, currentDataSource);\n if (!nextValue) {\n setWithWarning(true);\n onWarning();\n nextValue = [prepareRoom(dataSource)];\n } else if (error && checkRoom(nextValue, dataSource)) {\n handleValid();\n }\n if (JSON.stringify(dataSource) !== JSON.stringify(currentDataSource)) setCurrentDataSource(dataSource);\n // ! TODO: Check why doesnt work witn non-hotels\n if (JSON.stringify(nextValue) !== JSON.stringify(value)) handleChange(nextValue);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, value]);\n\n useEffect(() => {\n setWithError(error);\n const roomIndex = value.findIndex((room) =>\n room.some(({ ages = [], type } = {}) => type === TYPE.CHILD && ages.some((age) => age === undefined)),\n );\n if (roomIndex < 0) return;\n\n const scrollHeight = getScrollHeight({\n hasAges: true,\n roomIndex,\n rooms: itemsRef.current?.map((el) => el?.scrollHeight),\n });\n if (scrollHeight >= 0) setScrollEnd(scrollEnd !== scrollHeight ? scrollHeight : scrollEnd + 0.1);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [error]);\n\n useEffect(() => {\n if (warning === undefined) return;\n\n setWithWarning(warning);\n }, [warning]);\n\n const handleAddRoom = () => {\n const { parentNode: { scrollHeight } = {} } = (itemsRef.current?.length > 0 && itemsRef.current[0]) || {};\n if (scrollHeight) setScrollEnd(scrollHeight);\n\n handleChange([...value, prepareRoom(dataSource)]);\n setWithWarning(false);\n };\n\n const handleRemoveRoom = (event, roomIndex, groupValue) => {\n event.stopPropagation();\n scroll(roomIndex, groupValue);\n\n handleChange(value.filter((_, index) => roomIndex !== index));\n itemsRef.current = [];\n setWithWarning(false);\n };\n\n const handleIndividual = (roomIndex, groupIndex, groupValue) => {\n dataSource[groupIndex].fulfill && scroll(roomIndex, groupValue);\n\n const nextValue = [...value];\n nextValue[roomIndex] = [...nextValue[roomIndex]] || [];\n nextValue[roomIndex][groupIndex] = groupValue.amount === 0 ? undefined : groupValue;\n\n handleChange(nextValue);\n setWithWarning(false);\n };\n\n const handleChange = (nextValue) => {\n onChange(nextValue);\n checkRoom(nextValue, dataSource) ? handleValid() : onError(ERROR.NOT_FILLED);\n };\n\n const handleSubmit = () => {\n setWithWarning(false);\n if (!onSubmit) return;\n onSubmit(value);\n };\n\n const handleValid = () => {\n setWithError(false);\n onValid();\n };\n\n const scroll = (roomIndex, groupValue) => {\n const scrollHeight = getScrollHeight({\n hasAges: groupValue?.ages?.length > 0,\n roomIndex,\n rooms: itemsRef.current?.map((el) => el?.scrollHeight),\n });\n if (scrollHeight >= 0) setScrollEnd(scrollEnd !== scrollHeight ? scrollHeight : scrollEnd + 0.1);\n };\n\n const { testId } = others;\n const isValid = checkRoom(value, dataSource);\n\n return (\n <View\n {...others}\n role=\"occupation\"\n ref={ref}\n className={styles(style.container, !allowRooms && style.singleRoom, others.className)}\n >\n {(withError || withWarning) && (\n <Notification error={withError} small warning={withWarning} className={style.notification}>\n {translate(withError ? L10N.NOTIFICATION_ERROR_UNFILLED_FIELDS : L10N.NOTIFICATION_WARNING_OCCUPATION)}\n </Notification>\n )}\n <ScrollView scrollTo={scrollEnd} snap={false} className={style.scrollview}>\n {value.map((room = [], roomIndex) => (\n <View key={`room:${roomIndex}`} ref={(el) => (itemsRef.current[roomIndex] = el)} wide>\n {allowRooms && (\n <View key={`room:header:${roomIndex}`} row className={style.header}>\n <Text action bold>\n {translate(\n { id: `${L10N.LABEL_PLACE_TYPE_COUNT.id}.${PLACE[type]}` },\n { roomIndex: roomIndex + 1 },\n )}\n </Text>\n {value.length > minRooms && (\n <Button\n preventDefault\n small\n transparent\n onPress={(event) => handleRemoveRoom(event, roomIndex, room[roomIndex])}\n testId={testId ? `${testId}-remove-room-${roomIndex}` : undefined}\n >\n {translate(L10N.ACTION_REMOVE)}\n </Button>\n )}\n </View>\n )}\n {dataSource.map((group, groupIndex) => (\n <OccupationGroup\n {...group}\n error={error}\n key={`room:${roomIndex}:${groupIndex}`}\n value={room[groupIndex]}\n onChange={(value) => handleIndividual(roomIndex, groupIndex, value)}\n testId={`group-${groupIndex}`}\n />\n ))}\n </View>\n ))}\n </ScrollView>\n\n {(allowRooms || onSubmit) && (\n <View row className={styles(style.footer, !allowRooms && style.footerSingle)}>\n {allowRooms && (\n <Button\n disabled={maxRooms && value.length >= maxRooms}\n preventDefault\n secondary\n className={style.buttonAdd}\n onPress={handleAddRoom}\n testId={testId ? `${testId}-add-room` : undefined}\n >\n {translate({ id: `${L10N.ACTION_ADD_PLACE_TYPE.id}.${PLACE[type]}` })}\n </Button>\n )}\n {onSubmit && (\n <Button\n disabled={!isValid}\n className={style.buttonSubmit}\n preventDefault\n onPress={handleSubmit}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n )}\n </View>\n );\n },\n);\n\nOccupation.displayName = 'Mirai:Core:Occupation';\n\nOccupation.propTypes = {\n allowRooms: PropTypes.bool,\n dataSource: PropTypes.arrayOf(SHAPE.DATASOURCE),\n error: PropTypes.bool,\n maxRooms: PropTypes.number,\n minRooms: PropTypes.number,\n text: PropTypes.string,\n type: PropTypes.oneOf(Object.values(ACCOMMODATION_TYPE)),\n value: PropTypes.arrayOf(PropTypes.arrayOf(SHAPE.VALUE)),\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n onWarning: PropTypes.func,\n};\n\nexport { Occupation };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -84,6 +84,10 @@
|
|
|
84
84
|
padding: var(--mirai-ui-space-S) var(--mirai-ui-space-M);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
+
.footerSingle {
|
|
88
|
+
justify-content: flex-end;
|
|
89
|
+
}
|
|
90
|
+
|
|
87
91
|
.buttonAdd {
|
|
88
92
|
flex: 1;
|
|
89
93
|
}
|
|
@@ -107,10 +111,18 @@
|
|
|
107
111
|
width: var(--mirai-occupation-width);
|
|
108
112
|
}
|
|
109
113
|
|
|
114
|
+
.container.singleRoom {
|
|
115
|
+
width: 100%;
|
|
116
|
+
}
|
|
117
|
+
|
|
110
118
|
.scrollview {
|
|
111
119
|
max-height: var(--mirai-occupation-scrollview-max-height);
|
|
112
120
|
}
|
|
113
121
|
|
|
122
|
+
.container.singleRoom .scrollview {
|
|
123
|
+
max-height: none;
|
|
124
|
+
}
|
|
125
|
+
|
|
114
126
|
.ages {
|
|
115
127
|
margin-left: 1px;
|
|
116
128
|
margin-right: 1px;
|
|
@@ -17,7 +17,7 @@ var _helpers2 = require("../../components/helpers");
|
|
|
17
17
|
var _Core = require("../../Core.constants");
|
|
18
18
|
var _helpers3 = require("../../helpers");
|
|
19
19
|
var _getSuperProps = require("../../helpers/getSuperProps");
|
|
20
|
-
const _excluded = ["performance"],
|
|
20
|
+
const _excluded = ["performance", "variant"],
|
|
21
21
|
_excluded2 = ["errorMessage", "id"],
|
|
22
22
|
_excluded3 = ["event"];
|
|
23
23
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -42,7 +42,8 @@ const PerformanceManager = () => {
|
|
|
42
42
|
const _useStore = (0, _dataSources.useStore)(),
|
|
43
43
|
{
|
|
44
44
|
value: {
|
|
45
|
-
performance: storePerformance = []
|
|
45
|
+
performance: storePerformance = [],
|
|
46
|
+
variant
|
|
46
47
|
}
|
|
47
48
|
} = _useStore,
|
|
48
49
|
store = _objectWithoutProperties(_useStore.value, _excluded);
|
|
@@ -82,6 +83,9 @@ const PerformanceManager = () => {
|
|
|
82
83
|
store,
|
|
83
84
|
engineVersion: _package.version
|
|
84
85
|
})), {}, {
|
|
86
|
+
active_experiments: variant ? {
|
|
87
|
+
[_Core.EXPERIMENT_ID]: variant
|
|
88
|
+
} : undefined,
|
|
85
89
|
locale,
|
|
86
90
|
mobile: device.mobile,
|
|
87
91
|
session,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerformanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerformanceManager","_PerformanceManager2","_PerformanceManager3","_package","_helpers2","_Core","_helpers3","_getSuperProps","_excluded","_excluded2","_excluded3","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","n","indexOf","propertyIsEnumerable","hasOwnProperty","MAX_COUNTER","COMPARE","GTM","PERFORMANCE","counter","memoizedPendingEvents","PerformanceManager","device","useDevice","track","useMetrics","_useStore","useStore","performance","storePerformance","store","consentMode","setConsentMode","useState","getConsentMode","setPerformance","components","finder","place","hotel","id","instanceId","locale","session","type","useEffect","metrics","ServiceFeatures","get","handleMetrics","_ref","errorMessage","props","window","IS_PLAYWRIGHT","location","host","ServiceAnna","eventName","chain","undefined","event","toUpperCase","trim","getSuperProps","engineVersion","version","mobile","Event","subscribe","COMPONENTS_EVENT","METRICS","unsubscribe","interval","setInterval","nextConsentMode","isGtm","provider","includes","nextMemoizedPendingEvents","execute","CONSENT_MODE_ANSWERED","requeue","executeEvent","clearInterval","config","hotelId","isHotel","getPerformance","handleEvent","_ref2","currentConsentMode","availableProviders","map","CONSENT_MODE_REQUIRED","entries","EVENTS","_ref3","propProvider","callback","parseInt","some","item","loadScripts","then","find","_ref4","response","label","concat","getPerformanceLabel","console","log","Mirai","urlParameters","fetchUrlParams","search","propConsentMode","loadedComponents","scripts","instances","propInstances","init","once","SCRIPTS","index","domain","loadScript","catch","exports"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceAnna, ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useState } from 'react';\n\nimport { getConsentMode, getPerformanceLabel } from './helpers';\nimport { CONSENT_MODE_ANSWERED, CONSENT_MODE_REQUIRED } from './PerformanceManager.constants';\nimport { EVENTS } from './PerformanceManager.events';\nimport { SCRIPTS } from './PerformanceManager.scripts';\nimport { version } from '../../../package.json';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { PERFORMANCE } from '../../Core.constants';\nimport { fetchUrlParams, getPerformance, loadScript } from '../../helpers';\nimport { getSuperProps } from '../../helpers/getSuperProps';\n\nconst MAX_COUNTER = 5;\nconst { COMPARE, GTM } = PERFORMANCE || {};\n\nlet counter = 0;\nlet memoizedPendingEvents = [];\n\nconst PerformanceManager = () => {\n const device = useDevice();\n const { track } = useMetrics();\n const {\n value: { performance: storePerformance = [], ...store },\n } = useStore();\n\n const [consentMode, setConsentMode] = useState(getConsentMode());\n const [performance, setPerformance] = useState(storePerformance);\n\n const { components, finder: { place } = {}, hotel = {}, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n const metrics = ServiceFeatures.get('metrics', instanceId);\n\n const handleMetrics = ({ errorMessage, id, ...props }) => {\n if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n\n if (errorMessage) {\n ServiceAnna.track({\n ...props,\n errorMessage,\n eventName: id,\n hotel: hotel.id,\n chain: type === 'chain' ? instanceId : undefined,\n session,\n });\n } else if (metrics) {\n const event = id.toUpperCase().trim();\n track(event, {\n ...props,\n ...getSuperProps({ store, engineVersion: version }),\n locale,\n mobile: device.mobile,\n session,\n type,\n });\n }\n };\n\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [store]);\n\n useEffect(() => {\n if (consentMode) return;\n\n const interval = setInterval(async () => {\n counter !== undefined && counter++;\n const nextConsentMode = getConsentMode(counter >= MAX_COUNTER);\n const isGtm = (provider) => [COMPARE, GTM].includes(provider);\n\n if (\n (nextConsentMode === undefined &&\n memoizedPendingEvents.filter(({ provider } = {}) => isGtm(provider)).length === 0) ||\n (!nextConsentMode && counter < MAX_COUNTER)\n )\n return;\n\n const nextMemoizedPendingEvents = [];\n memoizedPendingEvents.forEach((event = {}) => {\n const { provider } = event;\n const execute =\n nextConsentMode ||\n (counter >= MAX_COUNTER &&\n CONSENT_MODE_ANSWERED.includes(provider) &&\n (nextConsentMode === false || isGtm(provider)));\n const requeue = nextConsentMode === undefined && !isGtm(provider);\n\n if (execute) {\n executeEvent(event, nextConsentMode);\n\n if (!nextConsentMode && !isGtm(provider)) nextMemoizedPendingEvents.push(event);\n } else if (!execute || requeue) {\n nextMemoizedPendingEvents.push(event);\n }\n });\n memoizedPendingEvents = nextMemoizedPendingEvents;\n if (nextConsentMode !== undefined) {\n counter = undefined;\n setConsentMode(nextConsentMode);\n }\n }, 1000);\n\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consentMode]);\n\n useEffect(() => {\n const { config, finder: { place: { id: [hotelId] = [], isHotel } = {} } = {} } = store;\n\n if (place) {\n setPerformance(getPerformance(config, isHotel ? hotelId : undefined));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n const handleEvent = ({ event, ...value }) => {\n if (performance.length === 0) return;\n\n const currentConsentMode = getConsentMode(true);\n\n const availableProviders = performance\n .map(({ type } = {}) => type)\n .filter((type) => !(!currentConsentMode && CONSENT_MODE_ANSWERED.includes(type)))\n .filter((type) => currentConsentMode || !CONSENT_MODE_REQUIRED.includes(type));\n\n Object.entries(EVENTS[event]).forEach(([propProvider, callback = () => {}]) => {\n const provider = parseInt(propProvider);\n const props = { callback, event, provider, value };\n\n if (!currentConsentMode && !availableProviders.includes(provider)) {\n if (counter === undefined && CONSENT_MODE_ANSWERED.includes(provider)) {\n executeEvent(props);\n } else if (!memoizedPendingEvents.some((item) => item.event === event && item.provider === provider)) {\n memoizedPendingEvents.push(props);\n }\n } else executeEvent(props, currentConsentMode);\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, handleEvent));\n\n return () => Object.keys(EVENTS).forEach((event) => Event.unsubscribe(event, handleEvent));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [device, performance, store]);\n\n const executeEvent = ({ provider, callback, value, event } = {}, nextConsentMode = consentMode) => {\n loadScripts(\n performance.filter(({ type } = {}) => type === provider && type !== COMPARE),\n nextConsentMode,\n ).then(() => {\n const config = performance.find(({ type }) => type === provider);\n const response = callback({ ...value, ...config, device, store });\n if (!response) return;\n\n const label = `⚡️ ${getPerformanceLabel(provider)} ${event}`;\n // eslint-disable-next-line no-console\n response.then ? response.then((value) => console.log(label, value)) : console.log(label, response);\n\n if (provider === GTM) {\n window.Mirai.urlParameters = fetchUrlParams(location.search);\n loadScripts(\n performance.filter(({ type } = {}) => type === COMPARE),\n nextConsentMode,\n );\n }\n });\n };\n\n const loadScripts = async (performance = [], propConsentMode = consentMode) => {\n const loadedComponents = Object.keys(components);\n\n const scripts = [];\n performance\n .filter(({ type } = {}) => propConsentMode === true || !CONSENT_MODE_REQUIRED.includes(type))\n .forEach(({ type, instances: propInstances = [] } = {}) => {\n const { components = [], init = () => {}, once = false } = SCRIPTS[type] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n const instances = once ? [propInstances[0]] : propInstances;\n scripts.push(\n ...instances.map((config = {}, index) => ({\n domain: `performance-${getPerformanceLabel(type)}`,\n id: index + 1,\n ...init({ ...config, hotel, instanceId, loadedComponents, place }),\n type,\n })),\n );\n }\n });\n\n for (let index = 0; index < scripts.length; index++) {\n await loadScript(scripts[index]).catch(() => {});\n }\n };\n\n return null;\n};\n\nexport { PerformanceManager };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PerformanceManager.js","names":["_dataSources","require","_services","_ui","_react","_helpers","_PerformanceManager","_PerformanceManager2","_PerformanceManager3","_package","_helpers2","_Core","_helpers3","_getSuperProps","_excluded","_excluded2","_excluded3","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","n","indexOf","propertyIsEnumerable","hasOwnProperty","MAX_COUNTER","COMPARE","GTM","PERFORMANCE","counter","memoizedPendingEvents","PerformanceManager","device","useDevice","track","useMetrics","_useStore","useStore","performance","storePerformance","variant","store","consentMode","setConsentMode","useState","getConsentMode","setPerformance","components","finder","place","hotel","id","instanceId","locale","session","type","useEffect","metrics","ServiceFeatures","get","handleMetrics","_ref","errorMessage","props","window","IS_PLAYWRIGHT","location","host","ServiceAnna","eventName","chain","undefined","event","toUpperCase","trim","getSuperProps","engineVersion","version","active_experiments","EXPERIMENT_ID","mobile","Event","subscribe","COMPONENTS_EVENT","METRICS","unsubscribe","interval","setInterval","nextConsentMode","isGtm","provider","includes","nextMemoizedPendingEvents","execute","CONSENT_MODE_ANSWERED","requeue","executeEvent","clearInterval","config","hotelId","isHotel","getPerformance","handleEvent","_ref2","currentConsentMode","availableProviders","map","CONSENT_MODE_REQUIRED","entries","EVENTS","_ref3","propProvider","callback","parseInt","some","item","loadScripts","then","find","_ref4","response","label","concat","getPerformanceLabel","console","log","Mirai","urlParameters","fetchUrlParams","search","propConsentMode","loadedComponents","scripts","instances","propInstances","init","once","SCRIPTS","index","domain","loadScript","catch","exports"],"sources":["../../../src/contexts/PerformanceManager/PerformanceManager.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { ServiceAnna, ServiceFeatures } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport { useEffect, useState } from 'react';\n\nimport { getConsentMode, getPerformanceLabel } from './helpers';\nimport { CONSENT_MODE_ANSWERED, CONSENT_MODE_REQUIRED } from './PerformanceManager.constants';\nimport { EVENTS } from './PerformanceManager.events';\nimport { SCRIPTS } from './PerformanceManager.scripts';\nimport { version } from '../../../package.json';\nimport { EVENT as COMPONENTS_EVENT } from '../../components/helpers';\nimport { EXPERIMENT_ID, PERFORMANCE } from '../../Core.constants';\nimport { fetchUrlParams, getPerformance, loadScript } from '../../helpers';\nimport { getSuperProps } from '../../helpers/getSuperProps';\n\nconst MAX_COUNTER = 5;\nconst { COMPARE, GTM } = PERFORMANCE || {};\n\nlet counter = 0;\nlet memoizedPendingEvents = [];\n\nconst PerformanceManager = () => {\n const device = useDevice();\n const { track } = useMetrics();\n const {\n value: { performance: storePerformance = [], variant, ...store },\n } = useStore();\n\n const [consentMode, setConsentMode] = useState(getConsentMode());\n const [performance, setPerformance] = useState(storePerformance);\n\n const { components, finder: { place } = {}, hotel = {}, id: instanceId, locale, session, type } = store;\n\n useEffect(() => {\n const metrics = ServiceFeatures.get('metrics', instanceId);\n\n const handleMetrics = ({ errorMessage, id, ...props }) => {\n if (!id || window.IS_PLAYWRIGHT || window.location.host === 'monalisa.mirai.com') return;\n\n if (errorMessage) {\n ServiceAnna.track({\n ...props,\n errorMessage,\n eventName: id,\n hotel: hotel.id,\n chain: type === 'chain' ? instanceId : undefined,\n session,\n });\n } else if (metrics) {\n const event = id.toUpperCase().trim();\n track(event, {\n ...props,\n ...getSuperProps({ store, engineVersion: version }),\n active_experiments: variant ? { [EXPERIMENT_ID]: variant } : undefined,\n locale,\n mobile: device.mobile,\n session,\n type,\n });\n }\n };\n\n Event.subscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n\n return () => Event.unsubscribe(COMPONENTS_EVENT.METRICS, handleMetrics);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [store]);\n\n useEffect(() => {\n if (consentMode) return;\n\n const interval = setInterval(async () => {\n counter !== undefined && counter++;\n const nextConsentMode = getConsentMode(counter >= MAX_COUNTER);\n const isGtm = (provider) => [COMPARE, GTM].includes(provider);\n\n if (\n (nextConsentMode === undefined &&\n memoizedPendingEvents.filter(({ provider } = {}) => isGtm(provider)).length === 0) ||\n (!nextConsentMode && counter < MAX_COUNTER)\n )\n return;\n\n const nextMemoizedPendingEvents = [];\n memoizedPendingEvents.forEach((event = {}) => {\n const { provider } = event;\n const execute =\n nextConsentMode ||\n (counter >= MAX_COUNTER &&\n CONSENT_MODE_ANSWERED.includes(provider) &&\n (nextConsentMode === false || isGtm(provider)));\n const requeue = nextConsentMode === undefined && !isGtm(provider);\n\n if (execute) {\n executeEvent(event, nextConsentMode);\n\n if (!nextConsentMode && !isGtm(provider)) nextMemoizedPendingEvents.push(event);\n } else if (!execute || requeue) {\n nextMemoizedPendingEvents.push(event);\n }\n });\n memoizedPendingEvents = nextMemoizedPendingEvents;\n if (nextConsentMode !== undefined) {\n counter = undefined;\n setConsentMode(nextConsentMode);\n }\n }, 1000);\n\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [consentMode]);\n\n useEffect(() => {\n const { config, finder: { place: { id: [hotelId] = [], isHotel } = {} } = {} } = store;\n\n if (place) {\n setPerformance(getPerformance(config, isHotel ? hotelId : undefined));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n useEffect(() => {\n const handleEvent = ({ event, ...value }) => {\n if (performance.length === 0) return;\n\n const currentConsentMode = getConsentMode(true);\n\n const availableProviders = performance\n .map(({ type } = {}) => type)\n .filter((type) => !(!currentConsentMode && CONSENT_MODE_ANSWERED.includes(type)))\n .filter((type) => currentConsentMode || !CONSENT_MODE_REQUIRED.includes(type));\n\n Object.entries(EVENTS[event]).forEach(([propProvider, callback = () => {}]) => {\n const provider = parseInt(propProvider);\n const props = { callback, event, provider, value };\n\n if (!currentConsentMode && !availableProviders.includes(provider)) {\n if (counter === undefined && CONSENT_MODE_ANSWERED.includes(provider)) {\n executeEvent(props);\n } else if (!memoizedPendingEvents.some((item) => item.event === event && item.provider === provider)) {\n memoizedPendingEvents.push(props);\n }\n } else executeEvent(props, currentConsentMode);\n });\n };\n\n Object.keys(EVENTS).forEach((event) => Event.subscribe(event, handleEvent));\n\n return () => Object.keys(EVENTS).forEach((event) => Event.unsubscribe(event, handleEvent));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [device, performance, store]);\n\n const executeEvent = ({ provider, callback, value, event } = {}, nextConsentMode = consentMode) => {\n loadScripts(\n performance.filter(({ type } = {}) => type === provider && type !== COMPARE),\n nextConsentMode,\n ).then(() => {\n const config = performance.find(({ type }) => type === provider);\n const response = callback({ ...value, ...config, device, store });\n if (!response) return;\n\n const label = `⚡️ ${getPerformanceLabel(provider)} ${event}`;\n // eslint-disable-next-line no-console\n response.then ? response.then((value) => console.log(label, value)) : console.log(label, response);\n\n if (provider === GTM) {\n window.Mirai.urlParameters = fetchUrlParams(location.search);\n loadScripts(\n performance.filter(({ type } = {}) => type === COMPARE),\n nextConsentMode,\n );\n }\n });\n };\n\n const loadScripts = async (performance = [], propConsentMode = consentMode) => {\n const loadedComponents = Object.keys(components);\n\n const scripts = [];\n performance\n .filter(({ type } = {}) => propConsentMode === true || !CONSENT_MODE_REQUIRED.includes(type))\n .forEach(({ type, instances: propInstances = [] } = {}) => {\n const { components = [], init = () => {}, once = false } = SCRIPTS[type] || {};\n\n if (components.length === 0 || components.some((item) => loadedComponents.includes(item))) {\n const instances = once ? [propInstances[0]] : propInstances;\n scripts.push(\n ...instances.map((config = {}, index) => ({\n domain: `performance-${getPerformanceLabel(type)}`,\n id: index + 1,\n ...init({ ...config, hotel, instanceId, loadedComponents, place }),\n type,\n })),\n );\n }\n });\n\n for (let index = 0; index < scripts.length; index++) {\n await loadScript(scripts[index]).catch(() => {});\n }\n };\n\n return null;\n};\n\nexport { PerformanceManager };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,6 +13,7 @@ var _getLocale = require("./getLocale");
|
|
|
13
13
|
var _getMetaRates = require("./getMetaRates");
|
|
14
14
|
var _getPerformance = require("./getPerformance");
|
|
15
15
|
var _getTags = require("./getTags");
|
|
16
|
+
var _getVariant = require("./getVariant");
|
|
16
17
|
var _prepareRoom = require("./prepareRoom");
|
|
17
18
|
var _toOccupation = require("./toOccupation");
|
|
18
19
|
var _Core = require("../Core.constants");
|
|
@@ -303,7 +304,9 @@ const consolidateStore = async function () {
|
|
|
303
304
|
promo,
|
|
304
305
|
session,
|
|
305
306
|
tags,
|
|
306
|
-
variant:
|
|
307
|
+
variant: (0, _getVariant.getVariant)({
|
|
308
|
+
urlParams
|
|
309
|
+
}),
|
|
307
310
|
// -- components
|
|
308
311
|
checkout: !IS_JEST && urlParams.checkoutForm ? JSON.parse(urlParams.checkoutForm) : undefined,
|
|
309
312
|
deals: undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consolidateStore.js","names":["_dataSources","require","_locale","_getAccommodationType","_getClub","_getCurrency","_getLocale","_getMetaRates","_getPerformance","_getTags","_prepareRoom","_toOccupation","_Core","_excluded","_excluded2","_process","_process$env","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","n","indexOf","propertyIsEnumerable","hasOwnProperty","IS_JEST","process","env","JEST_WORKER_ID","BOOKING","CHECKOUT","RATES","COMPONENTS","consolidateStore","_config$accomodation","_config$accomodation2","_config$accomodation3","_config$accomodation4","_config$accomodation5","_config$accomodation6","_tags","_storageFinder$occupa","_promo","_config$languages","_ref","undefined","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","miraiId","isRates","some","component","club","banner","accomodation","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","format","CALENDAR_FORMAT","language","country","locale","getLocale","currency","getCurrency","accommodationType","getAccommodationType","lodgingDenomination","features","TYPE","CHAIN","idtokenprovider","idHotel","url","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","variants","entries","map","_ref2","key","occupation","dataSource","ADULT","min","age","CHILD","fulfill","maxRooms","rooms","maxOccupation","commissionCode","hsri","TYPE_COMMISSION","chainSelector","tags","placeHolder","trees","options","getTags","placeholder","storageFinder","Storage","adapter","LocalAdapter","get","concat","FINDER_STORAGE_KEY","chainSelectorValue","checkin","clientCode","nights","parties","promo","promoCode","parseDate","UTC","checkout","parseInt","showPromoNav","configPromo","promoText","fromEntries","code","place","find","isHotel","finder","dateDiff","days","toOccupation","places","prepareRoom","ages","promocode","host","document","protocol","isDevelopment","NODE_ENV","IS_PLAYWRIGHT","forwarder","rates","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","cookieBanner","active","countryInactive","showAll","isClub","locales","languages","COUNTRIES","getClub","reduce","_ref3","props","performance","getPerformance","variant","Math","random","checkoutForm","JSON","parse","deals","lisa","cart","split","getMetaRates","meta","exports"],"sources":["../../src/helpers/consolidateStore.js"],"sourcesContent":["import { LocalAdapter, Storage } from '@mirai/data-sources';\nimport { COUNTRIES, dateCalc, dateDiff, dateFormat, parseDate, UTC } from '@mirai/locale';\n\nimport { getAccommodationType } from './getAccommodationType';\nimport { getClub } from './getClub';\nimport { getCurrency } from './getCurrency';\nimport { getLocale } from './getLocale';\nimport { getMetaRates } from './getMetaRates';\nimport { getPerformance } from './getPerformance';\nimport { getTags } from './getTags';\nimport { prepareRoom } from './prepareRoom';\nimport { toOccupation } from './toOccupation';\nimport {\n CALENDAR_FORMAT,\n COMPONENTS,\n FINDER_STORAGE_KEY,\n TAX_DEFAULT,\n TAXES,\n TYPE,\n TYPE_COMMISSION,\n} from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\nconst { BOOKING, CHECKOUT, RATES } = COMPONENTS;\n\n/* eslint-disable no-unused-vars */\nexport const consolidateStore = async ({\n components = [],\n config = {},\n cookies = {},\n instance: { el, hotel: hotelId, id, type, ...instance } = {},\n session,\n urlParams = {},\n} = {}) => {\n const { miraiId } = urlParams;\n const isRates = components.some(({ component } = {}) => component === RATES);\n\n const { club = {}, banner } = config.accomodation || {};\n\n // -- calendar -------------------------------------------------------------------------------------------------------\n const {\n maxDays = 365,\n maxNights: rangeMaxDays = 31,\n nightsForDeal: rangeMinDays,\n prices: showPrices = false,\n pricesWithTaxes: pricesLegend,\n } = config.accomodation?.calendar || {};\n const calendar = {\n rangeMaxDays,\n rangeMinDays,\n pricesLegend: TAXES.includes(pricesLegend) ? pricesLegend : showPrices ? TAX_DEFAULT : undefined,\n showPrices,\n to: !IS_JEST ? dateFormat(dateCalc(new Date(), maxDays, 'days'), { format: CALENDAR_FORMAT }) : undefined,\n };\n\n // -- language, country & locale -------------------------------------------------------------------------------------\n const { language, country, locale } = getLocale(instance, urlParams);\n\n // -- currency -------------------------------------------------------------------------------------------------------\n const currency = await getCurrency({ id, instance, isRates, type, urlParams });\n\n // -- hotel ----------------------------------------------------------------------------------------------------------\n const hotel = {\n accommodationType: getAccommodationType(config.lodgingDenomination, hotelId),\n features: config.accomodation?.features || {},\n id:\n type === TYPE.CHAIN\n ? urlParams.idtokenprovider === id\n ? undefined\n : urlParams.idtokenprovider || urlParams.idHotel || hotelId\n : id,\n url: urlParams.home || window.location.origin,\n warningAvailability: config.minRoomsEngineNotification,\n };\n\n if (type === TYPE.CHAIN) {\n const { hotels = {} } = config;\n hotel.variants = {};\n\n Object.entries(hotels).map(([key, { lodgingDenomination: accommodationType }]) => {\n hotel.variants[key] = { accommodationType };\n });\n }\n\n // -- occupation -----------------------------------------------------------------------------------------------------\n const occupation = {\n dataSource: config.accomodation?.occupation || [\n { type: TYPE.ADULT, min: 1, age: [18] },\n { type: TYPE.CHILD, age: [0, 17], fulfill: true },\n ],\n maxRooms: config.accomodation?.rooms?.maxOccupation,\n variants: config.accomodation?.variants || [],\n };\n\n // -- origin ---------------------------------------------------------------------------------------------------------\n const origin = {\n commissionCode: urlParams.hsri || TYPE_COMMISSION[type],\n };\n\n // -- tags -----------------------------------------------------------------------------------------------------------\n const { chainSelector } = config;\n let tags;\n if (type === TYPE.CHAIN && chainSelector) {\n const { placeHolder = {}, trees = [] } = chainSelector;\n tags = { options: getTags(trees, language), placeholder: placeHolder[language] };\n }\n\n // -- finder ---------------------------------------------------------------------------------------------------------\n const storageFinder = !isRates ? new Storage({ adapter: LocalAdapter }).get(`${FINDER_STORAGE_KEY}:${id}`) || {} : {};\n\n let { chainSelectorValue, checkin, clientCode, nights = isRates ? 1 : 0, parties, promo: promoCode } = urlParams;\n checkin = checkin ? parseDate(checkin) : isRates ? UTC(new Date()) : undefined;\n let checkout;\n\n if (checkin) checkout = dateCalc(checkin, parseInt(nights), 'days');\n\n let promo;\n if (config.showPromoNav) {\n const { accomodation: { promo: configPromo = {} } = {}, promoText: placeholder = {} } = config;\n promo = {\n ...configPromo,\n placeholder,\n variants: Object.fromEntries(occupation.variants.map(({ id, promo: { code } = {} } = {}) => [id, code])),\n };\n }\n\n let place;\n if (tags) {\n place = tags.options.find(\n ({ id: [idHotel] = [], isHotel, value } = {}) =>\n (chainSelectorValue && value === Number(chainSelectorValue)) || (isHotel && hotel.id === idHotel),\n );\n\n const { id: [id] = [] } = place || {};\n const { accommodationType } = hotel.variants[id] || {};\n if (accommodationType) hotel.accommodationType = accommodationType;\n }\n\n const finder = {\n place: place || storageFinder.place,\n calendar: checkin\n ? [checkin, checkout]\n : storageFinder.calendar && dateDiff(new Date(), new Date(storageFinder.calendar[0])).days > -1\n ? [new Date(storageFinder.calendar[0]), new Date(storageFinder.calendar[1])]\n : [],\n occupation: parties\n ? toOccupation({ chainSelectorValue, occupation, parties, places: tags?.options })\n : isRates\n ? [prepareRoom(occupation.dataSource)]\n : storageFinder.occupation?.map((rooms) =>\n rooms.map((value = {}) => ({\n ...value,\n ...(value?.ages ? { ages: value.ages.map((age) => (age === null ? undefined : age)) } : undefined),\n })),\n ) || undefined,\n promocode: clientCode || promoCode || (!isRates && promo?.code) || storageFinder.promocode,\n };\n\n // -- forwarder ------------------------------------------------------------------------------------------------------\n const host = `${document.location.protocol}//${document.location.host}`;\n const isDevelopment = process.env.NODE_ENV === 'development' || window.IS_PLAYWRIGHT;\n const forwarder = {\n rates: miraiId ? `${host}/step1-rates` : `${process.env.SERVICE_BOOKING}/miraiFrontDispatcher.htm`,\n checkout: miraiId ? `${host}/step2-checkout` : `${process.env.SERVICE_BOOKING}/forwarder_client_form.htm`,\n booking: miraiId ? `${host}/step3-booking` : `${process.env.SERVICE_BOOKING}/forwarder_manage_reservation.htm`,\n signup:\n miraiId || isDevelopment\n ? `${host}/signup`\n : `${process.env.SERVICE_USER}/club/v1/forwarder/registration_process`,\n profile:\n miraiId || isDevelopment ? `${host}/profile` : `${process.env.SERVICE_USER}/club/v1/forwarder/members_area`,\n };\n\n const { cookieBanner: { active, countryInactive, showAll } = {} } = config;\n\n return {\n banner: {\n ...(club?.banner || banner),\n isClub: !!club?.banner,\n variants: Object.fromEntries(\n occupation.variants.map(({ id, club, banner } = {}) => [id, club?.banner || banner]),\n ),\n },\n config,\n cookies,\n cookieBanner: {\n active:\n active && (showAll || components.some(({ component } = {}) => [RATES, CHECKOUT, BOOKING].includes(component))),\n countryInactive,\n },\n urlParams,\n ...instance,\n id,\n type,\n\n // region\n currency,\n language,\n country,\n locale,\n locales: config.languages\n ?.map((language) => (language === 'no' ? 'nb' : language))\n .map((language) => `${language}-${COUNTRIES[language]}`),\n\n // entities,\n calendar,\n club: getClub({ config, language, type, urlParams }),\n components: components.reduce((value, { component, ...props }) => {\n value[component] = props;\n return value;\n }, {}),\n forwarder,\n hotel,\n occupation,\n origin,\n performance: getPerformance(config, hotel.id),\n promo,\n session,\n tags,\n variant:\n IS_JEST && !window.IS_PLAYWRIGHT\n ? undefined\n : urlParams.variant\n ? urlParams.variant\n : Math.random() < 0.5\n ? 'A'\n : 'B',\n // -- components\n checkout: !IS_JEST && urlParams.checkoutForm ? JSON.parse(urlParams.checkoutForm) : undefined,\n deals: undefined,\n finder,\n lisa: undefined,\n rates: {\n cart: urlParams.cart ? urlParams.cart.split(',') : urlParams.rates ? getMetaRates(urlParams.rates) : undefined,\n meta: !!urlParams.rates,\n },\n rooms: undefined,\n signup: undefined,\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"consolidateStore.js","names":["_dataSources","require","_locale","_getAccommodationType","_getClub","_getCurrency","_getLocale","_getMetaRates","_getPerformance","_getTags","_getVariant","_prepareRoom","_toOccupation","_Core","_excluded","_excluded2","_process","_process$env","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","n","indexOf","propertyIsEnumerable","hasOwnProperty","IS_JEST","process","env","JEST_WORKER_ID","BOOKING","CHECKOUT","RATES","COMPONENTS","consolidateStore","_config$accomodation","_config$accomodation2","_config$accomodation3","_config$accomodation4","_config$accomodation5","_config$accomodation6","_tags","_storageFinder$occupa","_promo","_config$languages","_ref","undefined","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","miraiId","isRates","some","component","club","banner","accomodation","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","format","CALENDAR_FORMAT","language","country","locale","getLocale","currency","getCurrency","accommodationType","getAccommodationType","lodgingDenomination","features","TYPE","CHAIN","idtokenprovider","idHotel","url","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","variants","entries","map","_ref2","key","occupation","dataSource","ADULT","min","age","CHILD","fulfill","maxRooms","rooms","maxOccupation","commissionCode","hsri","TYPE_COMMISSION","chainSelector","tags","placeHolder","trees","options","getTags","placeholder","storageFinder","Storage","adapter","LocalAdapter","get","concat","FINDER_STORAGE_KEY","chainSelectorValue","checkin","clientCode","nights","parties","promo","promoCode","parseDate","UTC","checkout","parseInt","showPromoNav","configPromo","promoText","fromEntries","code","place","find","isHotel","finder","dateDiff","days","toOccupation","places","prepareRoom","ages","promocode","host","document","protocol","isDevelopment","NODE_ENV","IS_PLAYWRIGHT","forwarder","rates","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","cookieBanner","active","countryInactive","showAll","isClub","locales","languages","COUNTRIES","getClub","reduce","_ref3","props","performance","getPerformance","variant","getVariant","checkoutForm","JSON","parse","deals","lisa","cart","split","getMetaRates","meta","exports"],"sources":["../../src/helpers/consolidateStore.js"],"sourcesContent":["import { LocalAdapter, Storage } from '@mirai/data-sources';\nimport { COUNTRIES, dateCalc, dateDiff, dateFormat, parseDate, UTC } from '@mirai/locale';\n\nimport { getAccommodationType } from './getAccommodationType';\nimport { getClub } from './getClub';\nimport { getCurrency } from './getCurrency';\nimport { getLocale } from './getLocale';\nimport { getMetaRates } from './getMetaRates';\nimport { getPerformance } from './getPerformance';\nimport { getTags } from './getTags';\nimport { getVariant } from './getVariant';\nimport { prepareRoom } from './prepareRoom';\nimport { toOccupation } from './toOccupation';\nimport {\n CALENDAR_FORMAT,\n COMPONENTS,\n FINDER_STORAGE_KEY,\n TAX_DEFAULT,\n TAXES,\n TYPE,\n TYPE_COMMISSION,\n} from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\nconst { BOOKING, CHECKOUT, RATES } = COMPONENTS;\n\n/* eslint-disable no-unused-vars */\nexport const consolidateStore = async ({\n components = [],\n config = {},\n cookies = {},\n instance: { el, hotel: hotelId, id, type, ...instance } = {},\n session,\n urlParams = {},\n} = {}) => {\n const { miraiId } = urlParams;\n const isRates = components.some(({ component } = {}) => component === RATES);\n\n const { club = {}, banner } = config.accomodation || {};\n\n // -- calendar -------------------------------------------------------------------------------------------------------\n const {\n maxDays = 365,\n maxNights: rangeMaxDays = 31,\n nightsForDeal: rangeMinDays,\n prices: showPrices = false,\n pricesWithTaxes: pricesLegend,\n } = config.accomodation?.calendar || {};\n const calendar = {\n rangeMaxDays,\n rangeMinDays,\n pricesLegend: TAXES.includes(pricesLegend) ? pricesLegend : showPrices ? TAX_DEFAULT : undefined,\n showPrices,\n to: !IS_JEST ? dateFormat(dateCalc(new Date(), maxDays, 'days'), { format: CALENDAR_FORMAT }) : undefined,\n };\n\n // -- language, country & locale -------------------------------------------------------------------------------------\n const { language, country, locale } = getLocale(instance, urlParams);\n\n // -- currency -------------------------------------------------------------------------------------------------------\n const currency = await getCurrency({ id, instance, isRates, type, urlParams });\n\n // -- hotel ----------------------------------------------------------------------------------------------------------\n const hotel = {\n accommodationType: getAccommodationType(config.lodgingDenomination, hotelId),\n features: config.accomodation?.features || {},\n id:\n type === TYPE.CHAIN\n ? urlParams.idtokenprovider === id\n ? undefined\n : urlParams.idtokenprovider || urlParams.idHotel || hotelId\n : id,\n url: urlParams.home || window.location.origin,\n warningAvailability: config.minRoomsEngineNotification,\n };\n\n if (type === TYPE.CHAIN) {\n const { hotels = {} } = config;\n hotel.variants = {};\n\n Object.entries(hotels).map(([key, { lodgingDenomination: accommodationType }]) => {\n hotel.variants[key] = { accommodationType };\n });\n }\n\n // -- occupation -----------------------------------------------------------------------------------------------------\n const occupation = {\n dataSource: config.accomodation?.occupation || [\n { type: TYPE.ADULT, min: 1, age: [18] },\n { type: TYPE.CHILD, age: [0, 17], fulfill: true },\n ],\n maxRooms: config.accomodation?.rooms?.maxOccupation,\n variants: config.accomodation?.variants || [],\n };\n\n // -- origin ---------------------------------------------------------------------------------------------------------\n const origin = {\n commissionCode: urlParams.hsri || TYPE_COMMISSION[type],\n };\n\n // -- tags -----------------------------------------------------------------------------------------------------------\n const { chainSelector } = config;\n let tags;\n if (type === TYPE.CHAIN && chainSelector) {\n const { placeHolder = {}, trees = [] } = chainSelector;\n tags = { options: getTags(trees, language), placeholder: placeHolder[language] };\n }\n\n // -- finder ---------------------------------------------------------------------------------------------------------\n const storageFinder = !isRates ? new Storage({ adapter: LocalAdapter }).get(`${FINDER_STORAGE_KEY}:${id}`) || {} : {};\n\n let { chainSelectorValue, checkin, clientCode, nights = isRates ? 1 : 0, parties, promo: promoCode } = urlParams;\n checkin = checkin ? parseDate(checkin) : isRates ? UTC(new Date()) : undefined;\n let checkout;\n\n if (checkin) checkout = dateCalc(checkin, parseInt(nights), 'days');\n\n let promo;\n if (config.showPromoNav) {\n const { accomodation: { promo: configPromo = {} } = {}, promoText: placeholder = {} } = config;\n promo = {\n ...configPromo,\n placeholder,\n variants: Object.fromEntries(occupation.variants.map(({ id, promo: { code } = {} } = {}) => [id, code])),\n };\n }\n\n let place;\n if (tags) {\n place = tags.options.find(\n ({ id: [idHotel] = [], isHotel, value } = {}) =>\n (chainSelectorValue && value === Number(chainSelectorValue)) || (isHotel && hotel.id === idHotel),\n );\n\n const { id: [id] = [] } = place || {};\n const { accommodationType } = hotel.variants[id] || {};\n if (accommodationType) hotel.accommodationType = accommodationType;\n }\n\n const finder = {\n place: place || storageFinder.place,\n calendar: checkin\n ? [checkin, checkout]\n : storageFinder.calendar && dateDiff(new Date(), new Date(storageFinder.calendar[0])).days > -1\n ? [new Date(storageFinder.calendar[0]), new Date(storageFinder.calendar[1])]\n : [],\n occupation: parties\n ? toOccupation({ chainSelectorValue, occupation, parties, places: tags?.options })\n : isRates\n ? [prepareRoom(occupation.dataSource)]\n : storageFinder.occupation?.map((rooms) =>\n rooms.map((value = {}) => ({\n ...value,\n ...(value?.ages ? { ages: value.ages.map((age) => (age === null ? undefined : age)) } : undefined),\n })),\n ) || undefined,\n promocode: clientCode || promoCode || (!isRates && promo?.code) || storageFinder.promocode,\n };\n\n // -- forwarder ------------------------------------------------------------------------------------------------------\n const host = `${document.location.protocol}//${document.location.host}`;\n const isDevelopment = process.env.NODE_ENV === 'development' || window.IS_PLAYWRIGHT;\n const forwarder = {\n rates: miraiId ? `${host}/step1-rates` : `${process.env.SERVICE_BOOKING}/miraiFrontDispatcher.htm`,\n checkout: miraiId ? `${host}/step2-checkout` : `${process.env.SERVICE_BOOKING}/forwarder_client_form.htm`,\n booking: miraiId ? `${host}/step3-booking` : `${process.env.SERVICE_BOOKING}/forwarder_manage_reservation.htm`,\n signup:\n miraiId || isDevelopment\n ? `${host}/signup`\n : `${process.env.SERVICE_USER}/club/v1/forwarder/registration_process`,\n profile:\n miraiId || isDevelopment ? `${host}/profile` : `${process.env.SERVICE_USER}/club/v1/forwarder/members_area`,\n };\n\n const { cookieBanner: { active, countryInactive, showAll } = {} } = config;\n\n return {\n banner: {\n ...(club?.banner || banner),\n isClub: !!club?.banner,\n variants: Object.fromEntries(\n occupation.variants.map(({ id, club, banner } = {}) => [id, club?.banner || banner]),\n ),\n },\n config,\n cookies,\n cookieBanner: {\n active:\n active && (showAll || components.some(({ component } = {}) => [RATES, CHECKOUT, BOOKING].includes(component))),\n countryInactive,\n },\n urlParams,\n ...instance,\n id,\n type,\n\n // region\n currency,\n language,\n country,\n locale,\n locales: config.languages\n ?.map((language) => (language === 'no' ? 'nb' : language))\n .map((language) => `${language}-${COUNTRIES[language]}`),\n\n // entities,\n calendar,\n club: getClub({ config, language, type, urlParams }),\n components: components.reduce((value, { component, ...props }) => {\n value[component] = props;\n return value;\n }, {}),\n forwarder,\n hotel,\n occupation,\n origin,\n performance: getPerformance(config, hotel.id),\n promo,\n session,\n tags,\n variant: getVariant({ urlParams }),\n // -- components\n checkout: !IS_JEST && urlParams.checkoutForm ? JSON.parse(urlParams.checkoutForm) : undefined,\n deals: undefined,\n finder,\n lisa: undefined,\n rates: {\n cart: urlParams.cart ? urlParams.cart.split(',') : urlParams.rates ? getMetaRates(urlParams.rates) : undefined,\n meta: !!urlParams.rates,\n },\n rooms: undefined,\n signup: undefined,\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getVariant = void 0;
|
|
7
|
+
var _dataSources = require("@mirai/data-sources");
|
|
8
|
+
var _Core = require("../Core.constants");
|
|
9
|
+
var _process, _process$env;
|
|
10
|
+
const IS_JEST = !!((_process = process) !== null && _process !== void 0 && (_process$env = _process.env) !== null && _process$env !== void 0 && _process$env.JEST_WORKER_ID);
|
|
11
|
+
const variantStorage = new _dataSources.Storage({
|
|
12
|
+
adapter: _dataSources.SessionAdapter
|
|
13
|
+
});
|
|
14
|
+
const {
|
|
15
|
+
A,
|
|
16
|
+
B
|
|
17
|
+
} = _Core.VARIANT;
|
|
18
|
+
const getVariant = function () {
|
|
19
|
+
let {
|
|
20
|
+
urlParams = {}
|
|
21
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
22
|
+
if (IS_JEST && !window.IS_PLAYWRIGHT) return undefined;
|
|
23
|
+
if (urlParams.variant === A || urlParams.variant === B) {
|
|
24
|
+
return urlParams.variant;
|
|
25
|
+
}
|
|
26
|
+
const stored = variantStorage.get(_Core.VARIANT_STORAGE_KEY);
|
|
27
|
+
if (stored === A || stored === B) return stored;
|
|
28
|
+
const next = Math.random() < 0.5 ? A : B;
|
|
29
|
+
variantStorage.set(_Core.VARIANT_STORAGE_KEY, next);
|
|
30
|
+
return next;
|
|
31
|
+
};
|
|
32
|
+
exports.getVariant = getVariant;
|
|
33
|
+
//# sourceMappingURL=getVariant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVariant.js","names":["_dataSources","require","_Core","_process","_process$env","IS_JEST","process","env","JEST_WORKER_ID","variantStorage","Storage","adapter","SessionAdapter","A","B","VARIANT","getVariant","urlParams","arguments","length","undefined","window","IS_PLAYWRIGHT","variant","stored","get","VARIANT_STORAGE_KEY","next","Math","random","set","exports"],"sources":["../../src/helpers/getVariant.js"],"sourcesContent":["import { SessionAdapter, Storage } from '@mirai/data-sources';\n\nimport { VARIANT, VARIANT_STORAGE_KEY } from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\nconst variantStorage = new Storage({ adapter: SessionAdapter });\n\nconst { A, B } = VARIANT;\n\nexport const getVariant = ({ urlParams = {} } = {}) => {\n if (IS_JEST && !window.IS_PLAYWRIGHT) return undefined;\n\n if (urlParams.variant === A || urlParams.variant === B) {\n return urlParams.variant;\n }\n\n const stored = variantStorage.get(VARIANT_STORAGE_KEY);\n if (stored === A || stored === B) return stored;\n\n const next = Math.random() < 0.5 ? A : B;\n variantStorage.set(VARIANT_STORAGE_KEY, next);\n return next;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AAAiE,IAAAE,QAAA,EAAAC,YAAA;AAEjE,MAAMC,OAAO,GAAG,CAAC,GAAAF,QAAA,GAACG,OAAO,cAAAH,QAAA,gBAAAC,YAAA,GAAPD,QAAA,CAASI,GAAG,cAAAH,YAAA,eAAZA,YAAA,CAAcI,cAAc;AAE9C,MAAMC,cAAc,GAAG,IAAIC,oBAAO,CAAC;EAAEC,OAAO,EAAEC;AAAe,CAAC,CAAC;AAE/D,MAAM;EAAEC,CAAC;EAAEC;AAAE,CAAC,GAAGC,aAAO;AAEjB,MAAMC,UAAU,GAAG,SAAAA,CAAA,EAA6B;EAAA,IAA5B;IAAEC,SAAS,GAAG,CAAC;EAAE,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAChD,IAAIb,OAAO,IAAI,CAACgB,MAAM,CAACC,aAAa,EAAE,OAAOF,SAAS;EAEtD,IAAIH,SAAS,CAACM,OAAO,KAAKV,CAAC,IAAII,SAAS,CAACM,OAAO,KAAKT,CAAC,EAAE;IACtD,OAAOG,SAAS,CAACM,OAAO;EAC1B;EAEA,MAAMC,MAAM,GAAGf,cAAc,CAACgB,GAAG,CAACC,yBAAmB,CAAC;EACtD,IAAIF,MAAM,KAAKX,CAAC,IAAIW,MAAM,KAAKV,CAAC,EAAE,OAAOU,MAAM;EAE/C,MAAMG,IAAI,GAAGC,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,GAAG,GAAGhB,CAAC,GAAGC,CAAC;EACxCL,cAAc,CAACqB,GAAG,CAACJ,yBAAmB,EAAEC,IAAI,CAAC;EAC7C,OAAOA,IAAI;AACb,CAAC;AAACI,OAAA,CAAAf,UAAA,GAAAA,UAAA","ignoreList":[]}
|