@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.
Files changed (74) hide show
  1. package/build/Core.constants.js +7 -1
  2. package/build/Core.constants.js.map +1 -1
  3. package/build/components/Booking/Booking.constants.js +10 -2
  4. package/build/components/Booking/Booking.constants.js.map +1 -1
  5. package/build/components/Booking/Booking.js +77 -3
  6. package/build/components/Booking/Booking.js.map +1 -1
  7. package/build/components/Booking/Booking.l10n.js +58 -13
  8. package/build/components/Booking/Booking.l10n.js.map +1 -1
  9. package/build/components/Booking/Booking.module.css +208 -0
  10. package/build/components/Booking/components/Summary/Summary.module.css +0 -1
  11. package/build/components/Booking/helpers/getChildrenAmount.js +9 -0
  12. package/build/components/Booking/helpers/getChildrenAmount.js.map +1 -0
  13. package/build/components/Booking/helpers/getDetailsByRoom.js +28 -0
  14. package/build/components/Booking/helpers/getDetailsByRoom.js.map +1 -0
  15. package/build/components/Booking/helpers/getOccupationDataSource.js +44 -0
  16. package/build/components/Booking/helpers/getOccupationDataSource.js.map +1 -0
  17. package/build/components/Booking/helpers/getOccupationFromParty.js +25 -0
  18. package/build/components/Booking/helpers/getOccupationFromParty.js.map +1 -0
  19. package/build/components/Booking/helpers/getRoomDataSource.js +57 -0
  20. package/build/components/Booking/helpers/getRoomDataSource.js.map +1 -0
  21. package/build/components/Booking/helpers/getRoomSelectionData.js +56 -0
  22. package/build/components/Booking/helpers/getRoomSelectionData.js.map +1 -0
  23. package/build/components/Booking/helpers/index.js +66 -0
  24. package/build/components/Booking/helpers/index.js.map +1 -1
  25. package/build/components/Booking/partials/Booking.FormEditBoard.js +179 -0
  26. package/build/components/Booking/partials/Booking.FormEditBoard.js.map +1 -0
  27. package/build/components/Booking/partials/Booking.FormEditDate.js +0 -4
  28. package/build/components/Booking/partials/Booking.FormEditDate.js.map +1 -1
  29. package/build/components/Booking/partials/Booking.FormEditOccupation.js +224 -0
  30. package/build/components/Booking/partials/Booking.FormEditOccupation.js.map +1 -0
  31. package/build/components/Booking/partials/Booking.Menu.js +39 -14
  32. package/build/components/Booking/partials/Booking.Menu.js.map +1 -1
  33. package/build/components/Booking/partials/Booking.Modal.actions.js +194 -0
  34. package/build/components/Booking/partials/Booking.Modal.actions.js.map +1 -0
  35. package/build/components/Booking/partials/Booking.Modal.js +39 -52
  36. package/build/components/Booking/partials/Booking.Modal.js.map +1 -1
  37. package/build/components/Booking/partials/Booking.ModalBoard.js +192 -0
  38. package/build/components/Booking/partials/Booking.ModalBoard.js.map +1 -0
  39. package/build/components/Booking/partials/Booking.ModalOccupation.js +186 -0
  40. package/build/components/Booking/partials/Booking.ModalOccupation.js.map +1 -0
  41. package/build/components/Booking/partials/Booking.ModalRoomSelection.js +160 -0
  42. package/build/components/Booking/partials/Booking.ModalRoomSelection.js.map +1 -0
  43. package/build/components/Booking/partials/Booking.RoomCard.js +69 -0
  44. package/build/components/Booking/partials/Booking.RoomCard.js.map +1 -0
  45. package/build/components/Booking/partials/hooks/index.js +28 -0
  46. package/build/components/Booking/partials/hooks/index.js.map +1 -0
  47. package/build/components/Booking/partials/hooks/useEditFlow.js +108 -0
  48. package/build/components/Booking/partials/hooks/useEditFlow.js.map +1 -0
  49. package/build/components/Booking/partials/hooks/useSelectedRoomData.js +60 -0
  50. package/build/components/Booking/partials/hooks/useSelectedRoomData.js.map +1 -0
  51. package/build/components/Booking/partials/index.js +47 -3
  52. package/build/components/Booking/partials/index.js.map +1 -1
  53. package/build/components/Checkout/Checkout.constants.js +2 -1
  54. package/build/components/Checkout/Checkout.constants.js.map +1 -1
  55. package/build/components/Checkout/Checkout.l10n.js +6 -0
  56. package/build/components/Checkout/Checkout.l10n.js.map +1 -1
  57. package/build/components/Checkout/helpers/getFieldProps.js +12 -2
  58. package/build/components/Checkout/helpers/getFieldProps.js.map +1 -1
  59. package/build/components/Checkout/partials/Checkout.Form.js +16 -6
  60. package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
  61. package/build/components/Rates/Rates.js +2 -1
  62. package/build/components/Rates/Rates.js.map +1 -1
  63. package/build/components/Rates/helpers/showClubRate.js +4 -1
  64. package/build/components/Rates/helpers/showClubRate.js.map +1 -1
  65. package/build/components/__shared__/Occupation/Occupation.js +9 -6
  66. package/build/components/__shared__/Occupation/Occupation.js.map +1 -1
  67. package/build/components/__shared__/Occupation/Occupation.module.css +12 -0
  68. package/build/contexts/PerformanceManager/PerformanceManager.js +6 -2
  69. package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
  70. package/build/helpers/consolidateStore.js +4 -1
  71. package/build/helpers/consolidateStore.js.map +1 -1
  72. package/build/helpers/getVariant.js +33 -0
  73. package/build/helpers/getVariant.js.map +1 -0
  74. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Booking.Modal.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Booking","_Booking2","_Booking3","_Booking4","_Core","_helpers","_Booking5","_Booking6","style","_excluded","_excluded2","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","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","CANCEL","EDIT","EDIT_DATE","RESEND","ACTION","Modal","_ref","action","dataSource","id","pinCode","token","onChange","onClose","others","translate","useLocale","urlParams","idHotel","useStore","busy","setBusy","useState","error","setError","form","setForm","visible","setVisible","useEffect","handleChange","next","handleError","handleSubmit","service","is","editDate","ServiceBooking","modification","date","confirm","cancel","edit","props","response","catch","isWarning","code","Event","publish","EVENT","NOTIFICATION","warning","defaultMessage","L10N","NOTIFICATION_WARNING_NO_AVAILABILITY","NOTIFICATION_ERROR","ERROR","UNKNOWN","checkIn","dateFormat","parseDate","FORMAT_DATE","checkOut","success","NOTIFICATION_CANCEL_BOOKING_SUCESS","NOTIFICATION_EDIT_BOOKING_SUCCESS","NOTIFICATION_EDIT_DATE_SUCCESS","NOTIFICATION_EMAIL_SUCCESS","handleClose","state","STATE","CANCELLED","POSTPONED","undefined","showCalendar","motionExpand","Theme","setTimeout","SHOW_CALENDAR","parseFloat","replace","resend","createElement","fit","title","ACTION_CANCEL_BOOKING","ACTION_EDIT_BOOKING","ACTION_EDIT_DATE","ACTION_RESEND_BOOKING","preventDefault","View","className","styles","modal","React","FormCancel","FormEdit","FormEditDate","FormResend","responseCalendar","onError","row","buttons","Button","large","secondary","wide","onPress","testId","ACTION_BACK","disabled","ACTION_CANCEL","ACTION_POSTPONE","ACTION_CONFIRM","ACTION_SEND","exports","displayName","propTypes","PropTypes","oneOf","values","shape","oneOfType","string","number","func"],"sources":["../../../../src/components/Booking/partials/Booking.Modal.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateFormat, parseDate, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Button, Modal as ModalBase, styles, Theme, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { FormCancel } from './Booking.FormCancel';\nimport { FormEdit } from './Booking.FormEdit';\nimport { FormEditDate } from './Booking.FormEditDate';\nimport { FormResend } from './Booking.FormResend';\nimport { ERROR } from '../../../Core.constants';\nimport { EVENT } from '../../helpers';\nimport { ACTION, FORMAT_DATE, STATE } from '../Booking.constants';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\n\nconst { CANCEL, EDIT, EDIT_DATE, RESEND } = ACTION;\n\nconst Modal = ({\n action,\n dataSource: { id, pinCode, token, ...dataSource } = {},\n onChange = () => {},\n onClose,\n ...others\n}) => {\n const { translate } = useLocale();\n\n const {\n value: { urlParams: { idHotel } = {} },\n } = useStore();\n\n const [busy, setBusy] = useState();\n const [error, setError] = useState();\n const [form, setForm] = useState({});\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (action) return setVisible(true);\n\n setForm({});\n }, [action]);\n\n const handleChange = (next) => {\n setForm({ ...form, ...next });\n };\n\n const handleError = (error) => {\n setError(error);\n };\n\n const handleSubmit = async () => {\n setBusy(true);\n const service = is.editDate\n ? ServiceBooking.modification.date.confirm\n : ServiceBooking[is.cancel ? 'cancel' : is.edit ? 'postpone' : 'email'];\n const props = { id, idHotel, pinCode, token, ...form };\n const response = await service(props).catch((error) => {\n const isWarning = error?.code === 404 && is.editDate;\n\n Event.publish(EVENT.NOTIFICATION, {\n error: !isWarning,\n warning: isWarning,\n defaultMessage: translate(\n isWarning ? L10N.NOTIFICATION_WARNING_NO_AVAILABILITY : L10N.NOTIFICATION_ERROR[ERROR.UNKNOWN],\n {\n checkIn: dateFormat(parseDate(form?.checkIn), FORMAT_DATE),\n checkOut: dateFormat(parseDate(form?.checkOut), FORMAT_DATE),\n },\n ),\n });\n });\n setBusy(false);\n\n if (response) {\n Event.publish(EVENT.NOTIFICATION, {\n success: true,\n ...(is.cancel\n ? L10N.NOTIFICATION_CANCEL_BOOKING_SUCESS\n : is.edit\n ? L10N.NOTIFICATION_EDIT_BOOKING_SUCCESS\n : is.editDate\n ? L10N.NOTIFICATION_EDIT_DATE_SUCCESS\n : L10N.NOTIFICATION_EMAIL_SUCCESS),\n });\n }\n handleClose();\n onChange({ response, state: is.cancel ? STATE.CANCELLED : is.edit ? STATE.POSTPONED : undefined });\n };\n\n const handleClose = (showCalendar) => {\n const { motionExpand = '0.3s' } = Theme.get();\n\n setVisible(false);\n setTimeout(\n () => onClose(showCalendar === true ? ACTION.SHOW_CALENDAR : undefined),\n parseFloat(motionExpand.replace('s')) * 1000,\n );\n };\n\n const is = {\n cancel: action === CANCEL,\n edit: action === EDIT,\n editDate: action === EDIT_DATE,\n resend: action === RESEND,\n };\n\n return (\n <ModalBase\n {...others}\n fit={is.editDate}\n title={translate(\n is.cancel\n ? L10N.ACTION_CANCEL_BOOKING\n : is.edit\n ? L10N.ACTION_EDIT_BOOKING\n : is.editDate\n ? L10N.ACTION_EDIT_DATE\n : L10N.ACTION_RESEND_BOOKING,\n )}\n preventDefault={false}\n visible={visible}\n onClose={handleClose}\n >\n <View className={styles(style.modal, is.editDate && style.edit)}>\n {React.createElement(is.cancel ? FormCancel : is.edit ? FormEdit : is.editDate ? FormEditDate : FormResend, {\n dataSource,\n form,\n responseCalendar: others.responseCalendar,\n onChange: handleChange,\n onError: handleError,\n })}\n <View row className={styles(style.buttons, is.editDate && style.edit)}>\n <Button large secondary wide onPress={() => handleClose(is.editDate)} testId=\"cancel-button\">\n {translate(L10N.ACTION_BACK)}\n </Button>\n <Button busy={busy} disabled={is.resend && !!error} large wide onPress={handleSubmit} testId=\"submit-button\">\n {is.cancel\n ? translate(L10N.ACTION_CANCEL)\n : is.edit\n ? translate(L10N.ACTION_POSTPONE)\n : is.editDate\n ? translate(L10N.ACTION_CONFIRM)\n : translate(L10N.ACTION_SEND)}\n </Button>\n </View>\n </View>\n </ModalBase>\n );\n};\n\nModal.displayName = 'Mirai:Core:Booking:Modal';\n\nModal.propTypes = {\n action: PropTypes.oneOf(Object.values(ACTION)),\n dataSource: PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n pinCode: PropTypes.number,\n token: PropTypes.string,\n }),\n onChange: PropTypes.func,\n onClose: PropTypes.func,\n};\n\nexport { Modal };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Booking.Modal.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BookingModal","_Core","_helpers","_Booking","_Booking2","style","_excluded","_excluded2","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","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","ACTION_VALUES","values","ACTION","Modal","_ref","_config$getFormProps","action","dataSource","id","pinCode","token","onChange","onClose","others","translate","useLocale","urlParams","idHotel","useStore","busy","setBusy","useState","error","setError","form","setForm","visible","setVisible","config","getModalActionConfig","useEffect","handleChange","useCallback","next","previous","handleError","handleSubmit","response","request","catch","isWarning","code","warningOn404","Event","publish","EVENT","NOTIFICATION","warning","defaultMessage","L10N","NOTIFICATION_WARNING_NO_AVAILABILITY","NOTIFICATION_ERROR","ERROR","UNKNOWN","checkIn","dateFormat","parseDate","FORMAT_DATE","checkOut","success","successL10N","handleClose","state","nextAction","motionExpand","Theme","includes","undefined","setTimeout","parseFloat","replace","createElement","fit","preventDefault","title","titleL10N","className","styles","View","modal","editLayout","edit","React","Form","getFormProps","onError","row","buttons","Button","large","secondary","wide","onPress","backAction","testId","ACTION_BACK","disabled","disableSubmitOnError","submitL10N","exports","displayName","propTypes","PropTypes","oneOf","shape","oneOfType","string","number","func"],"sources":["../../../../src/components/Booking/partials/Booking.Modal.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateFormat, parseDate, useLocale } from '@mirai/locale';\nimport { Button, Modal as ModalBase, styles, Theme, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { getModalActionConfig } from './Booking.Modal.actions';\nimport { ERROR } from '../../../Core.constants';\nimport { EVENT } from '../../helpers';\nimport { ACTION, FORMAT_DATE } from '../Booking.constants';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\n\nconst ACTION_VALUES = Object.values(ACTION);\n\nconst Modal = ({\n action,\n dataSource: { id, pinCode, token, ...dataSource } = {},\n onChange = () => {},\n onClose,\n ...others\n}) => {\n const { translate } = useLocale();\n\n const {\n value: { urlParams: { idHotel } = {} },\n } = useStore();\n\n const [busy, setBusy] = useState();\n const [error, setError] = useState();\n const [form, setForm] = useState({});\n const [visible, setVisible] = useState(false);\n const config = getModalActionConfig(action);\n\n useEffect(() => {\n if (action) return setVisible(true);\n\n setForm({});\n }, [action]);\n\n const handleChange = useCallback((next) => {\n setForm((previous) => ({ ...previous, ...next }));\n }, []);\n\n const handleError = (error) => {\n setError(error);\n };\n\n const handleSubmit = async () => {\n setBusy(true);\n const response = await config.request({ form, id, idHotel, pinCode, token }).catch((error) => {\n const isWarning = error?.code === 404 && config.warningOn404;\n\n Event.publish(EVENT.NOTIFICATION, {\n error: !isWarning,\n warning: isWarning,\n defaultMessage: translate(\n isWarning ? L10N.NOTIFICATION_WARNING_NO_AVAILABILITY : L10N.NOTIFICATION_ERROR[ERROR.UNKNOWN],\n {\n checkIn: dateFormat(parseDate(form?.checkIn), FORMAT_DATE),\n checkOut: dateFormat(parseDate(form?.checkOut), FORMAT_DATE),\n },\n ),\n });\n });\n setBusy(false);\n\n if (!response) return;\n\n Event.publish(EVENT.NOTIFICATION, {\n success: true,\n ...config.successL10N,\n });\n handleClose();\n onChange({ response, state: config.state });\n };\n\n const handleClose = (nextAction) => {\n const { motionExpand = '0.3s' } = Theme.get();\n const action = ACTION_VALUES.includes(nextAction) ? nextAction : undefined;\n\n setVisible(false);\n setTimeout(() => onClose(action), parseFloat(motionExpand.replace('s')) * 1000);\n };\n\n return (\n <ModalBase\n {...others}\n fit={config.fit}\n preventDefault={false}\n title={translate(config.titleL10N)}\n visible={visible}\n onClose={handleClose}\n className={styles(config.className, others.className)}\n >\n <View className={styles(style.modal, config.editLayout && style.edit)}>\n {React.createElement(config.Form, {\n dataSource,\n form,\n ...config.getFormProps?.(others),\n onChange: handleChange,\n onError: handleError,\n })}\n <View row className={styles(style.buttons, config.editLayout && style.edit)}>\n <Button large secondary wide onPress={() => handleClose(config.backAction)} testId=\"cancel-button\">\n {translate(L10N.ACTION_BACK)}\n </Button>\n <Button\n busy={busy}\n disabled={config.disableSubmitOnError && !!error}\n large\n wide\n onPress={handleSubmit}\n testId=\"submit-button\"\n >\n {translate(config.submitL10N)}\n </Button>\n </View>\n </View>\n </ModalBase>\n );\n};\n\nModal.displayName = 'Mirai:Core:Booking:Modal';\n\nModal.propTypes = {\n action: PropTypes.oneOf(Object.values(ACTION)),\n dataSource: PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n pinCode: PropTypes.number,\n token: PropTypes.string,\n }),\n onChange: PropTypes.func,\n onClose: PropTypes.func,\n};\n\nexport { Modal };\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ModalBoard = void 0;
7
+ var _dataSources = require("@mirai/data-sources");
8
+ var _locale = require("@mirai/locale");
9
+ var _services = require("@mirai/services");
10
+ var _ui = require("@mirai/ui");
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _Booking = require("./Booking.RoomCard");
14
+ var _hooks = require("./hooks");
15
+ var _Core = require("../../../Core.constants");
16
+ var _helpers = require("../../helpers");
17
+ var _Booking2 = require("../Booking.l10n");
18
+ var style = _interopRequireWildcard(require("../Booking.module.css"));
19
+ const _excluded = ["dataSource", "room", "visible", "onBack", "onClose", "onConfirm"];
20
+ 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); }
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
+ 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
+ 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; }
24
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
26
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
27
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
28
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
29
+ 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; }
30
+ const ModalBoard = _ref => {
31
+ let {
32
+ dataSource: {
33
+ currency,
34
+ details = [],
35
+ id,
36
+ modify: {
37
+ board: {
38
+ rooms = []
39
+ } = {}
40
+ } = {}
41
+ } = {},
42
+ room,
43
+ visible,
44
+ onBack = () => {},
45
+ onClose = () => {},
46
+ onConfirm = () => {}
47
+ } = _ref,
48
+ others = _objectWithoutProperties(_ref, _excluded);
49
+ const {
50
+ isMobile
51
+ } = (0, _ui.useDevice)();
52
+ const {
53
+ currencyFormat,
54
+ translate
55
+ } = (0, _locale.useLocale)();
56
+ const {
57
+ selectedRoom: selectedBoardRoom,
58
+ selectedRoomData: {
59
+ image,
60
+ occupation,
61
+ plan,
62
+ rate,
63
+ title
64
+ } = {},
65
+ showSelectedRoom
66
+ } = (0, _hooks.useSelectedRoomData)({
67
+ details,
68
+ room,
69
+ rooms
70
+ });
71
+ const [busy, setBusy] = (0, _react.useState)(false);
72
+ const [value, setValue] = (0, _react.useState)();
73
+ const visiblePrevious = (0, _react.useRef)(false);
74
+ (0, _react.useEffect)(() => {
75
+ const isVisible = visible === true;
76
+ const isOpening = isVisible && !visiblePrevious.current;
77
+ visiblePrevious.current = isVisible;
78
+ if (!isOpening) return;
79
+ setValue(undefined);
80
+ }, [visible]);
81
+ const options = (selectedBoardRoom === null || selectedBoardRoom === void 0 ? void 0 : selectedBoardRoom.options) || [];
82
+ const showBack = isMobile || showSelectedRoom;
83
+ const getOptionPrice = function () {
84
+ let {
85
+ priceDifference
86
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
87
+ return "".concat(priceDifference > 0 ? '+' : '').concat(currencyFormat({
88
+ currency,
89
+ value: priceDifference
90
+ }));
91
+ };
92
+ const handleSubmit = async () => {
93
+ if (!value) return;
94
+ setBusy(true);
95
+ const response = await _services.ServiceBooking.modification.board.quote({
96
+ id,
97
+ option: value.id,
98
+ roomId: room.id
99
+ }).catch(() => {
100
+ _dataSources.Event.publish(_helpers.EVENT.NOTIFICATION, {
101
+ error: true,
102
+ defaultMessage: translate(_Booking2.L10N.NOTIFICATION_ERROR[_Core.ERROR.UNKNOWN])
103
+ });
104
+ }).finally(() => {
105
+ setBusy(false);
106
+ });
107
+ if (!response) return;
108
+ onClose();
109
+ onConfirm(_objectSpread(_objectSpread({}, response), {}, {
110
+ room
111
+ }));
112
+ };
113
+ return /*#__PURE__*/_react.default.createElement(_ui.Modal, _extends({}, others, {
114
+ title: translate(_Booking2.L10N.ACTION_EDIT_BOARD),
115
+ visible: visible,
116
+ onClose: onClose,
117
+ className: (0, _ui.styles)(style.modalBoard, others.className)
118
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, null, showSelectedRoom && /*#__PURE__*/_react.default.createElement(_Booking.RoomCard, {
119
+ image,
120
+ occupation,
121
+ plan,
122
+ rate,
123
+ title,
124
+ className: style.selectedRoomCard,
125
+ testId: "booking-edit-board-room-card"
126
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, {
127
+ className: style.boardOptions
128
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
129
+ action: true,
130
+ bold: true
131
+ }, translate(_Booking2.L10N.LABEL_SELECT_BOARD)), /*#__PURE__*/_react.default.createElement(_ui.View, {
132
+ className: style.boardOptionList
133
+ }, options.map(function () {
134
+ let option = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
135
+ let index = arguments.length > 1 ? arguments[1] : undefined;
136
+ return /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
137
+ key: option.id,
138
+ className: (0, _ui.styles)(style.option, (value === null || value === void 0 ? void 0 : value.id) === option.id && style.optionSelected, style.boardOption),
139
+ onPress: () => setValue(option),
140
+ testId: "booking-edit-board-option-".concat(index)
141
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, {
142
+ row: true,
143
+ className: style.boardOptionContent
144
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
145
+ action: true
146
+ }, option.name), /*#__PURE__*/_react.default.createElement(_ui.Text, {
147
+ action: true,
148
+ className: style.boardOptionPrice
149
+ }, getOptionPrice(option))));
150
+ }))), /*#__PURE__*/_react.default.createElement(_ui.View, {
151
+ row: true,
152
+ className: style.footerActions
153
+ }, showBack && /*#__PURE__*/_react.default.createElement(_ui.Button, {
154
+ secondary: true,
155
+ onPress: onBack,
156
+ testId: "booking-edit-board-back"
157
+ }, translate(_Booking2.L10N.ACTION_BACK)), /*#__PURE__*/_react.default.createElement(_ui.Button, {
158
+ busy: busy,
159
+ disabled: !value,
160
+ onPress: handleSubmit,
161
+ testId: "booking-edit-board-next"
162
+ }, translate(_Booking2.L10N.ACTION_NEXT)))));
163
+ };
164
+ exports.ModalBoard = ModalBoard;
165
+ ModalBoard.displayName = 'Mirai:Core:Booking:ModalBoard';
166
+ ModalBoard.propTypes = {
167
+ dataSource: _propTypes.default.shape({
168
+ currency: _propTypes.default.string,
169
+ details: _propTypes.default.arrayOf(_propTypes.default.shape({})),
170
+ modify: _propTypes.default.shape({
171
+ board: _propTypes.default.shape({
172
+ rooms: _propTypes.default.arrayOf(_propTypes.default.shape({
173
+ id: _propTypes.default.string,
174
+ options: _propTypes.default.arrayOf(_propTypes.default.shape({
175
+ id: _propTypes.default.number,
176
+ name: _propTypes.default.string,
177
+ priceDifference: _propTypes.default.number
178
+ }))
179
+ }))
180
+ })
181
+ })
182
+ }),
183
+ room: _propTypes.default.shape({
184
+ id: _propTypes.default.string,
185
+ index: _propTypes.default.number
186
+ }),
187
+ visible: _propTypes.default.bool,
188
+ onBack: _propTypes.default.func,
189
+ onClose: _propTypes.default.func,
190
+ onConfirm: _propTypes.default.func
191
+ };
192
+ //# sourceMappingURL=Booking.ModalBoard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Booking.ModalBoard.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Booking","_hooks","_Core","_helpers","_Booking2","style","_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","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","ModalBoard","_ref","dataSource","currency","details","id","modify","board","rooms","room","visible","onBack","onClose","onConfirm","others","isMobile","useDevice","currencyFormat","translate","useLocale","selectedRoom","selectedBoardRoom","selectedRoomData","image","occupation","plan","rate","title","showSelectedRoom","useSelectedRoomData","busy","setBusy","useState","setValue","visiblePrevious","useRef","useEffect","isVisible","isOpening","current","undefined","options","showBack","getOptionPrice","priceDifference","concat","handleSubmit","response","ServiceBooking","modification","quote","option","roomId","catch","Event","publish","EVENT","NOTIFICATION","error","defaultMessage","L10N","NOTIFICATION_ERROR","ERROR","UNKNOWN","finally","createElement","Modal","ACTION_EDIT_BOARD","className","styles","modalBoard","View","RoomCard","selectedRoomCard","testId","boardOptions","Text","action","bold","LABEL_SELECT_BOARD","boardOptionList","map","index","Pressable","key","optionSelected","boardOption","onPress","row","boardOptionContent","name","boardOptionPrice","footerActions","Button","secondary","ACTION_BACK","disabled","ACTION_NEXT","exports","displayName","propTypes","PropTypes","shape","string","arrayOf","number","bool","func"],"sources":["../../../../src/components/Booking/partials/Booking.ModalBoard.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Button, Modal, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { RoomCard } from './Booking.RoomCard';\nimport { useSelectedRoomData } from './hooks';\nimport { ERROR } from '../../../Core.constants';\nimport { EVENT } from '../../helpers';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\n\nconst ModalBoard = ({\n dataSource: { currency, details = [], id, modify: { board: { rooms = [] } = {} } = {} } = {},\n room,\n visible,\n onBack = () => {},\n onClose = () => {},\n onConfirm = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const {\n selectedRoom: selectedBoardRoom,\n selectedRoomData: { image, occupation, plan, rate, title } = {},\n showSelectedRoom,\n } = useSelectedRoomData({ details, room, rooms });\n\n const [busy, setBusy] = useState(false);\n const [value, setValue] = useState();\n\n const visiblePrevious = useRef(false);\n\n useEffect(() => {\n const isVisible = visible === true;\n const isOpening = isVisible && !visiblePrevious.current;\n\n visiblePrevious.current = isVisible;\n if (!isOpening) return;\n\n setValue(undefined);\n }, [visible]);\n\n const options = selectedBoardRoom?.options || [];\n const showBack = isMobile || showSelectedRoom;\n const getOptionPrice = ({ priceDifference } = {}) =>\n `${priceDifference > 0 ? '+' : ''}${currencyFormat({ currency, value: priceDifference })}`;\n\n const handleSubmit = async () => {\n if (!value) return;\n\n setBusy(true);\n const response = await ServiceBooking.modification.board\n .quote({ id, option: value.id, roomId: room.id })\n .catch(() => {\n Event.publish(EVENT.NOTIFICATION, {\n error: true,\n defaultMessage: translate(L10N.NOTIFICATION_ERROR[ERROR.UNKNOWN]),\n });\n })\n .finally(() => {\n setBusy(false);\n });\n\n if (!response) return;\n\n onClose();\n onConfirm({ ...response, room });\n };\n\n return (\n <Modal\n {...others}\n title={translate(L10N.ACTION_EDIT_BOARD)}\n visible={visible}\n onClose={onClose}\n className={styles(style.modalBoard, others.className)}\n >\n <View>\n {showSelectedRoom && (\n <RoomCard\n {...{ image, occupation, plan, rate, title }}\n className={style.selectedRoomCard}\n testId=\"booking-edit-board-room-card\"\n />\n )}\n <View className={style.boardOptions}>\n <Text action bold>\n {translate(L10N.LABEL_SELECT_BOARD)}\n </Text>\n <View className={style.boardOptionList}>\n {options.map((option = {}, index) => (\n <Pressable\n key={option.id}\n className={styles(style.option, value?.id === option.id && style.optionSelected, style.boardOption)}\n onPress={() => setValue(option)}\n testId={`booking-edit-board-option-${index}`}\n >\n <View row className={style.boardOptionContent}>\n <Text action>{option.name}</Text>\n <Text action className={style.boardOptionPrice}>\n {getOptionPrice(option)}\n </Text>\n </View>\n </Pressable>\n ))}\n </View>\n </View>\n <View row className={style.footerActions}>\n {showBack && (\n <Button secondary onPress={onBack} testId=\"booking-edit-board-back\">\n {translate(L10N.ACTION_BACK)}\n </Button>\n )}\n <Button busy={busy} disabled={!value} onPress={handleSubmit} testId=\"booking-edit-board-next\">\n {translate(L10N.ACTION_NEXT)}\n </Button>\n </View>\n </View>\n </Modal>\n );\n};\n\nModalBoard.displayName = 'Mirai:Core:Booking:ModalBoard';\n\nModalBoard.propTypes = {\n dataSource: PropTypes.shape({\n currency: PropTypes.string,\n details: PropTypes.arrayOf(PropTypes.shape({})),\n modify: PropTypes.shape({\n board: PropTypes.shape({\n rooms: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.number,\n name: PropTypes.string,\n priceDifference: PropTypes.number,\n }),\n ),\n }),\n ),\n }),\n }),\n }),\n room: PropTypes.shape({\n id: PropTypes.string,\n index: PropTypes.number,\n }),\n visible: PropTypes.bool,\n onBack: PropTypes.func,\n onClose: PropTypes.func,\n onConfirm: PropTypes.func,\n};\n\nexport { ModalBoard };\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ModalOccupation = void 0;
7
+ var _dataSources = require("@mirai/data-sources");
8
+ var _locale = require("@mirai/locale");
9
+ var _services = require("@mirai/services");
10
+ var _ui = require("@mirai/ui");
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _Booking = require("./Booking.RoomCard");
14
+ var _hooks = require("./hooks");
15
+ var _prepareRoom = require("../../../helpers/prepareRoom");
16
+ var _shared__ = require("../../__shared__");
17
+ var _toParties = require("../../__shared__/Occupation/helpers/toParties");
18
+ var _helpers = require("../../helpers");
19
+ var _Booking2 = require("../Booking.l10n");
20
+ var style = _interopRequireWildcard(require("../Booking.module.css"));
21
+ var _helpers2 = require("../helpers");
22
+ const _excluded = ["dataSource", "room", "visible", "onBack", "onClose", "onConfirm"];
23
+ 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); }
24
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
25
+ 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); }
26
+ 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; }
27
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
29
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
30
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
31
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
32
+ 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; }
33
+ const ModalOccupation = _ref => {
34
+ let {
35
+ dataSource: {
36
+ details = [],
37
+ id,
38
+ modify: {
39
+ occupation: {
40
+ rooms = []
41
+ } = {}
42
+ } = {}
43
+ } = {},
44
+ room,
45
+ visible,
46
+ onBack = () => {},
47
+ onClose = () => {},
48
+ onConfirm = () => {}
49
+ } = _ref,
50
+ others = _objectWithoutProperties(_ref, _excluded);
51
+ const {
52
+ isMobile
53
+ } = (0, _ui.useDevice)();
54
+ const {
55
+ translate
56
+ } = (0, _locale.useLocale)();
57
+ const {
58
+ configDataSource,
59
+ selectedRoom: selectedOccupation,
60
+ selectedRoomData: {
61
+ image,
62
+ occupation,
63
+ plan,
64
+ rate,
65
+ title
66
+ } = {},
67
+ showSelectedRoom
68
+ } = (0, _hooks.useSelectedRoomData)({
69
+ details,
70
+ room,
71
+ rooms
72
+ });
73
+ const [busy, setBusy] = (0, _react.useState)(false);
74
+ const [occupationDataSource, setOccupationDataSource] = (0, _react.useState)((0, _helpers2.getOccupationDataSource)({
75
+ configDataSource,
76
+ occupation: selectedOccupation ? [selectedOccupation] : []
77
+ }));
78
+ const [value, setValue] = (0, _react.useState)();
79
+ const visiblePrevious = (0, _react.useRef)(false);
80
+ (0, _react.useEffect)(() => {
81
+ const isVisible = visible === true;
82
+ const isOpening = isVisible && !visiblePrevious.current;
83
+ visiblePrevious.current = isVisible;
84
+ if (!isOpening) return;
85
+ setValue([...Array(1)].map(() => (0, _prepareRoom.prepareRoom)(configDataSource)));
86
+ setOccupationDataSource((0, _helpers2.getOccupationDataSource)({
87
+ configDataSource,
88
+ occupation: selectedOccupation ? [selectedOccupation] : []
89
+ }));
90
+ // eslint-disable-next-line react-hooks/exhaustive-deps
91
+ }, [configDataSource, visible, selectedOccupation]);
92
+ const handleSubmit = async () => {
93
+ setBusy(true);
94
+ const party = (0, _toParties.toParties)(value) || [];
95
+ const requestQuote = _services.ServiceBooking.modification.occupation.quote;
96
+ const roomSelected = room !== undefined && room !== null ? {
97
+ room
98
+ } : undefined;
99
+ const response = await requestQuote(_objectSpread({
100
+ id,
101
+ party: party[0]
102
+ }, roomSelected ? {
103
+ roomId: room === null || room === void 0 ? void 0 : room.id
104
+ } : undefined)).catch(() => {
105
+ _dataSources.Event.publish(_helpers.EVENT.NOTIFICATION, {
106
+ warning: true,
107
+ defaultMessage: translate(_Booking2.L10N.NOTIFICATION_WARNING_NO_OCCUPANCY_AVAILABILITY)
108
+ });
109
+ }).finally(() => {
110
+ setBusy(false);
111
+ });
112
+ if (!response) return;
113
+ onClose();
114
+ onConfirm(_objectSpread(_objectSpread({}, response), {}, {
115
+ party
116
+ }, roomSelected));
117
+ };
118
+ const showBack = isMobile || showSelectedRoom;
119
+ return /*#__PURE__*/_react.default.createElement(_ui.Modal, _extends({}, others, {
120
+ fit: true,
121
+ title: translate(_Booking2.L10N.ACTION_EDIT_OCCUPATION),
122
+ visible: visible,
123
+ className: (0, _ui.styles)(style.modalOccupation, others.className),
124
+ onClose: onClose
125
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, null, showSelectedRoom && /*#__PURE__*/_react.default.createElement(_Booking.RoomCard, {
126
+ image,
127
+ occupation,
128
+ plan,
129
+ rate,
130
+ title,
131
+ className: style.selectedRoomCard,
132
+ testId: "booking-edit-occupation-room-card"
133
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Occupation, {
134
+ allowRooms: false,
135
+ dataSource: occupationDataSource,
136
+ value: value,
137
+ onChange: setValue,
138
+ testId: "booking-edit-occupation"
139
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, {
140
+ row: true,
141
+ className: style.footerActions
142
+ }, showBack && /*#__PURE__*/_react.default.createElement(_ui.Button, {
143
+ secondary: true,
144
+ onPress: onBack,
145
+ testId: "booking-edit-occupation-back"
146
+ }, translate(_Booking2.L10N.ACTION_BACK)), /*#__PURE__*/_react.default.createElement(_ui.Button, {
147
+ busy: busy,
148
+ onPress: handleSubmit,
149
+ testId: "booking-edit-occupation-search"
150
+ }, translate(_Booking2.L10N.ACTION_SEARCH)))));
151
+ };
152
+ exports.ModalOccupation = ModalOccupation;
153
+ ModalOccupation.displayName = 'Mirai:Core:Booking:ModalOccupation';
154
+ ModalOccupation.propTypes = {
155
+ dataSource: _propTypes.default.shape({
156
+ details: _propTypes.default.arrayOf(_propTypes.default.shape({})),
157
+ id: _propTypes.default.string,
158
+ modify: _propTypes.default.shape({
159
+ occupation: _propTypes.default.shape({
160
+ rooms: _propTypes.default.arrayOf(_propTypes.default.shape({
161
+ id: _propTypes.default.string,
162
+ maxOccupation: _propTypes.default.shape({
163
+ adults: _propTypes.default.number,
164
+ children: _propTypes.default.number
165
+ }),
166
+ minOccupation: _propTypes.default.shape({
167
+ adults: _propTypes.default.number,
168
+ children: _propTypes.default.number
169
+ })
170
+ }))
171
+ })
172
+ }),
173
+ price: _propTypes.default.shape({
174
+ value: _propTypes.default.number
175
+ })
176
+ }),
177
+ room: _propTypes.default.shape({
178
+ id: _propTypes.default.string,
179
+ index: _propTypes.default.number
180
+ }),
181
+ visible: _propTypes.default.bool,
182
+ onBack: _propTypes.default.func,
183
+ onClose: _propTypes.default.func,
184
+ onConfirm: _propTypes.default.func
185
+ };
186
+ //# sourceMappingURL=Booking.ModalOccupation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Booking.ModalOccupation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Booking","_hooks","_prepareRoom","_shared__","_toParties","_helpers","_Booking2","style","_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","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","ModalOccupation","_ref","dataSource","details","id","modify","occupation","rooms","room","visible","onBack","onClose","onConfirm","others","isMobile","useDevice","translate","useLocale","configDataSource","selectedRoom","selectedOccupation","selectedRoomData","image","plan","rate","title","showSelectedRoom","useSelectedRoomData","busy","setBusy","useState","occupationDataSource","setOccupationDataSource","getOccupationDataSource","setValue","visiblePrevious","useRef","useEffect","isVisible","isOpening","current","Array","map","prepareRoom","handleSubmit","party","toParties","requestQuote","ServiceBooking","modification","quote","roomSelected","undefined","response","roomId","catch","Event","publish","EVENT","NOTIFICATION","warning","defaultMessage","L10N","NOTIFICATION_WARNING_NO_OCCUPANCY_AVAILABILITY","finally","showBack","createElement","Modal","fit","ACTION_EDIT_OCCUPATION","className","styles","modalOccupation","View","RoomCard","selectedRoomCard","testId","Occupation","allowRooms","onChange","row","footerActions","Button","secondary","onPress","ACTION_BACK","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","shape","arrayOf","string","maxOccupation","adults","number","children","minOccupation","price","index","bool","func"],"sources":["../../../../src/components/Booking/partials/Booking.ModalOccupation.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Button, Modal, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { RoomCard } from './Booking.RoomCard';\nimport { useSelectedRoomData } from './hooks';\nimport { prepareRoom } from '../../../helpers/prepareRoom';\nimport { Occupation } from '../../__shared__';\nimport { toParties } from '../../__shared__/Occupation/helpers/toParties';\nimport { EVENT } from '../../helpers';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\nimport { getOccupationDataSource } from '../helpers';\n\nconst ModalOccupation = ({\n dataSource: { details = [], id, modify: { occupation: { rooms = [] } = {} } = {} } = {},\n room,\n visible,\n onBack = () => {},\n onClose = () => {},\n onConfirm = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n\n const { translate } = useLocale();\n\n const {\n configDataSource,\n selectedRoom: selectedOccupation,\n selectedRoomData: { image, occupation, plan, rate, title } = {},\n showSelectedRoom,\n } = useSelectedRoomData({ details, room, rooms });\n\n const [busy, setBusy] = useState(false);\n const [occupationDataSource, setOccupationDataSource] = useState(\n getOccupationDataSource({ configDataSource, occupation: selectedOccupation ? [selectedOccupation] : [] }),\n );\n const [value, setValue] = useState();\n\n const visiblePrevious = useRef(false);\n\n useEffect(() => {\n const isVisible = visible === true;\n const isOpening = isVisible && !visiblePrevious.current;\n\n visiblePrevious.current = isVisible;\n if (!isOpening) return;\n\n setValue([...Array(1)].map(() => prepareRoom(configDataSource)));\n setOccupationDataSource(\n getOccupationDataSource({ configDataSource, occupation: selectedOccupation ? [selectedOccupation] : [] }),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [configDataSource, visible, selectedOccupation]);\n\n const handleSubmit = async () => {\n setBusy(true);\n const party = toParties(value) || [];\n const requestQuote = ServiceBooking.modification.occupation.quote;\n const roomSelected = room !== undefined && room !== null ? { room } : undefined;\n const response = await requestQuote({\n id,\n party: party[0],\n ...(roomSelected ? { roomId: room?.id } : undefined),\n })\n .catch(() => {\n Event.publish(EVENT.NOTIFICATION, {\n warning: true,\n defaultMessage: translate(L10N.NOTIFICATION_WARNING_NO_OCCUPANCY_AVAILABILITY),\n });\n })\n .finally(() => {\n setBusy(false);\n });\n\n if (!response) return;\n\n onClose();\n onConfirm({ ...response, party, ...roomSelected });\n };\n\n const showBack = isMobile || showSelectedRoom;\n\n return (\n <Modal\n {...others}\n fit\n title={translate(L10N.ACTION_EDIT_OCCUPATION)}\n visible={visible}\n className={styles(style.modalOccupation, others.className)}\n onClose={onClose}\n >\n <View>\n {showSelectedRoom && (\n <RoomCard\n {...{ image, occupation, plan, rate, title }}\n className={style.selectedRoomCard}\n testId=\"booking-edit-occupation-room-card\"\n />\n )}\n <Occupation\n allowRooms={false}\n dataSource={occupationDataSource}\n value={value}\n onChange={setValue}\n testId=\"booking-edit-occupation\"\n />\n <View row className={style.footerActions}>\n {showBack && (\n <Button secondary onPress={onBack} testId=\"booking-edit-occupation-back\">\n {translate(L10N.ACTION_BACK)}\n </Button>\n )}\n <Button busy={busy} onPress={handleSubmit} testId=\"booking-edit-occupation-search\">\n {translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n </View>\n </Modal>\n );\n};\n\nModalOccupation.displayName = 'Mirai:Core:Booking:ModalOccupation';\n\nModalOccupation.propTypes = {\n dataSource: PropTypes.shape({\n details: PropTypes.arrayOf(PropTypes.shape({})),\n id: PropTypes.string,\n modify: PropTypes.shape({\n occupation: PropTypes.shape({\n rooms: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n maxOccupation: PropTypes.shape({\n adults: PropTypes.number,\n children: PropTypes.number,\n }),\n minOccupation: PropTypes.shape({\n adults: PropTypes.number,\n children: PropTypes.number,\n }),\n }),\n ),\n }),\n }),\n price: PropTypes.shape({\n value: PropTypes.number,\n }),\n }),\n room: PropTypes.shape({\n id: PropTypes.string,\n index: PropTypes.number,\n }),\n visible: PropTypes.bool,\n onBack: PropTypes.func,\n onClose: PropTypes.func,\n onConfirm: PropTypes.func,\n};\n\nexport { ModalOccupation };\n"],"mappings":"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","ignoreList":[]}