@mirai/core 0.3.66 → 0.3.67
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/Core.js +4 -0
- package/build/Core.js.map +1 -1
- package/build/components/Deals/Deals.js +4 -4
- package/build/components/Deals/Deals.js.map +1 -1
- package/build/components/Deals/Deals.module.css +6 -0
- package/build/components/Rates/components/Item/Item.Preview.js +1 -0
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/package.json +1 -1
package/build/Core.js
CHANGED
|
@@ -47,6 +47,10 @@ const Core = _ref => {
|
|
|
47
47
|
locale
|
|
48
48
|
});
|
|
49
49
|
};
|
|
50
|
+
if (skeleton) {
|
|
51
|
+
const cached = _services.ServiceDictionary.cache(locale);
|
|
52
|
+
if (cached) setDictionary(cached);
|
|
53
|
+
}
|
|
50
54
|
_dataSources.Event.subscribe(EVENT_INTENT_LOCALE, handleIntentLocale);
|
|
51
55
|
return () => _dataSources.Event.unsubscribe(EVENT_INTENT_LOCALE, handleIntentLocale);
|
|
52
56
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
package/build/Core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Core.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_reactDom","_components","_Core","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ghosts","EVENT_INTENT_LOCALE","Core","_ref","children","components","skeleton","isMobile","isDesktop","useDevice","value","currency","locale","DEFAULT_LOCALE","useStore","dictionary","setDictionary","useState","ServiceDictionary","cache","undefined","useEffect","handleIntentLocale","_ref2","fetchDictionary","Event","subscribe","unsubscribe","
|
|
1
|
+
{"version":3,"file":"Core.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_reactDom","_components","_Core","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ghosts","EVENT_INTENT_LOCALE","Core","_ref","children","components","skeleton","isMobile","isDesktop","useDevice","value","currency","locale","DEFAULT_LOCALE","useStore","dictionary","setDictionary","useState","ServiceDictionary","cache","undefined","useEffect","handleIntentLocale","_ref2","fetchDictionary","cached","Event","subscribe","unsubscribe","next","createElement","LocaleProvider","Fragment","Notifications","filter","_ref3","desktop","mobile","map","_ref4","index","el","component","props","getGhost","ReactDOM","createPortal","React","COMPONENTS","ghost","process","env","NODE_ENV","exports","propTypes","PropTypes","node","arrayOf","shape","oneOf","keys","any","bool"],"sources":["../src/Core.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { DEFAULT_LOCALE, LocaleProvider } from '@mirai/locale';\nimport { ServiceDictionary } from '@mirai/services';\nimport { useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { COMPONENTS } from './components';\nimport { Notifications } from './Core.Notifications';\nimport { getGhost } from './helpers';\n\nconst ghosts = {};\n\nconst EVENT_INTENT_LOCALE = 'intentLocale';\n\nconst Core = ({ children, components = [], skeleton = false }) => {\n const { isMobile, isDesktop } = useDevice();\n const {\n set,\n value: { currency, locale = DEFAULT_LOCALE },\n } = useStore();\n\n const [dictionary, setDictionary] = useState(!skeleton ? ServiceDictionary.cache(locale) : undefined);\n\n useEffect(() => {\n const handleIntentLocale = async ({ locale }) => {\n const dictionary = await fetchDictionary(locale);\n if (dictionary) set({ locale });\n };\n\n if (skeleton) {\n const cached = ServiceDictionary.cache(locale);\n if (cached) setDictionary(cached);\n }\n\n Event.subscribe(EVENT_INTENT_LOCALE, handleIntentLocale);\n return () => Event.unsubscribe(EVENT_INTENT_LOCALE, handleIntentLocale);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!skeleton) fetchDictionary(locale);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n const fetchDictionary = async (locale) => {\n const cached = ServiceDictionary.cache(locale);\n if (cached) setDictionary(cached);\n\n const next = await ServiceDictionary.get(locale, false);\n if (next) setDictionary(next);\n\n return next;\n };\n\n return (\n <LocaleProvider {...{ currency, dictionary, locale }}>\n <>\n <Notifications />\n\n {components\n .filter(({ desktop, mobile }) => !(isMobile && mobile === 'false') && !(isDesktop && desktop === 'false'))\n .map(({ el, component, ...props }, index) => {\n if (!ghosts[index]) ghosts[index] = getGhost(el);\n\n return ReactDOM.createPortal(\n React.createElement(COMPONENTS[component], {\n ...props,\n el,\n ghost: ghosts[index],\n skeleton,\n ['data-testid']: process.env.NODE_ENV === 'production' ? component : undefined,\n }),\n el,\n );\n })}\n </>\n {children}\n </LocaleProvider>\n );\n};\n\nCore.propTypes = {\n children: PropTypes.node,\n components: PropTypes.arrayOf(\n PropTypes.shape({\n component: PropTypes.oneOf(Object.keys(COMPONENTS)),\n el: PropTypes.any,\n }),\n ),\n skeleton: PropTypes.bool,\n};\n\nexport { Core };\n"],"mappings":"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"}
|
|
@@ -14,7 +14,6 @@ var _Deals = require("./Deals.Calendar");
|
|
|
14
14
|
var _Deals2 = require("./Deals.constants");
|
|
15
15
|
var _Deals3 = require("./Deals.l10n");
|
|
16
16
|
var style = _interopRequireWildcard(require("./Deals.module.css"));
|
|
17
|
-
var _Deals4 = _interopRequireDefault(require("./Deals.skeleton"));
|
|
18
17
|
var _helpers = require("./helpers");
|
|
19
18
|
var _shared__ = require("../__shared__");
|
|
20
19
|
var _helpers2 = require("../__shared__/Occupation/helpers");
|
|
@@ -158,7 +157,7 @@ const Deals = _ref => {
|
|
|
158
157
|
error,
|
|
159
158
|
value
|
|
160
159
|
});
|
|
161
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
160
|
+
return /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
|
|
162
161
|
role: "deals",
|
|
163
162
|
className: (0, _ui.styles)(style.deals, className)
|
|
164
163
|
}), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
@@ -167,7 +166,8 @@ const Deals = _ref => {
|
|
|
167
166
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
168
167
|
bold: true,
|
|
169
168
|
headline: true,
|
|
170
|
-
level: 2
|
|
169
|
+
level: isMobile ? 3 : 2,
|
|
170
|
+
markdown: false
|
|
171
171
|
}, translate(_Deals3.L10N.LABEL_SELECT_DATES_PERSONS)), /*#__PURE__*/_react.default.createElement(_ui.Action, {
|
|
172
172
|
onPress: handleClear,
|
|
173
173
|
className: style.action
|
|
@@ -221,7 +221,7 @@ const Deals = _ref => {
|
|
|
221
221
|
onPress: handleSubmit,
|
|
222
222
|
className: style.cta,
|
|
223
223
|
testId: testId ? "".concat(testId, "-submit") : undefined
|
|
224
|
-
}, translate(_Deals3.L10N.ACTION_SEARCH))))
|
|
224
|
+
}, translate(_Deals3.L10N.ACTION_SEARCH))));
|
|
225
225
|
};
|
|
226
226
|
exports.Deals = Deals;
|
|
227
227
|
Deals.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Deals.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Deals","_Deals2","_Deals3","style","_Deals4","_helpers","_shared__","_helpers2","_toParties","_helpers3","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Deals","_ref","id","offerId","skeleton","others","isMobile","useDevice","translate","useLocale","value","cookies","currency","deals","hotel","language","locale","origin","urlParams","store","useStore","ref","useRef","busy","setBusy","useState","dataSource","setDataSource","error","setError","visible","setVisible","visited","setVisited","useEffect","handleClickOutside","_ref2","_ref$current","current","contains","type","document","addEventListener","removeEventListener","ServiceDeals","getCurrency","catch","occupation","minRooms","handleChange","Array","map","prepareRoom","concat","field","fieldValue","handleClear","undefined","handleSubmit","calendar","promoCode","params","idoffers","idtokenprovider","lang","checkin","dateFormat","format","nights","dateDiff","days","clientCode","parties","window","btoa","JSON","stringify","toParties","hsri","commissionCode","location","href","process","env","SERVICE_BOOKING","REDIRECT_PATH","toQueryString","className","testId","isValid","validate","createElement","Fragment","View","role","styles","row","header","Text","bold","headline","level","L10N","LABEL_SELECT_DATES_PERSONS","Action","onPress","action","Icon","ICON","CLEAR","actionIcon","ACTION_CLEAR","Calendar","FIELD","CALENDAR","onChange","event","extras","FieldOccupation","hotels","OCCUPATION","onError","onValid","FieldPromocode","PROMOCODE","onEnter","onLeave","footer","Button","disabled","large","wide","cta","ACTION_SEARCH","exports","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/Deals/Deals.jsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useStore } from '@mirai/data-sources';\nimport { dateFormat, dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceDeals } from '@mirai/services';\nimport { Action, Button, Icon, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar } from './Deals.Calendar';\nimport { FIELD, REDIRECT_PATH } from './Deals.constants';\nimport { L10N } from './Deals.l10n';\nimport * as style from './Deals.module.css';\nimport Skeleton from './Deals.skeleton';\nimport { getCurrency, validate } from './helpers';\nimport { FieldOccupation, FieldPromocode } from '../__shared__';\nimport { prepareRoom } from '../__shared__/Occupation/helpers';\nimport { toParties } from '../__shared__/Occupation/helpers/toParties';\nimport { ICON, toQueryString } from '../helpers';\n\nconst Deals = ({ id: offerId, skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { cookies = {}, currency, deals: value = {}, hotel, language, locale, origin, urlParams = {}, ...store },\n } = useStore();\n const ref = useRef(null);\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState({});\n const [visible, setVisible] = useState();\n const [visited, setVisited] = useState({});\n\n useEffect(() => {\n if (isMobile) return;\n\n const handleClickOutside = ({ target }) => !ref.current?.contains(target) && target.type !== 'text' && setVisible();\n document.addEventListener('click', handleClickOutside, true);\n\n return () => {\n setBusy(false);\n document.removeEventListener('click', handleClickOutside, true);\n };\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () =>\n setDataSource(\n await ServiceDeals.get({\n ...store,\n currency: getCurrency({ cookies, currency, urlParams }),\n hotel,\n locale,\n offerId,\n }).catch(() => {}),\n ))();\n }, [currency, locale]);\n\n useEffect(() => {\n const { occupation: { minRooms = 1, dataSource: occupation = [] } = {} } = dataSource || {};\n\n !value?.occupation &&\n occupation.length > 0 &&\n handleChange(\n 'occupation',\n [...Array(minRooms)].map(() => prepareRoom(occupation)),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n visible && setVisited({ ...visited, [`${visible}`]: true });\n }, [visible]);\n\n const handleChange = (field, fieldValue) => {\n if (!dataSource) return;\n\n set({ deals: { ...value, [field]: fieldValue } });\n };\n\n const handleClear = () => {\n set({ deals: undefined });\n setError({});\n setVisited(false);\n };\n\n const handleSubmit = () => {\n setBusy(true);\n const { calendar, occupation, promoCode } = value;\n\n const params = {\n idoffers: offerId,\n idtokenprovider: hotel.id,\n lang: language,\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n nights: dateDiff(calendar[0], calendar[1]).days,\n clientCode: promoCode || '',\n currency: getCurrency({ urlParams, cookies, currency }) || '',\n parties: window.btoa(JSON.stringify(toParties(occupation))),\n hsri: origin.commissionCode,\n };\n window.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toQueryString(params)}`;\n\n setBusy(true);\n };\n\n const { className, testId } = others;\n const { calendar = [], occupation, promoCode = '' } = value;\n\n const isValid = validate({ dataSource, error, value });\n\n return (\n <>\n {dataSource ? (\n <View {...others} role=\"deals\" className={styles(style.deals, className)}>\n <View row className={style.header}>\n <Text bold headline level={2}>\n {translate(L10N.LABEL_SELECT_DATES_PERSONS)}\n </Text>\n\n <Action onPress={handleClear} className={style.action}>\n <Icon value={ICON.CLEAR} className={style.actionIcon} />\n {translate(L10N.ACTION_CLEAR)}\n </Action>\n </View>\n\n <Calendar\n {...dataSource?.calendar}\n value={calendar}\n visible={visible === FIELD.CALENDAR}\n visited={visited.calendar}\n onChange={(calendar, event) => handleChange('calendar', calendar, event)}\n onPress={() => setVisible(visible !== FIELD.CALENDAR ? FIELD.CALENDAR : undefined)}\n testId={testId ? `${testId}-calendar` : undefined}\n />\n\n <View row={!isMobile} className={style.extras}>\n <FieldOccupation\n {...dataSource?.occupation}\n error={!!error.occupation}\n hotels={[hotel?.id]}\n ref={ref}\n value={occupation}\n visible={visible === FIELD.OCCUPATION}\n onChange={(occupation) => handleChange('occupation', occupation)}\n onError={(occupation) => {\n if (!isMobile && visible !== FIELD.OCCUPATION) setVisible(FIELD.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setVisible(visible !== FIELD.OCCUPATION ? FIELD.OCCUPATION : undefined)}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={testId ? `${testId}-occupation` : undefined}\n />\n\n <FieldPromocode\n value={promoCode}\n visible={visible === FIELD.PROMOCODE}\n onChange={(promoCode) => handleChange('promoCode', promoCode)}\n onEnter={() => setVisible(FIELD.PROMOCODE)}\n onLeave={() => setVisible(undefined)}\n testId={testId ? `${testId}-promocode` : undefined}\n />\n\n {!isMobile && <View className={style.footer} />}\n\n <Button\n busy={busy}\n disabled={!isValid}\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.cta}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n </View>\n ) : (\n <Skeleton />\n )}\n </>\n );\n};\n\nDeals.propTypes = {\n id: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Deals };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Deals.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Deals","_Deals2","_Deals3","style","_helpers","_shared__","_helpers2","_toParties","_helpers3","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Deals","_ref","id","offerId","skeleton","others","isMobile","useDevice","translate","useLocale","value","cookies","currency","deals","hotel","language","locale","origin","urlParams","store","useStore","ref","useRef","busy","setBusy","useState","dataSource","setDataSource","error","setError","visible","setVisible","visited","setVisited","useEffect","handleClickOutside","_ref2","_ref$current","current","contains","type","document","addEventListener","removeEventListener","ServiceDeals","getCurrency","catch","occupation","minRooms","handleChange","Array","map","prepareRoom","concat","field","fieldValue","handleClear","undefined","handleSubmit","calendar","promoCode","params","idoffers","idtokenprovider","lang","checkin","dateFormat","format","nights","dateDiff","days","clientCode","parties","window","btoa","JSON","stringify","toParties","hsri","commissionCode","location","href","process","env","SERVICE_BOOKING","REDIRECT_PATH","toQueryString","className","testId","isValid","validate","createElement","View","role","styles","row","header","Text","bold","headline","level","markdown","L10N","LABEL_SELECT_DATES_PERSONS","Action","onPress","action","Icon","ICON","CLEAR","actionIcon","ACTION_CLEAR","Calendar","FIELD","CALENDAR","onChange","event","extras","FieldOccupation","hotels","OCCUPATION","onError","onValid","FieldPromocode","PROMOCODE","onEnter","onLeave","footer","Button","disabled","large","wide","cta","ACTION_SEARCH","exports","propTypes","PropTypes","string","bool"],"sources":["../../../src/components/Deals/Deals.jsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport { useStore } from '@mirai/data-sources';\nimport { dateFormat, dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceDeals } from '@mirai/services';\nimport { Action, Button, Icon, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar } from './Deals.Calendar';\nimport { FIELD, REDIRECT_PATH } from './Deals.constants';\nimport { L10N } from './Deals.l10n';\nimport * as style from './Deals.module.css';\nimport { getCurrency, validate } from './helpers';\nimport { FieldOccupation, FieldPromocode } from '../__shared__';\nimport { prepareRoom } from '../__shared__/Occupation/helpers';\nimport { toParties } from '../__shared__/Occupation/helpers/toParties';\nimport { ICON, toQueryString } from '../helpers';\n\nconst Deals = ({ id: offerId, skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n set,\n value: { cookies = {}, currency, deals: value = {}, hotel, language, locale, origin, urlParams = {}, ...store },\n } = useStore();\n const ref = useRef(null);\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState({});\n const [visible, setVisible] = useState();\n const [visited, setVisited] = useState({});\n\n useEffect(() => {\n if (isMobile) return;\n\n const handleClickOutside = ({ target }) => !ref.current?.contains(target) && target.type !== 'text' && setVisible();\n document.addEventListener('click', handleClickOutside, true);\n\n return () => {\n setBusy(false);\n document.removeEventListener('click', handleClickOutside, true);\n };\n }, []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () =>\n setDataSource(\n await ServiceDeals.get({\n ...store,\n currency: getCurrency({ cookies, currency, urlParams }),\n hotel,\n locale,\n offerId,\n }).catch(() => {}),\n ))();\n }, [currency, locale]);\n\n useEffect(() => {\n const { occupation: { minRooms = 1, dataSource: occupation = [] } = {} } = dataSource || {};\n\n !value?.occupation &&\n occupation.length > 0 &&\n handleChange(\n 'occupation',\n [...Array(minRooms)].map(() => prepareRoom(occupation)),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n visible && setVisited({ ...visited, [`${visible}`]: true });\n }, [visible]);\n\n const handleChange = (field, fieldValue) => {\n if (!dataSource) return;\n\n set({ deals: { ...value, [field]: fieldValue } });\n };\n\n const handleClear = () => {\n set({ deals: undefined });\n setError({});\n setVisited(false);\n };\n\n const handleSubmit = () => {\n setBusy(true);\n const { calendar, occupation, promoCode } = value;\n\n const params = {\n idoffers: offerId,\n idtokenprovider: hotel.id,\n lang: language,\n checkin: dateFormat(calendar[0], { format: 'DD/MM/YYYY' }),\n nights: dateDiff(calendar[0], calendar[1]).days,\n clientCode: promoCode || '',\n currency: getCurrency({ urlParams, cookies, currency }) || '',\n parties: window.btoa(JSON.stringify(toParties(occupation))),\n hsri: origin.commissionCode,\n };\n window.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toQueryString(params)}`;\n\n setBusy(true);\n };\n\n const { className, testId } = others;\n const { calendar = [], occupation, promoCode = '' } = value;\n\n const isValid = validate({ dataSource, error, value });\n\n return (\n <View {...others} role=\"deals\" className={styles(style.deals, className)}>\n <View row className={style.header}>\n <Text bold headline level={isMobile ? 3 : 2} markdown={false}>\n {translate(L10N.LABEL_SELECT_DATES_PERSONS)}\n </Text>\n\n <Action onPress={handleClear} className={style.action}>\n <Icon value={ICON.CLEAR} className={style.actionIcon} />\n {translate(L10N.ACTION_CLEAR)}\n </Action>\n </View>\n\n <Calendar\n {...dataSource?.calendar}\n value={calendar}\n visible={visible === FIELD.CALENDAR}\n visited={visited.calendar}\n onChange={(calendar, event) => handleChange('calendar', calendar, event)}\n onPress={() => setVisible(visible !== FIELD.CALENDAR ? FIELD.CALENDAR : undefined)}\n testId={testId ? `${testId}-calendar` : undefined}\n />\n\n <View row={!isMobile} className={style.extras}>\n <FieldOccupation\n {...dataSource?.occupation}\n error={!!error.occupation}\n hotels={[hotel?.id]}\n ref={ref}\n value={occupation}\n visible={visible === FIELD.OCCUPATION}\n onChange={(occupation) => handleChange('occupation', occupation)}\n onError={(occupation) => {\n if (!isMobile && visible !== FIELD.OCCUPATION) setVisible(FIELD.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setVisible(visible !== FIELD.OCCUPATION ? FIELD.OCCUPATION : undefined)}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={testId ? `${testId}-occupation` : undefined}\n />\n\n <FieldPromocode\n value={promoCode}\n visible={visible === FIELD.PROMOCODE}\n onChange={(promoCode) => handleChange('promoCode', promoCode)}\n onEnter={() => setVisible(FIELD.PROMOCODE)}\n onLeave={() => setVisible(undefined)}\n testId={testId ? `${testId}-promocode` : undefined}\n />\n\n {!isMobile && <View className={style.footer} />}\n\n <Button\n busy={busy}\n disabled={!isValid}\n large\n wide={isMobile}\n onPress={handleSubmit}\n className={style.cta}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n </View>\n );\n};\n\nDeals.propTypes = {\n id: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Deals };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.Preview.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Preview","_ref","availability","cancellations","images","media","url3D","urlVideo","name","title","selectedBoard","onMoreInfo","onRateInfo","onViewUrl","others","isMobile","width","useDevice","translate","useLocale","ref","useRef","value","hotel","warningAvailability","useStore","sliderIndex","setSliderIndex","useState","sliderWidth","setSliderWidth","useEffect","_ref$current","current","clientWidth","createElement","View","className","slider","Slider","height","map","_ref2","large","onChange","row","buttons","Button","rounded","squared","tooltip","L10N","LABEL_VIEW_VIDEO","transparent","onPress","url","button","Icon","headline","level","ICON","PLAY","LABEL_3D_VIEW","THREE_D","offset","spaceBetween","anchor","Features","Text","bold","small","LABEL_REMAINING_ITEMS","amount","gap","Amenities","highlight","preview","Pressable","cancellation","action","INFO","caption","Action","inline","concat","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","number","arrayOf","any","shape","alt","string","thumbnail","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Pressable, Slider, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useEffect, useState } from 'react';\n\nimport { Amenities, Features } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\n\nconst Preview = ({\n availability = 0,\n cancellations = [],\n images = [],\n media: { url3D, urlVideo } = {},\n name: title,\n selectedBoard = {},\n onMoreInfo,\n onRateInfo,\n onViewUrl = () => {},\n ...others\n}) => {\n const { isMobile, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const { value: { hotel: { warningAvailability = 9999 } } = {} } = useStore();\n\n const [sliderIndex, setSliderIndex] = useState(0);\n const [sliderWidth, setSliderWidth] = useState(360);\n\n useEffect(() => {\n if (ref.current) setSliderWidth(ref.current?.clientWidth - 2);\n }, [width]);\n\n return (\n <View ref={ref}>\n <View className={style.slider}>\n <Slider\n height={210}\n images={images.map(({ large }) => large)}\n width={sliderWidth}\n onChange={setSliderIndex}\n className={style.slider}\n />\n\n {(url3D || urlVideo) && sliderIndex === 0 && (\n <View row className={style.buttons}>\n {urlVideo && (\n <Button\n rounded\n squared\n tooltip={translate(L10N.LABEL_VIEW_VIDEO)}\n transparent\n onPress={() => onViewUrl({ title: translate(L10N.LABEL_VIEW_VIDEO), url: urlVideo })}\n className={style.button}\n >\n <Icon headline level={2} value={ICON.PLAY} />\n </Button>\n )}\n\n {url3D && (\n <Button\n rounded\n squared\n tooltip={translate(L10N.LABEL_3D_VIEW)}\n transparent\n onPress={() => onViewUrl({ title: translate(L10N.LABEL_3D_VIEW), url: url3D })}\n className={style.button}\n >\n <Icon headline level={2} value={ICON.THREE_D} />\n </Button>\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween, style.anchor]}>\n <Features {...others} />\n\n {availability <= warningAvailability && (\n <Text bold small className={style.availability}>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Text>\n )}\n </View>\n\n <View className={[style.offset, style.gap, style.anchor]}>\n <Text bold headline={!isMobile} level={3}>\n {title}\n </Text>\n\n <Amenities highlight preview {...others} />\n\n {cancellations.length === 1 && (\n <View>\n <Pressable\n onPress={() => onRateInfo({ ...selectedBoard, cancellation: cancellations[0] })}\n className={style.row}\n >\n <Text action>{cancellations[0].name}</Text>\n <Icon value={ICON.INFO} />\n </Pressable>\n {cancellations[0].caption && <Text small>{cancellations[0].caption}</Text>}\n </View>\n )}\n\n <Action inline small={isMobile} onPress={onMoreInfo}>\n {`${translate(L10N.ACTION_MORE_INFO)} >`}\n </Action>\n </View>\n </View>\n );\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item.Preview';\n\nPreview.propTypes = {\n availability: PropTypes.number,\n cancellations: PropTypes.arrayOf(PropTypes.any),\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n name: PropTypes.string,\n selectedBoard: PropTypes.shape({}),\n onMoreInfo: PropTypes.func,\n onRateInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Item.Preview.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Preview","_ref","availability","cancellations","images","media","url3D","urlVideo","name","title","selectedBoard","onMoreInfo","onRateInfo","onViewUrl","others","isMobile","width","useDevice","translate","useLocale","ref","useRef","value","hotel","warningAvailability","useStore","sliderIndex","setSliderIndex","useState","sliderWidth","setSliderWidth","useEffect","_ref$current","current","clientWidth","createElement","View","className","slider","Slider","height","map","_ref2","large","onChange","onCounter","row","buttons","Button","rounded","squared","tooltip","L10N","LABEL_VIEW_VIDEO","transparent","onPress","url","button","Icon","headline","level","ICON","PLAY","LABEL_3D_VIEW","THREE_D","offset","spaceBetween","anchor","Features","Text","bold","small","LABEL_REMAINING_ITEMS","amount","gap","Amenities","highlight","preview","Pressable","cancellation","action","INFO","caption","Action","inline","concat","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","number","arrayOf","any","shape","alt","string","thumbnail","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Pressable, Slider, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useEffect, useState } from 'react';\n\nimport { Amenities, Features } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\n\nconst Preview = ({\n availability = 0,\n cancellations = [],\n images = [],\n media: { url3D, urlVideo } = {},\n name: title,\n selectedBoard = {},\n onMoreInfo,\n onRateInfo,\n onViewUrl = () => {},\n ...others\n}) => {\n const { isMobile, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const { value: { hotel: { warningAvailability = 9999 } } = {} } = useStore();\n\n const [sliderIndex, setSliderIndex] = useState(0);\n const [sliderWidth, setSliderWidth] = useState(360);\n\n useEffect(() => {\n if (ref.current) setSliderWidth(ref.current?.clientWidth - 2);\n }, [width]);\n\n return (\n <View ref={ref}>\n <View className={style.slider}>\n <Slider\n height={210}\n images={images.map(({ large }) => large)}\n width={sliderWidth}\n onChange={setSliderIndex}\n onCounter={onMoreInfo}\n className={style.slider}\n />\n\n {(url3D || urlVideo) && sliderIndex === 0 && (\n <View row className={style.buttons}>\n {urlVideo && (\n <Button\n rounded\n squared\n tooltip={translate(L10N.LABEL_VIEW_VIDEO)}\n transparent\n onPress={() => onViewUrl({ title: translate(L10N.LABEL_VIEW_VIDEO), url: urlVideo })}\n className={style.button}\n >\n <Icon headline level={2} value={ICON.PLAY} />\n </Button>\n )}\n\n {url3D && (\n <Button\n rounded\n squared\n tooltip={translate(L10N.LABEL_3D_VIEW)}\n transparent\n onPress={() => onViewUrl({ title: translate(L10N.LABEL_3D_VIEW), url: url3D })}\n className={style.button}\n >\n <Icon headline level={2} value={ICON.THREE_D} />\n </Button>\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween, style.anchor]}>\n <Features {...others} />\n\n {availability <= warningAvailability && (\n <Text bold small className={style.availability}>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Text>\n )}\n </View>\n\n <View className={[style.offset, style.gap, style.anchor]}>\n <Text bold headline={!isMobile} level={3}>\n {title}\n </Text>\n\n <Amenities highlight preview {...others} />\n\n {cancellations.length === 1 && (\n <View>\n <Pressable\n onPress={() => onRateInfo({ ...selectedBoard, cancellation: cancellations[0] })}\n className={style.row}\n >\n <Text action>{cancellations[0].name}</Text>\n <Icon value={ICON.INFO} />\n </Pressable>\n {cancellations[0].caption && <Text small>{cancellations[0].caption}</Text>}\n </View>\n )}\n\n <Action inline small={isMobile} onPress={onMoreInfo}>\n {`${translate(L10N.ACTION_MORE_INFO)} >`}\n </Action>\n </View>\n </View>\n );\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item.Preview';\n\nPreview.propTypes = {\n availability: PropTypes.number,\n cancellations: PropTypes.arrayOf(PropTypes.any),\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n name: PropTypes.string,\n selectedBoard: PropTypes.shape({}),\n onMoreInfo: PropTypes.func,\n onRateInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":"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"}
|