@mirai/core 0.4.239 → 0.4.241

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.
@@ -29,6 +29,7 @@ const OTAPrices = _ref => {
29
29
  locale,
30
30
  translate
31
31
  } = (0, _locale.useLocale)();
32
+ const ref = (0, _react.useRef)(null);
32
33
  const {
33
34
  value: {
34
35
  finder: {
@@ -90,6 +91,27 @@ const OTAPrices = _ref => {
90
91
  (0, _react.useEffect)(() => {
91
92
  setFetching(true);
92
93
  let timeout = setTimeout(() => setFetching(false), 5000);
94
+ if (otas.length === 1 && ref.current) {
95
+ const {
96
+ top,
97
+ left,
98
+ bottom,
99
+ right
100
+ } = ref.current.getBoundingClientRect();
101
+ const {
102
+ innerHeight,
103
+ innerWidth
104
+ } = window;
105
+ const {
106
+ clientHeight,
107
+ clientWidth
108
+ } = document.documentElement;
109
+ const visible = top >= 0 && left >= 0 && bottom <= (innerHeight || clientHeight) && right <= (innerWidth || clientWidth);
110
+ _dataSources.Event.publish(_helpers.EVENT.METRICS, {
111
+ id: 'OTAPRICES:RENDER',
112
+ visible
113
+ });
114
+ }
93
115
  return () => clearTimeout(timeout);
94
116
  }, [otas]);
95
117
  (0, _react.useEffect)(() => {
@@ -111,6 +133,7 @@ const OTAPrices = _ref => {
111
133
  disabled = false
112
134
  } = dataSource || {};
113
135
  return dataSource && !disabled ? /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
136
+ ref: ref,
114
137
  row: !isMobile,
115
138
  className: style.container
116
139
  }), /*#__PURE__*/_react.default.createElement(_ui.View, {
@@ -1 +1 @@
1
- {"version":3,"file":"OTAPrices.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_OTAPrices","style","_shared__","_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","OTAPrices","_ref","others","isMobile","useDevice","currency","locale","translate","useLocale","value","finder","calendar","occupation","place","promocode","useStore","dataSource","setDataSource","useState","fetching","setFetching","otas","setOtas","useEffect","process","env","NODE_ENV","localStorage","setItem","handleHeaderReady","event","detail","is_hide","disabled","price","window","removeEventListener","handleOTAReady","id_ota","id","ota_name","name","prevOtas","addEventListener","timeout","setTimeout","clearTimeout","initialize","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","currencyFormatProps","minimumFractionDigits","maximumFractionDigits","createElement","View","row","className","container","title","Text","L10N","LABEL_OUR_BEST_ONLINE_RATE","accent","bold","headline","currencyFormat","items","sort","b","map","_ref2","item","small","action","Fragment","Array","from","_","index","concat","Skeleton","exports","displayName","propTypes","children","PropTypes","node","any","columnMode","bool","focus","rowMode"],"sources":["../../../../../src/components/Rates/components/OTAPrices/OTAPrices.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './OTAPrices.l10n';\nimport * as style from './OTAPrices.module.css';\nimport { Skeleton } from '../../../__shared__';\nimport { EVENT } from '../../../helpers';\n\nconst OTAPrices = ({ ...others }) => {\n const { isMobile } = useDevice();\n const { currency, locale, translate } = useLocale();\n const { value: { finder: { calendar, occupation, place, promocode } = {} } = {} } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(true);\n const [otas, setOtas] = useState([]);\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'development') {\n localStorage.setItem(\n 'cmprm_screens_override',\n '[{ \"type\": \"StartsWith\", \"path\": \"http://local.mirai.com:8080\", \"id_screen\": 1233 }]',\n );\n }\n\n const handleHeaderReady = (event) => {\n const { detail: { currency, is_hide: disabled = false, price } = {} } = event;\n if (disabled) {\n window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n }\n setDataSource({ currency, disabled, price });\n };\n\n const handleOTAReady = (event) => {\n const { detail: { currency, id_ota: id, ota_name: name, price } = {} } = event;\n\n setOtas((prevOtas) => [...prevOtas, { currency, id, name, price }]);\n };\n\n window.addEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.addEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n\n return () => {\n window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n };\n }, []);\n\n useEffect(() => {\n setFetching(true);\n let timeout = setTimeout(() => setFetching(false), 5000);\n\n return () => clearTimeout(timeout);\n }, [otas]);\n\n useEffect(() => {\n const initialize = () => {\n setDataSource();\n setOtas([]);\n };\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, initialize);\n initialize();\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, initialize);\n }, [calendar, currency, occupation, place, promocode]);\n\n const currencyFormatProps = { currency, locale, minimumFractionDigits: 0, maximumFractionDigits: 0 };\n const { disabled = false } = dataSource || {};\n\n return dataSource && !disabled ? (\n <View {...others} row={!isMobile} className={style.container}>\n <View row className={style.title}>\n <Text>{translate(L10N.LABEL_OUR_BEST_ONLINE_RATE)}</Text>\n <Text accent bold headline>\n {currencyFormat({ ...currencyFormatProps, value: dataSource.price })}\n </Text>\n </View>\n <View row className={style.items}>\n {[...otas]\n .sort((a, b) => a.price - b.price)\n .map(({ id, name, price }) => (\n <View key={id} className={style.item}>\n <Text small>{name}</Text>\n <Text action={isMobile}>{currencyFormat({ ...currencyFormatProps, value: price })}</Text>\n </View>\n ))}\n\n {fetching && (\n <>\n {Array.from({ length: 4 - otas.length }, (_, index) => (\n <View key={`skeleton:${index}`} className={style.item}>\n <Skeleton small>OTA Name</Skeleton>\n <Skeleton action={isMobile} bold>\n ???$\n </Skeleton>\n </View>\n ))}\n </>\n )}\n </View>\n </View>\n ) : null;\n};\n\nOTAPrices.displayName = 'Mirai:Core:OTAPrices';\n\nOTAPrices.propTypes = {\n children: PropTypes.node,\n className: PropTypes.any,\n columnMode: PropTypes.bool,\n disabled: PropTypes.bool,\n focus: PropTypes.bool,\n rowMode: PropTypes.bool,\n};\n\nexport { OTAPrices };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAF,uBAAA,CAAAN,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AAAyC,SAAAW,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAhB,uBAAA4B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAEzC,MAAMK,SAAS,GAAGC,IAAA,IAAmB;EAAA,IAAlB;IAAE,GAAGC;EAAO,CAAC,GAAAD,IAAA;EAC9B,MAAM;IAAEE;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACnD,MAAM;IAAEC,KAAK,EAAE;MAAEC,MAAM,EAAE;QAAEC,QAAQ;QAAEC,UAAU;QAAEC,KAAK;QAAEC;MAAU,CAAC,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAE9F,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAC9C,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAF,eAAQ,EAAC,IAAI,CAAC;EAC9C,MAAM,CAACG,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAJ,eAAQ,EAAC,EAAE,CAAC;EAEpC,IAAAK,gBAAS,EAAC,MAAM;IACd,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,EAAE;MAC1CC,YAAY,CAACC,OAAO,CAClB,wBAAwB,EACxB,sFACF,CAAC;IACH;IAEA,MAAMC,iBAAiB,GAAIC,KAAK,IAAK;MACnC,MAAM;QAAEC,MAAM,EAAE;UAAE1B,QAAQ;UAAE2B,OAAO,EAAEC,QAAQ,GAAG,KAAK;UAAEC;QAAM,CAAC,GAAG,CAAC;MAAE,CAAC,GAAGJ,KAAK;MAC7E,IAAIG,QAAQ,EAAE;QACZE,MAAM,CAACC,mBAAmB,CAAC,6BAA6B,EAAEP,iBAAiB,CAAC;QAC5EM,MAAM,CAACC,mBAAmB,CAAC,0BAA0B,EAAEC,cAAc,CAAC;MACxE;MACApB,aAAa,CAAC;QAAEZ,QAAQ;QAAE4B,QAAQ;QAAEC;MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,MAAMG,cAAc,GAAIP,KAAK,IAAK;MAChC,MAAM;QAAEC,MAAM,EAAE;UAAE1B,QAAQ;UAAEiC,MAAM,EAAEC,EAAE;UAAEC,QAAQ,EAAEC,IAAI;UAAEP;QAAM,CAAC,GAAG,CAAC;MAAE,CAAC,GAAGJ,KAAK;MAE9ER,OAAO,CAAEoB,QAAQ,IAAK,CAAC,GAAGA,QAAQ,EAAE;QAAErC,QAAQ;QAAEkC,EAAE;QAAEE,IAAI;QAAEP;MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAEDC,MAAM,CAACQ,gBAAgB,CAAC,6BAA6B,EAAEd,iBAAiB,CAAC;IACzEM,MAAM,CAACQ,gBAAgB,CAAC,0BAA0B,EAAEN,cAAc,CAAC;IAEnE,OAAO,MAAM;MACXF,MAAM,CAACC,mBAAmB,CAAC,6BAA6B,EAAEP,iBAAiB,CAAC;MAC5EM,MAAM,CAACC,mBAAmB,CAAC,0BAA0B,EAAEC,cAAc,CAAC;IACxE,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAd,gBAAS,EAAC,MAAM;IACdH,WAAW,CAAC,IAAI,CAAC;IACjB,IAAIwB,OAAO,GAAGC,UAAU,CAAC,MAAMzB,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;IAExD,OAAO,MAAM0B,YAAY,CAACF,OAAO,CAAC;EACpC,CAAC,EAAE,CAACvB,IAAI,CAAC,CAAC;EAEV,IAAAE,gBAAS,EAAC,MAAM;IACd,MAAMwB,UAAU,GAAGA,CAAA,KAAM;MACvB9B,aAAa,CAAC,CAAC;MACfK,OAAO,CAAC,EAAE,CAAC;IACb,CAAC;IAED0B,kBAAK,CAACC,SAAS,CAACC,cAAK,CAACC,iBAAiB,EAAEJ,UAAU,CAAC;IACpDA,UAAU,CAAC,CAAC;IAEZ,OAAO,MAAMC,kBAAK,CAACI,WAAW,CAACF,cAAK,CAACC,iBAAiB,EAAEJ,UAAU,CAAC;EACrE,CAAC,EAAE,CAACpC,QAAQ,EAAEN,QAAQ,EAAEO,UAAU,EAAEC,KAAK,EAAEC,SAAS,CAAC,CAAC;EAEtD,MAAMuC,mBAAmB,GAAG;IAAEhD,QAAQ;IAAEC,MAAM;IAAEgD,qBAAqB,EAAE,CAAC;IAAEC,qBAAqB,EAAE;EAAE,CAAC;EACpG,MAAM;IAAEtB,QAAQ,GAAG;EAAM,CAAC,GAAGjB,UAAU,IAAI,CAAC,CAAC;EAE7C,OAAOA,UAAU,IAAI,CAACiB,QAAQ,gBAC5BtE,MAAA,CAAAY,OAAA,CAAAiF,aAAA,CAAChG,GAAA,CAAAiG,IAAI,EAAAlE,QAAA,KAAKW,MAAM;IAAEwD,GAAG,EAAE,CAACvD,QAAS;IAACwD,SAAS,EAAE7F,KAAK,CAAC8F;EAAU,iBAC3DjG,MAAA,CAAAY,OAAA,CAAAiF,aAAA,CAAChG,GAAA,CAAAiG,IAAI;IAACC,GAAG;IAACC,SAAS,EAAE7F,KAAK,CAAC+F;EAAM,gBAC/BlG,MAAA,CAAAY,OAAA,CAAAiF,aAAA,CAAChG,GAAA,CAAAsG,IAAI,QAAEvD,SAAS,CAACwD,eAAI,CAACC,0BAA0B,CAAQ,CAAC,eACzDrG,MAAA,CAAAY,OAAA,CAAAiF,aAAA,CAAChG,GAAA,CAAAsG,IAAI;IAACG,MAAM;IAACC,IAAI;IAACC,QAAQ;EAAA,GACvB,IAAAC,sBAAc,EAAC;IAAE,GAAGf,mBAAmB;IAAE5C,KAAK,EAAEO,UAAU,CAACkB;EAAM,CAAC,CAC/D,CACF,CAAC,eACPvE,MAAA,CAAAY,OAAA,CAAAiF,aAAA,CAAChG,GAAA,CAAAiG,IAAI;IAACC,GAAG;IAACC,SAAS,EAAE7F,KAAK,CAACuG;EAAM,GAC9B,CAAC,GAAGhD,IAAI,CAAC,CACPiD,IAAI,CAAC,CAAC1F,CAAC,EAAE2F,CAAC,KAAK3F,CAAC,CAACsD,KAAK,GAAGqC,CAAC,CAACrC,KAAK,CAAC,CACjCsC,GAAG,CAACC,KAAA;IAAA,IAAC;MAAElC,EAAE;MAAEE,IAAI;MAAEP;IAAM,CAAC,GAAAuC,KAAA;IAAA,oBACvB9G,MAAA,CAAAY,OAAA,CAAAiF,aAAA,CAAChG,GAAA,CAAAiG,IAAI;MAAC3D,GAAG,EAAEyC,EAAG;MAACoB,SAAS,EAAE7F,KAAK,CAAC4G;IAAK,gBACnC/G,MAAA,CAAAY,OAAA,CAAAiF,aAAA,CAAChG,GAAA,CAAAsG,IAAI;MAACa,KAAK;IAAA,GAAElC,IAAW,CAAC,eACzB9E,MAAA,CAAAY,OAAA,CAAAiF,aAAA,CAAChG,GAAA,CAAAsG,IAAI;MAACc,MAAM,EAAEzE;IAAS,GAAE,IAAAiE,sBAAc,EAAC;MAAE,GAAGf,mBAAmB;MAAE5C,KAAK,EAAEyB;IAAM,CAAC,CAAQ,CACpF,CAAC;EAAA,CACR,CAAC,EAEHf,QAAQ,iBACPxD,MAAA,CAAAY,OAAA,CAAAiF,aAAA,CAAA7F,MAAA,CAAAY,OAAA,CAAAsG,QAAA,QACGC,KAAK,CAACC,IAAI,CAAC;IAAEnF,MAAM,EAAE,CAAC,GAAGyB,IAAI,CAACzB;EAAO,CAAC,EAAE,CAACoF,CAAC,EAAEC,KAAK,kBAChDtH,MAAA,CAAAY,OAAA,CAAAiF,aAAA,CAAChG,GAAA,CAAAiG,IAAI;IAAC3D,GAAG,cAAAoF,MAAA,CAAcD,KAAK,CAAG;IAACtB,SAAS,EAAE7F,KAAK,CAAC4G;EAAK,gBACpD/G,MAAA,CAAAY,OAAA,CAAAiF,aAAA,CAACzF,SAAA,CAAAoH,QAAQ;IAACR,KAAK;EAAA,GAAC,UAAkB,CAAC,eACnChH,MAAA,CAAAY,OAAA,CAAAiF,aAAA,CAACzF,SAAA,CAAAoH,QAAQ;IAACP,MAAM,EAAEzE,QAAS;IAAC+D,IAAI;EAAA,GAAC,MAEvB,CACN,CACP,CACD,CAEA,CACF,CAAC,GACL,IAAI;AACV,CAAC;AAACkB,OAAA,CAAApF,SAAA,GAAAA,SAAA;AAEFA,SAAS,CAACqF,WAAW,GAAG,sBAAsB;AAE9CrF,SAAS,CAACsF,SAAS,GAAG;EACpBC,QAAQ,EAAEC,kBAAS,CAACC,IAAI;EACxB9B,SAAS,EAAE6B,kBAAS,CAACE,GAAG;EACxBC,UAAU,EAAEH,kBAAS,CAACI,IAAI;EAC1B3D,QAAQ,EAAEuD,kBAAS,CAACI,IAAI;EACxBC,KAAK,EAAEL,kBAAS,CAACI,IAAI;EACrBE,OAAO,EAAEN,kBAAS,CAACI;AACrB,CAAC"}
1
+ {"version":3,"file":"OTAPrices.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_OTAPrices","style","_shared__","_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","OTAPrices","_ref","others","isMobile","useDevice","currency","locale","translate","useLocale","ref","useRef","value","finder","calendar","occupation","place","promocode","useStore","dataSource","setDataSource","useState","fetching","setFetching","otas","setOtas","useEffect","process","env","NODE_ENV","localStorage","setItem","handleHeaderReady","event","detail","is_hide","disabled","price","window","removeEventListener","handleOTAReady","id_ota","id","ota_name","name","prevOtas","addEventListener","timeout","setTimeout","current","top","left","bottom","right","getBoundingClientRect","innerHeight","innerWidth","clientHeight","clientWidth","document","documentElement","visible","Event","publish","EVENT","METRICS","clearTimeout","initialize","subscribe","RATES_FILTER_CLUB","unsubscribe","currencyFormatProps","minimumFractionDigits","maximumFractionDigits","createElement","View","row","className","container","title","Text","L10N","LABEL_OUR_BEST_ONLINE_RATE","accent","bold","headline","currencyFormat","items","sort","b","map","_ref2","item","small","action","Fragment","Array","from","_","index","concat","Skeleton","exports","displayName","propTypes","children","PropTypes","node","any","columnMode","bool","focus","rowMode"],"sources":["../../../../../src/components/Rates/components/OTAPrices/OTAPrices.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './OTAPrices.l10n';\nimport * as style from './OTAPrices.module.css';\nimport { Skeleton } from '../../../__shared__';\nimport { EVENT } from '../../../helpers';\n\nconst OTAPrices = ({ ...others }) => {\n const { isMobile } = useDevice();\n const { currency, locale, translate } = useLocale();\n const ref = useRef(null);\n const { value: { finder: { calendar, occupation, place, promocode } = {} } = {} } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(true);\n const [otas, setOtas] = useState([]);\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'development') {\n localStorage.setItem(\n 'cmprm_screens_override',\n '[{ \"type\": \"StartsWith\", \"path\": \"http://local.mirai.com:8080\", \"id_screen\": 1233 }]',\n );\n }\n\n const handleHeaderReady = (event) => {\n const { detail: { currency, is_hide: disabled = false, price } = {} } = event;\n if (disabled) {\n window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n }\n setDataSource({ currency, disabled, price });\n };\n\n const handleOTAReady = (event) => {\n const { detail: { currency, id_ota: id, ota_name: name, price } = {} } = event;\n\n setOtas((prevOtas) => [...prevOtas, { currency, id, name, price }]);\n };\n\n window.addEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.addEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n\n return () => {\n window.removeEventListener('cmprm_event_rc_header_ready', handleHeaderReady);\n window.removeEventListener('cmprm_event_rc_ota_ready', handleOTAReady);\n };\n }, []);\n\n useEffect(() => {\n setFetching(true);\n let timeout = setTimeout(() => setFetching(false), 5000);\n if (otas.length === 1 && ref.current) {\n const { top, left, bottom, right } = ref.current.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n const { clientHeight, clientWidth } = document.documentElement;\n\n const visible =\n top >= 0 && left >= 0 && bottom <= (innerHeight || clientHeight) && right <= (innerWidth || clientWidth);\n\n Event.publish(EVENT.METRICS, { id: 'OTAPRICES:RENDER', visible });\n }\n\n return () => clearTimeout(timeout);\n }, [otas]);\n\n useEffect(() => {\n const initialize = () => {\n setDataSource();\n setOtas([]);\n };\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, initialize);\n initialize();\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, initialize);\n }, [calendar, currency, occupation, place, promocode]);\n\n const currencyFormatProps = { currency, locale, minimumFractionDigits: 0, maximumFractionDigits: 0 };\n const { disabled = false } = dataSource || {};\n\n return dataSource && !disabled ? (\n <View {...others} ref={ref} row={!isMobile} className={style.container}>\n <View row className={style.title}>\n <Text>{translate(L10N.LABEL_OUR_BEST_ONLINE_RATE)}</Text>\n <Text accent bold headline>\n {currencyFormat({ ...currencyFormatProps, value: dataSource.price })}\n </Text>\n </View>\n <View row className={style.items}>\n {[...otas]\n .sort((a, b) => a.price - b.price)\n .map(({ id, name, price }) => (\n <View key={id} className={style.item}>\n <Text small>{name}</Text>\n <Text action={isMobile}>{currencyFormat({ ...currencyFormatProps, value: price })}</Text>\n </View>\n ))}\n\n {fetching && (\n <>\n {Array.from({ length: 4 - otas.length }, (_, index) => (\n <View key={`skeleton:${index}`} className={style.item}>\n <Skeleton small>OTA Name</Skeleton>\n <Skeleton action={isMobile} bold>\n ???$\n </Skeleton>\n </View>\n ))}\n </>\n )}\n </View>\n </View>\n ) : null;\n};\n\nOTAPrices.displayName = 'Mirai:Core:OTAPrices';\n\nOTAPrices.propTypes = {\n children: PropTypes.node,\n className: PropTypes.any,\n columnMode: PropTypes.bool,\n disabled: PropTypes.bool,\n focus: PropTypes.bool,\n rowMode: PropTypes.bool,\n};\n\nexport { OTAPrices };\n"],"mappings":"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"}
package/build/theme.css CHANGED
@@ -79,7 +79,7 @@
79
79
 
80
80
  --mirai-finder-button-background: var(--mirai-ui-button-background);
81
81
  --mirai-finder-button-background-active: var(--mirai-ui-button-background-active);
82
- --mirai-finder-button-border-radius: var(--mirai-ui-border-radius);
82
+ --mirai-finder-button-border-radius: var(--mirai-finder-border-radius);
83
83
  --mirai-finder-button-color: var(--mirai-ui-button-color);
84
84
  --mirai-finder-button-color-active: var(--mirai-ui-base);
85
85
  --mirai-finder-button-font-family: var(--mirai-ui-font);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.239",
3
+ "version": "0.4.241",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",