@mirai/core 0.4.574 → 0.4.576
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/Rates/Rates.js +11 -2
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Summary.js +7 -2
- package/build/components/Rates/components/Item/Item.Summary.js.map +1 -1
- package/build/components/Rates/components/ModalExtras/ModalExtras.js +4 -2
- package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
- package/build/components/__shared__/Payment/components/LinkagePay/LinkagePay.js +5 -1
- package/build/components/__shared__/Payment/components/LinkagePay/LinkagePay.js.map +1 -1
- package/build/components/__shared__/Payment/components/LinkagePay/services/VomsisService.js +22 -3
- package/build/components/__shared__/Payment/components/LinkagePay/services/VomsisService.js.map +1 -1
- package/package.json +1 -1
|
@@ -83,6 +83,7 @@ const Rates = _ref => {
|
|
|
83
83
|
const [busy, setBusy] = (0, _react.useState)(false);
|
|
84
84
|
const [cancellationInfo, setCancellationInfo] = (0, _react.useState)();
|
|
85
85
|
const [extras, setExtras] = (0, _react.useState)();
|
|
86
|
+
const [extrasClosed, setExtrasClosed] = (0, _react.useState)();
|
|
86
87
|
const [filterBoard, setFilterBoard] = (0, _react.useState)();
|
|
87
88
|
const [filters, setFilters] = (0, _react.useState)({});
|
|
88
89
|
const [itemInfo, setItemInfo] = (0, _react.useState)();
|
|
@@ -234,7 +235,10 @@ const Rates = _ref => {
|
|
|
234
235
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
235
236
|
return !included;
|
|
236
237
|
});
|
|
237
|
-
if (selectableExtras)
|
|
238
|
+
if (selectableExtras) {
|
|
239
|
+
setExtras(extras);
|
|
240
|
+
setExtrasClosed();
|
|
241
|
+
} else handleCheckout(cart, extras, variant);
|
|
238
242
|
};
|
|
239
243
|
const handleCheckout = function () {
|
|
240
244
|
let cart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
@@ -269,6 +273,10 @@ const Rates = _ref => {
|
|
|
269
273
|
});
|
|
270
274
|
}, _helpers3.SUBMIT_DELAY);
|
|
271
275
|
};
|
|
276
|
+
const handleCloseExtras = () => {
|
|
277
|
+
setExtras();
|
|
278
|
+
!multiRoom && setExtrasClosed(true);
|
|
279
|
+
};
|
|
272
280
|
const handleTwin = roomId => {
|
|
273
281
|
setFilterBoard();
|
|
274
282
|
setMetaBoard();
|
|
@@ -378,6 +386,7 @@ const Rates = _ref => {
|
|
|
378
386
|
return /*#__PURE__*/_react.default.createElement(_components.Item, _extends({}, _objectSpread(_objectSpread({}, (0, _helpers.filterItem)(item, filters, priceFactor)), {}, {
|
|
379
387
|
cardImageHeight,
|
|
380
388
|
cart,
|
|
389
|
+
extrasClosed,
|
|
381
390
|
features,
|
|
382
391
|
filters,
|
|
383
392
|
metaBoard,
|
|
@@ -468,7 +477,7 @@ const Rates = _ref => {
|
|
|
468
477
|
extras
|
|
469
478
|
}), {
|
|
470
479
|
visible: !!extras,
|
|
471
|
-
|
|
480
|
+
onClose: handleCloseExtras,
|
|
472
481
|
onSubmit: extras => handleCheckout(cart, extras, variant),
|
|
473
482
|
testId: testId ? "".concat(testId, "-modalExtras") : undefined
|
|
474
483
|
}))), /*#__PURE__*/_react.default.createElement(_components.ModalMapView, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_hooks","_Rates","_Rates2","_Rates3","_Rates4","style","_Rates5","_Rates6","_Rates7","_Core","_helpers2","_shared__","_Finder","_Header","_helpers3","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Rates","_ref","_dataSource$hotels","_responseError$tracki","_responseError$tracki2","_responseError$tracki3","testId","others","isDesktop","isMobile","width","useDevice","actions","device","fetch","multiRoom","refRoomSelector","responseError","state","useRates","club","currency","finder","forwarder","hotel","language","locale","session","skeleton","urlParams","variant","useStore","translate","useLocale","refItems","useRef","ratesMetricsSent","busy","setBusy","useState","cancellationInfo","setCancellationInfo","extras","setExtras","filterBoard","setFilterBoard","filters","setFilters","itemInfo","setItemInfo","itemUrl","setItemUrl","mapView","setMapView","offerInfo","setOfferInfo","twinSelected","setTwinSelected","calendar","occupation","cart","clubDiscount","dataSource","fetching","metaBoard","room","strictSearch","setCart","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","current","Event","publish","EVENT","METRICS","id","METRICS_EVENTS","RATES_READY","getSearchProps","store","is_refundable","refundable","scrollToRoom","roomId","handleFilters","next","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextCalendar","nextOccupation","place","nextPlace","promocode","nextPromocode","handleSelect","board","nextCart","RATES_ADD_TO_CART","event","response","RATES_INTERACTION","action","result_position","itemsFiltered","findIndex","loyalty_discount_active","handleSubmit","rates","ServiceRates","getCheckoutParams","fetchUrlParams","location","search","getOccupationTotals","infantAge","hotelCurrency","catch","selectableExtras","some","included","handleCheckout","selectedExtras","has_extras","setTimeout","document","href","getForwarderUrl","meta","occupationTotals","JSON","stringify","SUBMIT_DELAY","handleTwin","window","top","behavior","_refItems$current$roo","getBoundingClientRect","scrollY","contentBackground","Theme","cardImageHeight","getCardImageHeight","days","nights","dateDiff","roomSelectorProps","onPress","features","getFeatures","priceFactor","showPricePerNight","uniqueOption","items","soldOut","every","_ref2","boards","cancellations","select","getRefundableFromItems","createElement","Fragment","Header","login","name","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","onSubmit","concat","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","Cards","map","_ref3","index","item","Item","filterItem","resultPosition","taxesType","key","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onTwin","onViewUrl","info","hotels","CardHotel","tracking","hotelInfoBAR","noAvailableReason","Unavailability","Notification","error","large","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","Footer","ModalItemInfo","onClose","ModalCancellationInfo","ModalItemUrl","ModalOfferInfo","ModalTwin","onBook","onFilter","ModalExtras","onCancel","ModalMapView","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceRates } from '@mirai/services';\nimport { Notification, Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport {\n CardHotel,\n Filters,\n Item,\n ModalCancellationInfo,\n ModalExtras,\n ModalItemInfo,\n ModalItemUrl,\n ModalMapView,\n ModalOfferInfo,\n ModalTwin,\n} from './components';\nimport {\n filterItem,\n getCardImageHeight,\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n select,\n} from './helpers';\nimport { useRates } from './hooks';\nimport { Content } from './Rates.Content';\nimport { Footer as RatesFooter } 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 { ERROR } from '../../Core.constants';\nimport { fetchUrlParams, getRefundableFromItems, getSearchProps } from '../../helpers';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, METRICS_EVENTS, opacity, replaceUrlParams, SUBMIT_DELAY } from '../helpers';\n\nconst Rates = ({ testId, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { actions, device, fetch, multiRoom, refRoomSelector, responseError, state } = useRates();\n const {\n set,\n value: {\n club,\n currency,\n finder = {},\n forwarder,\n hotel = {},\n language,\n locale,\n session,\n skeleton = false,\n urlParams = {},\n variant,\n },\n } = useStore();\n\n const { translate } = useLocale();\n const refItems = useRef({});\n const ratesMetricsSent = useRef(false);\n\n const [busy, setBusy] = useState(false);\n const [cancellationInfo, setCancellationInfo] = useState();\n const [extras, setExtras] = useState();\n const [filterBoard, setFilterBoard] = useState();\n const [filters, setFilters] = useState({});\n const [itemInfo, setItemInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [mapView, setMapView] = useState();\n const [offerInfo, setOfferInfo] = useState();\n const [twinSelected, setTwinSelected] = useState();\n\n const { calendar = [], occupation = [] } = finder;\n const { cart, clubDiscount, dataSource, fetching, metaBoard, room, strictSearch } = state;\n const { setCart, setDataSource, setMetaBoard, setRoom, setStrictSearch } = actions;\n\n useEffect(() => {\n if (skeleton || responseError || !dataSource || ratesMetricsSent.current) return;\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_READY,\n multiRoom,\n variant,\n ...getSearchProps({\n store: { finder, currency, language, locale, urlParams },\n dataSource,\n }),\n is_refundable: refundable,\n });\n ratesMetricsSent.current = true;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n if (!filterBoard) return;\n\n setMetaBoard(filterBoard);\n scrollToRoom(filterBoard.roomId);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterBoard]);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleFilters = (next = {}) => {\n const { strictSearch: nextStrictSearch } = next;\n\n setCart([]);\n setRoom(undefined);\n setFilters(next);\n\n if (strictSearch !== nextStrictSearch) setStrictSearch(nextStrictSearch);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n setMetaBoard();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n const { calendar: nextCalendar, occupation: nextOccupation, place: nextPlace, promocode: nextPromocode } = values;\n fetch({ nextCalendar, nextOccupation, nextPlace, nextPromocode });\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n Event.publish(EVENT.RATES_ADD_TO_CART, {\n event: EVENT.RATES_ADD_TO_CART,\n response: { board, cart: nextCart, ...dataSource },\n });\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'room_selected',\n result_position: itemsFiltered.findIndex(({ id } = {}) => id === board.roomId) + 1,\n loyalty_discount_active: !!session || clubDiscount,\n });\n }\n\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n setTwinSelected();\n if (!multiRoom && !!board) handleSubmit(nextCart);\n\n if (multiRoom) {\n if (board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) set({ rates: undefined });\n }\n };\n\n const handleSubmit = async (cart) => {\n const { extras = [] } =\n (await ServiceRates.extras({\n ...getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n clubDiscount: !!session || clubDiscount,\n device,\n hotelCurrency: dataSource.currency,\n locale,\n session,\n }).catch(() => {})) || {};\n\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras, variant);\n };\n\n const handleCheckout = (cart = [], selectedExtras = [], variant = 'A') => {\n setBusy(true);\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'rates_submit',\n has_extras: extras?.length > 0,\n });\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource,\n extras: selectedExtras,\n forwarder,\n meta: !!urlParams.rates,\n refundable,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n variant,\n occupationTotals: JSON.stringify(getOccupationTotals({ infantAge: dataSource.infantAge, occupation })),\n });\n }, SUBMIT_DELAY);\n };\n\n const handleTwin = (roomId) => {\n setFilterBoard();\n setMetaBoard();\n setTwinSelected(roomId);\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n if (top) scrollTo(top + window.scrollY - (isMobile ? 65 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const cardImageHeight = getCardImageHeight();\n\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const features = getFeatures(hotel.features, urlParams, { isDesktop });\n const priceFactor = features.showPricePerNight && nights > 1 ? nights : 1;\n const uniqueOption = (dataSource?.items || [])\n .filter(({ soldOut } = {}) => !soldOut)\n .every(\n ({ boards = [], cancellations = [], rates = [] }) =>\n boards.length === 1 && cancellations.length === 1 && rates.length === 1,\n );\n const itemsFiltered = select(dataSource?.items, filters, { priceFactor });\n const refundable = getRefundableFromItems(dataSource?.items);\n\n return (\n <>\n <Header currency login={!!club} name={features.showNameInHeader} skeleton={skeleton} />\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 <View row={isMobile} className={style.wrapper}>\n <Finder\n compacted={!isDesktop}\n icon\n onSubmit={handleFinder}\n testId={testId ? `${testId}-finder` : undefined}\n />\n\n {!responseError && dataSource?.items && (\n <Filters {...dataSource} {...{ clubDiscount, values: filters, priceFactor }} onSubmit={handleFilters} />\n )}\n </View>\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n )}\n\n <View role=\"rates\" testId={testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{ dataSource, filters, multiRoom, priceFactor, onMapView: setMapView, onSelect: handleSelect }}\n >\n {!isMobile ? (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n ) : undefined}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {itemsFiltered?.map(({ id, ...item }, index) => {\n return (\n <Item\n {...{\n ...filterItem(item, filters, priceFactor),\n cardImageHeight,\n cart,\n features,\n filters,\n metaBoard,\n id,\n resultPosition: index + 1,\n multiRoom,\n nights,\n priceFactor,\n room,\n taxesType: dataSource.taxesType,\n uniqueOption,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onCancellationInfo={(rate) => setCancellationInfo({ ...rate, name: item.name })}\n onMoreInfo={() => setItemInfo(item)}\n onOfferInfo={(rate) => setOfferInfo(rate)}\n onSelect={handleSelect}\n onTwin={handleTwin}\n onViewUrl={(info) => setItemUrl(info)}\n testId={testId ? `${testId}-item-${index}` : undefined}\n />\n );\n })}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...{ ...item, cardImageHeight, nights, priceFactor }} />\n ))}\n </Cards>\n ) : responseError ? (\n responseError.hotel ||\n responseError.tracking?.hotelInfoBAR?.length === 0 ||\n responseError.tracking?.hotelInfoBAR[0].noAvailableReason ? (\n <Unavailability {...{ ...responseError, nights, priceFactor }} onMapView={setMapView} />\n ) : (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code || ERROR.UNKNOWN])}\n </Notification>\n )\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n <RatesFooter\n {...{ cart: multiRoom ? cart : [], dataSource, extras, multiRoom, occupation }}\n onSubmit={() => (multiRoom ? handleSubmit(cart) : undefined)}\n testId={testId ? `${testId}-footer` : undefined}\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 <ModalCancellationInfo\n {...cancellationInfo}\n visible={!!cancellationInfo}\n onClose={() => setCancellationInfo()}\n />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalOfferInfo {...{ ...offerInfo }} visible={!!offerInfo} onClose={() => setOfferInfo()} />\n <ModalTwin\n {...{\n ...itemInfo,\n clubDiscount,\n dataSource,\n cart,\n features,\n filters,\n nights,\n priceFactor,\n room,\n selected: twinSelected,\n }}\n onBook={handleSelect}\n onClose={() => setTwinSelected()}\n onFilter={handleFilters}\n onSelect={setFilterBoard}\n />\n <ModalExtras\n {...{ ...dataSource, busy, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras, variant)}\n testId={testId ? `${testId}-modalExtras` : undefined}\n />\n </>\n )}\n\n <ModalMapView items={mapView} nights={nights} visible={!!mapView} onClose={() => setMapView()} />\n\n <Footer />\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n testId: PropTypes.string,\n};\n\nexport { Rates };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAC,uBAAA,CAAAP,OAAA;AAEA,IAAAQ,WAAA,GAAAR,OAAA;AAYA,IAAAS,QAAA,GAAAT,OAAA;AASA,IAAAU,MAAA,GAAAV,OAAA;AACA,IAAAW,MAAA,GAAAX,OAAA;AACA,IAAAY,OAAA,GAAAZ,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA;AACA,IAAAc,OAAA,GAAAd,OAAA;AACA,IAAAe,KAAA,GAAAR,uBAAA,CAAAP,OAAA;AACA,IAAAgB,OAAA,GAAAhB,OAAA;AACA,IAAAiB,OAAA,GAAAZ,sBAAA,CAAAL,OAAA;AACA,IAAAkB,OAAA,GAAAlB,OAAA;AACA,IAAAmB,KAAA,GAAAnB,OAAA;AACA,IAAAoB,SAAA,GAAApB,OAAA;AACA,IAAAqB,SAAA,GAAArB,OAAA;AACA,IAAAsB,OAAA,GAAAtB,OAAA;AACA,IAAAuB,OAAA,GAAAvB,OAAA;AACA,IAAAwB,SAAA,GAAAxB,OAAA;AAAiH,MAAAyB,SAAA;EAAAC,UAAA;AAAA,SAAAnB,wBAAAoB,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAtB,uBAAA,YAAAA,CAAAoB,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAvB,uBAAAsB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA;AAAA,SAAAmB,SAAA,WAAAA,QAAA,GAAAH,MAAA,CAAAI,MAAA,GAAAJ,MAAA,CAAAI,MAAA,CAAAC,IAAA,eAAAjB,CAAA,aAAAJ,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAC,CAAA,GAAAqB,SAAA,CAAAtB,CAAA,YAAAG,CAAA,IAAAF,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAd,CAAA,EAAAE,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAF,CAAA,CAAAE,CAAA,aAAAC,CAAA,KAAAe,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAAA,SAAAG,QAAAzB,CAAA,EAAAG,CAAA,QAAAF,CAAA,GAAAe,MAAA,CAAAU,IAAA,CAAA1B,CAAA,OAAAgB,MAAA,CAAAW,qBAAA,QAAArB,CAAA,GAAAU,MAAA,CAAAW,qBAAA,CAAA3B,CAAA,GAAAG,CAAA,KAAAG,CAAA,GAAAA,CAAA,CAAAsB,MAAA,WAAAzB,CAAA,WAAAa,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,EAAA0B,UAAA,OAAA5B,CAAA,CAAA6B,IAAA,CAAAN,KAAA,CAAAvB,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAA8B,cAAA/B,CAAA,aAAAG,CAAA,MAAAA,CAAA,GAAAmB,SAAA,CAAAC,MAAA,EAAApB,CAAA,UAAAF,CAAA,WAAAqB,SAAA,CAAAnB,CAAA,IAAAmB,SAAA,CAAAnB,CAAA,QAAAA,CAAA,OAAAsB,OAAA,CAAAT,MAAA,CAAAf,CAAA,OAAA+B,OAAA,WAAA7B,CAAA,IAAA8B,eAAA,CAAAjC,CAAA,EAAAG,CAAA,EAAAF,CAAA,CAAAE,CAAA,SAAAa,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAnC,CAAA,EAAAgB,MAAA,CAAAkB,yBAAA,CAAAjC,CAAA,KAAAwB,OAAA,CAAAT,MAAA,CAAAf,CAAA,GAAA+B,OAAA,WAAA7B,CAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAjB,CAAA,EAAAG,CAAA,EAAAa,MAAA,CAAAE,wBAAA,CAAAjB,CAAA,EAAAE,CAAA,iBAAAH,CAAA;AAAA,SAAAiC,gBAAAjC,CAAA,EAAAG,CAAA,EAAAF,CAAA,YAAAE,CAAA,GAAAiC,cAAA,CAAAjC,CAAA,MAAAH,CAAA,GAAAgB,MAAA,CAAAC,cAAA,CAAAjB,CAAA,EAAAG,CAAA,IAAAkC,KAAA,EAAApC,CAAA,EAAA4B,UAAA,MAAAS,YAAA,MAAAC,QAAA,UAAAvC,CAAA,CAAAG,CAAA,IAAAF,CAAA,EAAAD,CAAA;AAAA,SAAAoC,eAAAnC,CAAA,QAAAM,CAAA,GAAAiC,YAAA,CAAAvC,CAAA,uCAAAM,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAiC,aAAAvC,CAAA,EAAAE,CAAA,2BAAAF,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAwC,MAAA,CAAAC,WAAA,kBAAA1C,CAAA,QAAAO,CAAA,GAAAP,CAAA,CAAAe,IAAA,CAAAd,CAAA,EAAAE,CAAA,uCAAAI,CAAA,SAAAA,CAAA,YAAAoC,SAAA,yEAAAxC,CAAA,GAAAyC,MAAA,GAAAC,MAAA,EAAA5C,CAAA;AAAA,SAAA6C,yBAAA9C,CAAA,EAAAC,CAAA,gBAAAD,CAAA,iBAAAM,CAAA,EAAAH,CAAA,EAAAI,CAAA,GAAAwC,6BAAA,CAAA/C,CAAA,EAAAC,CAAA,OAAAe,MAAA,CAAAW,qBAAA,QAAAvB,CAAA,GAAAY,MAAA,CAAAW,qBAAA,CAAA3B,CAAA,QAAAG,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAAmB,MAAA,EAAApB,CAAA,IAAAG,CAAA,GAAAF,CAAA,CAAAD,CAAA,UAAAF,CAAA,CAAA+C,OAAA,CAAA1C,CAAA,QAAA2C,oBAAA,CAAAlC,IAAA,CAAAf,CAAA,EAAAM,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAN,CAAA,CAAAM,CAAA,aAAAC,CAAA;AAAA,SAAAwC,8BAAA5C,CAAA,EAAAH,CAAA,gBAAAG,CAAA,iBAAAF,CAAA,gBAAAG,CAAA,IAAAD,CAAA,SAAAW,cAAA,CAAAC,IAAA,CAAAZ,CAAA,EAAAC,CAAA,gBAAAJ,CAAA,CAAAgD,OAAA,CAAA5C,CAAA,aAAAH,CAAA,CAAAG,CAAA,IAAAD,CAAA,CAAAC,CAAA,YAAAH,CAAA;AAEjH,MAAMiD,KAAK,GAAGC,IAAA,IAA2B;EAAA,IAAAC,kBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EAAA,IAA1B;MAAEC;IAAkB,CAAC,GAAAL,IAAA;IAARM,MAAM,GAAAX,wBAAA,CAAAK,IAAA,EAAArD,SAAA;EAChC,MAAM;IAAE4D,SAAS;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAClD,MAAM;IAAEC,OAAO;IAAEC,MAAM;IAAEC,KAAK;IAAEC,SAAS;IAAEC,eAAe;IAAEC,aAAa;IAAEC;EAAM,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAC/F,MAAM;IACJxD,GAAG;IACHwB,KAAK,EAAE;MACLiC,IAAI;MACJC,QAAQ;MACRC,MAAM,GAAG,CAAC,CAAC;MACXC,SAAS;MACTC,KAAK,GAAG,CAAC,CAAC;MACVC,QAAQ;MACRC,MAAM;MACNC,OAAO;MACPC,QAAQ,GAAG,KAAK;MAChBC,SAAS,GAAG,CAAC,CAAC;MACdC;IACF;EACF,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EAAC,CAAC,CAAC,CAAC;EAC3B,MAAMC,gBAAgB,GAAG,IAAAD,aAAM,EAAC,KAAK,CAAC;EAEtC,MAAM,CAACE,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACvC,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC;EAC1D,MAAM,CAACG,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAJ,eAAQ,EAAC,CAAC;EACtC,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAN,eAAQ,EAAC,CAAC;EAChD,MAAM,CAACO,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAR,eAAQ,EAAC,CAAC,CAAC,CAAC;EAC1C,MAAM,CAACS,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAV,eAAQ,EAAC,CAAC;EAC1C,MAAM,CAACW,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAZ,eAAQ,EAAC,CAAC;EACxC,MAAM,CAACa,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAd,eAAQ,EAAC,CAAC;EACxC,MAAM,CAACe,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAhB,eAAQ,EAAC,CAAC;EAC5C,MAAM,CAACiB,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAlB,eAAQ,EAAC,CAAC;EAElD,MAAM;IAAEmB,QAAQ,GAAG,EAAE;IAAEC,UAAU,GAAG;EAAG,CAAC,GAAGrC,MAAM;EACjD,MAAM;IAAEsC,IAAI;IAAEC,YAAY;IAAEC,UAAU;IAAEC,QAAQ;IAAEC,SAAS;IAAEC,IAAI;IAAEC;EAAa,CAAC,GAAGhD,KAAK;EACzF,MAAM;IAAEiD,OAAO;IAAEC,aAAa;IAAEC,YAAY;IAAEC,OAAO;IAAEC;EAAgB,CAAC,GAAG3D,OAAO;EAElF,IAAA4D,gBAAS,EAAC,MAAM;IACd,IAAI5C,QAAQ,IAAIX,aAAa,IAAI,CAAC6C,UAAU,IAAI1B,gBAAgB,CAACqC,OAAO,EAAE;IAE1EC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,OAAO,EAAAhG,aAAA,CAAAA,aAAA;MACzBiG,EAAE,EAAEC,wBAAc,CAACC,WAAW;MAC9BjE,SAAS;MACTe;IAAO,GACJ,IAAAmD,wBAAc,EAAC;MAChBC,KAAK,EAAE;QAAE5D,MAAM;QAAED,QAAQ;QAAEI,QAAQ;QAAEC,MAAM;QAAEG;MAAU,CAAC;MACxDiC;IACF,CAAC,CAAC;MACFqB,aAAa,EAAEC;IAAU,EAC1B,CAAC;IACFhD,gBAAgB,CAACqC,OAAO,GAAG,IAAI;IAC/B;EACF,CAAC,EAAE,CAACX,UAAU,CAAC,CAAC;EAEhB,IAAAU,gBAAS,EAAC,MAAM;IACd,IAAI,CAAC5B,WAAW,EAAE;IAElByB,YAAY,CAACzB,WAAW,CAAC;IACzByC,YAAY,CAACzC,WAAW,CAAC0C,MAAM,CAAC;IAChC;EACF,CAAC,EAAE,CAAC1C,WAAW,CAAC,CAAC;;EAEjB;EACA,MAAM2C,aAAa,GAAG,SAAAA,CAAA,EAAe;IAAA,IAAdC,IAAI,GAAApH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAqH,SAAA,GAAArH,SAAA,MAAG,CAAC,CAAC;IAC9B,MAAM;MAAE8F,YAAY,EAAEwB;IAAiB,CAAC,GAAGF,IAAI;IAE/CrB,OAAO,CAAC,EAAE,CAAC;IACXG,OAAO,CAACmB,SAAS,CAAC;IAClB1C,UAAU,CAACyC,IAAI,CAAC;IAEhB,IAAItB,YAAY,KAAKwB,gBAAgB,EAAEnB,eAAe,CAACmB,gBAAgB,CAAC;EAC1E,CAAC;EAED,MAAMC,YAAY,GAAG,SAAAA,CAAA,EAAiB;IAAA,IAAhBC,MAAM,GAAAxH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAqH,SAAA,GAAArH,SAAA,MAAG,CAAC,CAAC;IAC/B+F,OAAO,CAAC,EAAE,CAAC;IACXC,aAAa,CAACqB,SAAS,CAAC;IACxBnB,OAAO,CAAC,CAAC;IACTD,YAAY,CAAC,CAAC;IACdwB,QAAQ,CAAC,CAAC,CAAC;IAEX,IAAAC,0BAAgB,EAAC,IAAAC,wBAAe,EAAAlH,aAAA,CAAAA,aAAA,KAAM+G,MAAM;MAAEpE;IAAK,EAAE,CAAC,CAAC;IACvD,MAAM;MAAEkC,QAAQ,EAAEsC,YAAY;MAAErC,UAAU,EAAEsC,cAAc;MAAEC,KAAK,EAAEC,SAAS;MAAEC,SAAS,EAAEC;IAAc,CAAC,GAAGT,MAAM;IACjH9E,KAAK,CAAC;MAAEkF,YAAY;MAAEC,cAAc;MAAEE,SAAS;MAAEE;IAAc,CAAC,CAAC;EACnE,CAAC;EAED,MAAMC,YAAY,GAAGA,CAACC,KAAK,EAAEhG,MAAM,KAAK;IACtC,MAAMiG,QAAQ,GAAG,CAAC,GAAG5C,IAAI,CAAC;IAC1B4C,QAAQ,CAACvC,IAAI,IAAI,CAAC,CAAC,GAAGsC,KAAK,GAAA1H,aAAA,CAAAA,aAAA,KAAQ0H,KAAK,GAAKhG,MAAM,IAAKkF,SAAS;IAEjE,IAAIc,KAAK,EAAE;MACTlB,YAAY,CAACkB,KAAK,CAACjB,MAAM,CAAC;MAE1BZ,kBAAK,CAACC,OAAO,CAACC,eAAK,CAAC6B,iBAAiB,EAAE;QACrCC,KAAK,EAAE9B,eAAK,CAAC6B,iBAAiB;QAC9BE,QAAQ,EAAA9H,aAAA;UAAI0H,KAAK;UAAE3C,IAAI,EAAE4C;QAAQ,GAAK1C,UAAU;MAClD,CAAC,CAAC;MAEFY,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,OAAO,EAAE;QAC3BC,EAAE,EAAEC,wBAAc,CAAC6B,iBAAiB;QACpCC,MAAM,EAAE,eAAe;QACvBC,eAAe,EAAEC,aAAa,CAACC,SAAS,CAAC;UAAA,IAAC;YAAElC;UAAG,CAAC,GAAA1G,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAqH,SAAA,GAAArH,SAAA,MAAG,CAAC,CAAC;UAAA,OAAK0G,EAAE,KAAKyB,KAAK,CAACjB,MAAM;QAAA,EAAC,GAAG,CAAC;QAClF2B,uBAAuB,EAAE,CAAC,CAACtF,OAAO,IAAIkC;MACxC,CAAC,CAAC;IACJ;IAEAM,OAAO,CAACqC,QAAQ,CAAC;IACjB7D,SAAS,CAAC,CAAC;IACX0B,YAAY,CAACoB,SAAS,CAAC;IACvBhC,eAAe,CAAC,CAAC;IACjB,IAAI,CAAC1C,SAAS,IAAI,CAAC,CAACwF,KAAK,EAAEW,YAAY,CAACV,QAAQ,CAAC;IAEjD,IAAIzF,SAAS,EAAE;MACb,IAAIwF,KAAK,IAAItC,IAAI,GAAGN,UAAU,CAACtF,MAAM,GAAG,CAAC,EAAE,OAAOiG,OAAO,CAACL,IAAI,GAAG,CAAC,CAAC;MACnE,IAAI,CAACsC,KAAK,EAAE5I,GAAG,CAAC;QAAEwJ,KAAK,EAAE1B;MAAU,CAAC,CAAC;IACvC;EACF,CAAC;EAED,MAAMyB,YAAY,GAAG,MAAOtD,IAAI,IAAK;IACnC,MAAM;MAAElB,MAAM,GAAG;IAAG,CAAC,GACnB,CAAC,MAAM0E,sBAAY,CAAC1E,MAAM,CAAA7D,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACrB,IAAAwI,0BAAiB,EAAC;MACnBzD,IAAI;MACJC,YAAY;MACZxC,QAAQ;MACRyC,UAAU;MACVvC,SAAS;MACTM,SAAS,EAAE,IAAAyF,wBAAc,EAACC,QAAQ,CAACC,MAAM;IAC3C,CAAC,CAAC,GACC,IAAAC,6BAAmB,EAAC;MAAEC,SAAS,EAAE5D,UAAU,CAAC4D,SAAS;MAAE/D;IAAW,CAAC,CAAC;MACvEE,YAAY,EAAE,CAAC,CAAClC,OAAO,IAAIkC,YAAY;MACvChD,MAAM;MACN8G,aAAa,EAAE7D,UAAU,CAACzC,QAAQ;MAClCK,MAAM;MACNC;IAAO,EACR,CAAC,CAACiG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAE3B,MAAMC,gBAAgB,GAAGnF,MAAM,CAACoF,IAAI,CAAC;MAAA,IAAC;QAAEC;MAAS,CAAC,GAAA3J,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAqH,SAAA,GAAArH,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK,CAAC2J,QAAQ;IAAA,EAAC;IAEtE,IAAIF,gBAAgB,EAAElF,SAAS,CAACD,MAAM,CAAC,CAAC,KACnCsF,cAAc,CAACpE,IAAI,EAAElB,MAAM,EAAEZ,OAAO,CAAC;EAC5C,CAAC;EAED,MAAMkG,cAAc,GAAG,SAAAA,CAAA,EAAmD;IAAA,IAAlDpE,IAAI,GAAAxF,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAqH,SAAA,GAAArH,SAAA,MAAG,EAAE;IAAA,IAAE6J,cAAc,GAAA7J,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAqH,SAAA,GAAArH,SAAA,MAAG,EAAE;IAAA,IAAE0D,OAAO,GAAA1D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAqH,SAAA,GAAArH,SAAA,MAAG,GAAG;IACnEkE,OAAO,CAAC,IAAI,CAAC;IAEboC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,OAAO,EAAE;MAC3BC,EAAE,EAAEC,wBAAc,CAAC6B,iBAAiB;MACpCC,MAAM,EAAE,cAAc;MACtBqB,UAAU,EAAE,CAAAxF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAErE,MAAM,IAAG;IAC/B,CAAC,CAAC;IAEF8J,UAAU,CAAC,MAAM;MACf7F,OAAO,CAAC,KAAK,CAAC;MACd8F,QAAQ,CAACb,QAAQ,CAACc,IAAI,GAAG,IAAAC,wBAAe,EAAC;QACvC1E,IAAI;QACJC,YAAY;QACZxC,QAAQ;QACRyC,UAAU;QACVpB,MAAM,EAAEuF,cAAc;QACtB1G,SAAS;QACTgH,IAAI,EAAE,CAAC,CAAC1G,SAAS,CAACsF,KAAK;QACvB/B,UAAU;QACVzD,OAAO;QACPE,SAAS,EAAAhD,aAAA,CAAAA,aAAA,KAAO,IAAAyI,wBAAc,EAACC,QAAQ,CAACC,MAAM,CAAC;UAAE3G;QAAM,EAAE;QACzDiB,OAAO;QACP0G,gBAAgB,EAAEC,IAAI,CAACC,SAAS,CAAC,IAAAjB,6BAAmB,EAAC;UAAEC,SAAS,EAAE5D,UAAU,CAAC4D,SAAS;UAAE/D;QAAW,CAAC,CAAC;MACvG,CAAC,CAAC;IACJ,CAAC,EAAEgF,sBAAY,CAAC;EAClB,CAAC;EAED,MAAMC,UAAU,GAAItD,MAAM,IAAK;IAC7BzC,cAAc,CAAC,CAAC;IAChBwB,YAAY,CAAC,CAAC;IACdZ,eAAe,CAAC6B,MAAM,CAAC;EACzB,CAAC;EAED,MAAMO,QAAQ,GAAG,SAAAA,CAAA;IAAA,IAAC1G,KAAK,GAAAf,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAqH,SAAA,GAAArH,SAAA,MAAG,CAAC;IAAA,OAAKyK,MAAM,CAAChD,QAAQ,CAAC;MAAEiD,GAAG,EAAE3J,KAAK;MAAE4J,QAAQ,EAAE;IAAS,CAAC,CAAC;EAAA;EAEnF,MAAM1D,YAAY,GAAIC,MAAM,IAAK;IAAA,IAAA0D,qBAAA;IAC/B,MAAM;MAAEF;IAAI,CAAC,GAAG,CAAA5G,QAAQ,aAARA,QAAQ,wBAAA8G,qBAAA,GAAR9G,QAAQ,CAAEuC,OAAO,CAACa,MAAM,CAAC,cAAA0D,qBAAA,uBAAzBA,qBAAA,CAA2BC,qBAAqB,CAAC,CAAC,KAAI,CAAC,CAAC;IACxE,IAAIH,GAAG,EAAEjD,QAAQ,CAACiD,GAAG,GAAGD,MAAM,CAACK,OAAO,IAAIzI,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;EACpE,CAAC;EAED,MAAM;IAAE0I;EAAkB,CAAC,GAAGC,SAAK,CAAC1L,GAAG,CAAC,CAAC;EACzC,MAAM2L,eAAe,GAAG,IAAAC,2BAAkB,EAAC,CAAC;EAE5C,MAAM;IAAEC,IAAI,EAAEC;EAAO,CAAC,GAAG,IAAAC,gBAAQ,EAAC/F,QAAQ,CAAC,CAAC,CAAC,EAAEA,QAAQ,CAAC,CAAC,CAAC,CAAC;EAC3D,MAAMiD,QAAQ,GAAG7C,UAAU,KAAK2B,SAAS;EACzC,MAAMiE,iBAAiB,GAAG;IAAE9F,IAAI;IAAED,UAAU;IAAEM,IAAI;IAAE0F,OAAO,EAAErF;EAAQ,CAAC;EACtE,MAAMsF,QAAQ,GAAG,IAAAC,oBAAW,EAACrI,KAAK,CAACoI,QAAQ,EAAE/H,SAAS,EAAE;IAAErB;EAAU,CAAC,CAAC;EACtE,MAAMsJ,WAAW,GAAGF,QAAQ,CAACG,iBAAiB,IAAIP,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,CAAC;EACzE,MAAMQ,YAAY,GAAG,CAAC,CAAAlG,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEmG,KAAK,KAAI,EAAE,EAC1CvL,MAAM,CAAC;IAAA,IAAC;MAAEwL;IAAQ,CAAC,GAAA9L,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAqH,SAAA,GAAArH,SAAA,MAAG,CAAC,CAAC;IAAA,OAAK,CAAC8L,OAAO;EAAA,EAAC,CACtCC,KAAK,CACJC,KAAA;IAAA,IAAC;MAAEC,MAAM,GAAG,EAAE;MAAEC,aAAa,GAAG,EAAE;MAAEnD,KAAK,GAAG;IAAG,CAAC,GAAAiD,KAAA;IAAA,OAC9CC,MAAM,CAAChM,MAAM,KAAK,CAAC,IAAIiM,aAAa,CAACjM,MAAM,KAAK,CAAC,IAAI8I,KAAK,CAAC9I,MAAM,KAAK,CAAC;EAAA,CAC3E,CAAC;EACH,MAAM0I,aAAa,GAAG,IAAAwD,eAAM,EAACzG,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEmG,KAAK,EAAEnH,OAAO,EAAE;IAAEgH;EAAY,CAAC,CAAC;EACzE,MAAM1E,UAAU,GAAG,IAAAoF,gCAAsB,EAAC1G,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEmG,KAAK,CAAC;EAE5D,oBACExO,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAAAhP,MAAA,CAAA+B,OAAA,CAAAkN,QAAA,qBACEjP,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAAC/N,OAAA,CAAAiO,MAAM;IAACtJ,QAAQ;IAACuJ,KAAK,EAAE,CAAC,CAACxJ,IAAK;IAACyJ,IAAI,EAAEjB,QAAQ,CAACkB,gBAAiB;IAAClJ,QAAQ,EAAEA;EAAS,CAAE,CAAC,eAEvFnG,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAACnP,GAAA,CAAAyP,IAAI;IACHC,GAAG,EAAEhK,eAAgB;IACrBiK,SAAS,EAAE,IAAAC,UAAM,EAAChP,KAAK,CAACoF,MAAM,EAAEpF,KAAK,CAACiP,IAAI,EAAE,CAAC,CAACpK,SAAS,IAAIE,aAAa,KAAK/E,KAAK,CAACkP,MAAM,CAAE;IAC3FlP,KAAK,EAAE,CAACuE,QAAQ,GAAG;MAAE4K,eAAe,EAAE,IAAAC,iBAAO,EAACnC,iBAAiB,EAAE,IAAI;IAAE,CAAC,GAAG1D;EAAU,gBAErFhK,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAACnP,GAAA,CAAAyP,IAAI;IAACQ,GAAG,EAAE9K,QAAS;IAACwK,SAAS,EAAE/O,KAAK,CAACsP;EAAQ,gBAC5C/P,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAAChO,OAAA,CAAAgP,MAAM;IACLC,SAAS,EAAE,CAAClL,SAAU;IACtBmL,IAAI;IACJC,QAAQ,EAAEjG,YAAa;IACvBrF,MAAM,EAAEA,MAAM,MAAAuL,MAAA,CAAMvL,MAAM,eAAYmF;EAAU,CACjD,CAAC,EAED,CAACxE,aAAa,KAAI6C,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEmG,KAAK,kBAClCxO,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAAC9O,WAAA,CAAAmQ,OAAO,EAAA7N,QAAA,KAAK6F,UAAU;IAAQD,YAAY;IAAE+B,MAAM,EAAE9C,OAAO;IAAEgH,WAAW;IAAI8B,QAAQ,EAAErG;EAAc,EAAE,CAErG,CACF,CAAC,eAEP9J,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAACnP,GAAA,CAAAyQ,QAAQ;IAACC,aAAa;IAACC,OAAO,EAAElI,QAAQ,IAAI,CAAC9C,aAAc;IAACgK,SAAS,EAAE/O,KAAK,CAACgQ;EAAS,CAAE,CAAC,EAEzFzL,QAAQ,IAAI,CAACQ,aAAa,iBACzBxF,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAACtO,OAAA,CAAAgQ,YAAY,EAAAlO,QAAA,KAAKyL,iBAAiB;IAAEpJ,MAAM,EAAEA,MAAM,MAAAuL,MAAA,CAAMvL,MAAM,kBAAemF;EAAU,EAAE,CAC3F,eAEDhK,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAACnP,GAAA,CAAAyP,IAAI;IAACqB,IAAI,EAAC,OAAO;IAAC9L,MAAM,EAAEA,MAAO;IAAC2K,SAAS,EAAE,IAAAC,UAAM,EAAChP,KAAK,CAACmQ,SAAS,EAAE9L,MAAM,CAAC0K,SAAS;EAAE,gBACtFxP,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAACnP,GAAA,CAAAyP,IAAI;IAACE,SAAS,EAAE,CAAC/O,KAAK,CAACsP,OAAO,EAAEtP,KAAK,CAACoQ,OAAO;EAAE,GAC7C,CAACrL,aAAa,iBAAIxF,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAAC3O,MAAA,CAAAyQ,OAAO,EAAAtO,QAAA,KAAK6F,UAAU,EAAMvD,MAAM;IAAEqB,QAAQ,EAAEA;EAAS,EAAE,CAAC,EAE7E,CAAC+E,QAAQ,IAAK5F,SAAS,IAAI,CAACE,aAAc,kBACzCxF,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAACzO,OAAA,CAAA2O,MAAW;IACJ7G,UAAU;IAAEhB,OAAO;IAAE/B,SAAS;IAAE+I,WAAW;IAAE0C,SAAS,EAAEnJ,UAAU;IAAEoJ,QAAQ,EAAEnG;EAAY,GAE/F,CAAC7F,QAAQ,gBACRhF,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAACtO,OAAA,CAAAgQ,YAAY,EAAAlO,QAAA,KAAKyL,iBAAiB;IAAEpJ,MAAM,EAAEA,MAAM,MAAAuL,MAAA,CAAMvL,MAAM,kBAAemF;EAAU,EAAE,CAAC,GACzFA,SACO,CACd,EAEAkB,QAAQ,gBACPlL,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAACjO,SAAA,CAAAkQ,KAAK,QACH3F,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE4F,GAAG,CAAC,CAAAC,KAAA,EAAkBC,KAAK,KAAK;IAAA,IAA3B;QAAE/H;MAAY,CAAC,GAAA8H,KAAA;MAANE,IAAI,GAAAlN,wBAAA,CAAAgN,KAAA,EAAA/P,UAAA;IAChC,oBACEpB,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAAC9O,WAAA,CAAAoR,IAAI,EAAA9O,QAAA,KAAAY,aAAA,CAAAA,aAAA,KAEE,IAAAmO,mBAAU,EAACF,IAAI,EAAEhK,OAAO,EAAEgH,WAAW,CAAC;MACzCT,eAAe;MACfzF,IAAI;MACJgG,QAAQ;MACR9G,OAAO;MACPkB,SAAS;MACTc,EAAE;MACFmI,cAAc,EAAEJ,KAAK,GAAG,CAAC;MACzB9L,SAAS;MACTyI,MAAM;MACNM,WAAW;MACX7F,IAAI;MACJiJ,SAAS,EAAEpJ,UAAU,CAACoJ,SAAS;MAC/BlD;IAAY;MAEdmD,GAAG,KAAAtB,MAAA,CAAK/G,EAAE,IAAI+H,KAAK,OAAAhB,MAAA,CAAI9H,QAAQ,OAAA8H,MAAA,CAAInL,KAAK,CAAG;MAC3CsK,GAAG,EAAGoC,EAAE,IAAMlL,QAAQ,CAACuC,OAAO,CAACK,EAAE,CAAC,GAAGsI,EAAI;MACzCC,QAAQ,EAAEzJ,IAAI,CAACK,IAAI,IAAI,CAAC,CAAE;MAC1BqJ,kBAAkB,EAAGC,IAAI,IAAK9K,mBAAmB,CAAA5D,aAAA,CAAAA,aAAA,KAAM0O,IAAI;QAAE1C,IAAI,EAAEiC,IAAI,CAACjC;MAAI,EAAE,CAAE;MAChF2C,UAAU,EAAEA,CAAA,KAAMvK,WAAW,CAAC6J,IAAI,CAAE;MACpCW,WAAW,EAAGF,IAAI,IAAKhK,YAAY,CAACgK,IAAI,CAAE;MAC1Cd,QAAQ,EAAEnG,YAAa;MACvBoH,MAAM,EAAE9E,UAAW;MACnB+E,SAAS,EAAGC,IAAI,IAAKzK,UAAU,CAACyK,IAAI,CAAE;MACtCtN,MAAM,EAAEA,MAAM,MAAAuL,MAAA,CAAMvL,MAAM,YAAAuL,MAAA,CAASgB,KAAK,IAAKpH;IAAU,EACxD,CAAC;EAEN,CAAC,CAAC,GAAAvF,kBAAA,GAED4D,UAAU,CAAC+J,MAAM,cAAA3N,kBAAA,uBAAjBA,kBAAA,CAAmByM,GAAG,CAAC;IAAA,IAACG,IAAI,GAAA1O,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAqH,SAAA,GAAArH,SAAA,MAAG,CAAC,CAAC;IAAA,oBAChC3C,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAAC9O,WAAA,CAAAmS,SAAS,EAAA7P,QAAA;MAACkP,GAAG,EAAEL,IAAI,CAAChI;IAAG,GAAAjG,aAAA,CAAAA,aAAA,KAAUiO,IAAI;MAAEzD,eAAe;MAAEG,MAAM;MAAEM;IAAW,GAAK,CAAC;EAAA,CACnF,CACI,CAAC,GACN7I,aAAa,GACfA,aAAa,CAACO,KAAK,IACnB,EAAArB,qBAAA,GAAAc,aAAa,CAAC8M,QAAQ,cAAA5N,qBAAA,wBAAAC,sBAAA,GAAtBD,qBAAA,CAAwB6N,YAAY,cAAA5N,sBAAA,uBAApCA,sBAAA,CAAsC/B,MAAM,MAAK,CAAC,KAAAgC,sBAAA,GAClDY,aAAa,CAAC8M,QAAQ,cAAA1N,sBAAA,eAAtBA,sBAAA,CAAwB2N,YAAY,CAAC,CAAC,CAAC,CAACC,iBAAiB,gBACvDxS,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAACpO,OAAA,CAAA6R,cAAc,EAAAjQ,QAAA,KAAAY,aAAA,CAAAA,aAAA,KAAUoC,aAAa;IAAEuI,MAAM;IAAEM;EAAW;IAAI0C,SAAS,EAAEnJ;EAAW,EAAE,CAAC,gBAExF5H,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAACnP,GAAA,CAAA6S,YAAY;IAACC,KAAK;IAACC,KAAK;IAACpD,SAAS,EAAE/O,KAAK,CAACkS;EAAM,GAC9CpM,SAAS,CAACsM,YAAI,CAACC,kBAAkB,CAACtN,aAAa,CAACuN,IAAI,IAAIC,WAAK,CAACC,OAAO,CAAC,CAC3D,CACf,gBAEDjT,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAACrO,OAAA,CAAAoB,OAAQ;IAACuD,SAAS,EAAEA;EAAU,CAAE,CAE/B,CAAC,eAEPtF,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAAC1O,OAAA,CAAA4S,MAAW;IACJ/K,IAAI,EAAE7C,SAAS,GAAG6C,IAAI,GAAG,EAAE;IAAEE,UAAU;IAAEpB,MAAM;IAAE3B,SAAS;IAAE4C,UAAU;IAC5EiI,QAAQ,EAAEA,CAAA,KAAO7K,SAAS,GAAGmG,YAAY,CAACtD,IAAI,CAAC,GAAG6B,SAAW;IAC7DnF,MAAM,EAAEA,MAAM,MAAAuL,MAAA,CAAMvL,MAAM,eAAYmF;EAAU,CACjD,CACG,CAAC,EAENkB,QAAQ,iBACPlL,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAAAhP,MAAA,CAAA+B,OAAA,CAAAkN,QAAA,qBACEjP,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAAC9O,WAAA,CAAAiT,aAAa,EAAA3Q,QAAA,KAAAY,aAAA,CAAAA,aAAA,KACHmE,QAAQ;IAAE4G,QAAQ;IAAE3F;EAAI;IACjCgI,OAAO,EAAE,CAAC,CAACjJ,QAAS;IACpB6L,OAAO,EAAEA,CAAA,KAAM5L,WAAW,CAAC,CAAE;IAC7B0K,SAAS,EAAGC,IAAI,IAAKzK,UAAU,CAACyK,IAAI;EAAE,EACvC,CAAC,eACFnS,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAAC9O,WAAA,CAAAmT,qBAAqB,EAAA7Q,QAAA,KAChBuE,gBAAgB;IACpByJ,OAAO,EAAE,CAAC,CAACzJ,gBAAiB;IAC5BqM,OAAO,EAAEA,CAAA,KAAMpM,mBAAmB,CAAC;EAAE,EACtC,CAAC,eACFhH,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAAC9O,WAAA,CAAAoT,YAAY,EAAA9Q,QAAA,KAAKiF,OAAO;IAAE+I,OAAO,EAAE,CAAC,CAAC/I,OAAQ;IAAC2L,OAAO,EAAEA,CAAA,KAAM1L,UAAU,CAAC;EAAE,EAAE,CAAC,eAC9E1H,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAAC9O,WAAA,CAAAqT,cAAc,EAAA/Q,QAAA,KAAAY,aAAA,KAAUyE,SAAS;IAAI2I,OAAO,EAAE,CAAC,CAAC3I,SAAU;IAACuL,OAAO,EAAEA,CAAA,KAAMtL,YAAY,CAAC;EAAE,EAAE,CAAC,eAC7F9H,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAAC9O,WAAA,CAAAsT,SAAS,EAAAhR,QAAA,KAAAY,aAAA,CAAAA,aAAA,KAEHmE,QAAQ;IACXa,YAAY;IACZC,UAAU;IACVF,IAAI;IACJgG,QAAQ;IACR9G,OAAO;IACP0G,MAAM;IACNM,WAAW;IACX7F,IAAI;IACJoJ,QAAQ,EAAE7J;EAAY;IAExB0L,MAAM,EAAE5I,YAAa;IACrBuI,OAAO,EAAEA,CAAA,KAAMpL,eAAe,CAAC,CAAE;IACjC0L,QAAQ,EAAE5J,aAAc;IACxBkH,QAAQ,EAAE5J;EAAe,EAC1B,CAAC,eACFpH,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAAC9O,WAAA,CAAAyT,WAAW,EAAAnR,QAAA,KAAAY,aAAA,CAAAA,aAAA,KACDiF,UAAU;IAAEzB,IAAI;IAAEuB,IAAI;IAAElB;EAAM;IACvCuJ,OAAO,EAAE,CAAC,CAACvJ,MAAO;IAClB2M,QAAQ,EAAEA,CAAA,KAAOtO,SAAS,GAAG4B,SAAS,CAAC,CAAC,GAAG2D,YAAY,CAAC,CAAG;IAC3DsF,QAAQ,EAAGlJ,MAAM,IAAKsF,cAAc,CAACpE,IAAI,EAAElB,MAAM,EAAEZ,OAAO,CAAE;IAC5DxB,MAAM,EAAEA,MAAM,MAAAuL,MAAA,CAAMvL,MAAM,oBAAiBmF;EAAU,EACtD,CACD,CACH,eAEDhK,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAAC9O,WAAA,CAAA2T,YAAY;IAACrF,KAAK,EAAE7G,OAAQ;IAACoG,MAAM,EAAEA,MAAO;IAACyC,OAAO,EAAE,CAAC,CAAC7I,OAAQ;IAACyL,OAAO,EAAEA,CAAA,KAAMxL,UAAU,CAAC;EAAE,CAAE,CAAC,eAEjG5H,MAAA,CAAA+B,OAAA,CAAAiN,aAAA,CAACjO,SAAA,CAAAmS,MAAM,MAAE,CACT,CAAC;AAEP,CAAC;AAACY,OAAA,CAAAvP,KAAA,GAAAA,KAAA;AAEFA,KAAK,CAACwP,WAAW,GAAG,kBAAkB;AAEtCxP,KAAK,CAACyP,SAAS,GAAG;EAChBnP,MAAM,EAAEoP,kBAAS,CAACC;AACpB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_hooks","_Rates","_Rates2","_Rates3","_Rates4","style","_Rates5","_Rates6","_Rates7","_Core","_helpers2","_shared__","_Finder","_Header","_helpers3","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Rates","_ref","_dataSource$hotels","_responseError$tracki","_responseError$tracki2","_responseError$tracki3","testId","others","isDesktop","isMobile","width","useDevice","actions","device","fetch","multiRoom","refRoomSelector","responseError","state","useRates","club","currency","finder","forwarder","hotel","language","locale","session","skeleton","urlParams","variant","useStore","translate","useLocale","refItems","useRef","ratesMetricsSent","busy","setBusy","useState","cancellationInfo","setCancellationInfo","extras","setExtras","extrasClosed","setExtrasClosed","filterBoard","setFilterBoard","filters","setFilters","itemInfo","setItemInfo","itemUrl","setItemUrl","mapView","setMapView","offerInfo","setOfferInfo","twinSelected","setTwinSelected","calendar","occupation","cart","clubDiscount","dataSource","fetching","metaBoard","room","strictSearch","setCart","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","current","Event","publish","EVENT","METRICS","id","METRICS_EVENTS","RATES_READY","getSearchProps","store","is_refundable","refundable","scrollToRoom","roomId","handleFilters","next","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextCalendar","nextOccupation","place","nextPlace","promocode","nextPromocode","handleSelect","board","nextCart","RATES_ADD_TO_CART","event","response","RATES_INTERACTION","action","result_position","itemsFiltered","findIndex","loyalty_discount_active","handleSubmit","rates","ServiceRates","getCheckoutParams","fetchUrlParams","location","search","getOccupationTotals","infantAge","hotelCurrency","catch","selectableExtras","some","included","handleCheckout","selectedExtras","has_extras","setTimeout","document","href","getForwarderUrl","meta","occupationTotals","JSON","stringify","SUBMIT_DELAY","handleCloseExtras","handleTwin","window","top","behavior","_refItems$current$roo","getBoundingClientRect","scrollY","contentBackground","Theme","cardImageHeight","getCardImageHeight","days","nights","dateDiff","roomSelectorProps","onPress","features","getFeatures","priceFactor","showPricePerNight","uniqueOption","items","soldOut","every","_ref2","boards","cancellations","select","getRefundableFromItems","createElement","Fragment","Header","login","name","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","onSubmit","concat","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","Cards","map","_ref3","index","item","Item","filterItem","resultPosition","taxesType","key","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onTwin","onViewUrl","info","hotels","CardHotel","tracking","hotelInfoBAR","noAvailableReason","Unavailability","Notification","error","large","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","Footer","ModalItemInfo","onClose","ModalCancellationInfo","ModalItemUrl","ModalOfferInfo","ModalTwin","onBook","onFilter","ModalExtras","ModalMapView","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceRates } from '@mirai/services';\nimport { Notification, Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport {\n CardHotel,\n Filters,\n Item,\n ModalCancellationInfo,\n ModalExtras,\n ModalItemInfo,\n ModalItemUrl,\n ModalMapView,\n ModalOfferInfo,\n ModalTwin,\n} from './components';\nimport {\n filterItem,\n getCardImageHeight,\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n select,\n} from './helpers';\nimport { useRates } from './hooks';\nimport { Content } from './Rates.Content';\nimport { Footer as RatesFooter } 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 { ERROR } from '../../Core.constants';\nimport { fetchUrlParams, getRefundableFromItems, getSearchProps } from '../../helpers';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, METRICS_EVENTS, opacity, replaceUrlParams, SUBMIT_DELAY } from '../helpers';\n\nconst Rates = ({ testId, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { actions, device, fetch, multiRoom, refRoomSelector, responseError, state } = useRates();\n const {\n set,\n value: {\n club,\n currency,\n finder = {},\n forwarder,\n hotel = {},\n language,\n locale,\n session,\n skeleton = false,\n urlParams = {},\n variant,\n },\n } = useStore();\n\n const { translate } = useLocale();\n const refItems = useRef({});\n const ratesMetricsSent = useRef(false);\n\n const [busy, setBusy] = useState(false);\n const [cancellationInfo, setCancellationInfo] = useState();\n const [extras, setExtras] = useState();\n const [extrasClosed, setExtrasClosed] = useState();\n const [filterBoard, setFilterBoard] = useState();\n const [filters, setFilters] = useState({});\n const [itemInfo, setItemInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [mapView, setMapView] = useState();\n const [offerInfo, setOfferInfo] = useState();\n const [twinSelected, setTwinSelected] = useState();\n\n const { calendar = [], occupation = [] } = finder;\n const { cart, clubDiscount, dataSource, fetching, metaBoard, room, strictSearch } = state;\n const { setCart, setDataSource, setMetaBoard, setRoom, setStrictSearch } = actions;\n\n useEffect(() => {\n if (skeleton || responseError || !dataSource || ratesMetricsSent.current) return;\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_READY,\n multiRoom,\n variant,\n ...getSearchProps({\n store: { finder, currency, language, locale, urlParams },\n dataSource,\n }),\n is_refundable: refundable,\n });\n ratesMetricsSent.current = true;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n if (!filterBoard) return;\n\n setMetaBoard(filterBoard);\n scrollToRoom(filterBoard.roomId);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterBoard]);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleFilters = (next = {}) => {\n const { strictSearch: nextStrictSearch } = next;\n\n setCart([]);\n setRoom(undefined);\n setFilters(next);\n\n if (strictSearch !== nextStrictSearch) setStrictSearch(nextStrictSearch);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n setMetaBoard();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n const { calendar: nextCalendar, occupation: nextOccupation, place: nextPlace, promocode: nextPromocode } = values;\n fetch({ nextCalendar, nextOccupation, nextPlace, nextPromocode });\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n Event.publish(EVENT.RATES_ADD_TO_CART, {\n event: EVENT.RATES_ADD_TO_CART,\n response: { board, cart: nextCart, ...dataSource },\n });\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'room_selected',\n result_position: itemsFiltered.findIndex(({ id } = {}) => id === board.roomId) + 1,\n loyalty_discount_active: !!session || clubDiscount,\n });\n }\n\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n setTwinSelected();\n if (!multiRoom && !!board) handleSubmit(nextCart);\n\n if (multiRoom) {\n if (board && room < occupation.length - 1) return setRoom(room + 1);\n if (!board) set({ rates: undefined });\n }\n };\n\n const handleSubmit = async (cart) => {\n const { extras = [] } =\n (await ServiceRates.extras({\n ...getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n clubDiscount: !!session || clubDiscount,\n device,\n hotelCurrency: dataSource.currency,\n locale,\n session,\n }).catch(() => {})) || {};\n\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) {\n setExtras(extras);\n setExtrasClosed();\n } else handleCheckout(cart, extras, variant);\n };\n\n const handleCheckout = (cart = [], selectedExtras = [], variant = 'A') => {\n setBusy(true);\n\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'rates_submit',\n has_extras: extras?.length > 0,\n });\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource,\n extras: selectedExtras,\n forwarder,\n meta: !!urlParams.rates,\n refundable,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n variant,\n occupationTotals: JSON.stringify(getOccupationTotals({ infantAge: dataSource.infantAge, occupation })),\n });\n }, SUBMIT_DELAY);\n };\n\n const handleCloseExtras = () => {\n setExtras();\n !multiRoom && setExtrasClosed(true);\n };\n\n const handleTwin = (roomId) => {\n setFilterBoard();\n setMetaBoard();\n setTwinSelected(roomId);\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n if (top) scrollTo(top + window.scrollY - (isMobile ? 65 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const cardImageHeight = getCardImageHeight();\n\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const features = getFeatures(hotel.features, urlParams, { isDesktop });\n const priceFactor = features.showPricePerNight && nights > 1 ? nights : 1;\n const uniqueOption = (dataSource?.items || [])\n .filter(({ soldOut } = {}) => !soldOut)\n .every(\n ({ boards = [], cancellations = [], rates = [] }) =>\n boards.length === 1 && cancellations.length === 1 && rates.length === 1,\n );\n const itemsFiltered = select(dataSource?.items, filters, { priceFactor });\n const refundable = getRefundableFromItems(dataSource?.items);\n\n return (\n <>\n <Header currency login={!!club} name={features.showNameInHeader} skeleton={skeleton} />\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 <View row={isMobile} className={style.wrapper}>\n <Finder\n compacted={!isDesktop}\n icon\n onSubmit={handleFinder}\n testId={testId ? `${testId}-finder` : undefined}\n />\n\n {!responseError && dataSource?.items && (\n <Filters {...dataSource} {...{ clubDiscount, values: filters, priceFactor }} onSubmit={handleFilters} />\n )}\n </View>\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n )}\n\n <View role=\"rates\" testId={testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{ dataSource, filters, multiRoom, priceFactor, onMapView: setMapView, onSelect: handleSelect }}\n >\n {!isMobile ? (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n ) : undefined}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {itemsFiltered?.map(({ id, ...item }, index) => {\n return (\n <Item\n {...{\n ...filterItem(item, filters, priceFactor),\n cardImageHeight,\n cart,\n extrasClosed,\n features,\n filters,\n metaBoard,\n id,\n resultPosition: index + 1,\n multiRoom,\n nights,\n priceFactor,\n room,\n taxesType: dataSource.taxesType,\n uniqueOption,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onCancellationInfo={(rate) => setCancellationInfo({ ...rate, name: item.name })}\n onMoreInfo={() => setItemInfo(item)}\n onOfferInfo={(rate) => setOfferInfo(rate)}\n onSelect={handleSelect}\n onTwin={handleTwin}\n onViewUrl={(info) => setItemUrl(info)}\n testId={testId ? `${testId}-item-${index}` : undefined}\n />\n );\n })}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...{ ...item, cardImageHeight, nights, priceFactor }} />\n ))}\n </Cards>\n ) : responseError ? (\n responseError.hotel ||\n responseError.tracking?.hotelInfoBAR?.length === 0 ||\n responseError.tracking?.hotelInfoBAR[0].noAvailableReason ? (\n <Unavailability {...{ ...responseError, nights, priceFactor }} onMapView={setMapView} />\n ) : (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code || ERROR.UNKNOWN])}\n </Notification>\n )\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n <RatesFooter\n {...{ cart: multiRoom ? cart : [], dataSource, extras, multiRoom, occupation }}\n onSubmit={() => (multiRoom ? handleSubmit(cart) : undefined)}\n testId={testId ? `${testId}-footer` : undefined}\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 <ModalCancellationInfo\n {...cancellationInfo}\n visible={!!cancellationInfo}\n onClose={() => setCancellationInfo()}\n />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalOfferInfo {...{ ...offerInfo }} visible={!!offerInfo} onClose={() => setOfferInfo()} />\n <ModalTwin\n {...{\n ...itemInfo,\n clubDiscount,\n dataSource,\n cart,\n features,\n filters,\n nights,\n priceFactor,\n room,\n selected: twinSelected,\n }}\n onBook={handleSelect}\n onClose={() => setTwinSelected()}\n onFilter={handleFilters}\n onSelect={setFilterBoard}\n />\n <ModalExtras\n {...{ ...dataSource, busy, cart, extras }}\n visible={!!extras}\n onClose={handleCloseExtras}\n onSubmit={(extras) => handleCheckout(cart, extras, variant)}\n testId={testId ? `${testId}-modalExtras` : undefined}\n />\n </>\n )}\n\n <ModalMapView items={mapView} nights={nights} visible={!!mapView} onClose={() => setMapView()} />\n\n <Footer />\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n testId: PropTypes.string,\n};\n\nexport { Rates };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,7 +14,7 @@ var _Item = require("./Item.l10n");
|
|
|
14
14
|
var style = _interopRequireWildcard(require("./Item.module.css"));
|
|
15
15
|
var _helpers = require("../../helpers");
|
|
16
16
|
var _Rates = require("../../Rates.constants");
|
|
17
|
-
const _excluded = ["availableRates", "features", "id", "isSoldOut", "multiRoom", "name", "nights", "priceFactor", "promocodeForAll", "resultPosition", "selected", "selectedBoard", "taxesType", "onSelect"];
|
|
17
|
+
const _excluded = ["availableRates", "extrasClosed", "features", "id", "isSoldOut", "multiRoom", "name", "nights", "priceFactor", "promocodeForAll", "resultPosition", "selected", "selectedBoard", "taxesType", "onSelect"];
|
|
18
18
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
19
19
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
20
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -27,6 +27,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
|
|
|
27
27
|
const Summary = _ref => {
|
|
28
28
|
let {
|
|
29
29
|
availableRates = [],
|
|
30
|
+
extrasClosed,
|
|
30
31
|
features: {
|
|
31
32
|
showPricePerNight = false
|
|
32
33
|
} = {},
|
|
@@ -63,6 +64,9 @@ const Summary = _ref => {
|
|
|
63
64
|
(0, _react.useEffect)(() => {
|
|
64
65
|
Object.keys(selected).length === 0 && setBusy(false);
|
|
65
66
|
}, [selected]);
|
|
67
|
+
(0, _react.useEffect)(() => {
|
|
68
|
+
extrasClosed && setBusy(false);
|
|
69
|
+
}, [extrasClosed]);
|
|
66
70
|
const {
|
|
67
71
|
basePrice,
|
|
68
72
|
cancellationId,
|
|
@@ -83,7 +87,7 @@ const Summary = _ref => {
|
|
|
83
87
|
const isSelected = selected.id === id;
|
|
84
88
|
const handlePress = () => {
|
|
85
89
|
if (!multiRoom) setBusy(true);
|
|
86
|
-
onSelect(!isSelected ? {
|
|
90
|
+
onSelect(!isSelected || !multiRoom ? {
|
|
87
91
|
basePrice,
|
|
88
92
|
cancellationId,
|
|
89
93
|
checkoutPrice,
|
|
@@ -203,6 +207,7 @@ exports.Summary = Summary;
|
|
|
203
207
|
Summary.displayName = 'Mirai:Core:Rates:Item:Summary';
|
|
204
208
|
Summary.propTypes = {
|
|
205
209
|
availableRates: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
210
|
+
extrasClosed: _propTypes.default.bool,
|
|
206
211
|
features: _propTypes.default.shape({
|
|
207
212
|
showPricePerNight: _propTypes.default.bool
|
|
208
213
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_Rates","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Summary","_ref","availableRates","features","showPricePerNight","id","roomId","isSoldOut","multiRoom","name","roomName","nights","priceFactor","promocodeForAll","resultPosition","selected","selectedBoard","taxesType","onSelect","others","isMobile","useDevice","currencyFormat","translate","useLocale","currency","finder","promocode","useStore","busy","setBusy","useState","useEffect","basePrice","cancellationId","checkoutPrice","confidential","dayPrice","deals","discount","fees","originalPrice","price","rateId","taxes","totalPriceRaw","isSelected","handlePress","undefined","breakdown","percentage","discountPercentage","clubPercentage","find","type","DISCOUNT_TYPE","CLUB","promoPercentage","PROMOTION","clubOffer","getClubRate","board","rate","_ref2","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","Fragment","View","className","offset","summary","row","tags","Text","bold","small","tag","highlight","L10N","LABEL_ONLY_MEMBERS_DISCOUNT","concat","Math","round","trimEnd","MAX_PROMOCODE","MOBILE","DESKTOP","truncate","toUpperCase","gap","content","end","headline","level","action","light","lineThrough","pricePer","LABEL_FOR_NIGHTS","LABEL_PER_NIGHT","getLabelTaxes","PriceDetails","priceDetails","Button","disabled","large","secondary","onPress","LABEL_NOT_AVAILABLE","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","arrayOf","any","shape","bool","number","string","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceDetails } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { getLabelTaxes, getClubRate } from '../../helpers';\nimport { DISCOUNT_TYPE, MAX_PROMOCODE } from '../../Rates.constants';\n\nconst Summary = ({\n availableRates = [],\n features: { showPricePerNight = false } = {},\n id: roomId,\n isSoldOut = false,\n multiRoom = false,\n name: roomName,\n nights = 2,\n priceFactor = 1,\n promocodeForAll,\n resultPosition,\n selected = {},\n selectedBoard = {},\n taxesType,\n onSelect,\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency, finder: { promocode } = {} } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => {\n Object.keys(selected).length === 0 && setBusy(false);\n }, [selected]);\n\n const {\n basePrice,\n cancellationId,\n checkoutPrice,\n confidential,\n dayPrice,\n deals,\n discount,\n fees,\n id,\n name,\n originalPrice = 0,\n price = 0,\n rateId,\n taxes,\n totalPriceRaw,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n if (!multiRoom) setBusy(true);\n onSelect(\n !isSelected\n ? {\n basePrice,\n cancellationId,\n checkoutPrice,\n confidential,\n deals,\n discount,\n fees,\n id,\n name,\n price,\n rateId,\n roomId,\n roomName,\n taxes,\n totalPriceRaw,\n }\n : undefined,\n );\n };\n\n const { breakdown = [], percentage: discountPercentage = 0 } = discount || {};\n\n const { percentage: clubPercentage = 0 } = breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.CLUB) || {};\n const { percentage: promoPercentage = 0 } = breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION) || {};\n\n const clubOffer = getClubRate({\n board: selectedBoard,\n rate: availableRates.find(({ id }) => rateId === id),\n });\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n\n const { testId } = others;\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n <View row className={style.tags}>\n {clubOffer && (\n <Text bold small className={[style.tag, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS_DISCOUNT, {\n value: !isSoldOut && clubPercentage > 0 ? ` -${Math.round(clubPercentage)}%` : '',\n }).trimEnd()}\n </Text>\n )}\n {!isSoldOut && promocode && promocodeForAll && (\n <Text bold small className={[style.tag, style.highlight]}>\n <Text\n bold\n small\n className={\n promocode.length > (isMobile ? MAX_PROMOCODE.MOBILE : MAX_PROMOCODE.DESKTOP) && style.truncate\n }\n >\n {promocode.toUpperCase()}\n </Text>\n {promoPercentage ? ` -${Math.round(promoPercentage)}%` : ''}\n </Text>\n )}\n </View>\n\n <View row className={[style.gap, style.content, isSoldOut && style.end]}>\n {!isSoldOut && (\n <View>\n <View row className={style.price}>\n <Text bold headline level={multiRoom || price >= 10000 ? 3 : 2}>\n {currencyFormat({ ...currencyFormatProps, value: price / priceFactor })}\n </Text>\n\n {price !== originalPrice && (\n <Text action light className={style.lineThrough}>\n {currencyFormat({ ...currencyFormatProps, value: originalPrice / priceFactor })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small className={style.pricePer}>{`${currencyFormat({\n ...currencyFormatProps,\n value: showPricePerNight ? price : dayPrice,\n })} ${translate(showPricePerNight ? L10N.LABEL_FOR_NIGHTS : L10N.LABEL_PER_NIGHT, { nights })}`}</Text>\n )}\n\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n {(discountPercentage > 0 || fees > 0 || taxes > 0) && (\n <PriceDetails {...{ board: selectedBoard, taxesType, resultPosition }} className={style.priceDetails} />\n )}\n </View>\n )}\n\n <Button\n busy={busy}\n disabled={isSoldOut}\n large={isMobile}\n secondary={multiRoom && isSelected}\n onPress={handlePress}\n testId={testId ? `${testId}-select` : undefined}\n >\n {translate(\n isSoldOut\n ? L10N.LABEL_NOT_AVAILABLE\n : multiRoom\n ? isSelected\n ? L10N.LABEL_DESELECT\n : L10N.LABEL_SELECT\n : L10N.ACTION_RESERVE,\n )}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item:Summary';\n\nSummary.propTypes = {\n availableRates: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n showPricePerNight: PropTypes.bool,\n }),\n id: PropTypes.number,\n isSoldOut: PropTypes.bool,\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n nights: PropTypes.number,\n priceFactor: PropTypes.number,\n promocodeForAll: PropTypes.bool,\n resultPosition: PropTypes.number,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxesType: PropTypes.number,\n onSelect: PropTypes.func,\n};\n\nexport { Summary };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_Rates","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","Summary","_ref","availableRates","extrasClosed","features","showPricePerNight","id","roomId","isSoldOut","multiRoom","name","roomName","nights","priceFactor","promocodeForAll","resultPosition","selected","selectedBoard","taxesType","onSelect","others","isMobile","useDevice","currencyFormat","translate","useLocale","currency","finder","promocode","useStore","busy","setBusy","useState","useEffect","basePrice","cancellationId","checkoutPrice","confidential","dayPrice","deals","discount","fees","originalPrice","price","rateId","taxes","totalPriceRaw","isSelected","handlePress","undefined","breakdown","percentage","discountPercentage","clubPercentage","find","type","DISCOUNT_TYPE","CLUB","promoPercentage","PROMOTION","clubOffer","getClubRate","board","rate","_ref2","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","Fragment","View","className","offset","summary","row","tags","Text","bold","small","tag","highlight","L10N","LABEL_ONLY_MEMBERS_DISCOUNT","concat","Math","round","trimEnd","MAX_PROMOCODE","MOBILE","DESKTOP","truncate","toUpperCase","gap","content","end","headline","level","action","light","lineThrough","pricePer","LABEL_FOR_NIGHTS","LABEL_PER_NIGHT","getLabelTaxes","PriceDetails","priceDetails","Button","disabled","large","secondary","onPress","LABEL_NOT_AVAILABLE","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","arrayOf","any","bool","shape","number","string","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceDetails } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { getLabelTaxes, getClubRate } from '../../helpers';\nimport { DISCOUNT_TYPE, MAX_PROMOCODE } from '../../Rates.constants';\n\nconst Summary = ({\n availableRates = [],\n extrasClosed,\n features: { showPricePerNight = false } = {},\n id: roomId,\n isSoldOut = false,\n multiRoom = false,\n name: roomName,\n nights = 2,\n priceFactor = 1,\n promocodeForAll,\n resultPosition,\n selected = {},\n selectedBoard = {},\n taxesType,\n onSelect,\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency, finder: { promocode } = {} } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => {\n Object.keys(selected).length === 0 && setBusy(false);\n }, [selected]);\n\n useEffect(() => {\n extrasClosed && setBusy(false);\n }, [extrasClosed]);\n\n const {\n basePrice,\n cancellationId,\n checkoutPrice,\n confidential,\n dayPrice,\n deals,\n discount,\n fees,\n id,\n name,\n originalPrice = 0,\n price = 0,\n rateId,\n taxes,\n totalPriceRaw,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n if (!multiRoom) setBusy(true);\n onSelect(\n !isSelected || !multiRoom\n ? {\n basePrice,\n cancellationId,\n checkoutPrice,\n confidential,\n deals,\n discount,\n fees,\n id,\n name,\n price,\n rateId,\n roomId,\n roomName,\n taxes,\n totalPriceRaw,\n }\n : undefined,\n );\n };\n\n const { breakdown = [], percentage: discountPercentage = 0 } = discount || {};\n\n const { percentage: clubPercentage = 0 } = breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.CLUB) || {};\n const { percentage: promoPercentage = 0 } = breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION) || {};\n\n const clubOffer = getClubRate({\n board: selectedBoard,\n rate: availableRates.find(({ id }) => rateId === id),\n });\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n\n const { testId } = others;\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n <View row className={style.tags}>\n {clubOffer && (\n <Text bold small className={[style.tag, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS_DISCOUNT, {\n value: !isSoldOut && clubPercentage > 0 ? ` -${Math.round(clubPercentage)}%` : '',\n }).trimEnd()}\n </Text>\n )}\n {!isSoldOut && promocode && promocodeForAll && (\n <Text bold small className={[style.tag, style.highlight]}>\n <Text\n bold\n small\n className={\n promocode.length > (isMobile ? MAX_PROMOCODE.MOBILE : MAX_PROMOCODE.DESKTOP) && style.truncate\n }\n >\n {promocode.toUpperCase()}\n </Text>\n {promoPercentage ? ` -${Math.round(promoPercentage)}%` : ''}\n </Text>\n )}\n </View>\n\n <View row className={[style.gap, style.content, isSoldOut && style.end]}>\n {!isSoldOut && (\n <View>\n <View row className={style.price}>\n <Text bold headline level={multiRoom || price >= 10000 ? 3 : 2}>\n {currencyFormat({ ...currencyFormatProps, value: price / priceFactor })}\n </Text>\n\n {price !== originalPrice && (\n <Text action light className={style.lineThrough}>\n {currencyFormat({ ...currencyFormatProps, value: originalPrice / priceFactor })}\n </Text>\n )}\n </View>\n\n {nights > 1 && (\n <Text small className={style.pricePer}>{`${currencyFormat({\n ...currencyFormatProps,\n value: showPricePerNight ? price : dayPrice,\n })} ${translate(showPricePerNight ? L10N.LABEL_FOR_NIGHTS : L10N.LABEL_PER_NIGHT, { nights })}`}</Text>\n )}\n\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n {(discountPercentage > 0 || fees > 0 || taxes > 0) && (\n <PriceDetails {...{ board: selectedBoard, taxesType, resultPosition }} className={style.priceDetails} />\n )}\n </View>\n )}\n\n <Button\n busy={busy}\n disabled={isSoldOut}\n large={isMobile}\n secondary={multiRoom && isSelected}\n onPress={handlePress}\n testId={testId ? `${testId}-select` : undefined}\n >\n {translate(\n isSoldOut\n ? L10N.LABEL_NOT_AVAILABLE\n : multiRoom\n ? isSelected\n ? L10N.LABEL_DESELECT\n : L10N.LABEL_SELECT\n : L10N.ACTION_RESERVE,\n )}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item:Summary';\n\nSummary.propTypes = {\n availableRates: PropTypes.arrayOf(PropTypes.any),\n extrasClosed: PropTypes.bool,\n features: PropTypes.shape({\n showPricePerNight: PropTypes.bool,\n }),\n id: PropTypes.number,\n isSoldOut: PropTypes.bool,\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n nights: PropTypes.number,\n priceFactor: PropTypes.number,\n promocodeForAll: PropTypes.bool,\n resultPosition: PropTypes.number,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxesType: PropTypes.number,\n onSelect: PropTypes.func,\n};\n\nexport { Summary };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,7 +15,7 @@ var style = _interopRequireWildcard(require("./ModalExtras.module.css"));
|
|
|
15
15
|
var _helpers2 = require("../../../helpers");
|
|
16
16
|
var _helpers3 = require("../../helpers");
|
|
17
17
|
var _components = require("../Item/components");
|
|
18
|
-
const _excluded = ["busy", "cart", "extras", "taxesType", "visible", "onSubmit"],
|
|
18
|
+
const _excluded = ["busy", "cart", "extras", "taxesType", "visible", "onClose", "onSubmit"],
|
|
19
19
|
_excluded2 = ["selected"];
|
|
20
20
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
21
21
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -34,6 +34,7 @@ const ModalExtras = _ref => {
|
|
|
34
34
|
extras: propExtras = [],
|
|
35
35
|
taxesType,
|
|
36
36
|
visible = false,
|
|
37
|
+
onClose = () => {},
|
|
37
38
|
onSubmit = () => {}
|
|
38
39
|
} = _ref,
|
|
39
40
|
others = _objectWithoutProperties(_ref, _excluded);
|
|
@@ -180,6 +181,7 @@ const ModalExtras = _ref => {
|
|
|
180
181
|
fit: true,
|
|
181
182
|
title: translate(_ModalExtras.L10N.LABEL_ANYTHING_ELSE_TO_ADD),
|
|
182
183
|
visible: visible,
|
|
184
|
+
onClose: onClose,
|
|
183
185
|
className: style.modal,
|
|
184
186
|
testId: testId
|
|
185
187
|
}, /*#__PURE__*/_react.default.createElement(_ui.ScrollView, {
|
|
@@ -340,7 +342,7 @@ ModalExtras.propTypes = {
|
|
|
340
342
|
extras: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
341
343
|
taxesType: _propTypes.default.number,
|
|
342
344
|
visible: _propTypes.default.bool,
|
|
343
|
-
|
|
345
|
+
onClose: _propTypes.default.func,
|
|
344
346
|
onSubmit: _propTypes.default.func
|
|
345
347
|
};
|
|
346
348
|
ModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_helpers3","_components","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","ModalExtras","_ref","busy","cart","extras","propExtras","taxesType","visible","onSubmit","others","currencyFormat","translate","useLocale","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","setExtras","useState","useEffect","_cart$","roomType","roomName","roomPrice","reduce","total","price","undefined","Event","publish","EVENT","METRICS","id","METRICS_EVENTS","EXTRAS_READY","room_type","room_price","extras_count","handleChange","field","map","extra","parseInt","handleSelect","_value","_value2","next","_ref2","selected","selectedExtra","find","totalSelected","_ref3","amount","nights","valueAmount","valueNights","position","findIndex","EXTRAS_INTERACTION","action","extra_name","title","extra_price","extra_position","total_extras_selected","handleSubmit","item","included","_ref4","_baseValue","baseValue","hasSelected","totalExtras","_value3","place","standaloneCard","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","Modal","fit","L10N","LABEL_ANYTHING_ELSE_TO_ADD","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","row","container","accommodationThreshold","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","text","type","key","wide","styles","card","standalone","backgroundImage","concat","gap","offset","anchor","Text","bold","small","Notification","inline","warning","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","onChange","LABEL_NIGHTS","spaceBetween","headline","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","footer","level","getLabelTaxes","PriceDetails","_ref5","priceDetails","ACTION_CONTINUE","ACTION_CONTINUE_WITHOUT_EXTRAS","exports","propTypes","PropTypes","bool","arrayOf","shape","number","onCancel","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Modal, Notification, ScrollView, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { EVENT, getGuestLabel, METRICS_EVENTS } from '../../../helpers';\nimport { getLabelTaxes } from '../../helpers';\nimport { PriceDetails } from '../Item/components';\n\nconst ModalExtras = ({\n busy,\n cart = [],\n extras: propExtras = [],\n taxesType,\n visible = false,\n onSubmit = () => {},\n ...others\n}) => {\n const { currencyFormat, translate } = useLocale();\n const {\n value: { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n useEffect(() => {\n if (visible) {\n setExtras(propExtras);\n const roomType = cart?.[0]?.roomName;\n const roomPrice = cart?.reduce((total, { price = 0 } = {}) => total + price, 0);\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.EXTRAS_READY,\n room_type: roomType,\n room_price: roomPrice,\n extras_count: propExtras?.length,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [propExtras, visible]);\n\n const handleChange = ({ id, field, value } = {}) => {\n // ! Why parse Number()? should come from the service.\n setExtras(extras.map((extra) => ({ ...extra, [field]: extra.id === id ? parseInt(value) : extra[field] })));\n };\n\n const handleSelect = (id) => {\n const next = extras.map(({ selected = false, ...extra }) => ({\n ...extra,\n selected: extra.id === id ? !selected : selected,\n }));\n\n setExtras(next);\n\n const selectedExtra = next.find((extra) => extra.id === id);\n const totalSelected = next.filter(({ selected }) => selected).length;\n const { amount, nights, value, valueAmount, valueNights } = selectedExtra || {};\n const price = value?.[valueAmount || amount]?.[valueNights || nights]?.price;\n const position = next.findIndex((extra) => extra.id === id) + 1;\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.EXTRAS_INTERACTION,\n action: selectedExtra?.selected ? 'add' : 'remove',\n extra_name: selectedExtra?.title,\n extra_price: price,\n extra_position: position || undefined,\n total_extras_selected: totalSelected,\n });\n };\n\n const handleSubmit = () => {\n onSubmit(\n extras\n .filter((item) => item.selected || item.included)\n .map(({ amount, baseValue, nights, id, included, valueAmount, valueNights }) => ({\n id,\n included,\n amount: parseInt(valueAmount || amount),\n nights: parseInt(valueNights || nights),\n value: baseValue[valueAmount || amount][valueNights || nights]?.price,\n })),\n );\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = extras\n .filter((item) => item.selected)\n .reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const { testId } = others;\n\n return (\n <Modal\n fit\n title={translate(L10N.LABEL_ANYTHING_ELSE_TO_ADD)}\n visible={visible}\n className={style.modal}\n testId={testId}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View row className={style.container}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected && selected ? style.selected : undefined,\n )}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total ? currencyFormat({ ...currencyFormatProps, value: total }) : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </View>\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={2}>\n {currencyFormat({ ...currencyFormatProps, value: total + totalExtras })}\n </Text>\n\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails\n extras={extras.filter(({ selected }) => selected)}\n cart={cart}\n taxesType={taxesType}\n {...others}\n className={style.priceDetails}\n />\n </View>\n )}\n\n <Button busy={busy} onPress={handleSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {translate(hasSelected ? L10N.ACTION_CONTINUE : L10N.ACTION_CONTINUE_WITHOUT_EXTRAS)}\n </Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n busy: PropTypes.bool,\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n visible: PropTypes.bool,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_helpers3","_components","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","ModalExtras","_ref","busy","cart","extras","propExtras","taxesType","visible","onClose","onSubmit","others","currencyFormat","translate","useLocale","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","setExtras","useState","useEffect","_cart$","roomType","roomName","roomPrice","reduce","total","price","undefined","Event","publish","EVENT","METRICS","id","METRICS_EVENTS","EXTRAS_READY","room_type","room_price","extras_count","handleChange","field","map","extra","parseInt","handleSelect","_value","_value2","next","_ref2","selected","selectedExtra","find","totalSelected","_ref3","amount","nights","valueAmount","valueNights","position","findIndex","EXTRAS_INTERACTION","action","extra_name","title","extra_price","extra_position","total_extras_selected","handleSubmit","item","included","_ref4","_baseValue","baseValue","hasSelected","totalExtras","_value3","place","standaloneCard","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","Modal","fit","L10N","LABEL_ANYTHING_ELSE_TO_ADD","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","row","container","accommodationThreshold","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","text","type","key","wide","styles","card","standalone","backgroundImage","concat","gap","offset","anchor","Text","bold","small","Notification","inline","warning","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","onChange","LABEL_NIGHTS","spaceBetween","headline","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","footer","level","getLabelTaxes","PriceDetails","_ref5","priceDetails","ACTION_CONTINUE","ACTION_CONTINUE_WITHOUT_EXTRAS","exports","propTypes","PropTypes","bool","arrayOf","shape","number","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Modal, Notification, ScrollView, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { EVENT, getGuestLabel, METRICS_EVENTS } from '../../../helpers';\nimport { getLabelTaxes } from '../../helpers';\nimport { PriceDetails } from '../Item/components';\n\nconst ModalExtras = ({\n busy,\n cart = [],\n extras: propExtras = [],\n taxesType,\n visible = false,\n onClose = () => {},\n onSubmit = () => {},\n ...others\n}) => {\n const { currencyFormat, translate } = useLocale();\n const {\n value: { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n useEffect(() => {\n if (visible) {\n setExtras(propExtras);\n const roomType = cart?.[0]?.roomName;\n const roomPrice = cart?.reduce((total, { price = 0 } = {}) => total + price, 0);\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.EXTRAS_READY,\n room_type: roomType,\n room_price: roomPrice,\n extras_count: propExtras?.length,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [propExtras, visible]);\n\n const handleChange = ({ id, field, value } = {}) => {\n // ! Why parse Number()? should come from the service.\n setExtras(extras.map((extra) => ({ ...extra, [field]: extra.id === id ? parseInt(value) : extra[field] })));\n };\n\n const handleSelect = (id) => {\n const next = extras.map(({ selected = false, ...extra }) => ({\n ...extra,\n selected: extra.id === id ? !selected : selected,\n }));\n\n setExtras(next);\n\n const selectedExtra = next.find((extra) => extra.id === id);\n const totalSelected = next.filter(({ selected }) => selected).length;\n const { amount, nights, value, valueAmount, valueNights } = selectedExtra || {};\n const price = value?.[valueAmount || amount]?.[valueNights || nights]?.price;\n const position = next.findIndex((extra) => extra.id === id) + 1;\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.EXTRAS_INTERACTION,\n action: selectedExtra?.selected ? 'add' : 'remove',\n extra_name: selectedExtra?.title,\n extra_price: price,\n extra_position: position || undefined,\n total_extras_selected: totalSelected,\n });\n };\n\n const handleSubmit = () => {\n onSubmit(\n extras\n .filter((item) => item.selected || item.included)\n .map(({ amount, baseValue, nights, id, included, valueAmount, valueNights }) => ({\n id,\n included,\n amount: parseInt(valueAmount || amount),\n nights: parseInt(valueNights || nights),\n value: baseValue[valueAmount || amount][valueNights || nights]?.price,\n })),\n );\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = extras\n .filter((item) => item.selected)\n .reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const { testId } = others;\n\n return (\n <Modal\n fit\n title={translate(L10N.LABEL_ANYTHING_ELSE_TO_ADD)}\n visible={visible}\n onClose={onClose}\n className={style.modal}\n testId={testId}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View row className={style.container}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected && selected ? style.selected : undefined,\n )}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total ? currencyFormat({ ...currencyFormatProps, value: total }) : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </View>\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={2}>\n {currencyFormat({ ...currencyFormatProps, value: total + totalExtras })}\n </Text>\n\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails\n extras={extras.filter(({ selected }) => selected)}\n cart={cart}\n taxesType={taxesType}\n {...others}\n className={style.priceDetails}\n />\n </View>\n )}\n\n <Button busy={busy} onPress={handleSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {translate(hasSelected ? L10N.ACTION_CONTINUE : L10N.ACTION_CONTINUE_WITHOUT_EXTRAS)}\n </Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n busy: PropTypes.bool,\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n visible: PropTypes.bool,\n onClose: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -72,6 +72,7 @@ const LinkagePay = _ref => {
|
|
|
72
72
|
let {
|
|
73
73
|
detail: {
|
|
74
74
|
configuration: {
|
|
75
|
+
notificationUrl,
|
|
75
76
|
postObject: data = {}
|
|
76
77
|
} = {}
|
|
77
78
|
} = {}
|
|
@@ -90,7 +91,10 @@ const LinkagePay = _ref => {
|
|
|
90
91
|
creditCardExpiryMonth: month.padStart(2, '0'),
|
|
91
92
|
creditCardExpiryYear: "20".concat(year),
|
|
92
93
|
creditCardCvc: form.CVV
|
|
93
|
-
})).catch(
|
|
94
|
+
})).catch(async error => {
|
|
95
|
+
setResponseError(error);
|
|
96
|
+
await _services.VomsisService.notificationError(error, notificationUrl);
|
|
97
|
+
});
|
|
94
98
|
if (response) {
|
|
95
99
|
window.location.href = URL.createObjectURL(new Blob([response], {
|
|
96
100
|
type: 'text/html'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkagePay.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_LinkagePay","_LinkagePay2","_services","_trackError","_ButtonPayment","_Card","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","LinkagePay","_ref","accessToken","currency","onChange","onError","others","currencyFormat","translate","useLocale","payment","storeValue","useStore","form","setForm","useState","formError","setFormError","installment","setInstallment","installments","setInstallments","responseError","setResponseError","useEffect","document","addEventListener","EVENT","SERVICE_RESPONSE","handleResponse","removeEventListener","trackError","Error","stack","message","error","ERROR","_ref2","_form$card","_form$card$trim","detail","configuration","postObject","data","entries","_ref3","undefined","month","year","expire","split","response","VomsisService","createPayment","parseInt","creditCardHolderName","name","creditCardPan","card","trim","replace","creditCardExpiryMonth","padStart","creditCardExpiryYear","concat","creditCardCvc","CVV","catch","window","location","href","URL","createObjectURL","Blob","type","handleChange","values","_values$card","_form$card2","LENGTH_CC_NUMBER","substring","getInstallments","firstInstallment","toString","token","handleError","createElement","Fragment","Card","cards","showCVV","InputSelect","id","label","L10N","LABEL_INSTALLMENTS","options","map","amount","ratio","Notification","small","wide","NOTIFICATION_ERROR_LINKAGE_PAY","exports","displayName","propTypes","PropTypes","string","number","func"],"sources":["../../../../../../src/components/__shared__/Payment/components/LinkagePay/LinkagePay.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { InputSelect, Notification } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ERROR, LENGTH_CC_NUMBER } from './LinkagePay.constants';\nimport { L10N } from './LinkagePay.l10n';\nimport { VomsisService } from './services';\nimport { trackError } from '../../../../../helpers/trackError';\nimport { EVENT } from '../../../ButtonPayment/ButtonPayment.constants';\nimport { Card } from '../Card/Card';\n\nconst LinkagePay = ({ accessToken, currency, value, onChange = () => {}, onError = () => {}, ...others }) => {\n const { currencyFormat, translate } = useLocale();\n const { value: { payment = {} } = {}, value: storeValue, set } = useStore();\n\n const [form, setForm] = useState({});\n const [formError, setFormError] = useState({});\n const [installment, setInstallment] = useState();\n const [installments, setInstallments] = useState();\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n document.addEventListener(EVENT.SERVICE_RESPONSE, handleResponse);\n\n return () => document.removeEventListener(EVENT.SERVICE_RESPONSE, handleResponse);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form, formError, responseError, storeValue]);\n\n useEffect(() => {\n if (!responseError) return;\n\n if (responseError)\n trackError('LinkagePay', responseError instanceof Error ? responseError.stack : responseError?.message);\n\n set({ payment: { ...payment, error: ERROR } });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [responseError]);\n\n const handleResponse = async ({ detail: { configuration: { postObject: data = {} } = {} } = {} }) => {\n if (Object.entries(formError).filter(([, value]) => value !== undefined).length > 0) return;\n\n setResponseError();\n\n const [month, year] = form.expire.split('/');\n const response = await VomsisService.createPayment(accessToken, {\n ...data,\n ...(installment ? { installment: parseInt(installment) } : undefined),\n creditCardHolderName: form.name,\n creditCardPan: form.card?.trim()?.replace(/\\s/g, ''),\n creditCardExpiryMonth: month.padStart(2, '0'),\n creditCardExpiryYear: `20${year}`,\n creditCardCvc: form.CVV,\n }).catch(setResponseError);\n\n if (response) {\n window.location.href = URL.createObjectURL(new Blob([response], { type: 'text/html' }));\n }\n };\n\n const handleChange = (values) => {\n const card = values.card?.replace(/\\s/g, '') || '';\n if (\n card.length >= LENGTH_CC_NUMBER &&\n (!installments ||\n (form.card?.length >= LENGTH_CC_NUMBER &&\n values.card.substring(0, LENGTH_CC_NUMBER) !== form.card.substring(0, LENGTH_CC_NUMBER)))\n ) {\n (async () => {\n const response = (await VomsisService.getInstallments(accessToken, card).catch()) || [];\n const [firstInstallment] = response;\n\n setInstallment(firstInstallment.installment.toString());\n response.length > 1 && firstInstallment.currency === currency && setInstallments(response);\n })();\n } else if (card.length < LENGTH_CC_NUMBER) {\n setInstallments();\n }\n\n setForm(values);\n\n const { type } = values;\n\n onChange({ ...payment, token: accessToken, type });\n };\n\n const handleError = (error) => {\n setFormError(error);\n onError(error);\n };\n\n return (\n <>\n <Card {...others} cards={undefined} showCVV onChange={handleChange} onError={handleError} />\n {installments?.length > 0 && (\n <InputSelect\n id=\"installments\"\n label={translate(L10N.LABEL_INSTALLMENTS)}\n options={installments.map(\n ({ amount, currency, installment, ratio } = {}) =>\n `${amount} x ${currencyFormat({\n value: (value * (ratio / 100 + 1)) / installment,\n currency,\n })} = ${currencyFormat({ value: value * (ratio / 100 + 1), currency })}`,\n )}\n value={installment}\n values={installments.map(({ installment } = {}) => installment)}\n onChange={setInstallment}\n />\n )}\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR_LINKAGE_PAY)}\n </Notification>\n )}\n </>\n );\n};\n\nLinkagePay.displayName = 'Mirai:Payments:LinkagePay';\n\nLinkagePay.propTypes = {\n accessToken: PropTypes.string,\n currency: PropTypes.string,\n value: PropTypes.number,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n};\n\nexport { LinkagePay };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"LinkagePay.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_LinkagePay","_LinkagePay2","_services","_trackError","_ButtonPayment","_Card","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","LinkagePay","_ref","accessToken","currency","onChange","onError","others","currencyFormat","translate","useLocale","payment","storeValue","useStore","form","setForm","useState","formError","setFormError","installment","setInstallment","installments","setInstallments","responseError","setResponseError","useEffect","document","addEventListener","EVENT","SERVICE_RESPONSE","handleResponse","removeEventListener","trackError","Error","stack","message","error","ERROR","_ref2","_form$card","_form$card$trim","detail","configuration","notificationUrl","postObject","data","entries","_ref3","undefined","month","year","expire","split","response","VomsisService","createPayment","parseInt","creditCardHolderName","name","creditCardPan","card","trim","replace","creditCardExpiryMonth","padStart","creditCardExpiryYear","concat","creditCardCvc","CVV","catch","notificationError","window","location","href","URL","createObjectURL","Blob","type","handleChange","values","_values$card","_form$card2","LENGTH_CC_NUMBER","substring","getInstallments","firstInstallment","toString","token","handleError","createElement","Fragment","Card","cards","showCVV","InputSelect","id","label","L10N","LABEL_INSTALLMENTS","options","map","amount","ratio","Notification","small","wide","NOTIFICATION_ERROR_LINKAGE_PAY","exports","displayName","propTypes","PropTypes","string","number","func"],"sources":["../../../../../../src/components/__shared__/Payment/components/LinkagePay/LinkagePay.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { InputSelect, Notification } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ERROR, LENGTH_CC_NUMBER } from './LinkagePay.constants';\nimport { L10N } from './LinkagePay.l10n';\nimport { VomsisService } from './services';\nimport { trackError } from '../../../../../helpers/trackError';\nimport { EVENT } from '../../../ButtonPayment/ButtonPayment.constants';\nimport { Card } from '../Card/Card';\n\nconst LinkagePay = ({ accessToken, currency, value, onChange = () => {}, onError = () => {}, ...others }) => {\n const { currencyFormat, translate } = useLocale();\n const { value: { payment = {} } = {}, value: storeValue, set } = useStore();\n\n const [form, setForm] = useState({});\n const [formError, setFormError] = useState({});\n const [installment, setInstallment] = useState();\n const [installments, setInstallments] = useState();\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n document.addEventListener(EVENT.SERVICE_RESPONSE, handleResponse);\n\n return () => document.removeEventListener(EVENT.SERVICE_RESPONSE, handleResponse);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form, formError, responseError, storeValue]);\n\n useEffect(() => {\n if (!responseError) return;\n\n if (responseError)\n trackError('LinkagePay', responseError instanceof Error ? responseError.stack : responseError?.message);\n\n set({ payment: { ...payment, error: ERROR } });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [responseError]);\n\n const handleResponse = async ({\n detail: { configuration: { notificationUrl, postObject: data = {} } = {} } = {},\n }) => {\n if (Object.entries(formError).filter(([, value]) => value !== undefined).length > 0) return;\n\n setResponseError();\n\n const [month, year] = form.expire.split('/');\n const response = await VomsisService.createPayment(accessToken, {\n ...data,\n ...(installment ? { installment: parseInt(installment) } : undefined),\n creditCardHolderName: form.name,\n creditCardPan: form.card?.trim()?.replace(/\\s/g, ''),\n creditCardExpiryMonth: month.padStart(2, '0'),\n creditCardExpiryYear: `20${year}`,\n creditCardCvc: form.CVV,\n }).catch(async (error) => {\n setResponseError(error);\n await VomsisService.notificationError(error, notificationUrl);\n });\n\n if (response) {\n window.location.href = URL.createObjectURL(new Blob([response], { type: 'text/html' }));\n }\n };\n\n const handleChange = (values) => {\n const card = values.card?.replace(/\\s/g, '') || '';\n if (\n card.length >= LENGTH_CC_NUMBER &&\n (!installments ||\n (form.card?.length >= LENGTH_CC_NUMBER &&\n values.card.substring(0, LENGTH_CC_NUMBER) !== form.card.substring(0, LENGTH_CC_NUMBER)))\n ) {\n (async () => {\n const response = (await VomsisService.getInstallments(accessToken, card).catch()) || [];\n const [firstInstallment] = response;\n\n setInstallment(firstInstallment.installment.toString());\n response.length > 1 && firstInstallment.currency === currency && setInstallments(response);\n })();\n } else if (card.length < LENGTH_CC_NUMBER) {\n setInstallments();\n }\n\n setForm(values);\n\n const { type } = values;\n\n onChange({ ...payment, token: accessToken, type });\n };\n\n const handleError = (error) => {\n setFormError(error);\n onError(error);\n };\n\n return (\n <>\n <Card {...others} cards={undefined} showCVV onChange={handleChange} onError={handleError} />\n {installments?.length > 0 && (\n <InputSelect\n id=\"installments\"\n label={translate(L10N.LABEL_INSTALLMENTS)}\n options={installments.map(\n ({ amount, currency, installment, ratio } = {}) =>\n `${amount} x ${currencyFormat({\n value: (value * (ratio / 100 + 1)) / installment,\n currency,\n })} = ${currencyFormat({ value: value * (ratio / 100 + 1), currency })}`,\n )}\n value={installment}\n values={installments.map(({ installment } = {}) => installment)}\n onChange={setInstallment}\n />\n )}\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR_LINKAGE_PAY)}\n </Notification>\n )}\n </>\n );\n};\n\nLinkagePay.displayName = 'Mirai:Payments:LinkagePay';\n\nLinkagePay.propTypes = {\n accessToken: PropTypes.string,\n currency: PropTypes.string,\n value: PropTypes.number,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n};\n\nexport { LinkagePay };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,7 +15,9 @@ const VomsisService = exports.VomsisService = {
|
|
|
15
15
|
createPayment: async (accessToken, params) => {
|
|
16
16
|
const {
|
|
17
17
|
status,
|
|
18
|
-
data
|
|
18
|
+
data,
|
|
19
|
+
err_code,
|
|
20
|
+
message
|
|
19
21
|
} = (await (0, _dataSources.request)(_objectSpread({
|
|
20
22
|
hostname: process.env.PROVIDER_LINKAGEPAY_API,
|
|
21
23
|
endpoint: '/payment',
|
|
@@ -23,7 +25,20 @@ const VomsisService = exports.VomsisService = {
|
|
|
23
25
|
headers: {
|
|
24
26
|
Authorization: "Bearer ".concat(accessToken)
|
|
25
27
|
}
|
|
26
|
-
}, params))
|
|
28
|
+
}, params)).catch(_ref => {
|
|
29
|
+
let {
|
|
30
|
+
code: errorCode,
|
|
31
|
+
message
|
|
32
|
+
} = _ref;
|
|
33
|
+
throw {
|
|
34
|
+
errorCode,
|
|
35
|
+
message
|
|
36
|
+
};
|
|
37
|
+
})) || {};
|
|
38
|
+
if (err_code) throw {
|
|
39
|
+
errorCode: err_code,
|
|
40
|
+
message
|
|
41
|
+
};
|
|
27
42
|
if (status && data) return data;
|
|
28
43
|
},
|
|
29
44
|
getInstallments: async function (accessToken) {
|
|
@@ -43,6 +58,10 @@ const VomsisService = exports.VomsisService = {
|
|
|
43
58
|
cc_number: card.substring(0, _LinkagePay.LENGTH_CC_NUMBER)
|
|
44
59
|
})) || {};
|
|
45
60
|
return installments;
|
|
46
|
-
}
|
|
61
|
+
},
|
|
62
|
+
notificationError: async (error, url) => (0, _dataSources.request)(_objectSpread({
|
|
63
|
+
hostname: url,
|
|
64
|
+
method: 'POST'
|
|
65
|
+
}, error))
|
|
47
66
|
};
|
|
48
67
|
//# sourceMappingURL=VomsisService.js.map
|
package/build/components/__shared__/Payment/components/LinkagePay/services/VomsisService.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VomsisService.js","names":["_dataSources","require","_LinkagePay","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","VomsisService","exports","createPayment","accessToken","params","status","data","request","hostname","process","env","PROVIDER_LINKAGEPAY_API","endpoint","method","headers","Authorization","concat","getInstallments","card","undefined","LENGTH_CC_NUMBER","installments","cc_number","substring"],"sources":["../../../../../../../src/components/__shared__/Payment/components/LinkagePay/services/VomsisService.js"],"sourcesContent":["import { request } from '@mirai/data-sources';\n\nimport { LENGTH_CC_NUMBER } from '../LinkagePay.constants';\n\nexport const VomsisService = {\n createPayment: async (accessToken, params) => {\n const { status, data } =\n (await request({\n hostname: process.env.PROVIDER_LINKAGEPAY_API,\n endpoint: '/payment',\n method: 'POST',\n headers: { Authorization: `Bearer ${accessToken}` },\n ...params,\n })) || {};\n
|
|
1
|
+
{"version":3,"file":"VomsisService.js","names":["_dataSources","require","_LinkagePay","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","VomsisService","exports","createPayment","accessToken","params","status","data","err_code","message","request","hostname","process","env","PROVIDER_LINKAGEPAY_API","endpoint","method","headers","Authorization","concat","catch","_ref","code","errorCode","getInstallments","card","undefined","LENGTH_CC_NUMBER","installments","cc_number","substring","notificationError","error","url"],"sources":["../../../../../../../src/components/__shared__/Payment/components/LinkagePay/services/VomsisService.js"],"sourcesContent":["import { request } from '@mirai/data-sources';\n\nimport { LENGTH_CC_NUMBER } from '../LinkagePay.constants';\n\nexport const VomsisService = {\n createPayment: async (accessToken, params) => {\n const { status, data, err_code, message } =\n (await request({\n hostname: process.env.PROVIDER_LINKAGEPAY_API,\n endpoint: '/payment',\n method: 'POST',\n headers: { Authorization: `Bearer ${accessToken}` },\n ...params,\n }).catch(({ code: errorCode, message }) => {\n throw { errorCode, message };\n })) || {};\n if (err_code) throw { errorCode: err_code, message };\n if (status && data) return data;\n },\n getInstallments: async (accessToken, card = '') => {\n if (card.length < LENGTH_CC_NUMBER) return;\n\n const { data: { installments } = {} } =\n (await request({\n hostname: process.env.PROVIDER_LINKAGEPAY_API,\n endpoint: '/bin-check',\n method: 'POST',\n headers: { Authorization: `Bearer ${accessToken}` },\n cc_number: card.substring(0, LENGTH_CC_NUMBER),\n })) || {};\n\n return installments;\n },\n notificationError: async (error, url) =>\n request({\n hostname: url,\n method: 'POST',\n ...error,\n }),\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAA2D,SAAAE,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAD,CAAA,GAAAG,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAAvB,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAoB,eAAAlB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,uCAAAsB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA3B,CAAA,QAAAwB,CAAA,GAAAxB,CAAA,CAAA4B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,uCAAAuB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAA6B,MAAA,GAAAC,MAAA,EAAA7B,CAAA;AAEpD,MAAM8B,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG;EAC3BE,aAAa,EAAE,MAAAA,CAAOC,WAAW,EAAEC,MAAM,KAAK;IAC5C,MAAM;MAAEC,MAAM;MAAEC,IAAI;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GACvC,CAAC,MAAM,IAAAC,oBAAO,EAAA7B,aAAA;MACZ8B,QAAQ,EAAEC,OAAO,CAACC,GAAG,CAACC,uBAAuB;MAC7CC,QAAQ,EAAE,UAAU;MACpBC,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE;QAAEC,aAAa,YAAAC,MAAA,CAAYf,WAAW;MAAG;IAAC,GAChDC,MAAM,CACV,CAAC,CAACe,KAAK,CAACC,IAAA,IAAkC;MAAA,IAAjC;QAAEC,IAAI,EAAEC,SAAS;QAAEd;MAAQ,CAAC,GAAAY,IAAA;MACpC,MAAM;QAAEE,SAAS;QAAEd;MAAQ,CAAC;IAC9B,CAAC,CAAC,KAAK,CAAC,CAAC;IACX,IAAID,QAAQ,EAAE,MAAM;MAAEe,SAAS,EAAEf,QAAQ;MAAEC;IAAQ,CAAC;IACpD,IAAIH,MAAM,IAAIC,IAAI,EAAE,OAAOA,IAAI;EACjC,CAAC;EACDiB,eAAe,EAAE,eAAAA,CAAOpB,WAAW,EAAgB;IAAA,IAAdqB,IAAI,GAAA3C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA4C,SAAA,GAAA5C,SAAA,MAAG,EAAE;IAC5C,IAAI2C,IAAI,CAAC1C,MAAM,GAAG4C,4BAAgB,EAAE;IAEpC,MAAM;MAAEpB,IAAI,EAAE;QAAEqB;MAAa,CAAC,GAAG,CAAC;IAAE,CAAC,GACnC,CAAC,MAAM,IAAAlB,oBAAO,EAAC;MACbC,QAAQ,EAAEC,OAAO,CAACC,GAAG,CAACC,uBAAuB;MAC7CC,QAAQ,EAAE,YAAY;MACtBC,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE;QAAEC,aAAa,YAAAC,MAAA,CAAYf,WAAW;MAAG,CAAC;MACnDyB,SAAS,EAAEJ,IAAI,CAACK,SAAS,CAAC,CAAC,EAAEH,4BAAgB;IAC/C,CAAC,CAAC,KAAK,CAAC,CAAC;IAEX,OAAOC,YAAY;EACrB,CAAC;EACDG,iBAAiB,EAAE,MAAAA,CAAOC,KAAK,EAAEC,GAAG,KAClC,IAAAvB,oBAAO,EAAA7B,aAAA;IACL8B,QAAQ,EAAEsB,GAAG;IACbjB,MAAM,EAAE;EAAM,GACXgB,KAAK,CACT;AACL,CAAC","ignoreList":[]}
|