@mirai/core 0.1.18 → 0.1.20
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
CHANGED
|
@@ -22,16 +22,16 @@ const Core = _ref => {
|
|
|
22
22
|
children,
|
|
23
23
|
components = []
|
|
24
24
|
} = _ref;
|
|
25
|
+
const {
|
|
26
|
+
isMobile,
|
|
27
|
+
isDesktop
|
|
28
|
+
} = (0, _ui.useDevice)();
|
|
25
29
|
const {
|
|
26
30
|
value: {
|
|
27
31
|
currency,
|
|
28
32
|
locale = _locale.DEFAULT_LOCALE
|
|
29
33
|
}
|
|
30
34
|
} = (0, _dataSources.useStore)();
|
|
31
|
-
const {
|
|
32
|
-
isMobile,
|
|
33
|
-
isDesktop
|
|
34
|
-
} = (0, _ui.useDevice)();
|
|
35
35
|
const [dictionary, setDictionary] = (0, _react.useState)();
|
|
36
36
|
(0, _react.useEffect)(() => {
|
|
37
37
|
(async () => {
|
package/build/Core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Core.js","names":["ghosts","Core","children","components","
|
|
1
|
+
{"version":3,"file":"Core.js","names":["ghosts","Core","children","components","isMobile","isDesktop","useDevice","value","currency","locale","DEFAULT_LOCALE","useStore","dictionary","setDictionary","useState","useEffect","next","ServiceDictionary","get","filter","desktop","mobile","map","index","el","component","props","getGhost","ReactDOM","createPortal","React","createElement","COMPONENTS","undefined","ghost","propTypes","PropTypes","node","arrayOf","shape","oneOf","Object","keys","any"],"sources":["../src/Core.jsx"],"sourcesContent":["import { 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, Suspense } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport COMPONENTS from './components';\nimport { getGhost } from './helpers';\n\nconst ghosts = {};\n\nconst Core = ({ children, components = [] }) => {\n const { isMobile, isDesktop } = useDevice();\n const {\n value: { currency, locale = DEFAULT_LOCALE },\n } = useStore();\n\n const [dictionary, setDictionary] = useState();\n\n useEffect(() => {\n (async () => {\n const next = await ServiceDictionary.get(locale);\n if (next) setDictionary(next);\n })();\n }, [locale]);\n\n return (\n <LocaleProvider {...{ currency, dictionary, locale }}>\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 <Suspense fallback={<small>Loading...</small>}>\n {React.createElement(COMPONENTS[component], {\n ...props,\n ['data-testid']: process.env.NODE_ENV === 'production' ? component : undefined,\n ghost: ghosts[index],\n el,\n })}\n </Suspense>,\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};\n\nexport { Core };\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAqC;AAAA;AAAA;AAErC,MAAMA,MAAM,GAAG,CAAC,CAAC;AAEjB,MAAMC,IAAI,GAAG,QAAmC;EAAA,IAAlC;IAAEC,QAAQ;IAAEC,UAAU,GAAG;EAAG,CAAC;EACzC,MAAM;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAAG,IAAAC,aAAS,GAAE;EAC3C,MAAM;IACJC,KAAK,EAAE;MAAEC,QAAQ;MAAEC,MAAM,GAAGC;IAAe;EAC7C,CAAC,GAAG,IAAAC,qBAAQ,GAAE;EAEd,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,GAAE;EAE9C,IAAAC,gBAAS,EAAC,MAAM;IACd,CAAC,YAAY;MACX,MAAMC,IAAI,GAAG,MAAMC,2BAAiB,CAACC,GAAG,CAACT,MAAM,CAAC;MAChD,IAAIO,IAAI,EAAEH,aAAa,CAACG,IAAI,CAAC;IAC/B,CAAC,GAAG;EACN,CAAC,EAAE,CAACP,MAAM,CAAC,CAAC;EAEZ,oBACE,6BAAC,sBAAc;IAAOD,QAAQ;IAAEI,UAAU;IAAEH;EAAM,gBAChD,4DACGN,UAAU,CACRgB,MAAM,CAAC;IAAA,IAAC;MAAEC,OAAO;MAAEC;IAAO,CAAC;IAAA,OAAK,EAAEjB,QAAQ,IAAIiB,MAAM,KAAK,OAAO,CAAC,IAAI,EAAEhB,SAAS,IAAIe,OAAO,KAAK,OAAO,CAAC;EAAA,EAAC,CACzGE,GAAG,CAAC,QAA8BC,KAAK,KAAK;IAAA,IAAvC;MAAEC,EAAE;MAAEC,SAAS;MAAE,GAAGC;IAAM,CAAC;IAC/B,IAAI,CAAC1B,MAAM,CAACuB,KAAK,CAAC,EAAEvB,MAAM,CAACuB,KAAK,CAAC,GAAG,IAAAI,iBAAQ,EAACH,EAAE,CAAC;IAEhD,oBAAOI,iBAAQ,CAACC,YAAY,eAC1B,6BAAC,eAAQ;MAAC,QAAQ,eAAE;IAA0B,gBAC3CC,cAAK,CAACC,aAAa,CAACC,mBAAU,CAACP,SAAS,CAAC,EAAE;MAC1C,GAAGC,KAAK;MACR,CAAC,aAAa,GAAG,qEAAyB,YAAY,GAAGD,SAAS,GAAGQ,SAAS;MAC9EC,KAAK,EAAElC,MAAM,CAACuB,KAAK,CAAC;MACpBC;IACF,CAAC,CAAC,CACO,EACXA,EAAE,CACH;EACH,CAAC,CAAC,CACH,EACFtB,QAAQ,CACM;AAErB,CAAC;AAAC;AAEFD,IAAI,CAACkC,SAAS,GAAG;EACfjC,QAAQ,EAAEkC,kBAAS,CAACC,IAAI;EACxBlC,UAAU,EAAEiC,kBAAS,CAACE,OAAO,CAC3BF,kBAAS,CAACG,KAAK,CAAC;IACdd,SAAS,EAAEW,kBAAS,CAACI,KAAK,CAACC,MAAM,CAACC,IAAI,CAACV,mBAAU,CAAC,CAAC;IACnDR,EAAE,EAAEY,kBAAS,CAACO;EAChB,CAAC,CAAC;AAEN,CAAC"}
|
|
@@ -62,7 +62,8 @@ const consolidateStore = function () {
|
|
|
62
62
|
// hotel
|
|
63
63
|
let hotel = {
|
|
64
64
|
id: type === _Core.TYPE.CHAIN ? hotelId : id,
|
|
65
|
-
accomodationType: (0, _getAccomodationType.getAccomodationType)(config.lodgingDenomination, hotelId)
|
|
65
|
+
accomodationType: (0, _getAccomodationType.getAccomodationType)(config.lodgingDenomination, hotelId),
|
|
66
|
+
url: urlParams.home || window.location.origin
|
|
66
67
|
};
|
|
67
68
|
|
|
68
69
|
// origin
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consolidateStore.js","names":["consolidateStore","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","forceUri","navigatorLanguage","countryLanguage","window","navigator","language","split","country","locale","lang","currency","undefined","DEFAULT_CURRENCY","club","authentication","idClub","name","conditionsUrl","conditions","privacyPolicyUrl","privacy","url","TYPE","CHAIN","accomodationType","getAccomodationType","lodgingDenomination","origin","commisionCode","hsri","COMMISION_TYPE","promo","showPromoNav","accomodation","configPromo","promoText","placeholder","DEFAULT_LOCALE","finder","place","calendar","occupation","promocode","code","deals","signup"],"sources":["../../src/helpers/consolidateStore.js"],"sourcesContent":["import { DEFAULT_CURRENCY, DEFAULT_LOCALE } from '@mirai/locale';\n\nimport { COMMISION_TYPE, TYPE } from '../Core.constants';\nimport { getAccomodationType } from './getAccomodationType';\n\n/* eslint-disable no-unused-vars */\nexport const consolidateStore = ({\n config = {},\n cookies = {},\n instance: { el, hotel: hotelId, id, type, ...instance } = {},\n session,\n urlParams = {},\n} = {}) => {\n const { forceUri = false } = urlParams;\n\n // language & country\n const [navigatorLanguage, countryLanguage] = window.navigator.language?.split('-') || [];\n let [language = navigatorLanguage, country = countryLanguage] = instance.locale?.split('-') || [];\n if (urlParams.lang && urlParams.lang === navigatorLanguage) language = urlParams.lang;\n\n // currency\n const currency =\n (forceUri ? urlParams.currency : undefined) ||\n cookies.currency ||\n urlParams.currency ||\n instance.currency ||\n DEFAULT_CURRENCY;\n\n // club\n let club;\n if (config.club) {\n let {\n club: {\n club: { authentication, idClub: id, name },\n conditionsUrl: conditions,\n privacyPolicyUrl: privacy,\n },\n } = config;\n club = { authentication, id, name, url: { conditions, privacy } };\n }\n\n // hotel\n let hotel = {\n id: type === TYPE.CHAIN ? hotelId : id,\n accomodationType: getAccomodationType(config.lodgingDenomination, hotelId),\n };\n\n // origin\n let origin = {\n commisionCode: urlParams.hsri || COMMISION_TYPE[type],\n };\n\n // promo\n let promo;\n if (config.showPromoNav) {\n const { accomodation: { promo: configPromo = {} } = {}, promoText: placeholder = {} } = config;\n promo = { ...configPromo, placeholder };\n }\n\n return {\n config,\n cookies,\n urlParams,\n ...instance,\n id,\n type,\n\n // region\n currency,\n language,\n country,\n locale: language && country ? `${language}-${country}` : DEFAULT_LOCALE,\n\n // entities,\n club,\n hotel,\n origin,\n promo,\n session,\n\n // @mirai/finder\n finder: {\n // ! TODO: we should hydrate it\n place: undefined,\n calendar: undefined,\n occupation: undefined,\n promocode: promo?.code,\n },\n deals: undefined,\n\n // @mirai/user\n signup: undefined,\n };\n};\n"],"mappings":";;;;;;AAAA;AAEA;AACA;AAEA;AACO,MAAMA,gBAAgB,GAAG,YAMrB;EAAA,IANsB;IAC/BC,MAAM,GAAG,CAAC,CAAC;IACXC,OAAO,GAAG,CAAC,CAAC;IACZC,QAAQ,EAAE;MAAEC,EAAE;MAAEC,KAAK,EAAEC,OAAO;MAAEC,EAAE;MAAEC,IAAI;MAAE,GAAGL;IAAS,CAAC,GAAG,CAAC,CAAC;IAC5DM,OAAO;IACPC,SAAS,GAAG,CAAC;EACf,CAAC,uEAAG,CAAC,CAAC;EACJ,MAAM;IAAEC,QAAQ,GAAG;EAAM,CAAC,GAAGD,SAAS;;EAEtC;EACA,MAAM,CAACE,iBAAiB,EAAEC,eAAe,CAAC,GAAGC,MAAM,CAACC,SAAS,CAACC,QAAQ,EAAEC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;EACxF,IAAI,CAACD,QAAQ,GAAGJ,iBAAiB,EAAEM,OAAO,GAAGL,eAAe,CAAC,GAAGV,QAAQ,CAACgB,MAAM,EAAEF,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;EACjG,IAAIP,SAAS,CAACU,IAAI,IAAIV,SAAS,CAACU,IAAI,KAAKR,iBAAiB,EAAEI,QAAQ,GAAGN,SAAS,CAACU,IAAI;;EAErF;EACA,MAAMC,QAAQ,GACZ,CAACV,QAAQ,GAAGD,SAAS,CAACW,QAAQ,GAAGC,SAAS,KAC1CpB,OAAO,CAACmB,QAAQ,IAChBX,SAAS,CAACW,QAAQ,IAClBlB,QAAQ,CAACkB,QAAQ,IACjBE,wBAAgB;;EAElB;EACA,IAAIC,IAAI;EACR,IAAIvB,MAAM,CAACuB,IAAI,EAAE;IACf,IAAI;MACFA,IAAI,EAAE;QACJA,IAAI,EAAE;UAAEC,cAAc;UAAEC,MAAM,EAAEnB,EAAE;UAAEoB;QAAK,CAAC;QAC1CC,aAAa,EAAEC,UAAU;QACzBC,gBAAgB,EAAEC;MACpB;IACF,CAAC,GAAG9B,MAAM;IACVuB,IAAI,GAAG;MAAEC,cAAc;MAAElB,EAAE;MAAEoB,IAAI;MAAEK,GAAG,EAAE;QAAEH,UAAU;QAAEE;MAAQ;IAAE,CAAC;EACnE;;EAEA;EACA,IAAI1B,KAAK,GAAG;IACVE,EAAE,EAAEC,IAAI,KAAKyB,UAAI,CAACC,KAAK,GAAG5B,OAAO,GAAGC,EAAE;IACtC4B,gBAAgB,EAAE,IAAAC,wCAAmB,EAACnC,MAAM,CAACoC,mBAAmB,EAAE/B,OAAO;
|
|
1
|
+
{"version":3,"file":"consolidateStore.js","names":["consolidateStore","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","forceUri","navigatorLanguage","countryLanguage","window","navigator","language","split","country","locale","lang","currency","undefined","DEFAULT_CURRENCY","club","authentication","idClub","name","conditionsUrl","conditions","privacyPolicyUrl","privacy","url","TYPE","CHAIN","accomodationType","getAccomodationType","lodgingDenomination","home","location","origin","commisionCode","hsri","COMMISION_TYPE","promo","showPromoNav","accomodation","configPromo","promoText","placeholder","DEFAULT_LOCALE","finder","place","calendar","occupation","promocode","code","deals","signup"],"sources":["../../src/helpers/consolidateStore.js"],"sourcesContent":["import { DEFAULT_CURRENCY, DEFAULT_LOCALE } from '@mirai/locale';\n\nimport { COMMISION_TYPE, TYPE } from '../Core.constants';\nimport { getAccomodationType } from './getAccomodationType';\n\n/* eslint-disable no-unused-vars */\nexport const consolidateStore = ({\n config = {},\n cookies = {},\n instance: { el, hotel: hotelId, id, type, ...instance } = {},\n session,\n urlParams = {},\n} = {}) => {\n const { forceUri = false } = urlParams;\n\n // language & country\n const [navigatorLanguage, countryLanguage] = window.navigator.language?.split('-') || [];\n let [language = navigatorLanguage, country = countryLanguage] = instance.locale?.split('-') || [];\n if (urlParams.lang && urlParams.lang === navigatorLanguage) language = urlParams.lang;\n\n // currency\n const currency =\n (forceUri ? urlParams.currency : undefined) ||\n cookies.currency ||\n urlParams.currency ||\n instance.currency ||\n DEFAULT_CURRENCY;\n\n // club\n let club;\n if (config.club) {\n let {\n club: {\n club: { authentication, idClub: id, name },\n conditionsUrl: conditions,\n privacyPolicyUrl: privacy,\n },\n } = config;\n club = { authentication, id, name, url: { conditions, privacy } };\n }\n\n // hotel\n let hotel = {\n id: type === TYPE.CHAIN ? hotelId : id,\n accomodationType: getAccomodationType(config.lodgingDenomination, hotelId),\n url: urlParams.home || window.location.origin,\n };\n\n // origin\n let origin = {\n commisionCode: urlParams.hsri || COMMISION_TYPE[type],\n };\n\n // promo\n let promo;\n if (config.showPromoNav) {\n const { accomodation: { promo: configPromo = {} } = {}, promoText: placeholder = {} } = config;\n promo = { ...configPromo, placeholder };\n }\n\n return {\n config,\n cookies,\n urlParams,\n ...instance,\n id,\n type,\n\n // region\n currency,\n language,\n country,\n locale: language && country ? `${language}-${country}` : DEFAULT_LOCALE,\n\n // entities,\n club,\n hotel,\n origin,\n promo,\n session,\n\n // @mirai/finder\n finder: {\n // ! TODO: we should hydrate it\n place: undefined,\n calendar: undefined,\n occupation: undefined,\n promocode: promo?.code,\n },\n deals: undefined,\n\n // @mirai/user\n signup: undefined,\n };\n};\n"],"mappings":";;;;;;AAAA;AAEA;AACA;AAEA;AACO,MAAMA,gBAAgB,GAAG,YAMrB;EAAA,IANsB;IAC/BC,MAAM,GAAG,CAAC,CAAC;IACXC,OAAO,GAAG,CAAC,CAAC;IACZC,QAAQ,EAAE;MAAEC,EAAE;MAAEC,KAAK,EAAEC,OAAO;MAAEC,EAAE;MAAEC,IAAI;MAAE,GAAGL;IAAS,CAAC,GAAG,CAAC,CAAC;IAC5DM,OAAO;IACPC,SAAS,GAAG,CAAC;EACf,CAAC,uEAAG,CAAC,CAAC;EACJ,MAAM;IAAEC,QAAQ,GAAG;EAAM,CAAC,GAAGD,SAAS;;EAEtC;EACA,MAAM,CAACE,iBAAiB,EAAEC,eAAe,CAAC,GAAGC,MAAM,CAACC,SAAS,CAACC,QAAQ,EAAEC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;EACxF,IAAI,CAACD,QAAQ,GAAGJ,iBAAiB,EAAEM,OAAO,GAAGL,eAAe,CAAC,GAAGV,QAAQ,CAACgB,MAAM,EAAEF,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;EACjG,IAAIP,SAAS,CAACU,IAAI,IAAIV,SAAS,CAACU,IAAI,KAAKR,iBAAiB,EAAEI,QAAQ,GAAGN,SAAS,CAACU,IAAI;;EAErF;EACA,MAAMC,QAAQ,GACZ,CAACV,QAAQ,GAAGD,SAAS,CAACW,QAAQ,GAAGC,SAAS,KAC1CpB,OAAO,CAACmB,QAAQ,IAChBX,SAAS,CAACW,QAAQ,IAClBlB,QAAQ,CAACkB,QAAQ,IACjBE,wBAAgB;;EAElB;EACA,IAAIC,IAAI;EACR,IAAIvB,MAAM,CAACuB,IAAI,EAAE;IACf,IAAI;MACFA,IAAI,EAAE;QACJA,IAAI,EAAE;UAAEC,cAAc;UAAEC,MAAM,EAAEnB,EAAE;UAAEoB;QAAK,CAAC;QAC1CC,aAAa,EAAEC,UAAU;QACzBC,gBAAgB,EAAEC;MACpB;IACF,CAAC,GAAG9B,MAAM;IACVuB,IAAI,GAAG;MAAEC,cAAc;MAAElB,EAAE;MAAEoB,IAAI;MAAEK,GAAG,EAAE;QAAEH,UAAU;QAAEE;MAAQ;IAAE,CAAC;EACnE;;EAEA;EACA,IAAI1B,KAAK,GAAG;IACVE,EAAE,EAAEC,IAAI,KAAKyB,UAAI,CAACC,KAAK,GAAG5B,OAAO,GAAGC,EAAE;IACtC4B,gBAAgB,EAAE,IAAAC,wCAAmB,EAACnC,MAAM,CAACoC,mBAAmB,EAAE/B,OAAO,CAAC;IAC1E0B,GAAG,EAAEtB,SAAS,CAAC4B,IAAI,IAAIxB,MAAM,CAACyB,QAAQ,CAACC;EACzC,CAAC;;EAED;EACA,IAAIA,MAAM,GAAG;IACXC,aAAa,EAAE/B,SAAS,CAACgC,IAAI,IAAIC,oBAAc,CAACnC,IAAI;EACtD,CAAC;;EAED;EACA,IAAIoC,KAAK;EACT,IAAI3C,MAAM,CAAC4C,YAAY,EAAE;IACvB,MAAM;MAAEC,YAAY,EAAE;QAAEF,KAAK,EAAEG,WAAW,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC,CAAC;MAAEC,SAAS,EAAEC,WAAW,GAAG,CAAC;IAAE,CAAC,GAAGhD,MAAM;IAC9F2C,KAAK,GAAG;MAAE,GAAGG,WAAW;MAAEE;IAAY,CAAC;EACzC;EAEA,OAAO;IACLhD,MAAM;IACNC,OAAO;IACPQ,SAAS;IACT,GAAGP,QAAQ;IACXI,EAAE;IACFC,IAAI;IAEJ;IACAa,QAAQ;IACRL,QAAQ;IACRE,OAAO;IACPC,MAAM,EAAEH,QAAQ,IAAIE,OAAO,GAAI,GAAEF,QAAS,IAAGE,OAAQ,EAAC,GAAGgC,sBAAc;IAEvE;IACA1B,IAAI;IACJnB,KAAK;IACLmC,MAAM;IACNI,KAAK;IACLnC,OAAO;IAEP;IACA0C,MAAM,EAAE;MACN;MACAC,KAAK,EAAE9B,SAAS;MAChB+B,QAAQ,EAAE/B,SAAS;MACnBgC,UAAU,EAAEhC,SAAS;MACrBiC,SAAS,EAAEX,KAAK,EAAEY;IACpB,CAAC;IACDC,KAAK,EAAEnC,SAAS;IAEhB;IACAoC,MAAM,EAAEpC;EACV,CAAC;AACH,CAAC;AAAC"}
|