@mirai/core 0.3.223 → 0.3.225
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/Booking/Booking.constants.js +3 -2
- package/build/components/Booking/Booking.constants.js.map +1 -1
- package/build/components/Booking/Booking.js +6 -9
- package/build/components/Booking/Booking.js.map +1 -1
- package/build/components/Booking/Booking.module.css +0 -7
- package/build/components/Booking/Booking.skeleton.js +1 -6
- package/build/components/Booking/Booking.skeleton.js.map +1 -1
- package/build/components/Booking/__tests__/__snapshots__/Booking.test.js.snap +830 -20
- package/build/components/Checkout/Checkout.js +7 -19
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/Checkout.module.css +0 -7
- package/build/components/Checkout/Checkout.skeleton.js +1 -2
- package/build/components/Checkout/Checkout.skeleton.js.map +1 -1
- package/build/components/Checkout/__tests__/__snapshots__/Checkout.test.js.snap +1336 -8
- package/build/components/Checkout/partials/index.js +1 -12
- package/build/components/Checkout/partials/index.js.map +1 -1
- package/build/components/Header/Header.constants.js +9 -0
- package/build/components/Header/Header.constants.js.map +1 -0
- package/build/components/Header/Header.js +88 -25
- package/build/components/Header/Header.js.map +1 -1
- package/build/components/Header/Header.l10n.js +12 -0
- package/build/components/Header/Header.l10n.js.map +1 -0
- package/build/components/Header/Header.module.css +64 -15
- package/build/components/Header/components/BookingProcess/BookingProcess.js +13 -8
- package/build/components/Header/components/BookingProcess/BookingProcess.js.map +1 -1
- package/build/components/Header/components/BookingProcess/BookingProcess.module.css +47 -8
- package/build/components/Rates/Rates.js +7 -1
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/Rates.module.css +1 -1
- package/build/components/Rates/components/Item/Item.Rates.js +3 -6
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
- package/build/components/Session/Session.Login.js +1 -6
- package/build/components/Session/Session.Login.js.map +1 -1
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js +10 -4
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js.map +1 -1
- package/build/components/__shared__/SelectEnvironment/SelectEnvironment.module.css +5 -1
- package/build/components/__shared__/SelectEnvironment/__tests__/__snapshots__/SelectEnvironment.test.js.snap +288 -5
- package/build/helpers/consolidateStore.js +5 -4
- package/build/helpers/consolidateStore.js.map +1 -1
- package/package.json +1 -1
- package/public/routes/Step1-Rates.jsx +3 -11
- package/public/routes/Step2-Checkout.jsx +1 -10
- package/public/routes/Step3-Booking.jsx +1 -10
- package/public/themes/monalisa.theme.css +0 -2
- package/build/components/Checkout/partials/Checkout.Session.js +0 -100
- package/build/components/Checkout/partials/Checkout.Session.js.map +0 -1
- package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Session.test.js.snap +0 -834
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_helpers2","_services2","_Finder","_helpers3","_SessionLogin","_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","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","occupation","maxRooms","session","urlParams","useStore","cart","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","calendar","place","useEffect","debounceFetch","multiRoom","current","offsetHeight","offsetTop","document","documentElement","scrollTo","top","behavior","trackDataSource","fetchUrlParams","location","search","fetch","nextOccupation","Event","publish","EVENT","FINDER","params","selectedIds","map","join","parties","parseToParties","nextDataSource","ServiceRates","catch","externalSignout","signout","debounce","saveCartInUrl","replaceUrlParams","rates","JSON","stringify","handleClubDiscount","next","handleFinder","values","window","getFinderParams","handleSelect","board","nextCart","trackSelectItem","handleSubmit","isPestana","ServiceFeatures","FEATURES","PESTANA","getCheckoutParams","getOccupationTotals","infantAge","hotelCurrency","selectableExtras","some","included","handleCheckout","href","getForwarderUrl","contentBackground","Theme","features","getFeatures","nights","dateDiff","days","response","roomSelectorProps","onPress","createElement","Fragment","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","L10N","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","Header","onClubDiscount","onSelect","row","items","_ref2","index","item","Item","concat","taxesType","selected","onMoreInfo","onRateInfo","rate","name","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport {\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n signout,\n trackDataSource,\n trackSelectItem,\n} from './helpers';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } from './Rates.Footer';\nimport { Header } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { debounce, fetchUrlParams } from '../../helpers';\nimport { ServiceRates } from '../../services';\nimport { Finder } from '../Finder';\nimport { EVENT, getOccupationTotals, opacity, parseToParties, replaceUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const {\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n occupation: { maxRooms } = {},\n // rates: { cart: storeCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n // Hook: store cart\n // useEffect(() => {\n // if (!storeCart.length || !dataSource || cart.length) return;\n\n // const boards = dataSource.items\n // .map(({ boards = [], name: roomName }) => boards.map((board) => ({ ...board, roomName })))\n // .flat();\n // const nextCart = storeCart.map((id) => boards.find((board) => board.id === id)).filter((board) => !!board);\n\n // // eslint-disable-next-line no-console\n // console.log('::cart from url::', nextCart);\n\n // // if (storeCart.length === nextCart.length) setCart(nextCart);\n // // eslint-disable-next-line react-hooks/exhaustive-deps\n // }, [cart, dataSource, storeCart]);\n\n // -- hooks ----------------------------------------------------------------------------------------------------------\n useEffect(() => {\n if (!clubDiscount && !currency && !session) return;\n setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session]);\n\n useEffect(() => {\n if (!locale) return;\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n document.documentElement.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n }\n setDataSource();\n }\n\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n trackDataSource({ ...dataSource, ...fetchUrlParams(location.search), isMobile, occupation, place });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n // -- methods --------------------------------------------------------------------------------------------------------\n const fetch = async (room, nextOccupation = occupation) => {\n if (skeleton) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n setFetching(true);\n setResponseError();\n\n const urlParams = fetchUrlParams(location.search);\n const params = {\n ...urlParams,\n club,\n clubDiscount,\n id,\n locale,\n maxRooms,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ id } = {}) => id).join(','),\n session,\n };\n if (room !== undefined) params.parties = parseToParties([nextOccupation[room || 0]]);\n\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && nextOccupation?.length > 1 && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n const saveCartInUrl = (cart = []) => {\n // * DISABLED\n replaceUrlParams({ rates: cart.length ? JSON.stringify(cart.map(({ id } = {}) => id)) : undefined });\n };\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleClubDiscount = async (next) => {\n setClubDiscount(next);\n login && setLogin(false);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n window.scrollTo({ top: 0, behavior: 'smooth' });\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n debounceFetch(undefined, values.occupation);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n trackSelectItem({\n ...dataSource,\n ...fetchUrlParams(location.search),\n board,\n cart: nextCart,\n isMobile,\n occupation,\n });\n }\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) saveCartInUrl(nextCart);\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n saveCartInUrl(cart);\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: fetchUrlParams(location.search) }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n extras,\n forwarder,\n session,\n urlParams: fetchUrlParams(location.search),\n });\n };\n\n const { contentBackground } = Theme.get();\n const features = getFeatures(id, urlParams);\n const multiRoom = occupation?.length > 1;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n\n return (\n <>\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {response && !responseError && <Content {...dataSource} {...others} />}\n\n {(response || (multiRoom && !responseError)) && (\n <Header\n {...{\n clubDiscount,\n dataSource,\n features,\n multiRoom,\n onClubDiscount: handleClubDiscount,\n onSelect: handleSelect,\n }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </Header>\n )}\n\n {response ? (\n <View row={!isMobile} className={style.items}>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n key={`${id || index}:${fetching}:${width}`}\n {...{ id, cart, ...item, features, multiRoom, nights, room, taxesType: dataSource.taxesType }}\n selected={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </View>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && (\n <Footer {...{ cart, dataSource, extras, login, occupation }} onSubmit={() => handleSubmit(cart)} />\n )}\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => (multiRoom ? setLogin(false) : handleSelect())}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_helpers2","_services2","_Finder","_Header","_helpers3","_SessionLogin","_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","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","occupation","maxRooms","session","urlParams","useStore","cart","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","calendar","place","useEffect","debounceFetch","multiRoom","current","offsetHeight","offsetTop","document","documentElement","scrollTo","top","behavior","trackDataSource","fetchUrlParams","location","search","fetch","nextOccupation","Event","publish","EVENT","FINDER","params","selectedIds","map","join","parties","parseToParties","nextDataSource","ServiceRates","catch","externalSignout","signout","debounce","saveCartInUrl","replaceUrlParams","rates","JSON","stringify","handleClubDiscount","next","handleFinder","values","window","getFinderParams","handleSelect","board","nextCart","trackSelectItem","handleSubmit","isPestana","ServiceFeatures","FEATURES","PESTANA","getCheckoutParams","getOccupationTotals","infantAge","hotelCurrency","selectableExtras","some","included","handleCheckout","href","getForwarderUrl","contentBackground","Theme","features","getFeatures","nights","dateDiff","days","response","roomSelectorProps","onPress","createElement","Fragment","Header","name","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","L10N","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","onClubDiscount","onSelect","row","items","_ref2","index","item","Item","concat","taxesType","selected","onMoreInfo","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport {\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n signout,\n trackDataSource,\n trackSelectItem,\n} from './helpers';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { debounce, fetchUrlParams } from '../../helpers';\nimport { ServiceRates } from '../../services';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, parseToParties, replaceUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const {\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n occupation: { maxRooms } = {},\n // rates: { cart: storeCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n // Hook: store cart\n // useEffect(() => {\n // if (!storeCart.length || !dataSource || cart.length) return;\n\n // const boards = dataSource.items\n // .map(({ boards = [], name: roomName }) => boards.map((board) => ({ ...board, roomName })))\n // .flat();\n // const nextCart = storeCart.map((id) => boards.find((board) => board.id === id)).filter((board) => !!board);\n\n // // eslint-disable-next-line no-console\n // console.log('::cart from url::', nextCart);\n\n // // if (storeCart.length === nextCart.length) setCart(nextCart);\n // // eslint-disable-next-line react-hooks/exhaustive-deps\n // }, [cart, dataSource, storeCart]);\n\n // -- hooks ----------------------------------------------------------------------------------------------------------\n useEffect(() => {\n if (!clubDiscount && !currency && !session) return;\n setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session]);\n\n useEffect(() => {\n if (!locale) return;\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n document.documentElement.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n }\n setDataSource();\n }\n\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n trackDataSource({ ...dataSource, ...fetchUrlParams(location.search), isMobile, occupation, place });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n // -- methods --------------------------------------------------------------------------------------------------------\n const fetch = async (room, nextOccupation = occupation) => {\n if (skeleton) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n setFetching(true);\n setResponseError();\n\n const urlParams = fetchUrlParams(location.search);\n const params = {\n ...urlParams,\n club,\n clubDiscount,\n id,\n locale,\n maxRooms,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ id } = {}) => id).join(','),\n session,\n };\n if (room !== undefined) params.parties = parseToParties([nextOccupation[room || 0]]);\n\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && nextOccupation?.length > 1 && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n const saveCartInUrl = (cart = []) => {\n // * DISABLED\n replaceUrlParams({ rates: cart.length ? JSON.stringify(cart.map(({ id } = {}) => id)) : undefined });\n };\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleClubDiscount = async (next) => {\n setClubDiscount(next);\n login && setLogin(false);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n window.scrollTo({ top: 0, behavior: 'smooth' });\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n debounceFetch(undefined, values.occupation);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n trackSelectItem({\n ...dataSource,\n ...fetchUrlParams(location.search),\n board,\n cart: nextCart,\n isMobile,\n occupation,\n });\n }\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) saveCartInUrl(nextCart);\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n saveCartInUrl(cart);\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: fetchUrlParams(location.search) }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n extras,\n forwarder,\n session,\n urlParams: fetchUrlParams(location.search),\n });\n };\n\n const { contentBackground } = Theme.get();\n const features = getFeatures(id, urlParams);\n const multiRoom = occupation?.length > 1;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n\n return (\n <>\n <Header currency locale login={!isMobile} name />\n\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {response && !responseError && <Content {...dataSource} {...others} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n clubDiscount,\n dataSource,\n features,\n multiRoom,\n onClubDiscount: handleClubDiscount,\n onSelect: handleSelect,\n }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </RatesHeader>\n )}\n\n {response ? (\n <View row={!isMobile} className={style.items}>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n key={`${id || index}:${fetching}:${width}`}\n {...{ id, cart, ...item, features, multiRoom, nights, room, taxesType: dataSource.taxesType }}\n selected={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </View>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && (\n <Footer {...{ cart, dataSource, extras, login, occupation }} onSubmit={() => handleSubmit(cart)} />\n )}\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => (multiRoom ? setLogin(false) : handleSelect())}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
@@ -51,8 +51,7 @@ const Rates = _ref => {
|
|
|
51
51
|
const renderCancellations = () => has.cancellations && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
52
52
|
className: [style.offset, style.gap]
|
|
53
53
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
54
|
-
action:
|
|
55
|
-
small: isMobile,
|
|
54
|
+
action: isMobile,
|
|
56
55
|
bold: true
|
|
57
56
|
}, translate(_Item.L10N.LABEL_CANCELLATION_POLICY)), cancellations.filter(_ref2 => {
|
|
58
57
|
let {
|
|
@@ -89,8 +88,7 @@ const Rates = _ref => {
|
|
|
89
88
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !showOffersFirst && renderCancellations(), has.rates && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
90
89
|
className: [style.offset, style.gap]
|
|
91
90
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
92
|
-
action:
|
|
93
|
-
small: isMobile,
|
|
91
|
+
action: isMobile,
|
|
94
92
|
bold: true
|
|
95
93
|
}, translate(_Item.L10N.LABEL_OFFER)), rates.map(_ref4 => {
|
|
96
94
|
let {
|
|
@@ -150,8 +148,7 @@ const Rates = _ref => {
|
|
|
150
148
|
})), showOffersFirst && renderCancellations(), (has.rates || has.boards) && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
151
149
|
className: (0, _ui.styles)(style.offset, style.gap)
|
|
152
150
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
153
|
-
action:
|
|
154
|
-
small: isMobile,
|
|
151
|
+
action: isMobile,
|
|
155
152
|
bold: true
|
|
156
153
|
}, translate(_Item.L10N.LABEL_ACCOMMODATION_PLAN)), boards.map(function () {
|
|
157
154
|
let board = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.Rates.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Rates","_ref","availableBoards","boards","cancellations","features","showOffersFirst","showRateIncluded","rates","selectedBoard","onBoard","onCancellation","onRate","onRateInfo","isMobile","useDevice","translate","useLocale","cancellationId","rateId","id","boardId","length","renderCancellations","createElement","View","className","offset","gap","Text","action","small","bold","L10N","LABEL_CANCELLATION_POLICY","filter","_ref2","map","_ref3","highlight","name","caption","price","cancellation","Option","key","checked","title","value","undefined","onPress","Pressable","Icon","ICON","INFO","Fragment","LABEL_OFFER","_ref4","countdown","disabled","discountPercentage","included","isClub","restrictions","RateDetails","arguments","row","rateText","rate","LABEL_ONLY_MEMBERS","LABEL_DISCOUNT","concat","compacted","styles","LABEL_ACCOMMODATION_PLAN","board","increment","variants","TooltipDates","captions","values","parseDate","exports","displayName","propTypes","PropTypes","arrayOf","any","shape","func","onChange"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { parseDate, useLocale } from '@mirai/locale';\nimport { Icon, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Option, RateDetails, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\n\nconst Rates = ({\n availableBoards = [], // !TODO: availableBoards is a better naming\n boards = [],\n cancellations = [],\n features: { showOffersFirst = false, showRateIncluded = false } = {},\n rates = [],\n selectedBoard = {},\n onBoard,\n onCancellation,\n onRate,\n onRateInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { cancellationId, rateId, id: boardId } = selectedBoard;\n\n const has = {\n cancellations: cancellations.length > 1,\n rates: rates.length > 1,\n boards: boards.length > 1,\n };\n\n const renderCancellations = () =>\n has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text action={!isMobile} small={isMobile} bold>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n {cancellations\n .filter(({ id }) => !showOffersFirst || (showOffersFirst && id === cancellationId))\n .map(({ highlight, id, name, caption, price, ...cancellation }) => (\n <Option\n highlight={highlight}\n key={id}\n caption={caption}\n checked={id === cancellationId}\n title={name}\n value={!showOffersFirst ? price : undefined}\n onPress={() => onCancellation(id)}\n >\n <Pressable onPress={() => onRateInfo({ ...selectedBoard, cancellation })}>\n <Icon action={isMobile} value={ICON.INFO} />\n </Pressable>\n </Option>\n ))}\n </View>\n );\n\n return (\n <>\n {!showOffersFirst && renderCancellations()}\n\n {has.rates && (\n <View className={[style.offset, style.gap]}>\n <Text action={!isMobile} small={isMobile} bold>\n {translate(L10N.LABEL_OFFER)}\n </Text>\n {rates.map(\n ({\n id,\n cancellationId,\n countdown,\n disabled,\n discountPercentage,\n included,\n isClub,\n name,\n price,\n restrictions,\n }) => (\n <Option\n key={id}\n caption={\n <RateDetails\n {...{\n countdown,\n discountPercentage,\n included: showRateIncluded ? included : undefined,\n isClub,\n restrictions,\n selectedBoard:\n selectedBoard.rateId === id\n ? selectedBoard\n : availableBoards.filter(({ rateId } = {}) => rateId === id)[0],\n }}\n />\n }\n checked={id === rateId}\n disabled={disabled}\n value={price}\n onPress={rates.length > 1 ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 1 && (\n <View row className={style.rateText}>\n {isClub && (\n <Text action={!isMobile} small={isMobile} className={[style.rate, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n )}\n\n {discountPercentage && (\n <Text action={!isMobile} small={isMobile} className={style.rate}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <Text action={!isMobile} small={isMobile}>\n {name}\n {!showRateIncluded && <RateDetails {...{ compacted: true, included }} />}\n </Text>\n </View>\n )}\n </Option>\n ),\n )}\n </View>\n )}\n\n {showOffersFirst && renderCancellations()}\n\n {(has.rates || has.boards) && (\n <View className={styles(style.offset, style.gap)}>\n <Text action={!isMobile} small={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n {boards.map((board = {}) => {\n const { disabled, id, increment, name, variants = [] } = board;\n\n return (\n <Option\n key={id}\n checked={id === boardId}\n disabled={disabled}\n title={name}\n value={has.boards ? increment : undefined}\n onPress={() => onBoard(board)}\n >\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </Option>\n );\n })}\n </View>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item:Rates';\n\nRates.propTypes = {\n availableBoards: PropTypes.arrayOf(PropTypes.any),\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({}),\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onBoard: PropTypes.func,\n onCancellation: PropTypes.func,\n onRate: PropTypes.func,\n onChange: PropTypes.func,\n onRateInfo: PropTypes.func,\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Item.Rates.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Rates","_ref","availableBoards","boards","cancellations","features","showOffersFirst","showRateIncluded","rates","selectedBoard","onBoard","onCancellation","onRate","onRateInfo","isMobile","useDevice","translate","useLocale","cancellationId","rateId","id","boardId","length","renderCancellations","createElement","View","className","offset","gap","Text","action","bold","L10N","LABEL_CANCELLATION_POLICY","filter","_ref2","map","_ref3","highlight","name","caption","price","cancellation","Option","key","checked","title","value","undefined","onPress","Pressable","Icon","ICON","INFO","Fragment","LABEL_OFFER","_ref4","countdown","disabled","discountPercentage","included","isClub","restrictions","RateDetails","arguments","row","rateText","small","rate","LABEL_ONLY_MEMBERS","LABEL_DISCOUNT","concat","compacted","styles","LABEL_ACCOMMODATION_PLAN","board","increment","variants","TooltipDates","captions","values","parseDate","exports","displayName","propTypes","PropTypes","arrayOf","any","shape","func","onChange"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { parseDate, useLocale } from '@mirai/locale';\nimport { Icon, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Option, RateDetails, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\n\nconst Rates = ({\n availableBoards = [], // !TODO: availableBoards is a better naming\n boards = [],\n cancellations = [],\n features: { showOffersFirst = false, showRateIncluded = false } = {},\n rates = [],\n selectedBoard = {},\n onBoard,\n onCancellation,\n onRate,\n onRateInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { cancellationId, rateId, id: boardId } = selectedBoard;\n\n const has = {\n cancellations: cancellations.length > 1,\n rates: rates.length > 1,\n boards: boards.length > 1,\n };\n\n const renderCancellations = () =>\n has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n {cancellations\n .filter(({ id }) => !showOffersFirst || (showOffersFirst && id === cancellationId))\n .map(({ highlight, id, name, caption, price, ...cancellation }) => (\n <Option\n highlight={highlight}\n key={id}\n caption={caption}\n checked={id === cancellationId}\n title={name}\n value={!showOffersFirst ? price : undefined}\n onPress={() => onCancellation(id)}\n >\n <Pressable onPress={() => onRateInfo({ ...selectedBoard, cancellation })}>\n <Icon action={isMobile} value={ICON.INFO} />\n </Pressable>\n </Option>\n ))}\n </View>\n );\n\n return (\n <>\n {!showOffersFirst && renderCancellations()}\n\n {has.rates && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_OFFER)}\n </Text>\n {rates.map(\n ({\n id,\n cancellationId,\n countdown,\n disabled,\n discountPercentage,\n included,\n isClub,\n name,\n price,\n restrictions,\n }) => (\n <Option\n key={id}\n caption={\n <RateDetails\n {...{\n countdown,\n discountPercentage,\n included: showRateIncluded ? included : undefined,\n isClub,\n restrictions,\n selectedBoard:\n selectedBoard.rateId === id\n ? selectedBoard\n : availableBoards.filter(({ rateId } = {}) => rateId === id)[0],\n }}\n />\n }\n checked={id === rateId}\n disabled={disabled}\n value={price}\n onPress={rates.length > 1 ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 1 && (\n <View row className={style.rateText}>\n {isClub && (\n <Text action={!isMobile} small={isMobile} className={[style.rate, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n )}\n\n {discountPercentage && (\n <Text action={!isMobile} small={isMobile} className={style.rate}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <Text action={!isMobile} small={isMobile}>\n {name}\n {!showRateIncluded && <RateDetails {...{ compacted: true, included }} />}\n </Text>\n </View>\n )}\n </Option>\n ),\n )}\n </View>\n )}\n\n {showOffersFirst && renderCancellations()}\n\n {(has.rates || has.boards) && (\n <View className={styles(style.offset, style.gap)}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n {boards.map((board = {}) => {\n const { disabled, id, increment, name, variants = [] } = board;\n\n return (\n <Option\n key={id}\n checked={id === boardId}\n disabled={disabled}\n title={name}\n value={has.boards ? increment : undefined}\n onPress={() => onBoard(board)}\n >\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </Option>\n );\n })}\n </View>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item:Rates';\n\nRates.propTypes = {\n availableBoards: PropTypes.arrayOf(PropTypes.any),\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({}),\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onBoard: PropTypes.func,\n onCancellation: PropTypes.func,\n onRate: PropTypes.func,\n onChange: PropTypes.func,\n onRateInfo: PropTypes.func,\n};\n\nexport { Rates };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAC,uBAAA,CAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AAAwC,SAAAU,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,SAAAH,wBAAAG,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,SAAAhB,uBAAA4B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAExC,MAAMC,KAAK,GAAGC,IAAA,IAWR;EAAA,IAXS;IACbC,eAAe,GAAG,EAAE;IAAE;IACtBC,MAAM,GAAG,EAAE;IACXC,aAAa,GAAG,EAAE;IAClBC,QAAQ,EAAE;MAAEC,eAAe,GAAG,KAAK;MAAEC,gBAAgB,GAAG;IAAM,CAAC,GAAG,CAAC,CAAC;IACpEC,KAAK,GAAG,EAAE;IACVC,aAAa,GAAG,CAAC,CAAC;IAClBC,OAAO;IACPC,cAAc;IACdC,MAAM;IACNC;EACF,CAAC,GAAAZ,IAAA;EACC,MAAM;IAAEa;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAEjC,MAAM;IAAEC,cAAc;IAAEC,MAAM;IAAEC,EAAE,EAAEC;EAAQ,CAAC,GAAGZ,aAAa;EAE7D,MAAMxB,GAAG,GAAG;IACVmB,aAAa,EAAEA,aAAa,CAACkB,MAAM,GAAG,CAAC;IACvCd,KAAK,EAAEA,KAAK,CAACc,MAAM,GAAG,CAAC;IACvBnB,MAAM,EAAEA,MAAM,CAACmB,MAAM,GAAG;EAC1B,CAAC;EAED,MAAMC,mBAAmB,GAAGA,CAAA,KAC1BtC,GAAG,CAACmB,aAAa,iBACfhC,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAACvD,GAAA,CAAAwD,IAAI;IAACC,SAAS,EAAE,CAACnD,KAAK,CAACoD,MAAM,EAAEpD,KAAK,CAACqD,GAAG;EAAE,gBACzCxD,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAACvD,GAAA,CAAA4D,IAAI;IAACC,MAAM,EAAEhB,QAAS;IAACiB,IAAI;EAAA,GACzBf,SAAS,CAACgB,UAAI,CAACC,yBAAyB,CACrC,CAAC,EACN7B,aAAa,CACX8B,MAAM,CAACC,KAAA;IAAA,IAAC;MAAEf;IAAG,CAAC,GAAAe,KAAA;IAAA,OAAK,CAAC7B,eAAe,IAAKA,eAAe,IAAIc,EAAE,KAAKF,cAAe;EAAA,EAAC,CAClFkB,GAAG,CAACC,KAAA;IAAA,IAAC;MAAEC,SAAS;MAAElB,EAAE;MAAEmB,IAAI;MAAEC,OAAO;MAAEC,KAAK;MAAE,GAAGC;IAAa,CAAC,GAAAL,KAAA;IAAA,oBAC5DjE,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAACnD,WAAA,CAAAsE,MAAM;MACLL,SAAS,EAAEA,SAAU;MACrBM,GAAG,EAAExB,EAAG;MACRoB,OAAO,EAAEA,OAAQ;MACjBK,OAAO,EAAEzB,EAAE,KAAKF,cAAe;MAC/B4B,KAAK,EAAEP,IAAK;MACZQ,KAAK,EAAE,CAACzC,eAAe,GAAGmC,KAAK,GAAGO,SAAU;MAC5CC,OAAO,EAAEA,CAAA,KAAMtC,cAAc,CAACS,EAAE;IAAE,gBAElChD,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAACvD,GAAA,CAAAiF,SAAS;MAACD,OAAO,EAAEA,CAAA,KAAMpC,UAAU,CAAC;QAAE,GAAGJ,aAAa;QAAEiC;MAAa,CAAC;IAAE,gBACvEtE,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAACvD,GAAA,CAAAkF,IAAI;MAACrB,MAAM,EAAEhB,QAAS;MAACiC,KAAK,EAAEK,aAAI,CAACC;IAAK,CAAE,CAClC,CACL,CAAC;EAAA,CACV,CACC,CACP;EAEH,oBACEjF,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAAApD,MAAA,CAAAY,OAAA,CAAAsE,QAAA,QACG,CAAChD,eAAe,IAAIiB,mBAAmB,CAAC,CAAC,EAEzCtC,GAAG,CAACuB,KAAK,iBACRpC,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAACvD,GAAA,CAAAwD,IAAI;IAACC,SAAS,EAAE,CAACnD,KAAK,CAACoD,MAAM,EAAEpD,KAAK,CAACqD,GAAG;EAAE,gBACzCxD,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAACvD,GAAA,CAAA4D,IAAI;IAACC,MAAM,EAAEhB,QAAS;IAACiB,IAAI;EAAA,GACzBf,SAAS,CAACgB,UAAI,CAACuB,WAAW,CACvB,CAAC,EACN/C,KAAK,CAAC4B,GAAG,CACRoB,KAAA;IAAA,IAAC;MACCpC,EAAE;MACFF,cAAc;MACduC,SAAS;MACTC,QAAQ;MACRC,kBAAkB;MAClBC,QAAQ;MACRC,MAAM;MACNtB,IAAI;MACJE,KAAK;MACLqB;IACF,CAAC,GAAAN,KAAA;IAAA,oBACCpF,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAACnD,WAAA,CAAAsE,MAAM;MACLC,GAAG,EAAExB,EAAG;MACRoB,OAAO,eACLpE,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAACnD,WAAA,CAAA0F,WAAW;QAERN,SAAS;QACTE,kBAAkB;QAClBC,QAAQ,EAAErD,gBAAgB,GAAGqD,QAAQ,GAAGZ,SAAS;QACjDa,MAAM;QACNC,YAAY;QACZrD,aAAa,EACXA,aAAa,CAACU,MAAM,KAAKC,EAAE,GACvBX,aAAa,GACbP,eAAe,CAACgC,MAAM,CAAC;UAAA,IAAC;YAAEf;UAAO,CAAC,GAAA6C,SAAA,CAAA1C,MAAA,QAAA0C,SAAA,QAAAhB,SAAA,GAAAgB,SAAA,MAAG,CAAC,CAAC;UAAA,OAAK7C,MAAM,KAAKC,EAAE;QAAA,EAAC,CAAC,CAAC;MAAC,CAEtE,CACF;MACDyB,OAAO,EAAEzB,EAAE,KAAKD,MAAO;MACvBuC,QAAQ,EAAEA,QAAS;MACnBX,KAAK,EAAEN,KAAM;MACbQ,OAAO,EAAEzC,KAAK,CAACc,MAAM,GAAG,CAAC,GAAG,MAAMV,MAAM,CAAC;QAAEQ,EAAE;QAAEF;MAAe,CAAC,CAAC,GAAG8B;IAAU,GAE5ExC,KAAK,CAACc,MAAM,GAAG,CAAC,iBACflD,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAACvD,GAAA,CAAAwD,IAAI;MAACwC,GAAG;MAACvC,SAAS,EAAEnD,KAAK,CAAC2F;IAAS,GACjCL,MAAM,iBACLzF,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAACvD,GAAA,CAAA4D,IAAI;MAACC,MAAM,EAAE,CAAChB,QAAS;MAACqD,KAAK,EAAErD,QAAS;MAACY,SAAS,EAAE,CAACnD,KAAK,CAAC6F,IAAI,EAAE7F,KAAK,CAAC+D,SAAS;IAAE,GAChFtB,SAAS,CAACgB,UAAI,CAACqC,kBAAkB,CAC9B,CACP,EAEAV,kBAAkB,iBACjBvF,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAACvD,GAAA,CAAA4D,IAAI;MAACC,MAAM,EAAE,CAAChB,QAAS;MAACqD,KAAK,EAAErD,QAAS;MAACY,SAAS,EAAEnD,KAAK,CAAC6F;IAAK,GAC7DpD,SAAS,CAACgB,UAAI,CAACsC,cAAc,EAAE;MAAEvB,KAAK,KAAAwB,MAAA,CAAKZ,kBAAkB;IAAI,CAAC,CAC/D,CACP,eAEDvF,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAACvD,GAAA,CAAA4D,IAAI;MAACC,MAAM,EAAE,CAAChB,QAAS;MAACqD,KAAK,EAAErD;IAAS,GACtCyB,IAAI,EACJ,CAAChC,gBAAgB,iBAAInC,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAACnD,WAAA,CAAA0F,WAAW;MAAOS,SAAS,EAAE,IAAI;MAAEZ;IAAQ,CAAK,CACnE,CACF,CAEF,CAAC;EAAA,CAEb,CACI,CACP,EAEAtD,eAAe,IAAIiB,mBAAmB,CAAC,CAAC,EAExC,CAACtC,GAAG,CAACuB,KAAK,IAAIvB,GAAG,CAACkB,MAAM,kBACvB/B,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAACvD,GAAA,CAAAwD,IAAI;IAACC,SAAS,EAAE,IAAA+C,UAAM,EAAClG,KAAK,CAACoD,MAAM,EAAEpD,KAAK,CAACqD,GAAG;EAAE,gBAC/CxD,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAACvD,GAAA,CAAA4D,IAAI;IAACC,MAAM,EAAEhB,QAAS;IAACiB,IAAI;EAAA,GACzBf,SAAS,CAACgB,UAAI,CAAC0C,wBAAwB,CACpC,CAAC,EACNvE,MAAM,CAACiC,GAAG,CAAC,YAAgB;IAAA,IAAfuC,KAAK,GAAAX,SAAA,CAAA1C,MAAA,QAAA0C,SAAA,QAAAhB,SAAA,GAAAgB,SAAA,MAAG,CAAC,CAAC;IACrB,MAAM;MAAEN,QAAQ;MAAEtC,EAAE;MAAEwD,SAAS;MAAErC,IAAI;MAAEsC,QAAQ,GAAG;IAAG,CAAC,GAAGF,KAAK;IAE9D,oBACEvG,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAACnD,WAAA,CAAAsE,MAAM;MACLC,GAAG,EAAExB,EAAG;MACRyB,OAAO,EAAEzB,EAAE,KAAKC,OAAQ;MACxBqC,QAAQ,EAAEA,QAAS;MACnBZ,KAAK,EAAEP,IAAK;MACZQ,KAAK,EAAE9D,GAAG,CAACkB,MAAM,GAAGyE,SAAS,GAAG5B,SAAU;MAC1CC,OAAO,EAAEA,CAAA,KAAMvC,OAAO,CAACiE,KAAK;IAAE,GAE7BE,QAAQ,CAACvD,MAAM,GAAG,CAAC,iBAClBlD,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAACnD,WAAA,CAAAyG,YAAY;MACXC,QAAQ,EAAEF,QAAQ,CAACzC,GAAG,CAAC;QAAA,IAAC;UAAEG;QAAK,CAAC,GAAAyB,SAAA,CAAA1C,MAAA,QAAA0C,SAAA,QAAAhB,SAAA,GAAAgB,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKzB,IAAI;MAAA,EAAE;MAChDyC,MAAM,EAAEH,QAAQ,CAACzC,GAAG,CAAC;QAAA,IAAC;UAAEW;QAAM,CAAC,GAAAiB,SAAA,CAAA1C,MAAA,QAAA0C,SAAA,QAAAhB,SAAA,GAAAgB,SAAA,MAAG,CAAC,CAAC;QAAA,OAAK,IAAAiB,iBAAS,EAAClC,KAAK,CAAC;MAAA;IAAE,CAC5D,CAEG,CAAC;EAEb,CAAC,CACG,CAER,CAAC;AAEP,CAAC;AAACmC,OAAA,CAAAlF,KAAA,GAAAA,KAAA;AAEFA,KAAK,CAACmF,WAAW,GAAG,6BAA6B;AAEjDnF,KAAK,CAACoF,SAAS,GAAG;EAChBlF,eAAe,EAAEmF,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,GAAG,CAAC;EACjDpF,MAAM,EAAEkF,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,GAAG,CAAC;EACxCnF,aAAa,EAAEiF,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,GAAG,CAAC;EAC/ClF,QAAQ,EAAEgF,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7BhF,KAAK,EAAE6E,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,GAAG,CAAC;EACvC9E,aAAa,EAAE4E,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;EAClC9E,OAAO,EAAE2E,kBAAS,CAACI,IAAI;EACvB9E,cAAc,EAAE0E,kBAAS,CAACI,IAAI;EAC9B7E,MAAM,EAAEyE,kBAAS,CAACI,IAAI;EACtBC,QAAQ,EAAEL,kBAAS,CAACI,IAAI;EACxB5E,UAAU,EAAEwE,kBAAS,CAACI;AACxB,CAAC"}
|
|
@@ -20,7 +20,6 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
21
|
const Login = _ref => {
|
|
22
22
|
let {
|
|
23
|
-
buttonMode = false,
|
|
24
23
|
ghost,
|
|
25
24
|
...others
|
|
26
25
|
} = _ref;
|
|
@@ -49,10 +48,7 @@ const Login = _ref => {
|
|
|
49
48
|
}));
|
|
50
49
|
document.location.href = url;
|
|
51
50
|
};
|
|
52
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null,
|
|
53
|
-
secondary: true,
|
|
54
|
-
onPress: handlePress
|
|
55
|
-
}, translate(_Session2.L10N.ACTION_MODAL)) : /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
|
|
51
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
|
|
56
52
|
role: "login",
|
|
57
53
|
onPress: handlePress,
|
|
58
54
|
dangerouslySetInnerHTML: ghost ? {
|
|
@@ -76,7 +72,6 @@ const Login = _ref => {
|
|
|
76
72
|
exports.Login = Login;
|
|
77
73
|
Login.displayName = 'Mirai:Core:Session:Login';
|
|
78
74
|
Login.propTypes = {
|
|
79
|
-
buttonMode: _propTypes.default.bool,
|
|
80
75
|
ghost: _propTypes.default.any
|
|
81
76
|
};
|
|
82
77
|
//# sourceMappingURL=Session.Login.js.map
|
|
@@ -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","
|
|
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","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"],"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, ...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 <Modal testId={others.testId} visible={modal} onClose={() => setModal(false)} className={others.className} />\n </>\n );\n};\n\nLogin.displayName = 'Mirai:Core:Session:Login';\n\nLogin.propTypes = {\n ghost: PropTypes.any,\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,IAA0B;EAAA,IAAzB;IAAEC,KAAK;IAAE,GAAGC;EAAO,CAAC,GAAAF,IAAA;EACjC,MAAM;IAAEG;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,oBACEjD,MAAA,CAAAc,OAAA,CAAAiD,aAAA,CAAA/D,MAAA,CAAAc,OAAA,CAAAkD,QAAA,qBACEhE,MAAA,CAAAc,OAAA,CAAAiD,aAAA,CAAClE,GAAA,CAAAoE,SAAS;IACRC,IAAI,EAAC,OAAO;IACZC,OAAO,EAAEvB,WAAY;IACrBwB,uBAAuB,EAAEpC,KAAK,GAAG;MAAEqC,MAAM,EAAE,IAAAC,iBAAQ,EAACtC,KAAK,CAACuC,SAAS,EAAEC,SAAS,EAAEtC,SAAS;IAAE,CAAC,GAAGsC;EAAU,GAExG,CAACxC,KAAK,gBACLhC,MAAA,CAAAc,OAAA,CAAAiD,aAAA,CAAClE,GAAA,CAAA4E,IAAI;IAACC,GAAG;IAACC,SAAS,EAAEtE,KAAK,CAACuE;EAAM,gBAC/B5E,MAAA,CAAAc,OAAA,CAAAiD,aAAA,CAAClE,GAAA,CAAAgF,IAAI;IAACX,IAAI,EAAC,SAAS;IAAC9B,KAAK,EAAE0C,aAAI,CAACC;EAAQ,CAAE,CAAC,eAC5C/E,MAAA,CAAAc,OAAA,CAAAiD,aAAA,CAAClE,GAAA,CAAAmF,IAAI;IAACd,IAAI,EAAC;EAAS,GAAEhC,SAAS,CAAC+C,cAAI,CAACC,YAAY,CAAQ,CACrD,CAAC,GACLV,SACK,CAAC,eAEZxE,MAAA,CAAAc,OAAA,CAAAiD,aAAA,CAAC3D,aAAA,CAAA+E,KAAK;IAACC,MAAM,EAAEnD,MAAM,CAACmD,MAAO;IAACC,OAAO,EAAE5C,KAAM;IAAC6C,OAAO,EAAEA,CAAA,KAAM5C,QAAQ,CAAC,KAAK,CAAE;IAACiC,SAAS,EAAE1C,MAAM,CAAC0C;EAAU,CAAE,CAC5G,CAAC;AAEP,CAAC;AAACY,OAAA,CAAAzD,KAAA,GAAAA,KAAA;AAEFA,KAAK,CAAC0D,WAAW,GAAG,0BAA0B;AAE9C1D,KAAK,CAAC2D,SAAS,GAAG;EAChBzD,KAAK,EAAE0D,kBAAS,CAACC;AACnB,CAAC"}
|
|
@@ -18,10 +18,14 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
18
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
19
|
const SelectEnvironment = _ref => {
|
|
20
20
|
let {
|
|
21
|
+
compacted = false,
|
|
21
22
|
name,
|
|
22
23
|
small = false,
|
|
23
24
|
...others
|
|
24
25
|
} = _ref;
|
|
26
|
+
const {
|
|
27
|
+
isMobile
|
|
28
|
+
} = (0, _ui.useDevice)();
|
|
25
29
|
const {
|
|
26
30
|
translate
|
|
27
31
|
} = (0, _locale.useLocale)();
|
|
@@ -71,7 +75,7 @@ const SelectEnvironment = _ref => {
|
|
|
71
75
|
testId
|
|
72
76
|
} = others;
|
|
73
77
|
return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
|
|
74
|
-
text: translate(is.currency ? _SelectEnvironment2.L10N.LABEL_SELECT_CURRENCY : _SelectEnvironment2.L10N.LABEL_SELECT_LANGUAGE)
|
|
78
|
+
text: !isMobile ? translate(is.currency ? _SelectEnvironment2.L10N.LABEL_SELECT_CURRENCY : _SelectEnvironment2.L10N.LABEL_SELECT_LANGUAGE) : undefined
|
|
75
79
|
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
76
80
|
row: true,
|
|
77
81
|
className: (0, _ui.styles)(style.selectEnvironment, small && style.small, className)
|
|
@@ -80,9 +84,10 @@ const SelectEnvironment = _ref => {
|
|
|
80
84
|
className: style.caption
|
|
81
85
|
}, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
82
86
|
value: is.currency ? _helpers.ICON.CURRENCY : _helpers.ICON.LANGUAGE
|
|
83
|
-
}), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
84
|
-
|
|
85
|
-
bold: true
|
|
87
|
+
}), !compacted && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
88
|
+
action: !isMobile,
|
|
89
|
+
bold: true,
|
|
90
|
+
small: isMobile
|
|
86
91
|
}, is.currency ? currency : _SelectEnvironment.LANGUAGES[_SelectEnvironment.LOCALES.findIndex(locale => locale.includes(language))])), /*#__PURE__*/_react.default.createElement(_ui.Select, {
|
|
87
92
|
name: name,
|
|
88
93
|
options: is.currency ? _SelectEnvironment.CURRENCIES.map(item => "".concat(item, " - ").concat(new Intl.DisplayNames(locale, {
|
|
@@ -98,6 +103,7 @@ const SelectEnvironment = _ref => {
|
|
|
98
103
|
exports.SelectEnvironment = SelectEnvironment;
|
|
99
104
|
SelectEnvironment.displayName = 'Mirai:Core:SelectEnvironment';
|
|
100
105
|
SelectEnvironment.propTypes = {
|
|
106
|
+
compacted: _propTypes.default.bool,
|
|
101
107
|
name: _propTypes.default.oneOf(['currency', 'locale']).isRequired,
|
|
102
108
|
small: _propTypes.default.bool
|
|
103
109
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectEnvironment.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_SelectEnvironment","_SelectEnvironment2","style","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","SelectEnvironment","_ref","name","small","others","translate","useLocale","value","currency","language","locale","locales","useStore","is","handleChange","next","event","replaceUrlParams","lang","split","Event","publish","EVENT","INTENT_ENVIRONMENT","className","testId","createElement","Tooltip","text","L10N","LABEL_SELECT_CURRENCY","LABEL_SELECT_LANGUAGE","View","row","styles","selectEnvironment","caption","Icon","ICON","CURRENCY","LANGUAGE","Text","bold","LANGUAGES","LOCALES","findIndex","includes","Select","options","CURRENCIES","map","item","concat","Intl","DisplayNames","type","of","length","filter","_","index","values","onChange","input","exports","displayName","propTypes","PropTypes","
|
|
1
|
+
{"version":3,"file":"SelectEnvironment.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_SelectEnvironment","_SelectEnvironment2","style","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","SelectEnvironment","_ref","compacted","name","small","others","isMobile","useDevice","translate","useLocale","value","currency","language","locale","locales","useStore","is","handleChange","next","event","replaceUrlParams","lang","split","Event","publish","EVENT","INTENT_ENVIRONMENT","className","testId","createElement","Tooltip","text","L10N","LABEL_SELECT_CURRENCY","LABEL_SELECT_LANGUAGE","undefined","View","row","styles","selectEnvironment","caption","Icon","ICON","CURRENCY","LANGUAGE","Text","action","bold","LANGUAGES","LOCALES","findIndex","includes","Select","options","CURRENCIES","map","item","concat","Intl","DisplayNames","type","of","length","filter","_","index","values","onChange","input","exports","displayName","propTypes","PropTypes","bool","oneOf","isRequired"],"sources":["../../../../src/components/__shared__/SelectEnvironment/SelectEnvironment.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Select, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { CURRENCIES, LANGUAGES, LOCALES } from './SelectEnvironment.constants';\nimport { L10N } from './SelectEnvironment.l10n';\nimport * as style from './SelectEnvironment.module.css';\nimport { EVENT, ICON, replaceUrlParams } from '../../helpers';\n\nconst SelectEnvironment = ({ compacted = false, name, small = false, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: { currency, language, locale, locales = [] },\n } = useStore();\n\n const is = {\n currency: name === 'currency',\n locale: name === 'locale',\n };\n\n const handleChange = (next) => {\n let event = { currency, locale };\n\n if (is.currency) {\n event = { ...event, currency: next };\n replaceUrlParams({ currency: next });\n // ? Something is wrong with this event when has been subscribed in Core.jsx\n // Event.publish(EVENT.INTENT_CURRENCY, { currency: next });\n } else if (is.locale) {\n event = { ...event, locale: next };\n replaceUrlParams({ lang: next.split('-')[0], locale: next });\n // ? Something is wrong with this event when has been subscribed in Core.jsx\n // Event.publish(EVENT.INTENT_LOCALE, { locale: next });\n }\n\n Event.publish(EVENT.INTENT_ENVIRONMENT, event);\n };\n\n const { className, testId } = others;\n\n return (\n <Tooltip\n text={!isMobile ? translate(is.currency ? L10N.LABEL_SELECT_CURRENCY : L10N.LABEL_SELECT_LANGUAGE) : undefined}\n >\n <View row className={styles(style.selectEnvironment, small && style.small, className)}>\n <View row className={style.caption}>\n <Icon value={is.currency ? ICON.CURRENCY : ICON.LANGUAGE} />\n {!compacted && (\n <Text action={!isMobile} bold small={isMobile}>\n {is.currency ? currency : LANGUAGES[LOCALES.findIndex((locale) => locale.includes(language))]}\n </Text>\n )}\n </View>\n <Select\n name={name}\n options={\n is.currency\n ? CURRENCIES.map((item) => `${item} - ${new Intl.DisplayNames(locale, { type: 'currency' }).of(item)}`)\n : locales.length > 0\n ? LANGUAGES.filter((_, index) => locales.includes(LOCALES[index]))\n : LANGUAGES\n }\n value={is.currency ? currency : locale}\n values={is.currency ? CURRENCIES : LOCALES}\n onChange={handleChange}\n className={style.input}\n testId={testId}\n />\n </View>\n </Tooltip>\n );\n};\n\nSelectEnvironment.displayName = 'Mirai:Core:SelectEnvironment';\n\nSelectEnvironment.propTypes = {\n compacted: PropTypes.bool,\n name: PropTypes.oneOf(['currency', 'locale']).isRequired,\n small: PropTypes.bool,\n};\n\nexport { SelectEnvironment };\n"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
.selectEnvironment:hover,
|
|
8
8
|
.selectEnvironment:active {
|
|
9
|
-
background-color: var(--mirai-
|
|
9
|
+
background-color: var(--mirai-header-content-border);
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
.selectEnvironment > * {
|
|
@@ -15,6 +15,10 @@
|
|
|
15
15
|
padding: 0 calc(var(--mirai-ui-button-padding-x) / 2);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
+
.selectEnvironment * {
|
|
19
|
+
color: var(--mirai-header-content);
|
|
20
|
+
}
|
|
21
|
+
|
|
18
22
|
.selectEnvironment.small > * {
|
|
19
23
|
height: calc(var(--mirai-ui-space-L) + var(--mirai-ui-space-S));
|
|
20
24
|
line-height: calc(var(--mirai-ui-space-L) + var(--mirai-ui-space-S));
|