@mirai/core 0.3.381 → 0.3.383

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 (59) hide show
  1. package/README.md +24 -0
  2. package/__tests__/Booking/__mocks__/booking-delete.json +1 -0
  3. package/__tests__/Booking/__mocks__/booking-get.json +105 -0
  4. package/__tests__/Booking/booking.constants.js +8 -0
  5. package/__tests__/Booking/workflows/cancel.workflow.js +20 -0
  6. package/__tests__/Booking/workflows/index.js +5 -0
  7. package/__tests__/Booking/workflows/openMobileMenu.workflow.js +4 -0
  8. package/__tests__/Booking/workflows/print.workflow.js +13 -0
  9. package/__tests__/Booking/workflows/resend.workflow.js +18 -0
  10. package/__tests__/Booking/workflows/review.workflow.js +17 -0
  11. package/__tests__/Checkout/workflows/form.workflow.js +1 -1
  12. package/__tests__/Checkout/workflows/review.workflow.js +1 -1
  13. package/__tests__/Session/workflows/bookings.workflow.js +3 -3
  14. package/__tests__/Session/workflows/logout.workflow.js +3 -3
  15. package/__tests__/Session/workflows/profile.workflow.js +3 -3
  16. package/__tests__/Signup/workflows/index.js +1 -0
  17. package/__tests__/Signup/workflows/signup.workflow.js +3 -3
  18. package/__tests__/Signup/workflows/signupError.workflow.js +22 -0
  19. package/__tests__/booking.spec.jsx +34 -0
  20. package/__tests__/{bookingQuery/bookingQuey._spec.js → bookingQuey._spec.js} +1 -2
  21. package/__tests__/buttonFinder.spec.js +16 -0
  22. package/__tests__/{Checkout/checkout.spec.jsx → checkout.spec.jsx} +6 -4
  23. package/__tests__/constants.js +3 -1
  24. package/__tests__/{Finder/finder.spec.js → finder.spec.js} +14 -13
  25. package/__tests__/{Rates/rates.spec.jsx → rates.spec.jsx} +1 -1
  26. package/__tests__/session.spec.js +32 -0
  27. package/__tests__/{Signup/signup.spec.js → signup.spec.js} +8 -4
  28. package/build/components/Booking/Booking.js +1 -0
  29. package/build/components/Booking/Booking.js.map +1 -1
  30. package/build/components/Booking/partials/Booking.Menu.js +4 -2
  31. package/build/components/Booking/partials/Booking.Menu.js.map +1 -1
  32. package/build/components/Booking/partials/Booking.Modal.js +4 -2
  33. package/build/components/Booking/partials/Booking.Modal.js.map +1 -1
  34. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Menu.test.js.snap +20 -0
  35. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Modal.test.js.snap +8 -0
  36. package/build/components/BookingQuery/BookingQuery.js +1 -1
  37. package/build/components/BookingQuery/BookingQuery.js.map +1 -1
  38. package/build/components/ButtonFinder/ButtonFinder.js +59 -0
  39. package/build/components/ButtonFinder/ButtonFinder.js.map +1 -0
  40. package/build/components/ButtonFinder/ButtonFinder.l10n.js +13 -0
  41. package/build/components/ButtonFinder/ButtonFinder.l10n.js.map +1 -0
  42. package/build/components/ButtonFinder/ButtonFinder.module.css +17 -0
  43. package/build/components/ButtonFinder/__tests__/__snapshots__/ButtonFinder.test.js.snap +8380 -0
  44. package/build/components/ButtonFinder/index.js +13 -0
  45. package/build/components/ButtonFinder/index.js.map +1 -0
  46. package/build/components/Session/Session.Account.js +2 -3
  47. package/build/components/Session/Session.Account.js.map +1 -1
  48. package/build/components/Session/__tests__/__snapshots__/Session.test.js.snap +2 -2
  49. package/build/components/__shared__/ButtonPayment/components/FormSipay/__tests__/__snapshots__/FormSipay.test.js.snap +6 -6
  50. package/build/components/__shared__/Occupation/__tests__/__snapshots__/Occupation.test.js.snap +4 -4
  51. package/build/components/index.js +2 -0
  52. package/build/components/index.js.map +1 -1
  53. package/build/helpers/sanitizeComponent.js +1 -0
  54. package/build/helpers/sanitizeComponent.js.map +1 -1
  55. package/package.json +1 -1
  56. package/public/routes/Home.jsx +2 -1
  57. package/public/routes/routes.module.css +4 -1
  58. package/public/themes/monalisa.theme.css +11 -30
  59. package/__tests__/Session/session.spec.js +0 -17
@@ -1 +1 @@
1
- {"version":3,"file":"Booking.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Booking","_Booking2","style","_Booking3","_components","_partials","_Booking4","_shared__","_Header","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Booking","_ref","skeleton","others","isDesktop","isMobile","useDevice","locale","translate","useLocale","value","hotel","url","urlParams","code","token","reservationCode","id","hasToTracking","tracking","useStore","action","setAction","useState","dataSource","setDataSource","expanded","setExpanded","responseError","setResponseError","useEffect","ServiceBooking","catch","error","trace","chainId","idchain","state","handleMenuPress","ACTION","PRINT","setTimeout","window","print","handleBackHome","payload","hotelUrl","location","origin","payment","response","undefined","isCancelled","STATE","CANCELLED","createElement","Fragment","Header","View","role","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","POS_ERROR","Notification","info","COMPLETED","small","success","CONFIRMED","warning","POSTPONED","wide","L10N","NOTIFICATION","Hotelverse","BookingPayment","onError","BookingSummary","box","showBasePrice","Information","BookingDetails","BookingTerms","side","noPrint","Menu","onPress","Modal","onChange","_ref2","onClose","large","NOTIFICATION_ERROR","ERROR","GENERIC","Action","paragraph","underline","ACTION_BACK_HOME","Footer","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Booking/Booking.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ACTION, ERROR, STATE } from './Booking.constants';\nimport { L10N } from './Booking.l10n';\nimport * as style from './Booking.module.css';\nimport Skeleton from './Booking.skeleton';\nimport { Hotelverse } from './components';\nimport { Information, Menu, Modal } from './partials';\nimport { BookingPayment } from './partials/Booking.Payment';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer } from '../__shared__';\nimport { Header } from '../Header';\nimport { trace } from '../helpers';\n\nconst Booking = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { locale, translate } = useLocale();\n const {\n value: {\n hotel: { url } = {},\n urlParams: { code: token, reservationCode: id, hasToTracking: tracking, ...urlParams } = {},\n },\n } = useStore();\n\n const [action, setAction] = useState();\n const [dataSource, setDataSource] = useState();\n const [expanded, setExpanded] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n if (skeleton || !id || !token) return;\n\n (async () => {\n setDataSource(\n await ServiceBooking.get({ id, locale, token, tracking, url }).catch((error) => setResponseError(error)),\n );\n setAction();\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id, locale]);\n\n useEffect(() => {\n if (!dataSource) return;\n\n dataSource.tracking && trace({ ...dataSource.tracking, chainId: urlParams.idchain });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource?.state]);\n\n const handleMenuPress = (action) => {\n if (action === ACTION.PRINT) {\n setExpanded(true);\n setTimeout(window.print, 10);\n } else {\n setAction(action);\n }\n };\n\n const handleBackHome = () => {\n const { payload: { hotelUrl } = {} } = responseError;\n\n window.location = hotelUrl || window.location.origin;\n };\n\n const { payment, state } = dataSource || {};\n const response = dataSource !== undefined;\n const isCancelled = state === STATE.CANCELLED;\n\n return (\n <>\n <Header />\n\n <View role=\"booking\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <View row={isDesktop} className={style.content}>\n <View>\n {state !== STATE.POS_ERROR && (\n <Notification\n error={isCancelled}\n info={state === STATE.COMPLETED}\n small={isMobile}\n success={state === STATE.CONFIRMED}\n warning={state === STATE.POSTPONED}\n wide\n >\n {translate(L10N.NOTIFICATION[state])}\n <Hotelverse {...dataSource} />\n </Notification>\n )}\n\n {payment && !isCancelled && <BookingPayment {...{ dataSource, onError: setResponseError }} />}\n\n <BookingSummary\n box={!isDesktop}\n dataSource={{ ...dataSource, showBasePrice: true }}\n className={styles(isDesktop && style.print)}\n />\n\n <Information dataSource={dataSource} />\n <BookingDetails {...{ dataSource, expanded }} className={style.box} />\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <View className={style.side}>\n {isDesktop && (\n <BookingSummary box dataSource={{ ...dataSource, showBasePrice: true }} className={style.noPrint} />\n )}\n\n <Menu dataSource={dataSource} onPress={handleMenuPress} />\n </View>\n </View>\n\n <Modal\n {...{ action, dataSource: { ...dataSource, token } }}\n onChange={({ response: { tracking } = {}, state }) =>\n state && setDataSource({ ...dataSource, tracking, state })\n }\n onClose={() => setAction()}\n />\n </>\n ) : responseError ? (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code] || L10N.NOTIFICATION_ERROR[ERROR.GENERIC])}\n <Action paragraph underline wide onPress={handleBackHome}>\n {translate(L10N.ACTION_BACK_HOME)}\n </Action>\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n\n <Footer />\n </>\n );\n};\n\nBooking.displayName = 'Mirai:Core:Booking';\n\nBooking.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Booking };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Booking.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Booking","_Booking2","style","_Booking3","_components","_partials","_Booking4","_shared__","_Header","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Booking","_ref","skeleton","others","isDesktop","isMobile","useDevice","locale","translate","useLocale","value","hotel","url","urlParams","code","token","reservationCode","id","hasToTracking","tracking","useStore","action","setAction","useState","dataSource","setDataSource","expanded","setExpanded","responseError","setResponseError","useEffect","ServiceBooking","catch","error","trace","chainId","idchain","state","handleMenuPress","ACTION","PRINT","setTimeout","window","print","handleBackHome","payload","hotelUrl","location","origin","payment","response","undefined","isCancelled","STATE","CANCELLED","createElement","Fragment","Header","View","role","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","POS_ERROR","Notification","info","COMPLETED","small","success","CONFIRMED","warning","POSTPONED","wide","L10N","NOTIFICATION","Hotelverse","BookingPayment","onError","BookingSummary","box","showBasePrice","Information","BookingDetails","BookingTerms","side","noPrint","Menu","onPress","Modal","onChange","_ref2","onClose","large","NOTIFICATION_ERROR","ERROR","GENERIC","Action","paragraph","underline","ACTION_BACK_HOME","Footer","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Booking/Booking.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ACTION, ERROR, STATE } from './Booking.constants';\nimport { L10N } from './Booking.l10n';\nimport * as style from './Booking.module.css';\nimport Skeleton from './Booking.skeleton';\nimport { Hotelverse } from './components';\nimport { Information, Menu, Modal } from './partials';\nimport { BookingPayment } from './partials/Booking.Payment';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer } from '../__shared__';\nimport { Header } from '../Header';\nimport { trace } from '../helpers';\n\nconst Booking = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { locale, translate } = useLocale();\n const {\n value: {\n hotel: { url } = {},\n urlParams: { code: token, reservationCode: id, hasToTracking: tracking, ...urlParams } = {},\n },\n } = useStore();\n\n const [action, setAction] = useState();\n const [dataSource, setDataSource] = useState();\n const [expanded, setExpanded] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n if (skeleton || !id || !token) return;\n\n (async () => {\n setDataSource(\n await ServiceBooking.get({ id, locale, token, tracking, url }).catch((error) => setResponseError(error)),\n );\n setAction();\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id, locale]);\n\n useEffect(() => {\n if (!dataSource) return;\n\n dataSource.tracking && trace({ ...dataSource.tracking, chainId: urlParams.idchain });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource?.state]);\n\n const handleMenuPress = (action) => {\n if (action === ACTION.PRINT) {\n setExpanded(true);\n setTimeout(window.print, 10);\n } else {\n setAction(action);\n }\n };\n\n const handleBackHome = () => {\n const { payload: { hotelUrl } = {} } = responseError;\n\n window.location = hotelUrl || window.location.origin;\n };\n\n const { payment, state } = dataSource || {};\n const response = dataSource !== undefined;\n const isCancelled = state === STATE.CANCELLED;\n\n return (\n <>\n <Header />\n\n <View role=\"booking\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <View row={isDesktop} className={style.content}>\n <View>\n {state !== STATE.POS_ERROR && (\n <Notification\n error={isCancelled}\n info={state === STATE.COMPLETED}\n small={isMobile}\n success={state === STATE.CONFIRMED}\n warning={state === STATE.POSTPONED}\n wide\n >\n {translate(L10N.NOTIFICATION[state])}\n <Hotelverse {...dataSource} />\n </Notification>\n )}\n\n {payment && !isCancelled && <BookingPayment {...{ dataSource, onError: setResponseError }} />}\n\n <BookingSummary\n box={!isDesktop}\n dataSource={{ ...dataSource, showBasePrice: true }}\n className={styles(isDesktop && style.print)}\n />\n\n <Information dataSource={dataSource} />\n <BookingDetails {...{ dataSource, expanded }} expanded={isMobile} className={style.box} />\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <View className={style.side}>\n {isDesktop && (\n <BookingSummary box dataSource={{ ...dataSource, showBasePrice: true }} className={style.noPrint} />\n )}\n\n <Menu dataSource={dataSource} onPress={handleMenuPress} />\n </View>\n </View>\n\n <Modal\n {...{ action, dataSource: { ...dataSource, token } }}\n onChange={({ response: { tracking } = {}, state }) =>\n state && setDataSource({ ...dataSource, tracking, state })\n }\n onClose={() => setAction()}\n />\n </>\n ) : responseError ? (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code] || L10N.NOTIFICATION_ERROR[ERROR.GENERIC])}\n <Action paragraph underline wide onPress={handleBackHome}>\n {translate(L10N.ACTION_BACK_HOME)}\n </Action>\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n\n <Footer />\n </>\n );\n};\n\nBooking.displayName = 'Mirai:Core:Booking';\n\nBooking.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Booking };\n"],"mappings":"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"}
@@ -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
@@ -76,7 +76,7 @@ const BookingQuery = _ref => {
76
76
  pinCode
77
77
  } = form;
78
78
  const {
79
- ['testId']: testId
79
+ testId
80
80
  } = others;
81
81
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
82
82
  onPress: () => setModal(true),
@@ -1 +1 @@
1
- {"version":3,"file":"BookingQuery.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BookingQuery","_BookingQueryL10n","style","_helpers","_helpers2","_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","BookingQuery","_ref","ghost","others","translate","useLocale","value","language","DEFAULT_LOCALE","split","useStore","busy","setBusy","useState","form","setForm","formError","setFormError","modal","setModal","responseError","setResponseError","useEffect","undefined","touched","handleSubmit","idHotel","token","ServiceUser","booking","catch","error","url","concat","process","env","SERVICE_BOOKING","ENDPOINT","BOOKING","toUrlParams","code","lang","pinCode","reservationCode","id","document","location","href","testId","createElement","Fragment","Pressable","onPress","dangerouslySetInnerHTML","__html","template","outerHTML","role","Text","L10N","BOOKING_QUERY","Modal","visible","title","TITLE","onClose","Form","validateOnMount","onChange","onError","onSubmit","className","styles","description","wide","DESCRIPTION","InputText","name","label","BOOKING_CODE_LABEL","required","PIN_CODE_LABEL","type","Notification","small","getErrorText","Button","disabled","keys","large","button","CTA","bold","LABEL_RESERVATION_CODE","LABEL_RESERVATION_CODE_DESCRIPTION","exports","displayName","propTypes","PropTypes","any"],"sources":["../../../src/components/BookingQuery/BookingQuery.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { DEFAULT_LOCALE, useLocale } from '@mirai/locale';\nimport { ServiceUser } from '@mirai/services';\nimport { Button, Form, InputText, Modal, Notification, Pressable, styles, Text } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ENDPOINT } from './BookingQuery.constants';\nimport { L10N } from './BookingQuery.l10n.js';\nimport * as style from './BookingQuery.module.css';\nimport { getErrorText } from './helpers';\nimport { template, toUrlParams } from '../helpers';\n\nconst BookingQuery = ({ ghost, ...others }) => {\n const { translate } = useLocale();\n const { value: { language = DEFAULT_LOCALE.split('-') } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [form, setForm] = useState({});\n const [formError, setFormError] = useState({});\n const [modal, setModal] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n setResponseError(undefined);\n setBusy(false);\n }, [form]);\n\n useEffect(() => {\n setForm({});\n setFormError({ touched: false });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [modal]);\n const handleSubmit = async (form) => {\n setBusy(true);\n setResponseError(undefined);\n\n const { idHotel, token } =\n (await ServiceUser.booking({ ...form }).catch((error) => {\n setResponseError(error);\n })) || {};\n\n if (!token) {\n return setBusy(false);\n }\n\n const url = `${process.env.SERVICE_BOOKING}/${ENDPOINT.BOOKING}${toUrlParams({\n code: token,\n idHotel,\n lang: language,\n pinCode: form.pinCode,\n reservationCode: form.id,\n })}`;\n\n document.location.href = url;\n };\n\n const { id, pinCode } = form;\n const { ['testId']: testId } = others;\n\n return (\n <>\n <Pressable\n onPress={() => setModal(true)}\n dangerouslySetInnerHTML={ghost ? { __html: template(ghost.outerHTML, undefined, translate) } : undefined}\n testId={testId ? `${testId}-button-open-modal` : undefined}\n role=\"bookingquery\"\n >\n {!ghost ? <Text role=\"content\">{translate(L10N.BOOKING_QUERY)}</Text> : undefined}\n </Pressable>\n\n <Modal\n visible={modal}\n title={translate(L10N.TITLE)}\n onClose={() => setModal(false)}\n testId={testId ? `${testId}-modal` : undefined}\n >\n <Form\n {...others}\n validateOnMount\n onChange={setForm}\n onError={setFormError}\n onSubmit={handleSubmit}\n className={style.form}\n >\n <Text className={styles(style.description, style.wide)}>{translate(L10N.DESCRIPTION)}</Text>\n\n <InputText\n name=\"id\"\n label={translate(L10N.BOOKING_CODE_LABEL)}\n required\n value={id}\n testId={testId ? `${testId}-input-id` : undefined}\n />\n <InputText\n name=\"pinCode\"\n label={translate(L10N.PIN_CODE_LABEL)}\n required\n type=\"password\"\n value={pinCode}\n testId={testId ? `${testId}-input-pinCode` : undefined}\n />\n\n {!busy && responseError && (\n <Notification small error testId={testId ? `${testId}-notification-error` : undefined}>\n {translate(getErrorText(responseError))}\n </Notification>\n )}\n\n <Button\n busy={busy}\n disabled={Object.keys(formError).length !== 0}\n large\n wide\n type=\"submit\"\n onPress={() => {}}\n className={style.button}\n testId={testId ? `${testId}-button-cta` : undefined}\n >\n {translate(L10N.CTA)}\n </Button>\n\n <Text bold small className={style.wide}>\n {translate(L10N.LABEL_RESERVATION_CODE)}\n </Text>\n <Text small className={style.wide}>\n {translate(L10N.LABEL_RESERVATION_CODE_DESCRIPTION)}\n </Text>\n </Form>\n </Modal>\n </>\n );\n};\n\nBookingQuery.displayName = 'Mirai:Core:BookingQuery';\n\nBookingQuery.propTypes = {\n ghost: PropTypes.any,\n};\n\nexport { BookingQuery };\n"],"mappings":"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"}
1
+ {"version":3,"file":"BookingQuery.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BookingQuery","_BookingQueryL10n","style","_helpers","_helpers2","_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","BookingQuery","_ref","ghost","others","translate","useLocale","value","language","DEFAULT_LOCALE","split","useStore","busy","setBusy","useState","form","setForm","formError","setFormError","modal","setModal","responseError","setResponseError","useEffect","undefined","touched","handleSubmit","idHotel","token","ServiceUser","booking","catch","error","url","concat","process","env","SERVICE_BOOKING","ENDPOINT","BOOKING","toUrlParams","code","lang","pinCode","reservationCode","id","document","location","href","testId","createElement","Fragment","Pressable","onPress","dangerouslySetInnerHTML","__html","template","outerHTML","role","Text","L10N","BOOKING_QUERY","Modal","visible","title","TITLE","onClose","Form","validateOnMount","onChange","onError","onSubmit","className","styles","description","wide","DESCRIPTION","InputText","name","label","BOOKING_CODE_LABEL","required","PIN_CODE_LABEL","type","Notification","small","getErrorText","Button","disabled","keys","large","button","CTA","bold","LABEL_RESERVATION_CODE","LABEL_RESERVATION_CODE_DESCRIPTION","exports","displayName","propTypes","PropTypes","any"],"sources":["../../../src/components/BookingQuery/BookingQuery.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { DEFAULT_LOCALE, useLocale } from '@mirai/locale';\nimport { ServiceUser } from '@mirai/services';\nimport { Button, Form, InputText, Modal, Notification, Pressable, styles, Text } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ENDPOINT } from './BookingQuery.constants';\nimport { L10N } from './BookingQuery.l10n.js';\nimport * as style from './BookingQuery.module.css';\nimport { getErrorText } from './helpers';\nimport { template, toUrlParams } from '../helpers';\n\nconst BookingQuery = ({ ghost, ...others }) => {\n const { translate } = useLocale();\n const { value: { language = DEFAULT_LOCALE.split('-') } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [form, setForm] = useState({});\n const [formError, setFormError] = useState({});\n const [modal, setModal] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n setResponseError(undefined);\n setBusy(false);\n }, [form]);\n\n useEffect(() => {\n setForm({});\n setFormError({ touched: false });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [modal]);\n const handleSubmit = async (form) => {\n setBusy(true);\n setResponseError(undefined);\n\n const { idHotel, token } =\n (await ServiceUser.booking({ ...form }).catch((error) => {\n setResponseError(error);\n })) || {};\n\n if (!token) {\n return setBusy(false);\n }\n\n const url = `${process.env.SERVICE_BOOKING}/${ENDPOINT.BOOKING}${toUrlParams({\n code: token,\n idHotel,\n lang: language,\n pinCode: form.pinCode,\n reservationCode: form.id,\n })}`;\n\n document.location.href = url;\n };\n\n const { id, pinCode } = form;\n const { testId } = others;\n\n return (\n <>\n <Pressable\n onPress={() => setModal(true)}\n dangerouslySetInnerHTML={ghost ? { __html: template(ghost.outerHTML, undefined, translate) } : undefined}\n testId={testId ? `${testId}-button-open-modal` : undefined}\n role=\"bookingquery\"\n >\n {!ghost ? <Text role=\"content\">{translate(L10N.BOOKING_QUERY)}</Text> : undefined}\n </Pressable>\n\n <Modal\n visible={modal}\n title={translate(L10N.TITLE)}\n onClose={() => setModal(false)}\n testId={testId ? `${testId}-modal` : undefined}\n >\n <Form\n {...others}\n validateOnMount\n onChange={setForm}\n onError={setFormError}\n onSubmit={handleSubmit}\n className={style.form}\n >\n <Text className={styles(style.description, style.wide)}>{translate(L10N.DESCRIPTION)}</Text>\n\n <InputText\n name=\"id\"\n label={translate(L10N.BOOKING_CODE_LABEL)}\n required\n value={id}\n testId={testId ? `${testId}-input-id` : undefined}\n />\n <InputText\n name=\"pinCode\"\n label={translate(L10N.PIN_CODE_LABEL)}\n required\n type=\"password\"\n value={pinCode}\n testId={testId ? `${testId}-input-pinCode` : undefined}\n />\n\n {!busy && responseError && (\n <Notification small error testId={testId ? `${testId}-notification-error` : undefined}>\n {translate(getErrorText(responseError))}\n </Notification>\n )}\n\n <Button\n busy={busy}\n disabled={Object.keys(formError).length !== 0}\n large\n wide\n type=\"submit\"\n onPress={() => {}}\n className={style.button}\n testId={testId ? `${testId}-button-cta` : undefined}\n >\n {translate(L10N.CTA)}\n </Button>\n\n <Text bold small className={style.wide}>\n {translate(L10N.LABEL_RESERVATION_CODE)}\n </Text>\n <Text small className={style.wide}>\n {translate(L10N.LABEL_RESERVATION_CODE_DESCRIPTION)}\n </Text>\n </Form>\n </Modal>\n </>\n );\n};\n\nBookingQuery.displayName = 'Mirai:Core:BookingQuery';\n\nBookingQuery.propTypes = {\n ghost: PropTypes.any,\n};\n\nexport { BookingQuery };\n"],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ButtonFinder = void 0;
7
+ var _locale = require("@mirai/locale");
8
+ var _ui = require("@mirai/ui");
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _ButtonFinderL10n = require("./ButtonFinder.l10n.js");
12
+ var style = _interopRequireWildcard(require("./ButtonFinder.module.css"));
13
+ var _Finder = require("../Finder/Finder");
14
+ var _helpers = require("../helpers");
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+ const ButtonFinder = _ref => {
19
+ let {
20
+ ghost,
21
+ text,
22
+ ...others
23
+ } = _ref;
24
+ const {
25
+ translate
26
+ } = (0, _locale.useLocale)();
27
+ const [modal, setModal] = (0, _react.useState)(false);
28
+ const toggleModal = () => setModal(!modal);
29
+ const {
30
+ testId = 'button-finder'
31
+ } = others;
32
+ const buttonTestId = "".concat(testId, "-button-modal");
33
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !ghost ? /*#__PURE__*/_react.default.createElement(_ui.Button, {
34
+ onPress: toggleModal,
35
+ className: (0, _ui.styles)(style.button, others.className),
36
+ testId: buttonTestId
37
+ }, text || translate(_ButtonFinderL10n.L10N.ACTION_RESERVE)) : /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
38
+ onPress: toggleModal,
39
+ className: others.className,
40
+ testId: buttonTestId,
41
+ dangerouslySetInnerHTML: ghost ? {
42
+ __html: (0, _helpers.template)(ghost.outerHTML, undefined, translate)
43
+ } : undefined
44
+ }), /*#__PURE__*/_react.default.createElement(_ui.Modal, {
45
+ title: text || translate(_ButtonFinderL10n.L10N.ACTION_RESERVE),
46
+ visible: modal,
47
+ onClose: toggleModal,
48
+ testId: testId ? "".concat(testId, "-modal") : undefined
49
+ }, /*#__PURE__*/_react.default.createElement(_Finder.Finder, {
50
+ layout: "column"
51
+ })));
52
+ };
53
+ exports.ButtonFinder = ButtonFinder;
54
+ ButtonFinder.displayName = 'Mirai:Core:ButtonFinder';
55
+ ButtonFinder.propTypes = {
56
+ ghost: _propTypes.default.any,
57
+ text: _propTypes.default.string
58
+ };
59
+ //# sourceMappingURL=ButtonFinder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonFinder.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_ButtonFinderL10n","style","_Finder","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ButtonFinder","_ref","ghost","text","others","translate","useLocale","modal","setModal","useState","toggleModal","testId","buttonTestId","concat","createElement","Fragment","Button","onPress","className","styles","button","L10N","ACTION_RESERVE","Pressable","dangerouslySetInnerHTML","__html","template","outerHTML","undefined","Modal","title","visible","onClose","Finder","layout","exports","displayName","propTypes","PropTypes","any","string"],"sources":["../../../src/components/ButtonFinder/ButtonFinder.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Button, Modal, Pressable, styles } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { L10N } from './ButtonFinder.l10n.js';\nimport * as style from './ButtonFinder.module.css';\nimport { Finder } from '../Finder/Finder';\nimport { template } from '../helpers';\n\nconst ButtonFinder = ({ ghost, text, ...others }) => {\n const { translate } = useLocale();\n\n const [modal, setModal] = useState(false);\n\n const toggleModal = () => setModal(!modal);\n\n const { testId = 'button-finder' } = others;\n const buttonTestId = `${testId}-button-modal`;\n\n return (\n <>\n {!ghost ? (\n <Button onPress={toggleModal} className={styles(style.button, others.className)} testId={buttonTestId}>\n {text || translate(L10N.ACTION_RESERVE)}\n </Button>\n ) : (\n <Pressable\n onPress={toggleModal}\n className={others.className}\n testId={buttonTestId}\n dangerouslySetInnerHTML={ghost ? { __html: template(ghost.outerHTML, undefined, translate) } : undefined}\n />\n )}\n\n <Modal\n title={text || translate(L10N.ACTION_RESERVE)}\n visible={modal}\n onClose={toggleModal}\n testId={testId ? `${testId}-modal` : undefined}\n >\n <Finder layout=\"column\" />\n </Modal>\n </>\n );\n};\n\nButtonFinder.displayName = 'Mirai:Core:ButtonFinder';\n\nButtonFinder.propTypes = {\n ghost: PropTypes.any,\n text: PropTypes.string,\n};\n\nexport { ButtonFinder };\n"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.L10N = void 0;
7
+ const L10N = exports.L10N = {
8
+ ACTION_RESERVE: {
9
+ id: 'common.action.reserve',
10
+ defaultMessage: '   '
11
+ }
12
+ };
13
+ //# sourceMappingURL=ButtonFinder.l10n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonFinder.l10n.js","names":["L10N","exports","ACTION_RESERVE","id","defaultMessage"],"sources":["../../../src/components/ButtonFinder/ButtonFinder.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_RESERVE: { id: 'common.action.reserve', defaultMessage: '   ' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,cAAc,EAAE;IAAEC,EAAE,EAAE,uBAAuB;IAAEC,cAAc,EAAE;EAAM;AACvE,CAAC"}