@mirai/core 0.3.380 → 0.3.382

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 (43) hide show
  1. package/__tests__/Booking/__mocks__/booking-delete.json +1 -0
  2. package/__tests__/Booking/__mocks__/booking-get.json +105 -0
  3. package/__tests__/Booking/booking.constants.js +8 -0
  4. package/__tests__/Booking/workflows/cancel.workflow.js +20 -0
  5. package/__tests__/Booking/workflows/index.js +5 -0
  6. package/__tests__/Booking/workflows/openMobileMenu.workflow.js +4 -0
  7. package/__tests__/Booking/workflows/print.workflow.js +13 -0
  8. package/__tests__/Booking/workflows/resend.workflow.js +18 -0
  9. package/__tests__/Booking/workflows/review.workflow.js +17 -0
  10. package/__tests__/Checkout/workflows/form.workflow.js +1 -1
  11. package/__tests__/Checkout/workflows/review.workflow.js +1 -1
  12. package/__tests__/Session/workflows/bookings.workflow.js +3 -3
  13. package/__tests__/Session/workflows/logout.workflow.js +3 -3
  14. package/__tests__/Session/workflows/profile.workflow.js +3 -3
  15. package/__tests__/Signup/workflows/index.js +1 -0
  16. package/__tests__/Signup/workflows/signup.workflow.js +3 -3
  17. package/__tests__/Signup/workflows/signupError.workflow.js +22 -0
  18. package/__tests__/booking.spec.jsx +34 -0
  19. package/__tests__/{bookingQuery/bookingQuey._spec.js → bookingQuey._spec.js} +1 -2
  20. package/__tests__/{Checkout/checkout.spec.jsx → checkout.spec.jsx} +6 -4
  21. package/__tests__/constants.js +3 -1
  22. package/__tests__/{Finder/finder.spec.js → finder.spec.js} +14 -13
  23. package/__tests__/{Rates/rates.spec.jsx → rates.spec.jsx} +1 -1
  24. package/__tests__/session.spec.js +32 -0
  25. package/__tests__/{Signup/signup.spec.js → signup.spec.js} +8 -4
  26. package/build/components/Booking/Booking.js +1 -0
  27. package/build/components/Booking/Booking.js.map +1 -1
  28. package/build/components/Booking/partials/Booking.Menu.js +4 -2
  29. package/build/components/Booking/partials/Booking.Menu.js.map +1 -1
  30. package/build/components/Booking/partials/Booking.Modal.js +4 -2
  31. package/build/components/Booking/partials/Booking.Modal.js.map +1 -1
  32. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Menu.test.js.snap +20 -0
  33. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Modal.test.js.snap +8 -0
  34. package/build/components/Session/Session.Account.js +2 -3
  35. package/build/components/Session/Session.Account.js.map +1 -1
  36. package/build/components/Session/__tests__/__snapshots__/Session.test.js.snap +2 -2
  37. package/build/components/__shared__/ButtonPayment/components/FormSipay/__tests__/__snapshots__/FormSipay.test.js.snap +6 -6
  38. package/build/components/__shared__/Occupation/__tests__/__snapshots__/Occupation.test.js.snap +4 -4
  39. package/build/helpers/sanitizeComponent.js +1 -0
  40. package/build/helpers/sanitizeComponent.js.map +1 -1
  41. package/package.json +2 -2
  42. package/public/index.html +6 -1
  43. package/__tests__/Session/session.spec.js +0 -17
@@ -77,11 +77,13 @@ const Menu = _ref => {
77
77
  value: _Booking.ACTION.CANCEL
78
78
  }],
79
79
  visible: visible,
80
- onPress: handlePress
80
+ onPress: handlePress,
81
+ testId: "booking-menu"
81
82
  }), !isDesktop && /*#__PURE__*/_react.default.createElement(_ui.Button, {
82
83
  large: true,
83
84
  wide: true,
84
- onPress: () => setVisible(!visible)
85
+ onPress: () => setVisible(!visible),
86
+ testId: "show-booking-menu"
85
87
  }, translate(_Booking2.L10N.ACTION_SHOW_OPTIONS)));
86
88
  };
87
89
  exports.Menu = Menu;
@@ -1 +1 @@
1
- {"version":3,"file":"Booking.Menu.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Booking","_Booking2","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Menu","_ref","dataSource","onPress","others","isDesktop","useDevice","translate","useLocale","refContainer","useRef","visible","setVisible","useState","useEffect","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","handlePress","action","isPostponable","state","STATE","CONFIRMED","is","cancelled","CANCELLED","confirmed","postponable","createElement","View","ref","className","styles","menu","noPrint","options","icon","ICON","PRINT","label","L10N","ACTION_PRINT","value","ACTION","divider","MAIL","ACTION_RESEND_BOOKING","RESEND","CALENDAR_EDIT","ACTION_EDIT_BOOKING","EDIT","CALENDAR_CANCEL","ACTION_CANCEL_BOOKING","CANCEL","Button","large","wide","ACTION_SHOW_OPTIONS","exports","displayName","propTypes","PropTypes","shape","oneOf","values","func"],"sources":["../../../../src/components/Booking/partials/Booking.Menu.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Menu as MenuBase, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { EVENT, ICON } from '../../helpers';\nimport { ACTION, STATE } from '../Booking.constants';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\n\nconst Menu = ({ dataSource = {}, onPress = () => {}, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const refContainer = useRef();\n\n const [visible, setVisible] = useState(isDesktop);\n\n useEffect(() => {\n setVisible(isDesktop || false);\n\n !isDesktop &&\n refContainer?.current &&\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: refContainer?.current.offsetHeight });\n }, [isDesktop]);\n\n const handlePress = (action) => {\n if (!isDesktop) setVisible(false);\n if (!action) return;\n\n onPress(action);\n };\n const { isPostponable = false, state = STATE.CONFIRMED } = dataSource;\n const is = {\n cancelled: state === STATE.CANCELLED,\n confirmed: state === STATE.CONFIRMED,\n postponable: state === STATE.CONFIRMED && isPostponable,\n };\n\n return (\n <View ref={refContainer} {...others} className={styles(style.menu, style.noPrint, others.className)}>\n <MenuBase\n options={[\n { icon: ICON.PRINT, label: translate(L10N.ACTION_PRINT), value: ACTION.PRINT, divider: true },\n { icon: ICON.MAIL, label: translate(L10N.ACTION_RESEND_BOOKING), value: ACTION.RESEND, divider: true },\n is.postponable && {\n icon: ICON.CALENDAR_EDIT,\n label: translate(L10N.ACTION_EDIT_BOOKING),\n value: ACTION.EDIT,\n divider: true,\n },\n is.confirmed && {\n icon: ICON.CALENDAR_CANCEL,\n label: translate(L10N.ACTION_CANCEL_BOOKING),\n value: ACTION.CANCEL,\n },\n ]}\n visible={visible}\n onPress={handlePress}\n />\n\n {!isDesktop && (\n <Button large wide onPress={() => setVisible(!visible)}>\n {translate(L10N.ACTION_SHOW_OPTIONS)}\n </Button>\n )}\n </View>\n );\n};\n\nMenu.displayName = 'Mirai:Core:Booking:Menu';\n\nMenu.propTypes = {\n dataSource: PropTypes.shape({\n state: PropTypes.oneOf(Object.values(STATE)),\n }),\n onPress: PropTypes.func,\n};\n\nexport { Menu };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Booking.Menu.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Booking","_Booking2","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Menu","_ref","dataSource","onPress","others","isDesktop","useDevice","translate","useLocale","refContainer","useRef","visible","setVisible","useState","useEffect","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","handlePress","action","isPostponable","state","STATE","CONFIRMED","is","cancelled","CANCELLED","confirmed","postponable","createElement","View","ref","className","styles","menu","noPrint","options","icon","ICON","PRINT","label","L10N","ACTION_PRINT","value","ACTION","divider","MAIL","ACTION_RESEND_BOOKING","RESEND","CALENDAR_EDIT","ACTION_EDIT_BOOKING","EDIT","CALENDAR_CANCEL","ACTION_CANCEL_BOOKING","CANCEL","testId","Button","large","wide","ACTION_SHOW_OPTIONS","exports","displayName","propTypes","PropTypes","shape","oneOf","values","func"],"sources":["../../../../src/components/Booking/partials/Booking.Menu.jsx"],"sourcesContent":["import { Event } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Menu as MenuBase, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { EVENT, ICON } from '../../helpers';\nimport { ACTION, STATE } from '../Booking.constants';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\n\nconst Menu = ({ dataSource = {}, onPress = () => {}, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const refContainer = useRef();\n\n const [visible, setVisible] = useState(isDesktop);\n\n useEffect(() => {\n setVisible(isDesktop || false);\n\n !isDesktop &&\n refContainer?.current &&\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: refContainer?.current.offsetHeight });\n }, [isDesktop]);\n\n const handlePress = (action) => {\n if (!isDesktop) setVisible(false);\n if (!action) return;\n\n onPress(action);\n };\n\n const { isPostponable = false, state = STATE.CONFIRMED } = dataSource;\n const is = {\n cancelled: state === STATE.CANCELLED,\n confirmed: state === STATE.CONFIRMED,\n postponable: state === STATE.CONFIRMED && isPostponable,\n };\n\n return (\n <View ref={refContainer} {...others} className={styles(style.menu, style.noPrint, others.className)}>\n <MenuBase\n options={[\n { icon: ICON.PRINT, label: translate(L10N.ACTION_PRINT), value: ACTION.PRINT, divider: true },\n { icon: ICON.MAIL, label: translate(L10N.ACTION_RESEND_BOOKING), value: ACTION.RESEND, divider: true },\n is.postponable && {\n icon: ICON.CALENDAR_EDIT,\n label: translate(L10N.ACTION_EDIT_BOOKING),\n value: ACTION.EDIT,\n divider: true,\n },\n is.confirmed && {\n icon: ICON.CALENDAR_CANCEL,\n label: translate(L10N.ACTION_CANCEL_BOOKING),\n value: ACTION.CANCEL,\n },\n ]}\n visible={visible}\n onPress={handlePress}\n testId=\"booking-menu\"\n />\n\n {!isDesktop && (\n <Button large wide onPress={() => setVisible(!visible)} testId=\"show-booking-menu\">\n {translate(L10N.ACTION_SHOW_OPTIONS)}\n </Button>\n )}\n </View>\n );\n};\n\nMenu.displayName = 'Mirai:Core:Booking:Menu';\n\nMenu.propTypes = {\n dataSource: PropTypes.shape({\n state: PropTypes.oneOf(Object.values(STATE)),\n }),\n onPress: PropTypes.func,\n};\n\nexport { Menu };\n"],"mappings":"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"}
@@ -116,13 +116,15 @@ const Modal = _ref => {
116
116
  large: true,
117
117
  secondary: true,
118
118
  wide: true,
119
- onPress: handleClose
119
+ onPress: handleClose,
120
+ testId: "cancel-button"
120
121
  }, translate(_Booking5.L10N.ACTION_BACK)), /*#__PURE__*/_react.default.createElement(_ui.Button, {
121
122
  busy: busy,
122
123
  disabled: action === RESEND && !!error,
123
124
  large: true,
124
125
  wide: true,
125
- onPress: handleSubmit
126
+ onPress: handleSubmit,
127
+ testId: "submit-button"
126
128
  }, action === CANCEL ? translate(_Booking5.L10N.ACTION_CANCEL) : action === EDIT ? translate(_Booking5.L10N.ACTION_POSTPONE) : translate(_Booking5.L10N.ACTION_SEND)))) : /*#__PURE__*/_react.default.createElement(_ui.Notification, {
127
129
  large: true,
128
130
  error: true,
@@ -1 +1 @@
1
- {"version":3,"file":"Booking.Modal.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Booking","_Booking2","_Booking3","_helpers","_Booking4","_Booking5","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","CANCEL","EDIT","RESEND","ACTION","Modal","_ref","action","dataSource","id","pinCode","token","onChange","onClose","others","translate","useLocale","value","urlParams","idHotel","useStore","busy","setBusy","useState","error","setError","form","setForm","responseError","setResponseError","visible","setVisible","useEffect","handleChange","next","handleError","handleSubmit","method","props","response","ServiceBooking","catch","Event","publish","EVENT","NOTIFICATION","success","L10N","NOTIFICATION_CANCEL_BOOKING_SUCESS","NOTIFICATION_EDIT_BOOKING_SUCCESS","NOTIFICATION_EMAIL_SUCCESS","handleClose","state","STATE","CANCELLED","POSTPONED","undefined","motionExpand","Theme","setTimeout","parseFloat","replace","createElement","title","ACTION_CANCEL_BOOKING","ACTION_EDIT_BOOKING","ACTION_RESEND_BOOKING","preventDefault","View","className","modal","Fragment","React","FormCancel","FormEdit","FormResend","onError","row","buttons","Button","large","secondary","wide","onPress","ACTION_BACK","disabled","ACTION_CANCEL","ACTION_POSTPONE","ACTION_SEND","Notification","LABEL_SERVICE_ERROR","exports","displayName","propTypes","PropTypes","oneOf","values","shape","string","number","func"],"sources":["../../../../src/components/Booking/partials/Booking.Modal.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Button, Modal as ModalBase, Theme, View } from '@mirai/ui';\nimport { Notification } 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 { FormResend } from './Booking.FormResend';\nimport { EVENT } from '../../helpers';\nimport { ACTION, STATE } from '../Booking.constants';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\n\nconst { CANCEL, EDIT, RESEND } = ACTION;\n\nconst Modal = ({ action, dataSource: { id, pinCode, token } = {}, onChange = () => {}, onClose, ...others }) => {\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 [responseError, setResponseError] = useState();\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (action) return setVisible(true);\n\n setForm({});\n setResponseError();\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 method = action === CANCEL ? 'cancel' : action === EDIT ? 'postpone' : 'email';\n const props = { id, idHotel, pinCode, token, ...form };\n const response = await ServiceBooking[method](props).catch(setResponseError);\n setBusy(false);\n\n if (response) {\n Event.publish(EVENT.NOTIFICATION, {\n success: true,\n ...(action === CANCEL\n ? L10N.NOTIFICATION_CANCEL_BOOKING_SUCESS\n : action === EDIT\n ? L10N.NOTIFICATION_EDIT_BOOKING_SUCCESS\n : L10N.NOTIFICATION_EMAIL_SUCCESS),\n });\n handleClose();\n }\n onChange({ response, state: action === CANCEL ? STATE.CANCELLED : action === EDIT ? STATE.POSTPONED : undefined });\n };\n\n const handleClose = () => {\n const { motionExpand = '0.3s' } = Theme.get();\n\n setVisible(false);\n setTimeout(onClose, parseFloat(motionExpand.replace('s')) * 1000);\n };\n\n return (\n <ModalBase\n {...others}\n title={translate(\n action === CANCEL\n ? L10N.ACTION_CANCEL_BOOKING\n : action === EDIT\n ? L10N.ACTION_EDIT_BOOKING\n : L10N.ACTION_RESEND_BOOKING,\n )}\n preventDefault={false}\n visible={visible}\n onClose={handleClose}\n >\n <View className={style.modal}>\n {!responseError ? (\n <>\n {React.createElement(action === CANCEL ? FormCancel : action === EDIT ? FormEdit : FormResend, {\n form,\n onChange: handleChange,\n onError: handleError,\n })}\n <View row className={style.buttons}>\n <Button large secondary wide onPress={handleClose}>\n {translate(L10N.ACTION_BACK)}\n </Button>\n <Button busy={busy} disabled={action === RESEND && !!error} large wide onPress={handleSubmit}>\n {action === CANCEL\n ? translate(L10N.ACTION_CANCEL)\n : action === EDIT\n ? translate(L10N.ACTION_POSTPONE)\n : translate(L10N.ACTION_SEND)}\n </Button>\n </View>\n </>\n ) : (\n <Notification large error wide>\n {translate(L10N.LABEL_SERVICE_ERROR)}\n </Notification>\n )}\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.string,\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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"}
1
+ {"version":3,"file":"Booking.Modal.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Booking","_Booking2","_Booking3","_helpers","_Booking4","_Booking5","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","CANCEL","EDIT","RESEND","ACTION","Modal","_ref","action","dataSource","id","pinCode","token","onChange","onClose","others","translate","useLocale","value","urlParams","idHotel","useStore","busy","setBusy","useState","error","setError","form","setForm","responseError","setResponseError","visible","setVisible","useEffect","handleChange","next","handleError","handleSubmit","method","props","response","ServiceBooking","catch","Event","publish","EVENT","NOTIFICATION","success","L10N","NOTIFICATION_CANCEL_BOOKING_SUCESS","NOTIFICATION_EDIT_BOOKING_SUCCESS","NOTIFICATION_EMAIL_SUCCESS","handleClose","state","STATE","CANCELLED","POSTPONED","undefined","motionExpand","Theme","setTimeout","parseFloat","replace","createElement","title","ACTION_CANCEL_BOOKING","ACTION_EDIT_BOOKING","ACTION_RESEND_BOOKING","preventDefault","View","className","modal","Fragment","React","FormCancel","FormEdit","FormResend","onError","row","buttons","Button","large","secondary","wide","onPress","testId","ACTION_BACK","disabled","ACTION_CANCEL","ACTION_POSTPONE","ACTION_SEND","Notification","LABEL_SERVICE_ERROR","exports","displayName","propTypes","PropTypes","oneOf","values","shape","string","number","func"],"sources":["../../../../src/components/Booking/partials/Booking.Modal.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Button, Modal as ModalBase, Theme, View } from '@mirai/ui';\nimport { Notification } 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 { FormResend } from './Booking.FormResend';\nimport { EVENT } from '../../helpers';\nimport { ACTION, STATE } from '../Booking.constants';\nimport { L10N } from '../Booking.l10n';\nimport * as style from '../Booking.module.css';\n\nconst { CANCEL, EDIT, RESEND } = ACTION;\n\nconst Modal = ({ action, dataSource: { id, pinCode, token } = {}, onChange = () => {}, onClose, ...others }) => {\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 [responseError, setResponseError] = useState();\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (action) return setVisible(true);\n\n setForm({});\n setResponseError();\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 method = action === CANCEL ? 'cancel' : action === EDIT ? 'postpone' : 'email';\n const props = { id, idHotel, pinCode, token, ...form };\n const response = await ServiceBooking[method](props).catch(setResponseError);\n setBusy(false);\n\n if (response) {\n Event.publish(EVENT.NOTIFICATION, {\n success: true,\n ...(action === CANCEL\n ? L10N.NOTIFICATION_CANCEL_BOOKING_SUCESS\n : action === EDIT\n ? L10N.NOTIFICATION_EDIT_BOOKING_SUCCESS\n : L10N.NOTIFICATION_EMAIL_SUCCESS),\n });\n handleClose();\n }\n onChange({ response, state: action === CANCEL ? STATE.CANCELLED : action === EDIT ? STATE.POSTPONED : undefined });\n };\n\n const handleClose = () => {\n const { motionExpand = '0.3s' } = Theme.get();\n\n setVisible(false);\n setTimeout(onClose, parseFloat(motionExpand.replace('s')) * 1000);\n };\n\n return (\n <ModalBase\n {...others}\n title={translate(\n action === CANCEL\n ? L10N.ACTION_CANCEL_BOOKING\n : action === EDIT\n ? L10N.ACTION_EDIT_BOOKING\n : L10N.ACTION_RESEND_BOOKING,\n )}\n preventDefault={false}\n visible={visible}\n onClose={handleClose}\n >\n <View className={style.modal}>\n {!responseError ? (\n <>\n {React.createElement(action === CANCEL ? FormCancel : action === EDIT ? FormEdit : FormResend, {\n form,\n onChange: handleChange,\n onError: handleError,\n })}\n <View row className={style.buttons}>\n <Button large secondary wide onPress={handleClose} testId=\"cancel-button\">\n {translate(L10N.ACTION_BACK)}\n </Button>\n <Button\n busy={busy}\n disabled={action === RESEND && !!error}\n large\n wide\n onPress={handleSubmit}\n testId=\"submit-button\"\n >\n {action === CANCEL\n ? translate(L10N.ACTION_CANCEL)\n : action === EDIT\n ? translate(L10N.ACTION_POSTPONE)\n : translate(L10N.ACTION_SEND)}\n </Button>\n </View>\n </>\n ) : (\n <Notification large error wide>\n {translate(L10N.LABEL_SERVICE_ERROR)}\n </Notification>\n )}\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.string,\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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"}
@@ -7,6 +7,7 @@ exports[`component:<Booking> partial:<Menu> inherit:className 1`] = `
7
7
  >
8
8
  <ui-menu
9
9
  class="container"
10
+ data-testid="booking-menu"
10
11
  />
11
12
  <ui-menu-content
12
13
  class="layer"
@@ -16,6 +17,7 @@ exports[`component:<Booking> partial:<Menu> inherit:className 1`] = `
16
17
  >
17
18
  <ui-pressable
18
19
  class="pressable option value divider"
20
+ data-testid="booking-menu-0"
19
21
  tabindex="0"
20
22
  >
21
23
  <ui-view
@@ -56,6 +58,7 @@ exports[`component:<Booking> partial:<Menu> inherit:className 1`] = `
56
58
  </ui-pressable>
57
59
  <ui-pressable
58
60
  class="pressable option value divider"
61
+ data-testid="booking-menu-1"
59
62
  tabindex="0"
60
63
  >
61
64
  <ui-view
@@ -91,6 +94,7 @@ exports[`component:<Booking> partial:<Menu> inherit:className 1`] = `
91
94
  </ui-pressable>
92
95
  <ui-pressable
93
96
  class="pressable option value divider"
97
+ data-testid="booking-menu-2"
94
98
  tabindex="0"
95
99
  >
96
100
  <ui-view
@@ -126,6 +130,7 @@ exports[`component:<Booking> partial:<Menu> inherit:className 1`] = `
126
130
  </ui-pressable>
127
131
  <ui-pressable
128
132
  class="pressable option value"
133
+ data-testid="booking-menu-3"
129
134
  tabindex="0"
130
135
  >
131
136
  <ui-view
@@ -172,6 +177,7 @@ exports[`component:<Booking> partial:<Menu> renders 1`] = `
172
177
  >
173
178
  <ui-menu
174
179
  class="container"
180
+ data-testid="booking-menu"
175
181
  />
176
182
  <ui-menu-content
177
183
  class="layer"
@@ -181,6 +187,7 @@ exports[`component:<Booking> partial:<Menu> renders 1`] = `
181
187
  >
182
188
  <ui-pressable
183
189
  class="pressable option value divider"
190
+ data-testid="booking-menu-0"
184
191
  tabindex="0"
185
192
  >
186
193
  <ui-view
@@ -221,6 +228,7 @@ exports[`component:<Booking> partial:<Menu> renders 1`] = `
221
228
  </ui-pressable>
222
229
  <ui-pressable
223
230
  class="pressable option value divider"
231
+ data-testid="booking-menu-1"
224
232
  tabindex="0"
225
233
  >
226
234
  <ui-view
@@ -256,6 +264,7 @@ exports[`component:<Booking> partial:<Menu> renders 1`] = `
256
264
  </ui-pressable>
257
265
  <ui-pressable
258
266
  class="pressable option value divider"
267
+ data-testid="booking-menu-2"
259
268
  tabindex="0"
260
269
  >
261
270
  <ui-view
@@ -291,6 +300,7 @@ exports[`component:<Booking> partial:<Menu> renders 1`] = `
291
300
  </ui-pressable>
292
301
  <ui-pressable
293
302
  class="pressable option value"
303
+ data-testid="booking-menu-3"
294
304
  tabindex="0"
295
305
  >
296
306
  <ui-view
@@ -338,6 +348,7 @@ exports[`component:<Booking> partial:<Menu> testID 1`] = `
338
348
  >
339
349
  <ui-menu
340
350
  class="container"
351
+ data-testid="booking-menu"
341
352
  />
342
353
  <ui-menu-content
343
354
  class="layer"
@@ -347,6 +358,7 @@ exports[`component:<Booking> partial:<Menu> testID 1`] = `
347
358
  >
348
359
  <ui-pressable
349
360
  class="pressable option value divider"
361
+ data-testid="booking-menu-0"
350
362
  tabindex="0"
351
363
  >
352
364
  <ui-view
@@ -387,6 +399,7 @@ exports[`component:<Booking> partial:<Menu> testID 1`] = `
387
399
  </ui-pressable>
388
400
  <ui-pressable
389
401
  class="pressable option value divider"
402
+ data-testid="booking-menu-1"
390
403
  tabindex="0"
391
404
  >
392
405
  <ui-view
@@ -422,6 +435,7 @@ exports[`component:<Booking> partial:<Menu> testID 1`] = `
422
435
  </ui-pressable>
423
436
  <ui-pressable
424
437
  class="pressable option value divider"
438
+ data-testid="booking-menu-2"
425
439
  tabindex="0"
426
440
  >
427
441
  <ui-view
@@ -457,6 +471,7 @@ exports[`component:<Booking> partial:<Menu> testID 1`] = `
457
471
  </ui-pressable>
458
472
  <ui-pressable
459
473
  class="pressable option value"
474
+ data-testid="booking-menu-3"
460
475
  tabindex="0"
461
476
  >
462
477
  <ui-view
@@ -503,6 +518,7 @@ exports[`component:<Booking> partial:<Menu> with a store 1`] = `
503
518
  >
504
519
  <ui-menu
505
520
  class="container"
521
+ data-testid="booking-menu"
506
522
  />
507
523
  <ui-menu-content
508
524
  class="layer"
@@ -512,6 +528,7 @@ exports[`component:<Booking> partial:<Menu> with a store 1`] = `
512
528
  >
513
529
  <ui-pressable
514
530
  class="pressable option value divider"
531
+ data-testid="booking-menu-0"
515
532
  tabindex="0"
516
533
  >
517
534
  <ui-view
@@ -552,6 +569,7 @@ exports[`component:<Booking> partial:<Menu> with a store 1`] = `
552
569
  </ui-pressable>
553
570
  <ui-pressable
554
571
  class="pressable option value divider"
572
+ data-testid="booking-menu-1"
555
573
  tabindex="0"
556
574
  >
557
575
  <ui-view
@@ -587,6 +605,7 @@ exports[`component:<Booking> partial:<Menu> with a store 1`] = `
587
605
  </ui-pressable>
588
606
  <ui-pressable
589
607
  class="pressable option value divider"
608
+ data-testid="booking-menu-2"
590
609
  tabindex="0"
591
610
  >
592
611
  <ui-view
@@ -622,6 +641,7 @@ exports[`component:<Booking> partial:<Menu> with a store 1`] = `
622
641
  </ui-pressable>
623
642
  <ui-pressable
624
643
  class="pressable option value"
644
+ data-testid="booking-menu-3"
625
645
  tabindex="0"
626
646
  >
627
647
  <ui-view
@@ -88,12 +88,14 @@ exports[`component:<Booking> partial:<Modal> inherit:className 1`] = `
88
88
  >
89
89
  <ui-button
90
90
  class="pressable button large secondary wide"
91
+ data-testid="cancel-button"
91
92
  tabindex="0"
92
93
  >
93
94
  common.action.back
94
95
  </ui-button>
95
96
  <ui-button
96
97
  class="pressable button large wide"
98
+ data-testid="submit-button"
97
99
  tabindex="0"
98
100
  >
99
101
  common.action.send
@@ -193,12 +195,14 @@ exports[`component:<Booking> partial:<Modal> renders 1`] = `
193
195
  >
194
196
  <ui-button
195
197
  class="pressable button large secondary wide"
198
+ data-testid="cancel-button"
196
199
  tabindex="0"
197
200
  >
198
201
  common.action.back
199
202
  </ui-button>
200
203
  <ui-button
201
204
  class="pressable button large wide"
205
+ data-testid="submit-button"
202
206
  tabindex="0"
203
207
  >
204
208
  common.action.send
@@ -301,12 +305,14 @@ exports[`component:<Booking> partial:<Modal> testID 1`] = `
301
305
  >
302
306
  <ui-button
303
307
  class="pressable button large secondary wide"
308
+ data-testid="cancel-button"
304
309
  tabindex="0"
305
310
  >
306
311
  common.action.back
307
312
  </ui-button>
308
313
  <ui-button
309
314
  class="pressable button large wide"
315
+ data-testid="submit-button"
310
316
  tabindex="0"
311
317
  >
312
318
  common.action.send
@@ -406,12 +412,14 @@ exports[`component:<Booking> partial:<Modal> with a store 1`] = `
406
412
  >
407
413
  <ui-button
408
414
  class="pressable button large secondary wide"
415
+ data-testid="cancel-button"
409
416
  tabindex="0"
410
417
  >
411
418
  common.action.back
412
419
  </ui-button>
413
420
  <ui-button
414
421
  class="pressable button large wide"
422
+ data-testid="submit-button"
415
423
  tabindex="0"
416
424
  >
417
425
  common.action.send
@@ -140,8 +140,7 @@ const Account = _ref => {
140
140
  options: session ? [...options, {
141
141
  icon: _helpers2.ICON.LOGOUT,
142
142
  label: translate(_Session2.L10N.CTA_LOGOUT),
143
- value: 'logout',
144
- testId: 'session-logout'
143
+ value: 'logout'
145
144
  }] : null,
146
145
  onPress: handlePress,
147
146
  testId: "profile-menu"
@@ -151,7 +150,7 @@ const Account = _ref => {
151
150
  __html: (0, _helpers2.template)(ghost.outerHTML, session, translate)
152
151
  } : undefined,
153
152
  className: style.pressable,
154
- testId: "show-session-menu"
153
+ testId: "show-profile-menu"
155
154
  }, !ghost ? /*#__PURE__*/_react.default.createElement(_ui.View, {
156
155
  row: true,
157
156
  className: (0, _ui.styles)(style.account, compacted && style.compacted)
@@ -1 +1 @@
1
- {"version":3,"file":"Session.Account.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_SessionAccount","_Session","_Session2","style","_Core","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Account","_ref","compacted","ghost","isMobile","useDevice","translate","useLocale","ref","useRef","value","components","club","authentication","type","AUTH_TYPE","MIRAI","cookies","hotel","url","hotelUrl","id","session","store","useStore","menu","setMenu","useState","useEffect","handleClickOutside","_ref2","_ref$current","target","current","contains","undefined","document","addEventListener","PESTANA","pestana","token","ServiceUser","logout","removeEventListener","handlePress","handleLogout","getProfileUrl","location","href","profile","window","reload","concat","process","env","SERVICE_USER","ENDPOINT","EXTERNAL_LOGOUT","toUrlParams","idtokenprovider","domain","email","firstName","lastName","level","options","icon","ICON","PERSON","label","L10N","ACTION_MANAGE_ACCOUNT","testId","LIST","ACTION_MY_BOOKINGS","divider","LEVEL","children","createElement","Info","View","role","Menu","visible","LOGOUT","CTA_LOGOUT","onPress","Pressable","dangerouslySetInnerHTML","__html","template","outerHTML","className","pressable","row","styles","account","avatar","Text","action","bold","substr","toUpperCase","exports","displayName","propTypes","PropTypes","bool","any"],"sources":["../../../src/components/Session/Session.Account.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceUser } from '@mirai/services';\nimport { Menu, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { getProfileUrl } from './helpers';\nimport { Info } from './Session.Account.Info';\nimport { ENDPOINT } from './Session.constants';\nimport { L10N } from './Session.l10n';\nimport * as style from './Session.module.css';\nimport { AUTH_TYPE } from '../../Core.constants';\nimport { ICON, template, toUrlParams } from '../helpers';\n\nconst Account = ({ compacted = false, ghost }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: {\n components = {},\n club: { authentication: { type = AUTH_TYPE.MIRAI } = {} } = {},\n cookies,\n hotel: { url: hotelUrl } = {},\n id,\n session,\n ...store\n },\n } = useStore();\n\n const [menu, setMenu] = useState(false);\n\n useEffect(() => {\n const handleClickOutside = ({ target }) => {\n if (!ref.current?.contains(target)) setMenu(undefined);\n };\n document.addEventListener('click', handleClickOutside, true);\n\n if (type === AUTH_TYPE.PESTANA) {\n const { pestana: token } = cookies;\n\n if (session && !token) {\n ServiceUser.logout();\n set({ session: undefined });\n }\n }\n return () => document.removeEventListener('click', handleClickOutside, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handlePress = (value) => {\n if (!value) return setMenu(!menu);\n\n setMenu(false);\n if (value === 'logout') return handleLogout();\n\n const url = getProfileUrl({ id, value, ...store });\n if (!url) return;\n\n document.location.href = url;\n };\n\n const handleLogout = () => {\n ServiceUser.logout();\n\n if (type === AUTH_TYPE.MIRAI) {\n set({ session: undefined });\n\n if (components.profile) window.location.href = hotelUrl;\n else window.location.reload();\n\n return;\n }\n\n const url = `${process.env.SERVICE_USER}/${ENDPOINT.EXTERNAL_LOGOUT}${toUrlParams({\n idtokenprovider: id,\n domain: document.location.href,\n })}`;\n\n document.location.href = url;\n };\n\n const { email, firstName = '', lastName = '', level } = session || {};\n\n let options =\n type === AUTH_TYPE.MIRAI\n ? [\n {\n icon: ICON.PERSON,\n label: translate(L10N.ACTION_MANAGE_ACCOUNT),\n value: 'profile',\n testId: 'session-profile',\n },\n { icon: ICON.LIST, label: translate(L10N.ACTION_MY_BOOKINGS), value: 'bookings', testId: 'session-bookings' },\n ]\n : [];\n if (level) options = [{ divider: true, label: translate(L10N.LEVEL, { level }) }, ...options];\n if (!ghost && (compacted || isMobile))\n options = [\n {\n children: <Info {...{ email, firstName, lastName }} />,\n divider: true,\n },\n ...options,\n ];\n\n return (\n <View role=\"account\" ref={ref}>\n <Menu\n visible={menu}\n options={\n session\n ? [\n ...options,\n { icon: ICON.LOGOUT, label: translate(L10N.CTA_LOGOUT), value: 'logout', testId: 'session-logout' },\n ]\n : null\n }\n onPress={handlePress}\n testId=\"profile-menu\"\n >\n <Pressable\n onPress={() => setMenu(!menu)}\n dangerouslySetInnerHTML={ghost ? { __html: template(ghost.outerHTML, session, translate) } : undefined}\n className={style.pressable}\n testId=\"show-session-menu\"\n >\n {!ghost ? (\n <View row className={styles(style.account, compacted && style.compacted)}>\n <View row className={style.avatar}>\n <Text action bold>\n {`${firstName.substr(0, 1)}`.toUpperCase()}\n </Text>\n </View>\n {!isMobile && !compacted && <Info {...{ email, firstName, lastName }} />}\n </View>\n ) : null}\n </Pressable>\n </Menu>\n </View>\n );\n};\n\nAccount.displayName = 'Mirai:Core:Session:Account';\n\nAccount.propTypes = {\n compacted: PropTypes.bool,\n ghost: PropTypes.any,\n};\n\nexport { Account };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Session.Account.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_SessionAccount","_Session","_Session2","style","_Core","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Account","_ref","compacted","ghost","isMobile","useDevice","translate","useLocale","ref","useRef","value","components","club","authentication","type","AUTH_TYPE","MIRAI","cookies","hotel","url","hotelUrl","id","session","store","useStore","menu","setMenu","useState","useEffect","handleClickOutside","_ref2","_ref$current","target","current","contains","undefined","document","addEventListener","PESTANA","pestana","token","ServiceUser","logout","removeEventListener","handlePress","handleLogout","getProfileUrl","location","href","profile","window","reload","concat","process","env","SERVICE_USER","ENDPOINT","EXTERNAL_LOGOUT","toUrlParams","idtokenprovider","domain","email","firstName","lastName","level","options","icon","ICON","PERSON","label","L10N","ACTION_MANAGE_ACCOUNT","testId","LIST","ACTION_MY_BOOKINGS","divider","LEVEL","children","createElement","Info","View","role","Menu","visible","LOGOUT","CTA_LOGOUT","onPress","Pressable","dangerouslySetInnerHTML","__html","template","outerHTML","className","pressable","row","styles","account","avatar","Text","action","bold","substr","toUpperCase","exports","displayName","propTypes","PropTypes","bool","any"],"sources":["../../../src/components/Session/Session.Account.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceUser } from '@mirai/services';\nimport { Menu, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { getProfileUrl } from './helpers';\nimport { Info } from './Session.Account.Info';\nimport { ENDPOINT } from './Session.constants';\nimport { L10N } from './Session.l10n';\nimport * as style from './Session.module.css';\nimport { AUTH_TYPE } from '../../Core.constants';\nimport { ICON, template, toUrlParams } from '../helpers';\n\nconst Account = ({ compacted = false, ghost }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: {\n components = {},\n club: { authentication: { type = AUTH_TYPE.MIRAI } = {} } = {},\n cookies,\n hotel: { url: hotelUrl } = {},\n id,\n session,\n ...store\n },\n } = useStore();\n\n const [menu, setMenu] = useState(false);\n\n useEffect(() => {\n const handleClickOutside = ({ target }) => {\n if (!ref.current?.contains(target)) setMenu(undefined);\n };\n document.addEventListener('click', handleClickOutside, true);\n\n if (type === AUTH_TYPE.PESTANA) {\n const { pestana: token } = cookies;\n\n if (session && !token) {\n ServiceUser.logout();\n set({ session: undefined });\n }\n }\n return () => document.removeEventListener('click', handleClickOutside, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handlePress = (value) => {\n if (!value) return setMenu(!menu);\n\n setMenu(false);\n if (value === 'logout') return handleLogout();\n\n const url = getProfileUrl({ id, value, ...store });\n if (!url) return;\n\n document.location.href = url;\n };\n\n const handleLogout = () => {\n ServiceUser.logout();\n\n if (type === AUTH_TYPE.MIRAI) {\n set({ session: undefined });\n\n if (components.profile) window.location.href = hotelUrl;\n else window.location.reload();\n\n return;\n }\n\n const url = `${process.env.SERVICE_USER}/${ENDPOINT.EXTERNAL_LOGOUT}${toUrlParams({\n idtokenprovider: id,\n domain: document.location.href,\n })}`;\n\n document.location.href = url;\n };\n\n const { email, firstName = '', lastName = '', level } = session || {};\n\n let options =\n type === AUTH_TYPE.MIRAI\n ? [\n {\n icon: ICON.PERSON,\n label: translate(L10N.ACTION_MANAGE_ACCOUNT),\n value: 'profile',\n testId: 'session-profile',\n },\n { icon: ICON.LIST, label: translate(L10N.ACTION_MY_BOOKINGS), value: 'bookings', testId: 'session-bookings' },\n ]\n : [];\n if (level) options = [{ divider: true, label: translate(L10N.LEVEL, { level }) }, ...options];\n if (!ghost && (compacted || isMobile))\n options = [\n {\n children: <Info {...{ email, firstName, lastName }} />,\n divider: true,\n },\n ...options,\n ];\n\n return (\n <View role=\"account\" ref={ref}>\n <Menu\n visible={menu}\n options={\n session ? [...options, { icon: ICON.LOGOUT, label: translate(L10N.CTA_LOGOUT), value: 'logout' }] : null\n }\n onPress={handlePress}\n testId=\"profile-menu\"\n >\n <Pressable\n onPress={() => setMenu(!menu)}\n dangerouslySetInnerHTML={ghost ? { __html: template(ghost.outerHTML, session, translate) } : undefined}\n className={style.pressable}\n testId=\"show-profile-menu\"\n >\n {!ghost ? (\n <View row className={styles(style.account, compacted && style.compacted)}>\n <View row className={style.avatar}>\n <Text action bold>\n {`${firstName.substr(0, 1)}`.toUpperCase()}\n </Text>\n </View>\n {!isMobile && !compacted && <Info {...{ email, firstName, lastName }} />}\n </View>\n ) : null}\n </Pressable>\n </Menu>\n </View>\n );\n};\n\nAccount.displayName = 'Mirai:Core:Session:Account';\n\nAccount.propTypes = {\n compacted: PropTypes.bool,\n ghost: PropTypes.any,\n};\n\nexport { Account };\n"],"mappings":"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"}
@@ -207,7 +207,7 @@ exports[`component:<Session> Using ghost feature with an stored session 1`] = `
207
207
  >
208
208
  <ui-pressable
209
209
  class="pressable"
210
- data-testid="show-session-menu"
210
+ data-testid="show-profile-menu"
211
211
  tabindex="0"
212
212
  >
213
213
  <div>
@@ -921,7 +921,7 @@ exports[`component:<Session> with an stored session 1`] = `
921
921
  >
922
922
  <ui-pressable
923
923
  class="pressable"
924
- data-testid="show-session-menu"
924
+ data-testid="show-profile-menu"
925
925
  tabindex="0"
926
926
  >
927
927
  <ui-view
@@ -5,7 +5,7 @@ exports[`component:<FormSipay> inherit:className 1`] = `
5
5
  <ui-view
6
6
  class="view mirai"
7
7
  >
8
- <ui-notification
8
+ <ui-notification-warning
9
9
  class="view row notification warning inline large wide"
10
10
  >
11
11
  <ui-icon
@@ -34,7 +34,7 @@ exports[`component:<FormSipay> inherit:className 1`] = `
34
34
  payments.notification.loading
35
35
  </ui-text>
36
36
  </ui-view>
37
- </ui-notification>
37
+ </ui-notification-warning>
38
38
  <button
39
39
  data-amount="0"
40
40
  data-autosave="true"
@@ -58,7 +58,7 @@ exports[`component:<FormSipay> renders 1`] = `
58
58
  <ui-view
59
59
  class="view"
60
60
  >
61
- <ui-notification
61
+ <ui-notification-warning
62
62
  class="view row notification warning inline large wide"
63
63
  >
64
64
  <ui-icon
@@ -87,7 +87,7 @@ exports[`component:<FormSipay> renders 1`] = `
87
87
  payments.notification.loading
88
88
  </ui-text>
89
89
  </ui-view>
90
- </ui-notification>
90
+ </ui-notification-warning>
91
91
  <button
92
92
  data-amount="0"
93
93
  data-autosave="true"
@@ -112,7 +112,7 @@ exports[`component:<FormSipay> testID 1`] = `
112
112
  class="view"
113
113
  data-testid="mirai"
114
114
  >
115
- <ui-notification
115
+ <ui-notification-warning
116
116
  class="view row notification warning inline large wide"
117
117
  >
118
118
  <ui-icon
@@ -141,7 +141,7 @@ exports[`component:<FormSipay> testID 1`] = `
141
141
  payments.notification.loading
142
142
  </ui-text>
143
143
  </ui-view>
144
- </ui-notification>
144
+ </ui-notification-warning>
145
145
  <button
146
146
  data-amount="0"
147
147
  data-autosave="true"
@@ -6,7 +6,7 @@ exports[` 1`] = `
6
6
  class="view"
7
7
  l10n="[object Object]"
8
8
  >
9
- <ui-notification
9
+ <ui-notification-warning
10
10
  class="view row notification warning outlined small"
11
11
  >
12
12
  <ui-icon
@@ -35,7 +35,7 @@ exports[` 1`] = `
35
35
  finder.notification.warning_occupation
36
36
  </ui-text>
37
37
  </ui-view>
38
- </ui-notification>
38
+ </ui-notification-warning>
39
39
  <ui-scrollview
40
40
  class="scrollview vertical"
41
41
  >
@@ -2127,7 +2127,7 @@ exports[`component:<Occupation> prop:value prop:error 1`] = `
2127
2127
  class="view"
2128
2128
  l10n="[object Object]"
2129
2129
  >
2130
- <ui-notification
2130
+ <ui-notification-error
2131
2131
  class="view row notification error outlined small"
2132
2132
  >
2133
2133
  <ui-icon
@@ -2166,7 +2166,7 @@ exports[`component:<Occupation> prop:value prop:error 1`] = `
2166
2166
  fields
2167
2167
  </ui-text>
2168
2168
  </ui-view>
2169
- </ui-notification>
2169
+ </ui-notification-error>
2170
2170
  <ui-scrollview
2171
2171
  class="scrollview vertical"
2172
2172
  >
@@ -9,6 +9,7 @@ const sanitizeComponent = el => {
9
9
  try {
10
10
  el.innerHTML = '';
11
11
  } catch (error) {
12
+ // eslint-disable-next-line no-console
12
13
  console.warn("WARNING: element has an issue using innerHTML.", {
13
14
  el
14
15
  });
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizeComponent.js","names":["sanitizeComponent","el","getAttribute","innerHTML","error","console","warn","setAttribute","exports"],"sources":["../../src/helpers/sanitizeComponent.js"],"sourcesContent":["export const sanitizeComponent = (el) => {\n if (!el.getAttribute('data-ready')) {\n try {\n el.innerHTML = '';\n } catch (error) {\n console.warn(`WARNING: element has an issue using innerHTML.`, { el });\n }\n el.setAttribute('data-ready', 'true');\n }\n};\n"],"mappings":";;;;;;AAAO,MAAMA,iBAAiB,GAAIC,EAAE,IAAK;EACvC,IAAI,CAACA,EAAE,CAACC,YAAY,CAAC,YAAY,CAAC,EAAE;IAClC,IAAI;MACFD,EAAE,CAACE,SAAS,GAAG,EAAE;IACnB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdC,OAAO,CAACC,IAAI,mDAAmD;QAAEL;MAAG,CAAC,CAAC;IACxE;IACAA,EAAE,CAACM,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC;EACvC;AACF,CAAC;AAACC,OAAA,CAAAR,iBAAA,GAAAA,iBAAA"}
1
+ {"version":3,"file":"sanitizeComponent.js","names":["sanitizeComponent","el","getAttribute","innerHTML","error","console","warn","setAttribute","exports"],"sources":["../../src/helpers/sanitizeComponent.js"],"sourcesContent":["export const sanitizeComponent = (el) => {\n if (!el.getAttribute('data-ready')) {\n try {\n el.innerHTML = '';\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn(`WARNING: element has an issue using innerHTML.`, { el });\n }\n el.setAttribute('data-ready', 'true');\n }\n};\n"],"mappings":";;;;;;AAAO,MAAMA,iBAAiB,GAAIC,EAAE,IAAK;EACvC,IAAI,CAACA,EAAE,CAACC,YAAY,CAAC,YAAY,CAAC,EAAE;IAClC,IAAI;MACFD,EAAE,CAACE,SAAS,GAAG,EAAE;IACnB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd;MACAC,OAAO,CAACC,IAAI,mDAAmD;QAAEL;MAAG,CAAC,CAAC;IACxE;IACAA,EAAE,CAACM,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC;EACvC;AACF,CAAC;AAACC,OAAA,CAAAR,iBAAA,GAAAA,iBAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.3.380",
3
+ "version": "0.3.382",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",
@@ -17,7 +17,7 @@
17
17
  "test:coverage": "node scripts/test.js --coverage --coverageReporters=text --detectOpenHandles --forceExit --silent",
18
18
  "test:watch": "node scripts/test.js",
19
19
  "test:e2e": "yarn playwright test --ui",
20
- "test:e2e:ci": "NODE_ENV=CI yarn playwright test",
20
+ "test:e2e:ci": " CI=true yarn playwright test",
21
21
  "test:e2e:recorder": "yarn playwright codegen",
22
22
  "test:e2e:report": "yarn playwright show-report",
23
23
  "pipeline": "yarn lint && yarn test",
package/public/index.html CHANGED
@@ -13,7 +13,12 @@
13
13
  <script>
14
14
  window.dataLayer = window.dataLayer || [];
15
15
  function gtag() {
16
- dataLayer.push(arguments);
16
+ window.dataLayer.push(arguments);
17
+
18
+ if (window.IS_PLAYWRIGHT) {
19
+ cookiesAccepted = localStorage.getItem('cookiesAccepted');
20
+ if (!cookiesAccepted) localStorage.setItem('cookiesAccepted', 'granted');
21
+ }
17
22
  }
18
23
  gtag('consent', 'update', {
19
24
  ad_storage: 'granted',
@@ -1,17 +0,0 @@
1
- import { test } from '@playwright/test';
2
-
3
- import { bookings, forgotPassword, login, logout, profile } from './workflows';
4
-
5
- test.beforeEach(async ({ context }) => {
6
- await context.addInitScript(() => (window.IS_PLAYWRIGHT = true));
7
- });
8
-
9
- test('Session workflows', async ({ page }) => {
10
- await page.goto('http://local.mirai.com:8080', { waitUntil: 'networkidle', timeout: 10000 });
11
-
12
- await login({ page });
13
- await profile({ page });
14
- await bookings({ page });
15
- await logout({ page });
16
- await forgotPassword({ page });
17
- });