@mirai/core 0.3.377 → 0.3.379

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 (52) hide show
  1. package/__tests__/Finder/finder._spec.js +18 -0
  2. package/__tests__/Session/session.spec.js +17 -0
  3. package/__tests__/Session/workflows/bookings.workflow.js +18 -0
  4. package/__tests__/Session/workflows/forgotPassword.workflow.js +18 -0
  5. package/__tests__/Session/workflows/index.js +5 -0
  6. package/__tests__/Session/workflows/login.workflow.js +27 -0
  7. package/__tests__/Session/workflows/logout.workflow.js +8 -0
  8. package/__tests__/Session/workflows/profile.workflow.js +47 -0
  9. package/__tests__/Signup/signup.spec.js +13 -0
  10. package/__tests__/Signup/workflows/index.js +1 -0
  11. package/__tests__/Signup/workflows/signup.workflow.js +24 -0
  12. package/__tests__/helpers/closeNotification.js +7 -0
  13. package/__tests__/helpers/index.js +1 -0
  14. package/build/Core.Notifications.js +1 -1
  15. package/build/Core.Notifications.js.map +1 -1
  16. package/build/components/Booking/__tests__/__snapshots__/Booking.test.js.snap +10 -10
  17. package/build/components/Checkout/__tests__/__snapshots__/Checkout.test.js.snap +16 -16
  18. package/build/components/Header/Header.js +1 -0
  19. package/build/components/Header/Header.js.map +1 -1
  20. package/build/components/Profile/components/Bookings/Bookings.Search.js +9 -8
  21. package/build/components/Profile/components/Bookings/Bookings.Search.js.map +1 -1
  22. package/build/components/Profile/components/Bookings/Bookings.js +1 -0
  23. package/build/components/Profile/components/Bookings/Bookings.js.map +1 -1
  24. package/build/components/Profile/components/Settings/Settings.Account.js +2 -2
  25. package/build/components/Profile/components/Settings/Settings.Account.js.map +1 -1
  26. package/build/components/Profile/components/Settings/Settings.Password.js +31 -33
  27. package/build/components/Profile/components/Settings/Settings.Password.js.map +1 -1
  28. package/build/components/Profile/components/Settings/Settings.Signout.js +11 -8
  29. package/build/components/Profile/components/Settings/Settings.Signout.js.map +1 -1
  30. package/build/components/Profile/components/Settings/Settings.js +2 -1
  31. package/build/components/Profile/components/Settings/Settings.js.map +1 -1
  32. package/build/components/Profile/components/Settings/Settings.l10n.js +4 -0
  33. package/build/components/Profile/components/Settings/Settings.l10n.js.map +1 -1
  34. package/build/components/Profile/components/Settings/Settings.module.css +2 -4
  35. package/build/components/Rates/helpers/trackDataSource.js +1 -2
  36. package/build/components/Rates/helpers/trackDataSource.js.map +1 -1
  37. package/build/components/Session/Session.Account.js +10 -5
  38. package/build/components/Session/Session.Account.js.map +1 -1
  39. package/build/components/Session/Session.Login.Modal.js +10 -5
  40. package/build/components/Session/Session.Login.Modal.js.map +1 -1
  41. package/build/components/Session/Session.Login.js +2 -1
  42. package/build/components/Session/Session.Login.js.map +1 -1
  43. package/build/components/Session/__tests__/__snapshots__/Session.test.js.snap +23 -0
  44. package/build/components/Signup/Signup.js +3 -1
  45. package/build/components/Signup/Signup.js.map +1 -1
  46. package/build/components/Signup/__tests__/__snapshots__/Signup.test.js.snap +9 -6
  47. package/build/index.js +2 -1
  48. package/build/index.js.map +1 -1
  49. package/package.json +3 -3
  50. package/playwright.config.js +25 -89
  51. package/public/routes/Home.jsx +0 -2
  52. /package/__tests__/bookingQuery/{bookingQuey.spec.js → bookingQuey._spec.js} +0 -0
@@ -46,8 +46,7 @@ html {
46
46
  }
47
47
 
48
48
  .form .notification {
49
- width: 100%;
50
- text-align: center;
49
+ margin-bottom: var(--mirai-ui-space-M);
51
50
  }
52
51
 
53
52
  .modal {
@@ -60,8 +59,7 @@ html {
60
59
  }
61
60
 
62
61
  .modal .buttons {
63
- gap: var(--mirai-ui-space-L);
64
- justify-content: flex-end;
62
+ gap: var(--mirai-ui-space-M);
65
63
  }
66
64
 
67
65
  /* S */
@@ -8,7 +8,6 @@ var _locale = require("@mirai/locale");
8
8
  var _helpers = require("../../helpers");
9
9
  const trackDataSource = function () {
10
10
  let {
11
- currency: userCurrency,
12
11
  device,
13
12
  hotels,
14
13
  occupation,
@@ -45,7 +44,7 @@ const trackDataSource = function () {
45
44
  numChildren,
46
45
  numRooms: occupation.length,
47
46
  searchCategory,
48
- userCurrency
47
+ userCurrency: tracking === null || tracking === void 0 ? void 0 : tracking.userCurrency
49
48
  },
50
49
  chainId,
51
50
  hotelId,
@@ -1 +1 @@
1
- {"version":3,"file":"trackDataSource.js","names":["_locale","require","_helpers","trackDataSource","currency","userCurrency","device","hotels","occupation","place","title","searchCategory","tracking","urlParams","checkin","clientCode","idchain","chainId","idtokenprovider","hotelId","lang","language","nights","arguments","length","undefined","adults","numAdults","children","numChildren","getOccupationTotals","trace","bookingValues","checkout","dateFormat","dateCalc","parseDate","parseInt","format","numRooms","step","STEP","HOTELS","RATES","exports"],"sources":["../../../../src/components/Rates/helpers/trackDataSource.js"],"sourcesContent":["import { dateCalc, parseDate, dateFormat } from '@mirai/locale';\n\nimport { getOccupationTotals, STEP, trace } from '../../helpers';\n\nexport const trackDataSource = ({\n currency: userCurrency,\n device,\n hotels,\n occupation,\n place: { title: searchCategory } = {},\n tracking,\n urlParams: { checkin, clientCode, idchain: chainId, idtokenprovider: hotelId, lang: language, nights } = {},\n} = {}) => {\n const { adults: numAdults, children: numChildren } = getOccupationTotals({ occupation });\n\n trace({\n bookingValues: {\n checkin,\n checkout: dateFormat(dateCalc(parseDate(checkin), parseInt(nights), 'days'), { format: 'DD/MM/YYYY' }),\n clientCode,\n device,\n language,\n nights,\n numAdults,\n numChildren,\n numRooms: occupation.length,\n searchCategory,\n userCurrency,\n },\n chainId,\n hotelId,\n step: hotels && searchCategory ? STEP.HOTELS : STEP.RATES,\n ...tracking,\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAEO,MAAME,eAAe,GAAG,SAAAA,CAAA,EAQpB;EAAA,IARqB;IAC9BC,QAAQ,EAAEC,YAAY;IACtBC,MAAM;IACNC,MAAM;IACNC,UAAU;IACVC,KAAK,EAAE;MAAEC,KAAK,EAAEC;IAAe,CAAC,GAAG,CAAC,CAAC;IACrCC,QAAQ;IACRC,SAAS,EAAE;MAAEC,OAAO;MAAEC,UAAU;MAAEC,OAAO,EAAEC,OAAO;MAAEC,eAAe,EAAEC,OAAO;MAAEC,IAAI,EAAEC,QAAQ;MAAEC;IAAO,CAAC,GAAG,CAAC;EAC5G,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACJ,MAAM;IAAEG,MAAM,EAAEC,SAAS;IAAEC,QAAQ,EAAEC;EAAY,CAAC,GAAG,IAAAC,4BAAmB,EAAC;IAAEtB;EAAW,CAAC,CAAC;EAExF,IAAAuB,cAAK,EAAC;IACJC,aAAa,EAAE;MACblB,OAAO;MACPmB,QAAQ,EAAE,IAAAC,kBAAU,EAAC,IAAAC,gBAAQ,EAAC,IAAAC,iBAAS,EAACtB,OAAO,CAAC,EAAEuB,QAAQ,CAACf,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE;QAAEgB,MAAM,EAAE;MAAa,CAAC,CAAC;MACtGvB,UAAU;MACVT,MAAM;MACNe,QAAQ;MACRC,MAAM;MACNK,SAAS;MACTE,WAAW;MACXU,QAAQ,EAAE/B,UAAU,CAACgB,MAAM;MAC3Bb,cAAc;MACdN;IACF,CAAC;IACDY,OAAO;IACPE,OAAO;IACPqB,IAAI,EAAEjC,MAAM,IAAII,cAAc,GAAG8B,aAAI,CAACC,MAAM,GAAGD,aAAI,CAACE,KAAK;IACzD,GAAG/B;EACL,CAAC,CAAC;AACJ,CAAC;AAACgC,OAAA,CAAAzC,eAAA,GAAAA,eAAA"}
1
+ {"version":3,"file":"trackDataSource.js","names":["_locale","require","_helpers","trackDataSource","device","hotels","occupation","place","title","searchCategory","tracking","urlParams","checkin","clientCode","idchain","chainId","idtokenprovider","hotelId","lang","language","nights","arguments","length","undefined","adults","numAdults","children","numChildren","getOccupationTotals","trace","bookingValues","checkout","dateFormat","dateCalc","parseDate","parseInt","format","numRooms","userCurrency","step","STEP","HOTELS","RATES","exports"],"sources":["../../../../src/components/Rates/helpers/trackDataSource.js"],"sourcesContent":["import { dateCalc, parseDate, dateFormat } from '@mirai/locale';\n\nimport { getOccupationTotals, STEP, trace } from '../../helpers';\n\nexport const trackDataSource = ({\n device,\n hotels,\n occupation,\n place: { title: searchCategory } = {},\n tracking,\n urlParams: { checkin, clientCode, idchain: chainId, idtokenprovider: hotelId, lang: language, nights } = {},\n} = {}) => {\n const { adults: numAdults, children: numChildren } = getOccupationTotals({ occupation });\n\n trace({\n bookingValues: {\n checkin,\n checkout: dateFormat(dateCalc(parseDate(checkin), parseInt(nights), 'days'), { format: 'DD/MM/YYYY' }),\n clientCode,\n device,\n language,\n nights,\n numAdults,\n numChildren,\n numRooms: occupation.length,\n searchCategory,\n userCurrency: tracking?.userCurrency,\n },\n chainId,\n hotelId,\n step: hotels && searchCategory ? STEP.HOTELS : STEP.RATES,\n ...tracking,\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAEO,MAAME,eAAe,GAAG,SAAAA,CAAA,EAOpB;EAAA,IAPqB;IAC9BC,MAAM;IACNC,MAAM;IACNC,UAAU;IACVC,KAAK,EAAE;MAAEC,KAAK,EAAEC;IAAe,CAAC,GAAG,CAAC,CAAC;IACrCC,QAAQ;IACRC,SAAS,EAAE;MAAEC,OAAO;MAAEC,UAAU;MAAEC,OAAO,EAAEC,OAAO;MAAEC,eAAe,EAAEC,OAAO;MAAEC,IAAI,EAAEC,QAAQ;MAAEC;IAAO,CAAC,GAAG,CAAC;EAC5G,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACJ,MAAM;IAAEG,MAAM,EAAEC,SAAS;IAAEC,QAAQ,EAAEC;EAAY,CAAC,GAAG,IAAAC,4BAAmB,EAAC;IAAEtB;EAAW,CAAC,CAAC;EAExF,IAAAuB,cAAK,EAAC;IACJC,aAAa,EAAE;MACblB,OAAO;MACPmB,QAAQ,EAAE,IAAAC,kBAAU,EAAC,IAAAC,gBAAQ,EAAC,IAAAC,iBAAS,EAACtB,OAAO,CAAC,EAAEuB,QAAQ,CAACf,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE;QAAEgB,MAAM,EAAE;MAAa,CAAC,CAAC;MACtGvB,UAAU;MACVT,MAAM;MACNe,QAAQ;MACRC,MAAM;MACNK,SAAS;MACTE,WAAW;MACXU,QAAQ,EAAE/B,UAAU,CAACgB,MAAM;MAC3Bb,cAAc;MACd6B,YAAY,EAAE5B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE4B;IAC1B,CAAC;IACDvB,OAAO;IACPE,OAAO;IACPsB,IAAI,EAAElC,MAAM,IAAII,cAAc,GAAG+B,aAAI,CAACC,MAAM,GAAGD,aAAI,CAACE,KAAK;IACzD,GAAGhC;EACL,CAAC,CAAC;AACJ,CAAC;AAACiC,OAAA,CAAAxC,eAAA,GAAAA,eAAA"}
@@ -110,11 +110,13 @@ const Account = _ref => {
110
110
  let options = type === _Core.AUTH_TYPE.MIRAI ? [{
111
111
  icon: _helpers2.ICON.PERSON,
112
112
  label: translate(_Session2.L10N.ACTION_MANAGE_ACCOUNT),
113
- value: 'profile'
113
+ value: 'profile',
114
+ testId: 'session-profile'
114
115
  }, {
115
116
  icon: _helpers2.ICON.LIST,
116
117
  label: translate(_Session2.L10N.ACTION_MY_BOOKINGS),
117
- value: 'bookings'
118
+ value: 'bookings',
119
+ testId: 'session-bookings'
118
120
  }] : [];
119
121
  if (level) options = [{
120
122
  divider: true,
@@ -138,15 +140,18 @@ const Account = _ref => {
138
140
  options: session ? [...options, {
139
141
  icon: _helpers2.ICON.LOGOUT,
140
142
  label: translate(_Session2.L10N.CTA_LOGOUT),
141
- value: 'logout'
143
+ value: 'logout',
144
+ testId: 'session-logout'
142
145
  }] : null,
143
- onPress: handlePress
146
+ onPress: handlePress,
147
+ testId: "profile-menu"
144
148
  }, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
145
149
  onPress: () => setMenu(!menu),
146
150
  dangerouslySetInnerHTML: ghost ? {
147
151
  __html: (0, _helpers2.template)(ghost.outerHTML, session, translate)
148
152
  } : undefined,
149
- className: style.pressable
153
+ className: style.pressable,
154
+ testId: "show-session-menu"
150
155
  }, !ghost ? /*#__PURE__*/_react.default.createElement(_ui.View, {
151
156
  row: true,
152
157
  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","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 { icon: ICON.PERSON, label: translate(L10N.ACTION_MANAGE_ACCOUNT), value: 'profile' },\n { icon: ICON.LIST, label: translate(L10N.ACTION_MY_BOOKINGS), value: '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 >\n <Pressable\n onPress={() => setMenu(!menu)}\n dangerouslySetInnerHTML={ghost ? { __html: template(ghost.outerHTML, session, translate) } : undefined}\n className={style.pressable}\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\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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"}
@@ -225,10 +225,12 @@ const Modal = _ref => {
225
225
  }, /*#__PURE__*/_react.default.createElement(_ui.Action, {
226
226
  tag: "div",
227
227
  disabled: busy,
228
- onPress: handleResetPassword
228
+ onPress: handleResetPassword,
229
+ testId: "login-action"
229
230
  }, translate(!resetPassword ? _Session2.L10N.ACTION_RESET : _Session2.L10N.ACTION_BACK))), !busy && responseError && /*#__PURE__*/_react.default.createElement(_ui.Notification, {
230
231
  error: true,
231
- className: style.notification
232
+ className: style.notification,
233
+ testId: "login-notification"
232
234
  }, translate(_Session2.L10N.NOTIFICATION_ERROR)), /*#__PURE__*/_react.default.createElement(_ui.Button, {
233
235
  busy: busy,
234
236
  disabled: Object.keys(formError).length !== 0,
@@ -236,7 +238,8 @@ const Modal = _ref => {
236
238
  type: "submit",
237
239
  wide: true,
238
240
  onPress: () => {},
239
- className: style.button
241
+ className: style.button,
242
+ testId: "login-button"
240
243
  }, translate(resetPassword ? _Session2.L10N.CTA_RESET : _Session2.L10N.CTA))) : /*#__PURE__*/_react.default.createElement(_ui.Notification, {
241
244
  large: true,
242
245
  success: true,
@@ -246,13 +249,15 @@ const Modal = _ref => {
246
249
  large: true,
247
250
  transparent: true,
248
251
  onPress: resetPassword ? handleResetPassword : handleSignup,
249
- className: style.buttonTransparent
252
+ className: style.buttonTransparent,
253
+ testId: "login-button-secondary"
250
254
  }, translate(resetPassword ? _Session2.L10N.ACTION_BACK : _Session2.L10N.ACTION_SIGNUP)) : /*#__PURE__*/_react.default.createElement(_ui.Button, {
251
255
  disabled: busy,
252
256
  large: true,
253
257
  transparent: true,
254
258
  onPress: handleResetPassword,
255
- className: style.buttonTransparent
259
+ className: style.buttonTransparent,
260
+ testId: "login-button-secondary"
256
261
  }, translate(!resetPassword ? _Session2.L10N.ACTION_RESET : _Session2.L10N.ACTION_BACK))))));
257
262
  };
258
263
  exports.Modal = Modal;
@@ -1 +1 @@
1
- {"version":3,"file":"Session.Login.Modal.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Session","_Session2","style","_Core","_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","ACTIVATE","ACTIVATE_ERROR","FINISH_SIGNUP","MODE","Modal","_ref","children","showSignup","title","visible","propVisible","onClose","onSuccess","others","isMobile","useDevice","translate","useLocale","value","club","cookies","forwarder","id","language","session","urlParams","useStore","busy","setBusy","useState","form","setForm","formError","setFormError","setVisible","mode","setMode","resetPassword","setResetPassword","response","setResponse","responseError","setResponseError","useEffect","activate","touched","login","params","keys","URL_PARAMS","forEach","includes","idclub","ServiceUser","error","authentication","type","AUTH_TYPE","MIRAI","PESTANA","pestanaLogin","pestana","token","undefined","catch","handleSubmit","props","idClub","idHotel","method","trackLogin","handleSignup","url","getSignupUrl","document","location","href","handleResetPassword","hasChildren","createElement","fit","L10N","TITLE","TITLE_RESET","className","modal","ScrollView","scrollview","View","row","wide","styles","Form","validateOnMount","onChange","onError","onSubmit","offset","Notification","info","Text","bold","NOTIFICATION_FINISH_SIGNUP_TITLE","NOTIFICATION_FINISH_SIGNUP_DESCRIPTION","clubName","name","NOTIFICATION_FINISH_SIGNUP_ERROR","description","FORM_DESCRIPTION","FORM_RESET_DESCRIPTION","InputText","autoComplete","label","EMAIL_LABEL","required","email","PASSWORD_LABEL","password","actions","Action","tag","disabled","onPress","ACTION_RESET","ACTION_BACK","notification","NOTIFICATION_ERROR","Button","large","button","CTA_RESET","CTA","success","NOTIFICATION_SUCCESS_RESET","transparent","buttonTransparent","ACTION_SIGNUP","exports","displayName","propTypes","PropTypes","bool","node","string","func"],"sources":["../../../src/components/Session/Session.Login.Modal.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceUser } from '@mirai/services';\nimport {\n Action,\n Button,\n Form,\n InputText,\n Modal as ModalBase,\n Notification,\n ScrollView,\n styles,\n useDevice,\n Text,\n View,\n} from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getSignupUrl, trackLogin } from './helpers';\nimport { MODE, URL_PARAMS } from './Session.constants';\nimport { L10N } from './Session.l10n';\nimport * as style from './Session.module.css';\nimport { AUTH_TYPE } from '../../Core.constants';\n\nconst { ACTIVATE, ACTIVATE_ERROR, FINISH_SIGNUP } = MODE;\n\nconst Modal = ({\n children,\n showSignup = true,\n title,\n visible: propVisible,\n onClose,\n onSuccess = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { club = {}, cookies = {}, forwarder, id, language, session, urlParams = {} },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [form, setForm] = useState({});\n const [formError, setFormError] = useState({});\n const [visible, setVisible] = useState(propVisible);\n const [mode, setMode] = useState();\n const [resetPassword, setResetPassword] = useState(false);\n const [response, setResponse] = useState();\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n activate();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => setVisible(propVisible), [propVisible]);\n\n useEffect(() => {\n if (visible) {\n setResetPassword(false);\n setForm({});\n setFormError({ touched: false });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [visible]);\n\n useEffect(() => {\n setResponse();\n setResponseError();\n }, [resetPassword]);\n\n useEffect(() => {\n setResponseError();\n set({ login: form });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n const activate = () => {\n const params = {};\n\n Object.keys(URL_PARAMS).forEach(\n (key) => URL_PARAMS[key].includes(urlParams[key]) && (params[key] = urlParams[key]),\n );\n\n if (params.login === FINISH_SIGNUP) {\n setMode(params.login);\n setVisible(true);\n }\n\n if (urlParams.idclub && urlParams.key) {\n (async () => {\n try {\n await ServiceUser.activate(urlParams.idclub, urlParams.key);\n setMode(ACTIVATE);\n } catch (error) {\n setMode(ACTIVATE_ERROR);\n } finally {\n setVisible(true);\n }\n })();\n }\n const { authentication: { type = AUTH_TYPE.MIRAI } = {} } = club;\n type === AUTH_TYPE.PESTANA && pestanaLogin();\n };\n\n // ! TODO: Should refactor\n const pestanaLogin = async () => {\n const { pestana: token } = cookies;\n\n if (session) {\n !token && set({ session: undefined });\n return;\n }\n\n const response =\n token &&\n (await ServiceUser.pestanaLogin(token).catch((error) => {\n setResponseError(error);\n }));\n\n if (!response) return;\n\n set({ session: response });\n };\n\n const handleSubmit = async (value) => {\n setBusy(true);\n setResponseError(undefined);\n\n const props = { ...value, idClub: club.id, idHotel: id };\n const method = resetPassword ? 'resetPassword' : 'login';\n const response = await ServiceUser[method](props).catch((error) => {\n setResponseError(error);\n });\n\n if (response) {\n setResponse(response);\n if (!resetPassword) {\n set({ session: response });\n onSuccess();\n trackLogin(response);\n }\n }\n setBusy(false);\n };\n\n const handleSignup = () => {\n const url = getSignupUrl({ forwarder, id, language, urlParams });\n if (!url) return;\n\n document.location.href = url;\n };\n\n const handleResetPassword = () => {\n setResetPassword(!resetPassword);\n };\n\n const hasChildren = !!children;\n\n return (\n <ModalBase\n fit={!isMobile && hasChildren}\n visible={visible}\n title={title || translate(!resetPassword ? L10N.TITLE : L10N.TITLE_RESET)}\n onClose={onClose}\n className={style.modal}\n >\n <ScrollView className={style.scrollview}>\n <View row={!isMobile} wide className={styles(hasChildren && style.children)}>\n {children}\n <View wide className={style.form}>\n {!(response && resetPassword) ? (\n <Form\n {...others}\n validateOnMount\n onChange={setForm}\n onError={setFormError}\n onSubmit={handleSubmit}\n className={style.offset}\n >\n {[ACTIVATE, FINISH_SIGNUP].includes(mode) && !resetPassword && (\n <Notification info className={style.info}>\n <Text bold>{translate(L10N.NOTIFICATION_FINISH_SIGNUP_TITLE)}</Text>\n <Text>{translate(L10N.NOTIFICATION_FINISH_SIGNUP_DESCRIPTION, { clubName: club.name })}</Text>\n </Notification>\n )}\n\n {mode === ACTIVATE_ERROR && (\n <Notification error className={style.info}>\n <Text bold>{translate(L10N.NOTIFICATION_FINISH_SIGNUP_ERROR)}</Text>\n </Notification>\n )}\n\n {(mode !== FINISH_SIGNUP || resetPassword) && (\n <Text className={styles(style.description, style.wide)}>\n {translate(!resetPassword ? L10N.FORM_DESCRIPTION : L10N.FORM_RESET_DESCRIPTION)}\n </Text>\n )}\n <InputText\n autoComplete=\"true\"\n name=\"email\"\n label={translate(L10N.EMAIL_LABEL)}\n required\n type=\"email\"\n value={form.email}\n />\n\n {!resetPassword && (\n <InputText\n autoComplete=\"true\"\n name=\"password\"\n label={translate(L10N.PASSWORD_LABEL)}\n required\n type=\"password\"\n value={form.password}\n />\n )}\n\n {showSignup && !resetPassword && (\n <View wide className={style.actions}>\n <Action tag=\"div\" disabled={busy} onPress={handleResetPassword}>\n {translate(!resetPassword ? L10N.ACTION_RESET : L10N.ACTION_BACK)}\n </Action>\n </View>\n )}\n\n {!busy && responseError && (\n <Notification error className={style.notification}>\n {translate(L10N.NOTIFICATION_ERROR)}\n </Notification>\n )}\n\n <Button\n busy={busy}\n disabled={Object.keys(formError).length !== 0}\n large\n type=\"submit\"\n wide\n onPress={() => {}}\n className={style.button}\n >\n {translate(resetPassword ? L10N.CTA_RESET : L10N.CTA)}\n </Button>\n </Form>\n ) : (\n <Notification large success className={style.offset}>\n {translate(L10N.NOTIFICATION_SUCCESS_RESET)}\n </Notification>\n )}\n\n {showSignup ? (\n (mode !== FINISH_SIGNUP || resetPassword) && (\n <Button\n disabled={busy}\n large\n transparent\n onPress={resetPassword ? handleResetPassword : handleSignup}\n className={style.buttonTransparent}\n >\n {translate(resetPassword ? L10N.ACTION_BACK : L10N.ACTION_SIGNUP)}\n </Button>\n )\n ) : (\n <Button\n disabled={busy}\n large\n transparent\n onPress={handleResetPassword}\n className={style.buttonTransparent}\n >\n {translate(!resetPassword ? L10N.ACTION_RESET : L10N.ACTION_BACK)}\n </Button>\n )}\n </View>\n </View>\n </ScrollView>\n </ModalBase>\n );\n};\n\nModal.displayName = 'Mirai:Core:Session:Login:Modal';\n\nModal.propTypes = {\n activate: PropTypes.bool,\n children: PropTypes.node,\n showSignup: PropTypes.bool,\n title: PropTypes.string,\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n onSuccess: PropTypes.func,\n};\n\nexport { Modal };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Session.Login.Modal.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Session","_Session2","style","_Core","_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","ACTIVATE","ACTIVATE_ERROR","FINISH_SIGNUP","MODE","Modal","_ref","children","showSignup","title","visible","propVisible","onClose","onSuccess","others","isMobile","useDevice","translate","useLocale","value","club","cookies","forwarder","id","language","session","urlParams","useStore","busy","setBusy","useState","form","setForm","formError","setFormError","setVisible","mode","setMode","resetPassword","setResetPassword","response","setResponse","responseError","setResponseError","useEffect","activate","touched","login","params","keys","URL_PARAMS","forEach","includes","idclub","ServiceUser","error","authentication","type","AUTH_TYPE","MIRAI","PESTANA","pestanaLogin","pestana","token","undefined","catch","handleSubmit","props","idClub","idHotel","method","trackLogin","handleSignup","url","getSignupUrl","document","location","href","handleResetPassword","hasChildren","createElement","fit","L10N","TITLE","TITLE_RESET","className","modal","ScrollView","scrollview","View","row","wide","styles","Form","validateOnMount","onChange","onError","onSubmit","offset","Notification","info","Text","bold","NOTIFICATION_FINISH_SIGNUP_TITLE","NOTIFICATION_FINISH_SIGNUP_DESCRIPTION","clubName","name","NOTIFICATION_FINISH_SIGNUP_ERROR","description","FORM_DESCRIPTION","FORM_RESET_DESCRIPTION","InputText","autoComplete","label","EMAIL_LABEL","required","email","PASSWORD_LABEL","password","actions","Action","tag","disabled","onPress","testId","ACTION_RESET","ACTION_BACK","notification","NOTIFICATION_ERROR","Button","large","button","CTA_RESET","CTA","success","NOTIFICATION_SUCCESS_RESET","transparent","buttonTransparent","ACTION_SIGNUP","exports","displayName","propTypes","PropTypes","bool","node","string","func"],"sources":["../../../src/components/Session/Session.Login.Modal.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceUser } from '@mirai/services';\nimport {\n Action,\n Button,\n Form,\n InputText,\n Modal as ModalBase,\n Notification,\n ScrollView,\n styles,\n useDevice,\n Text,\n View,\n} from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getSignupUrl, trackLogin } from './helpers';\nimport { MODE, URL_PARAMS } from './Session.constants';\nimport { L10N } from './Session.l10n';\nimport * as style from './Session.module.css';\nimport { AUTH_TYPE } from '../../Core.constants';\n\nconst { ACTIVATE, ACTIVATE_ERROR, FINISH_SIGNUP } = MODE;\n\nconst Modal = ({\n children,\n showSignup = true,\n title,\n visible: propVisible,\n onClose,\n onSuccess = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { club = {}, cookies = {}, forwarder, id, language, session, urlParams = {} },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [form, setForm] = useState({});\n const [formError, setFormError] = useState({});\n const [visible, setVisible] = useState(propVisible);\n const [mode, setMode] = useState();\n const [resetPassword, setResetPassword] = useState(false);\n const [response, setResponse] = useState();\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n activate();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => setVisible(propVisible), [propVisible]);\n\n useEffect(() => {\n if (visible) {\n setResetPassword(false);\n setForm({});\n setFormError({ touched: false });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [visible]);\n\n useEffect(() => {\n setResponse();\n setResponseError();\n }, [resetPassword]);\n\n useEffect(() => {\n setResponseError();\n set({ login: form });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n const activate = () => {\n const params = {};\n\n Object.keys(URL_PARAMS).forEach(\n (key) => URL_PARAMS[key].includes(urlParams[key]) && (params[key] = urlParams[key]),\n );\n\n if (params.login === FINISH_SIGNUP) {\n setMode(params.login);\n setVisible(true);\n }\n\n if (urlParams.idclub && urlParams.key) {\n (async () => {\n try {\n await ServiceUser.activate(urlParams.idclub, urlParams.key);\n setMode(ACTIVATE);\n } catch (error) {\n setMode(ACTIVATE_ERROR);\n } finally {\n setVisible(true);\n }\n })();\n }\n const { authentication: { type = AUTH_TYPE.MIRAI } = {} } = club;\n type === AUTH_TYPE.PESTANA && pestanaLogin();\n };\n\n // ! TODO: Should refactor\n const pestanaLogin = async () => {\n const { pestana: token } = cookies;\n\n if (session) {\n !token && set({ session: undefined });\n return;\n }\n\n const response =\n token &&\n (await ServiceUser.pestanaLogin(token).catch((error) => {\n setResponseError(error);\n }));\n\n if (!response) return;\n\n set({ session: response });\n };\n\n const handleSubmit = async (value) => {\n setBusy(true);\n setResponseError(undefined);\n\n const props = { ...value, idClub: club.id, idHotel: id };\n const method = resetPassword ? 'resetPassword' : 'login';\n const response = await ServiceUser[method](props).catch((error) => {\n setResponseError(error);\n });\n\n if (response) {\n setResponse(response);\n if (!resetPassword) {\n set({ session: response });\n onSuccess();\n trackLogin(response);\n }\n }\n setBusy(false);\n };\n\n const handleSignup = () => {\n const url = getSignupUrl({ forwarder, id, language, urlParams });\n if (!url) return;\n\n document.location.href = url;\n };\n\n const handleResetPassword = () => {\n setResetPassword(!resetPassword);\n };\n\n const hasChildren = !!children;\n\n return (\n <ModalBase\n fit={!isMobile && hasChildren}\n visible={visible}\n title={title || translate(!resetPassword ? L10N.TITLE : L10N.TITLE_RESET)}\n onClose={onClose}\n className={style.modal}\n >\n <ScrollView className={style.scrollview}>\n <View row={!isMobile} wide className={styles(hasChildren && style.children)}>\n {children}\n <View wide className={style.form}>\n {!(response && resetPassword) ? (\n <Form\n {...others}\n validateOnMount\n onChange={setForm}\n onError={setFormError}\n onSubmit={handleSubmit}\n className={style.offset}\n >\n {[ACTIVATE, FINISH_SIGNUP].includes(mode) && !resetPassword && (\n <Notification info className={style.info}>\n <Text bold>{translate(L10N.NOTIFICATION_FINISH_SIGNUP_TITLE)}</Text>\n <Text>{translate(L10N.NOTIFICATION_FINISH_SIGNUP_DESCRIPTION, { clubName: club.name })}</Text>\n </Notification>\n )}\n\n {mode === ACTIVATE_ERROR && (\n <Notification error className={style.info}>\n <Text bold>{translate(L10N.NOTIFICATION_FINISH_SIGNUP_ERROR)}</Text>\n </Notification>\n )}\n\n {(mode !== FINISH_SIGNUP || resetPassword) && (\n <Text className={styles(style.description, style.wide)}>\n {translate(!resetPassword ? L10N.FORM_DESCRIPTION : L10N.FORM_RESET_DESCRIPTION)}\n </Text>\n )}\n <InputText\n autoComplete=\"true\"\n name=\"email\"\n label={translate(L10N.EMAIL_LABEL)}\n required\n type=\"email\"\n value={form.email}\n />\n\n {!resetPassword && (\n <InputText\n autoComplete=\"true\"\n name=\"password\"\n label={translate(L10N.PASSWORD_LABEL)}\n required\n type=\"password\"\n value={form.password}\n />\n )}\n\n {showSignup && !resetPassword && (\n <View wide className={style.actions}>\n <Action tag=\"div\" disabled={busy} onPress={handleResetPassword} testId=\"login-action\">\n {translate(!resetPassword ? L10N.ACTION_RESET : L10N.ACTION_BACK)}\n </Action>\n </View>\n )}\n\n {!busy && responseError && (\n <Notification error className={style.notification} testId=\"login-notification\">\n {translate(L10N.NOTIFICATION_ERROR)}\n </Notification>\n )}\n\n <Button\n busy={busy}\n disabled={Object.keys(formError).length !== 0}\n large\n type=\"submit\"\n wide\n onPress={() => {}}\n className={style.button}\n testId=\"login-button\"\n >\n {translate(resetPassword ? L10N.CTA_RESET : L10N.CTA)}\n </Button>\n </Form>\n ) : (\n <Notification large success className={style.offset}>\n {translate(L10N.NOTIFICATION_SUCCESS_RESET)}\n </Notification>\n )}\n\n {showSignup ? (\n (mode !== FINISH_SIGNUP || resetPassword) && (\n <Button\n disabled={busy}\n large\n transparent\n onPress={resetPassword ? handleResetPassword : handleSignup}\n className={style.buttonTransparent}\n testId=\"login-button-secondary\"\n >\n {translate(resetPassword ? L10N.ACTION_BACK : L10N.ACTION_SIGNUP)}\n </Button>\n )\n ) : (\n <Button\n disabled={busy}\n large\n transparent\n onPress={handleResetPassword}\n className={style.buttonTransparent}\n testId=\"login-button-secondary\"\n >\n {translate(!resetPassword ? L10N.ACTION_RESET : L10N.ACTION_BACK)}\n </Button>\n )}\n </View>\n </View>\n </ScrollView>\n </ModalBase>\n );\n};\n\nModal.displayName = 'Mirai:Core:Session:Login:Modal';\n\nModal.propTypes = {\n activate: PropTypes.bool,\n children: PropTypes.node,\n showSignup: PropTypes.bool,\n title: PropTypes.string,\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n onSuccess: PropTypes.func,\n};\n\nexport { Modal };\n"],"mappings":"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"}
@@ -54,7 +54,8 @@ const Login = _ref => {
54
54
  onPress: handlePress,
55
55
  dangerouslySetInnerHTML: ghost ? {
56
56
  __html: (0, _helpers.template)(ghost.outerHTML, undefined, translate)
57
- } : undefined
57
+ } : undefined,
58
+ testId: "show-login"
58
59
  }, !ghost ? /*#__PURE__*/_react.default.createElement(_ui.View, {
59
60
  row: true,
60
61
  className: style.login
@@ -1 +1 @@
1
- {"version":3,"file":"Session.Login.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Session","_Session2","_SessionLogin","style","_Core","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Login","_ref","ghost","skeleton","others","translate","useLocale","value","club","id","language","useStore","modal","setModal","useState","handlePress","authentication","type","AUTH_TYPE","MIRAI","url","concat","process","env","SERVICE_USER","ENDPOINT","EXTERNAL_LOGIN","toUrlParams","idtokenprovider","domain","document","location","href","lang","createElement","Fragment","Pressable","role","onPress","dangerouslySetInnerHTML","__html","template","outerHTML","undefined","View","row","className","login","Icon","ICON","ACCOUNT","Text","L10N","ACTION_MODAL","Modal","testId","visible","onClose","exports","displayName","propTypes","PropTypes","any","bool"],"sources":["../../../src/components/Session/Session.Login.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Pressable, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { ENDPOINT } from './Session.constants';\nimport { L10N } from './Session.l10n';\nimport { Modal } from './Session.Login.Modal';\nimport * as style from './Session.module.css';\nimport { AUTH_TYPE } from '../../Core.constants';\nimport { ICON, template, toUrlParams } from '../helpers';\n\nconst Login = ({ ghost, skeleton, ...others }) => {\n const { translate } = useLocale();\n const {\n value: { club = {}, id, language },\n } = useStore();\n\n const [modal, setModal] = useState(false);\n\n const handlePress = () => {\n const { authentication: { type = AUTH_TYPE.MIRAI } = {} } = club;\n if (type === AUTH_TYPE.MIRAI) return setModal(true);\n\n const url = `${process.env.SERVICE_USER}/${ENDPOINT.EXTERNAL_LOGIN}${toUrlParams({\n idtokenprovider: id,\n domain: document.location.href,\n lang: language,\n })}`;\n document.location.href = url;\n };\n\n return (\n <>\n <Pressable\n role=\"login\"\n onPress={handlePress}\n dangerouslySetInnerHTML={ghost ? { __html: template(ghost.outerHTML, undefined, translate) } : undefined}\n >\n {!ghost ? (\n <View row className={style.login}>\n <Icon role=\"content\" value={ICON.ACCOUNT} />\n <Text role=\"content\">{translate(L10N.ACTION_MODAL)}</Text>\n </View>\n ) : undefined}\n </Pressable>\n\n {!skeleton && (\n <Modal testId={others.testId} visible={modal} onClose={() => setModal(false)} className={others.className} />\n )}\n </>\n );\n};\n\nLogin.displayName = 'Mirai:Core:Session:Login';\n\nLogin.propTypes = {\n ghost: PropTypes.any,\n skeleton: PropTypes.bool,\n};\n\nexport { Login };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Session.Login.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Session","_Session2","_SessionLogin","style","_Core","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Login","_ref","ghost","skeleton","others","translate","useLocale","value","club","id","language","useStore","modal","setModal","useState","handlePress","authentication","type","AUTH_TYPE","MIRAI","url","concat","process","env","SERVICE_USER","ENDPOINT","EXTERNAL_LOGIN","toUrlParams","idtokenprovider","domain","document","location","href","lang","createElement","Fragment","Pressable","role","onPress","dangerouslySetInnerHTML","__html","template","outerHTML","undefined","testId","View","row","className","login","Icon","ICON","ACCOUNT","Text","L10N","ACTION_MODAL","Modal","visible","onClose","exports","displayName","propTypes","PropTypes","any","bool"],"sources":["../../../src/components/Session/Session.Login.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Pressable, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { ENDPOINT } from './Session.constants';\nimport { L10N } from './Session.l10n';\nimport { Modal } from './Session.Login.Modal';\nimport * as style from './Session.module.css';\nimport { AUTH_TYPE } from '../../Core.constants';\nimport { ICON, template, toUrlParams } from '../helpers';\n\nconst Login = ({ ghost, skeleton, ...others }) => {\n const { translate } = useLocale();\n const {\n value: { club = {}, id, language },\n } = useStore();\n\n const [modal, setModal] = useState(false);\n\n const handlePress = () => {\n const { authentication: { type = AUTH_TYPE.MIRAI } = {} } = club;\n if (type === AUTH_TYPE.MIRAI) return setModal(true);\n\n const url = `${process.env.SERVICE_USER}/${ENDPOINT.EXTERNAL_LOGIN}${toUrlParams({\n idtokenprovider: id,\n domain: document.location.href,\n lang: language,\n })}`;\n document.location.href = url;\n };\n\n return (\n <>\n <Pressable\n role=\"login\"\n onPress={handlePress}\n dangerouslySetInnerHTML={ghost ? { __html: template(ghost.outerHTML, undefined, translate) } : undefined}\n testId=\"show-login\"\n >\n {!ghost ? (\n <View row className={style.login}>\n <Icon role=\"content\" value={ICON.ACCOUNT} />\n <Text role=\"content\">{translate(L10N.ACTION_MODAL)}</Text>\n </View>\n ) : undefined}\n </Pressable>\n\n {!skeleton && (\n <Modal testId={others.testId} visible={modal} onClose={() => setModal(false)} className={others.className} />\n )}\n </>\n );\n};\n\nLogin.displayName = 'Mirai:Core:Session:Login';\n\nLogin.propTypes = {\n ghost: PropTypes.any,\n skeleton: PropTypes.bool,\n};\n\nexport { Login };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,aAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAJ,uBAAA,CAAAN,OAAA;AACA,IAAAW,KAAA,GAAAX,OAAA;AACA,IAAAY,QAAA,GAAAZ,OAAA;AAAyD,SAAAa,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAlB,uBAAA8B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAEzD,MAAMC,KAAK,GAAGC,IAAA,IAAoC;EAAA,IAAnC;IAAEC,KAAK;IAAEC,QAAQ;IAAE,GAAGC;EAAO,CAAC,GAAAH,IAAA;EAC3C,MAAM;IAAEI;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IACJC,KAAK,EAAE;MAAEC,IAAI,GAAG,CAAC,CAAC;MAAEC,EAAE;MAAEC;IAAS;EACnC,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAEzC,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACxB,MAAM;MAAEC,cAAc,EAAE;QAAEC,IAAI,GAAGC,eAAS,CAACC;MAAM,CAAC,GAAG,CAAC;IAAE,CAAC,GAAGX,IAAI;IAChE,IAAIS,IAAI,KAAKC,eAAS,CAACC,KAAK,EAAE,OAAON,QAAQ,CAAC,IAAI,CAAC;IAEnD,MAAMO,GAAG,MAAAC,MAAA,CAAMC,OAAO,CAACC,GAAG,CAACC,YAAY,OAAAH,MAAA,CAAII,iBAAQ,CAACC,cAAc,EAAAL,MAAA,CAAG,IAAAM,oBAAW,EAAC;MAC/EC,eAAe,EAAEnB,EAAE;MACnBoB,MAAM,EAAEC,QAAQ,CAACC,QAAQ,CAACC,IAAI;MAC9BC,IAAI,EAAEvB;IACR,CAAC,CAAC,CAAE;IACJoB,QAAQ,CAACC,QAAQ,CAACC,IAAI,GAAGZ,GAAG;EAC9B,CAAC;EAED,oBACElD,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAAhE,MAAA,CAAAc,OAAA,CAAAmD,QAAA,qBACEjE,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAACnE,GAAA,CAAAqE,SAAS;IACRC,IAAI,EAAC,OAAO;IACZC,OAAO,EAAEvB,WAAY;IACrBwB,uBAAuB,EAAErC,KAAK,GAAG;MAAEsC,MAAM,EAAE,IAAAC,iBAAQ,EAACvC,KAAK,CAACwC,SAAS,EAAEC,SAAS,EAAEtC,SAAS;IAAE,CAAC,GAAGsC,SAAU;IACzGC,MAAM,EAAC;EAAY,GAElB,CAAC1C,KAAK,gBACLhC,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAACnE,GAAA,CAAA8E,IAAI;IAACC,GAAG;IAACC,SAAS,EAAExE,KAAK,CAACyE;EAAM,gBAC/B9E,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAACnE,GAAA,CAAAkF,IAAI;IAACZ,IAAI,EAAC,SAAS;IAAC9B,KAAK,EAAE2C,aAAI,CAACC;EAAQ,CAAE,CAAC,eAC5CjF,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAACnE,GAAA,CAAAqF,IAAI;IAACf,IAAI,EAAC;EAAS,GAAEhC,SAAS,CAACgD,cAAI,CAACC,YAAY,CAAQ,CACrD,CAAC,GACLX,SACK,CAAC,EAEX,CAACxC,QAAQ,iBACRjC,MAAA,CAAAc,OAAA,CAAAkD,aAAA,CAAC5D,aAAA,CAAAiF,KAAK;IAACX,MAAM,EAAExC,MAAM,CAACwC,MAAO;IAACY,OAAO,EAAE5C,KAAM;IAAC6C,OAAO,EAAEA,CAAA,KAAM5C,QAAQ,CAAC,KAAK,CAAE;IAACkC,SAAS,EAAE3C,MAAM,CAAC2C;EAAU,CAAE,CAE9G,CAAC;AAEP,CAAC;AAACW,OAAA,CAAA1D,KAAA,GAAAA,KAAA;AAEFA,KAAK,CAAC2D,WAAW,GAAG,0BAA0B;AAE9C3D,KAAK,CAAC4D,SAAS,GAAG;EAChB1D,KAAK,EAAE2D,kBAAS,CAACC,GAAG;EACpB3D,QAAQ,EAAE0D,kBAAS,CAACE;AACtB,CAAC"}
@@ -4,6 +4,7 @@ exports[`component:<Session> Using ghost feature renders 1`] = `
4
4
  <DocumentFragment>
5
5
  <ui-pressable
6
6
  class="pressable"
7
+ data-testid="show-login"
7
8
  tabindex="0"
8
9
  >
9
10
  <button>
@@ -153,6 +154,7 @@ exports[`component:<Session> Using ghost feature renders 1`] = `
153
154
  >
154
155
  <ui-action
155
156
  class="pressable action"
157
+ data-testid="login-action"
156
158
  disabled="false"
157
159
  tabindex="0"
158
160
  >
@@ -161,6 +163,7 @@ exports[`component:<Session> Using ghost feature renders 1`] = `
161
163
  </ui-view>
162
164
  <ui-button
163
165
  class="pressable disabled button large disabled wide"
166
+ data-testid="login-button"
164
167
  disabled="true"
165
168
  type="submit"
166
169
  >
@@ -180,6 +183,7 @@ exports[`component:<Session> Using ghost feature renders 1`] = `
180
183
  </form>
181
184
  <ui-button
182
185
  class="pressable button large transparent"
186
+ data-testid="login-button-secondary"
183
187
  tabindex="0"
184
188
  >
185
189
  user.action.signup
@@ -199,9 +203,11 @@ exports[`component:<Session> Using ghost feature with an stored session 1`] = `
199
203
  >
200
204
  <ui-menu
201
205
  class="container"
206
+ data-testid="profile-menu"
202
207
  >
203
208
  <ui-pressable
204
209
  class="pressable"
210
+ data-testid="show-session-menu"
205
211
  tabindex="0"
206
212
  >
207
213
  <div>
@@ -228,6 +234,7 @@ exports[`component:<Session> inherit:className 1`] = `
228
234
  <DocumentFragment>
229
235
  <ui-pressable
230
236
  class="pressable"
237
+ data-testid="show-login"
231
238
  tabindex="0"
232
239
  >
233
240
  <ui-view
@@ -407,6 +414,7 @@ exports[`component:<Session> inherit:className 1`] = `
407
414
  >
408
415
  <ui-action
409
416
  class="pressable action"
417
+ data-testid="login-action"
410
418
  disabled="false"
411
419
  tabindex="0"
412
420
  >
@@ -415,6 +423,7 @@ exports[`component:<Session> inherit:className 1`] = `
415
423
  </ui-view>
416
424
  <ui-button
417
425
  class="pressable disabled button large disabled wide"
426
+ data-testid="login-button"
418
427
  disabled="true"
419
428
  type="submit"
420
429
  >
@@ -434,6 +443,7 @@ exports[`component:<Session> inherit:className 1`] = `
434
443
  </form>
435
444
  <ui-button
436
445
  class="pressable button large transparent"
446
+ data-testid="login-button-secondary"
437
447
  tabindex="0"
438
448
  >
439
449
  user.action.signup
@@ -450,6 +460,7 @@ exports[`component:<Session> renders 1`] = `
450
460
  <DocumentFragment>
451
461
  <ui-pressable
452
462
  class="pressable"
463
+ data-testid="show-login"
453
464
  tabindex="0"
454
465
  >
455
466
  <ui-view
@@ -629,6 +640,7 @@ exports[`component:<Session> renders 1`] = `
629
640
  >
630
641
  <ui-action
631
642
  class="pressable action"
643
+ data-testid="login-action"
632
644
  disabled="false"
633
645
  tabindex="0"
634
646
  >
@@ -637,6 +649,7 @@ exports[`component:<Session> renders 1`] = `
637
649
  </ui-view>
638
650
  <ui-button
639
651
  class="pressable disabled button large disabled wide"
652
+ data-testid="login-button"
640
653
  disabled="true"
641
654
  type="submit"
642
655
  >
@@ -656,6 +669,7 @@ exports[`component:<Session> renders 1`] = `
656
669
  </form>
657
670
  <ui-button
658
671
  class="pressable button large transparent"
672
+ data-testid="login-button-secondary"
659
673
  tabindex="0"
660
674
  >
661
675
  user.action.signup
@@ -672,6 +686,7 @@ exports[`component:<Session> testID 1`] = `
672
686
  <DocumentFragment>
673
687
  <ui-pressable
674
688
  class="pressable"
689
+ data-testid="show-login"
675
690
  tabindex="0"
676
691
  >
677
692
  <ui-view
@@ -853,6 +868,7 @@ exports[`component:<Session> testID 1`] = `
853
868
  >
854
869
  <ui-action
855
870
  class="pressable action"
871
+ data-testid="login-action"
856
872
  disabled="false"
857
873
  tabindex="0"
858
874
  >
@@ -861,6 +877,7 @@ exports[`component:<Session> testID 1`] = `
861
877
  </ui-view>
862
878
  <ui-button
863
879
  class="pressable disabled button large disabled wide"
880
+ data-testid="login-button"
864
881
  disabled="true"
865
882
  type="submit"
866
883
  >
@@ -880,6 +897,7 @@ exports[`component:<Session> testID 1`] = `
880
897
  </form>
881
898
  <ui-button
882
899
  class="pressable button large transparent"
900
+ data-testid="login-button-secondary"
883
901
  tabindex="0"
884
902
  >
885
903
  user.action.signup
@@ -899,9 +917,11 @@ exports[`component:<Session> with an stored session 1`] = `
899
917
  >
900
918
  <ui-menu
901
919
  class="container"
920
+ data-testid="profile-menu"
902
921
  >
903
922
  <ui-pressable
904
923
  class="pressable"
924
+ data-testid="show-session-menu"
905
925
  tabindex="0"
906
926
  >
907
927
  <ui-view
@@ -941,6 +961,7 @@ exports[`component:<Session> with mode finishing signup 1`] = `
941
961
  <DocumentFragment>
942
962
  <ui-pressable
943
963
  class="pressable"
964
+ data-testid="show-login"
944
965
  tabindex="0"
945
966
  >
946
967
  <ui-view
@@ -1164,6 +1185,7 @@ exports[`component:<Session> with mode finishing signup 1`] = `
1164
1185
  >
1165
1186
  <ui-action
1166
1187
  class="pressable action"
1188
+ data-testid="login-action"
1167
1189
  disabled="false"
1168
1190
  tabindex="0"
1169
1191
  >
@@ -1172,6 +1194,7 @@ exports[`component:<Session> with mode finishing signup 1`] = `
1172
1194
  </ui-view>
1173
1195
  <ui-button
1174
1196
  class="pressable disabled button large disabled wide"
1197
+ data-testid="login-button"
1175
1198
  disabled="true"
1176
1199
  type="submit"
1177
1200
  >
@@ -87,6 +87,7 @@ const Signup = others => {
87
87
  const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;
88
88
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
89
89
  role: "signup",
90
+ tag: "signup",
90
91
  className: style.container
91
92
  }, /*#__PURE__*/_react.default.createElement(_ui.View, {
92
93
  wide: true,
@@ -215,7 +216,8 @@ const Signup = others => {
215
216
  large: true,
216
217
  wide: true,
217
218
  onPress: handleSubmit,
218
- className: style.button
219
+ className: style.button,
220
+ testId: "signup-button"
219
221
  }, translate(_Signup.L10N.CTA))), !busy && response && /*#__PURE__*/_react.default.createElement(_ui.Notification, {
220
222
  large: true,
221
223
  success: true,