@mirai/core 0.4.190 → 0.4.191

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.
@@ -13,7 +13,8 @@ var _components = require("./components/Item/components");
13
13
  var _helpers = require("./helpers");
14
14
  var _Rates = require("./Rates.l10n");
15
15
  var style = _interopRequireWildcard(require("./Rates.module.css"));
16
- var _helpers2 = require("../helpers");
16
+ var _helpers2 = require("../../helpers");
17
+ var _helpers3 = require("../helpers");
17
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
19
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -47,14 +48,14 @@ const Footer = _ref => {
47
48
  const [busy, setBusy] = (0, _react.useState)(false);
48
49
  (0, _react.useEffect)(() => {
49
50
  const items = cart.filter(item => item !== undefined);
50
- _dataSources.Event.publish(_helpers2.EVENT.MODAL_VISIBLE, {
51
+ _dataSources.Event.publish(_helpers3.EVENT.MODAL_VISIBLE, {
51
52
  visible: items.length > 0
52
53
  });
53
54
  const content = refContainer === null || refContainer === void 0 ? void 0 : refContainer.current;
54
55
  if (!content || typeof ResizeObserver === 'undefined') return;
55
- const observer = new ResizeObserver(() => _dataSources.Event.publish(_helpers2.EVENT.FOOTER_HEIGHT_CHANGE, {
56
+ const observer = new ResizeObserver((0, _helpers2.debounce)(() => _dataSources.Event.publish(_helpers3.EVENT.FOOTER_HEIGHT_CHANGE, {
56
57
  height: items.length ? content.offsetHeight : undefined
57
- }));
58
+ })));
58
59
  observer.observe(content);
59
60
  return () => observer.unobserve(content);
60
61
  }, [cart]);
@@ -111,7 +112,7 @@ const Footer = _ref => {
111
112
  row: true,
112
113
  className: style.room
113
114
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
114
- value: guests === 1 ? _helpers2.ICON.PERSON : guests === 2 ? _helpers2.ICON.GROUP : _helpers2.ICON.GROUPS
115
+ value: guests === 1 ? _helpers3.ICON.PERSON : guests === 2 ? _helpers3.ICON.GROUP : _helpers3.ICON.GROUPS
115
116
  }), /*#__PURE__*/_react.default.createElement(_ui.Text, {
116
117
  small: true
117
118
  }, guests)), /*#__PURE__*/_react.default.createElement(_ui.View, {
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","style","_helpers2","_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","Footer","_ref","cart","clubRate","dataSource","taxesType","extras","multiRoom","occupation","onSubmit","others","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","refContainer","useRef","busy","setBusy","useState","useEffect","items","filter","item","undefined","Event","publish","EVENT","MODAL_VISIBLE","visible","content","current","ResizeObserver","observer","FOOTER_HEIGHT_CHANGE","height","offsetHeight","observe","unobserve","totalPrice","reduce","price","valid","handleSubmit","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","View","ref","className","styles","footer","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","concat","cartItem","room","Icon","ICON","PERSON","GROUP","GROUPS","Text","small","description","bold","action","light","Button","disabled","large","onPress","L10N","ACTION_RESERVE","summary","headline","level","getLabelTaxes","PriceDetails","metrics","exports","displayName","propTypes","PropTypes","arrayOf","shape","bool","ages","number","type","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { PriceDetails } from './components/Item/components';\nimport { getLabelTaxes } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT, ICON } from '../helpers';\n\nconst Footer = ({\n cart = [],\n clubRate,\n dataSource: { taxesType } = {},\n extras,\n multiRoom,\n occupation = [],\n onSubmit = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => {\n const items = cart.filter((item) => item !== undefined);\n\n Event.publish(EVENT.MODAL_VISIBLE, { visible: items.length > 0 });\n\n const content = refContainer?.current;\n if (!content || typeof ResizeObserver === 'undefined') return;\n\n const observer = new ResizeObserver(() =>\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: items.length ? content.offsetHeight : undefined }),\n );\n observer.observe(content);\n\n return () => observer.unobserve(content);\n }, [cart]);\n\n useEffect(() => !extras && setBusy(false), [extras]);\n\n useEffect(() => !clubRate && setBusy(false), [clubRate]);\n\n const items = cart.filter((item) => item !== undefined);\n const totalPrice = cart.reduce((value, { price = 0 } = {}) => value + price, 0);\n const valid = items.length === occupation.length;\n\n const handleSubmit = () => {\n setBusy(true);\n onSubmit();\n };\n\n const visible = items.length > 0;\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const { testId } = others;\n\n return (\n <View\n {...others}\n ref={refContainer}\n className={styles(style.footer, visible && style.visible, others.className)}\n aria-hidden={visible ? 'false' : 'true'}\n >\n <View>\n <View className={style.wrapper} wide>\n {items.map(({ amount = 1, id, name: boardName, price, roomName } = {}, index) => {\n const guests = occupation[index].reduce((total, { amount } = {}) => total + amount, 0);\n\n return (\n <View row key={`${id}${index}`} className={style.cartItem}>\n {multiRoom && (\n <View row className={style.room}>\n <Icon value={guests === 1 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS} />\n <Text small>{guests}</Text>\n </View>\n )}\n\n <View className={style.description}>\n <Text bold action={!isMobile} small={isMobile} className={style.description}>\n {`${roomName} `}\n {multiRoom && <Text light small>{` | ${boardName}`}</Text>}\n </Text>\n {!multiRoom && (\n <Text light small>\n {boardName}\n </Text>\n )}\n </View>\n\n <Text bold {...(multiRoom ? { action: !isMobile, small: isMobile } : { action: isMobile })}>\n {currencyFormat({ ...currencyFormatProps, value: amount * price })}\n </Text>\n\n {!multiRoom && (\n <Button small busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n )}\n </View>\n );\n })}\n </View>\n </View>\n\n {multiRoom && (\n <View row className={[style.wrapper, style.summary]}>\n <View className={style.totalPrice}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ ...currencyFormatProps, value: totalPrice })}\n </Text>\n\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails cart={cart} metrics=\"RATES:FOOTER\" taxesType={taxesType} />\n </View>\n\n <Button\n busy={busy}\n disabled={!valid}\n large={!isMobile}\n onPress={handleSubmit}\n aria-label={translate(L10N.ACTION_RESERVE)}\n testId={testId ? `${testId}-reserve` : undefined}\n >\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Rates:Footer';\n\nFooter.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n clubRate: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n multiRoom: PropTypes.bool,\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n onSubmit: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAJ,uBAAA,CAAAN,OAAA;AACA,IAAAW,SAAA,GAAAX,OAAA;AAAyC,SAAAY,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,SAAAP,wBAAAO,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,SAAAjB,uBAAA6B,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,MAAM,GAAGC,IAAA,IAST;EAAA,IATU;IACdC,IAAI,GAAG,EAAE;IACTC,QAAQ;IACRC,UAAU,EAAE;MAAEC;IAAU,CAAC,GAAG,CAAC,CAAC;IAC9BC,MAAM;IACNC,SAAS;IACTC,UAAU,GAAG,EAAE;IACfC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IACnB,GAAGC;EACL,CAAC,GAAAT,IAAA;EACC,MAAM;IAAEU;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC,cAAc;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjD,MAAM;IAAEC,KAAK,EAAE;MAAEC;IAAS,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAC/C,MAAMC,YAAY,GAAG,IAAAC,aAAM,EAAC,CAAC;EAE7B,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAEvC,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,KAAK,GAAGvB,IAAI,CAACwB,MAAM,CAAEC,IAAI,IAAKA,IAAI,KAAKC,SAAS,CAAC;IAEvDC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,aAAa,EAAE;MAAEC,OAAO,EAAER,KAAK,CAAC7B,MAAM,GAAG;IAAE,CAAC,CAAC;IAEjE,MAAMsC,OAAO,GAAGf,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEgB,OAAO;IACrC,IAAI,CAACD,OAAO,IAAI,OAAOE,cAAc,KAAK,WAAW,EAAE;IAEvD,MAAMC,QAAQ,GAAG,IAAID,cAAc,CAAC,MAClCP,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACO,oBAAoB,EAAE;MAAEC,MAAM,EAAEd,KAAK,CAAC7B,MAAM,GAAGsC,OAAO,CAACM,YAAY,GAAGZ;IAAU,CAAC,CACvG,CAAC;IACDS,QAAQ,CAACI,OAAO,CAACP,OAAO,CAAC;IAEzB,OAAO,MAAMG,QAAQ,CAACK,SAAS,CAACR,OAAO,CAAC;EAC1C,CAAC,EAAE,CAAChC,IAAI,CAAC,CAAC;EAEV,IAAAsB,gBAAS,EAAC,MAAM,CAAClB,MAAM,IAAIgB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAChB,MAAM,CAAC,CAAC;EAEpD,IAAAkB,gBAAS,EAAC,MAAM,CAACrB,QAAQ,IAAImB,OAAO,CAAC,KAAK,CAAC,EAAE,CAACnB,QAAQ,CAAC,CAAC;EAExD,MAAMsB,KAAK,GAAGvB,IAAI,CAACwB,MAAM,CAAEC,IAAI,IAAKA,IAAI,KAAKC,SAAS,CAAC;EACvD,MAAMe,UAAU,GAAGzC,IAAI,CAAC0C,MAAM,CAAC,UAAC5B,KAAK;IAAA,IAAE;MAAE6B,KAAK,GAAG;IAAE,CAAC,GAAAlD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAiC,SAAA,GAAAjC,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKqB,KAAK,GAAG6B,KAAK;EAAA,GAAE,CAAC,CAAC;EAC/E,MAAMC,KAAK,GAAGrB,KAAK,CAAC7B,MAAM,KAAKY,UAAU,CAACZ,MAAM;EAEhD,MAAMmD,YAAY,GAAGA,CAAA,KAAM;IACzBzB,OAAO,CAAC,IAAI,CAAC;IACbb,QAAQ,CAAC,CAAC;EACZ,CAAC;EAED,MAAMwB,OAAO,GAAGR,KAAK,CAAC7B,MAAM,GAAG,CAAC;EAChC,MAAMoD,mBAAmB,GAAG;IAAE/B,QAAQ;IAAEgC,qBAAqB,EAAE,CAAC;IAAEC,qBAAqB,EAAE;EAAE,CAAC;EAC5F,MAAM;IAAEC;EAAO,CAAC,GAAGzC,MAAM;EAEzB,oBACEhD,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAAC7F,GAAA,CAAA8F,IAAI,EAAA9D,QAAA,KACCmB,MAAM;IACV4C,GAAG,EAAEnC,YAAa;IAClBoC,SAAS,EAAE,IAAAC,UAAM,EAACzF,KAAK,CAAC0F,MAAM,EAAExB,OAAO,IAAIlE,KAAK,CAACkE,OAAO,EAAEvB,MAAM,CAAC6C,SAAS,CAAE;IAC5E,eAAatB,OAAO,GAAG,OAAO,GAAG;EAAO,iBAExCvE,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAAC7F,GAAA,CAAA8F,IAAI,qBACH3F,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAAC7F,GAAA,CAAA8F,IAAI;IAACE,SAAS,EAAExF,KAAK,CAAC2F,OAAQ;IAACC,IAAI;EAAA,GACjClC,KAAK,CAACmC,GAAG,CAAC,YAAsE;IAAA,IAArE;MAAEC,MAAM,GAAG,CAAC;MAAEC,EAAE;MAAEC,IAAI,EAAEC,SAAS;MAAEnB,KAAK;MAAEoB;IAAS,CAAC,GAAAtE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAiC,SAAA,GAAAjC,SAAA,MAAG,CAAC,CAAC;IAAA,IAAEuE,KAAK,GAAAvE,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAiC,SAAA;IAC1E,MAAMuC,MAAM,GAAG3D,UAAU,CAAC0D,KAAK,CAAC,CAACtB,MAAM,CAAC,UAACwB,KAAK;MAAA,IAAE;QAAEP;MAAO,CAAC,GAAAlE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAiC,SAAA,GAAAjC,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKyE,KAAK,GAAGP,MAAM;IAAA,GAAE,CAAC,CAAC;IAEtF,oBACEnG,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAAC7F,GAAA,CAAA8F,IAAI;MAACgB,GAAG;MAACvE,GAAG,KAAAwE,MAAA,CAAKR,EAAE,EAAAQ,MAAA,CAAGJ,KAAK,CAAG;MAACX,SAAS,EAAExF,KAAK,CAACwG;IAAS,GACvDhE,SAAS,iBACR7C,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAAC7F,GAAA,CAAA8F,IAAI;MAACgB,GAAG;MAACd,SAAS,EAAExF,KAAK,CAACyG;IAAK,gBAC9B9G,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAAC7F,GAAA,CAAAkH,IAAI;MAACzD,KAAK,EAAEmD,MAAM,KAAK,CAAC,GAAGO,cAAI,CAACC,MAAM,GAAGR,MAAM,KAAK,CAAC,GAAGO,cAAI,CAACE,KAAK,GAAGF,cAAI,CAACG;IAAO,CAAE,CAAC,eACrFnH,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAAC7F,GAAA,CAAAuH,IAAI;MAACC,KAAK;IAAA,GAAEZ,MAAa,CACtB,CACP,eAEDzG,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAAC7F,GAAA,CAAA8F,IAAI;MAACE,SAAS,EAAExF,KAAK,CAACiH;IAAY,gBACjCtH,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAAC7F,GAAA,CAAAuH,IAAI;MAACG,IAAI;MAACC,MAAM,EAAE,CAACvE,QAAS;MAACoE,KAAK,EAAEpE,QAAS;MAAC4C,SAAS,EAAExF,KAAK,CAACiH;IAAY,MAAAV,MAAA,CACtEL,QAAQ,QACX1D,SAAS,iBAAI7C,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAAC7F,GAAA,CAAAuH,IAAI;MAACK,KAAK;MAACJ,KAAK;IAAA,SAAAT,MAAA,CAAQN,SAAS,CAAS,CACrD,CAAC,EACN,CAACzD,SAAS,iBACT7C,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAAC7F,GAAA,CAAAuH,IAAI;MAACK,KAAK;MAACJ,KAAK;IAAA,GACdf,SACG,CAEJ,CAAC,eAEPtG,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAAC7F,GAAA,CAAAuH,IAAI,EAAAvF,QAAA;MAAC0F,IAAI;IAAA,GAAM1E,SAAS,GAAG;MAAE2E,MAAM,EAAE,CAACvE,QAAQ;MAAEoE,KAAK,EAAEpE;IAAS,CAAC,GAAG;MAAEuE,MAAM,EAAEvE;IAAS,CAAC,GACtFE,cAAc,CAAC;MAAE,GAAGmC,mBAAmB;MAAEhC,KAAK,EAAE6C,MAAM,GAAGhB;IAAM,CAAC,CAC7D,CAAC,EAEN,CAACtC,SAAS,iBACT7C,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAAC7F,GAAA,CAAA6H,MAAM;MAACL,KAAK;MAAC1D,IAAI,EAAEA,IAAK;MAACgE,QAAQ,EAAE,CAACvC,KAAM;MAACwC,KAAK,EAAE,CAAC3E,QAAS;MAAC4E,OAAO,EAAExC;IAAa,GACjFjC,SAAS,CAAC0E,WAAI,CAACC,cAAc,CACxB,CAEN,CAAC;EAEX,CAAC,CACG,CACF,CAAC,EAENlF,SAAS,iBACR7C,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAAC7F,GAAA,CAAA8F,IAAI;IAACgB,GAAG;IAACd,SAAS,EAAE,CAACxF,KAAK,CAAC2F,OAAO,EAAE3F,KAAK,CAAC2H,OAAO;EAAE,gBAClDhI,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAAC7F,GAAA,CAAA8F,IAAI;IAACE,SAAS,EAAExF,KAAK,CAAC4E;EAAW,gBAChCjF,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAAC7F,GAAA,CAAAuH,IAAI;IAACG,IAAI;IAACU,QAAQ;IAACC,KAAK,EAAEjF,QAAQ,GAAG,CAAC,GAAG;EAAE,GACzCE,cAAc,CAAC;IAAE,GAAGmC,mBAAmB;IAAEhC,KAAK,EAAE2B;EAAW,CAAC,CACzD,CAAC,EAEN,CAAC,CAACtC,SAAS,iBACV3C,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAAC7F,GAAA,CAAAuH,IAAI;IAACK,KAAK;IAACJ,KAAK;EAAA,GACdjE,SAAS,CAAC,IAAA+E,sBAAa,EAACxF,SAAS,CAAC,CAC/B,CACP,eAED3C,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAACxF,WAAA,CAAAkI,YAAY;IAAC5F,IAAI,EAAEA,IAAK;IAAC6F,OAAO,EAAC,cAAc;IAAC1F,SAAS,EAAEA;EAAU,CAAE,CACpE,CAAC,eAEP3C,MAAA,CAAAa,OAAA,CAAA6E,aAAA,CAAC7F,GAAA,CAAA6H,MAAM;IACL/D,IAAI,EAAEA,IAAK;IACXgE,QAAQ,EAAE,CAACvC,KAAM;IACjBwC,KAAK,EAAE,CAAC3E,QAAS;IACjB4E,OAAO,EAAExC,YAAa;IACtB,cAAYjC,SAAS,CAAC0E,WAAI,CAACC,cAAc,CAAE;IAC3CtC,MAAM,EAAEA,MAAM,MAAAmB,MAAA,CAAMnB,MAAM,gBAAavB;EAAU,GAEhDd,SAAS,CAAC0E,WAAI,CAACC,cAAc,CACxB,CACJ,CAEJ,CAAC;AAEX,CAAC;AAACO,OAAA,CAAAhG,MAAA,GAAAA,MAAA;AAEFA,MAAM,CAACiG,WAAW,GAAG,yBAAyB;AAE9CjG,MAAM,CAACkG,SAAS,GAAG;EACjBhG,IAAI,EAAEiG,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC5ClG,QAAQ,EAAEgG,kBAAS,CAACG,IAAI;EACxBlG,UAAU,EAAE+F,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC;EAC/B/F,MAAM,EAAE6F,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9C9F,SAAS,EAAE4F,kBAAS,CAACG,IAAI;EACzB9F,UAAU,EAAE2F,kBAAS,CAACC,OAAO,CAC3BD,kBAAS,CAACC,OAAO,CACfD,kBAAS,CAACE,KAAK,CAAC;IACdE,IAAI,EAAEJ,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACK,MAAM,CAAC;IACzC3C,MAAM,EAAEsC,kBAAS,CAACK,MAAM;IACxBC,IAAI,EAAEN,kBAAS,CAACK;EAClB,CAAC,CACH,CACF,CAAC;EACD/F,QAAQ,EAAE0F,kBAAS,CAACO;AACtB,CAAC"}
1
+ {"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","style","_helpers2","_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","Footer","_ref","cart","clubRate","dataSource","taxesType","extras","multiRoom","occupation","onSubmit","others","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","refContainer","useRef","busy","setBusy","useState","useEffect","items","filter","item","undefined","Event","publish","EVENT","MODAL_VISIBLE","visible","content","current","ResizeObserver","observer","debounce","FOOTER_HEIGHT_CHANGE","height","offsetHeight","observe","unobserve","totalPrice","reduce","price","valid","handleSubmit","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","View","ref","className","styles","footer","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","concat","cartItem","room","Icon","ICON","PERSON","GROUP","GROUPS","Text","small","description","bold","action","light","Button","disabled","large","onPress","L10N","ACTION_RESERVE","summary","headline","level","getLabelTaxes","PriceDetails","metrics","exports","displayName","propTypes","PropTypes","arrayOf","shape","bool","ages","number","type","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { PriceDetails } from './components/Item/components';\nimport { getLabelTaxes } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { debounce } from '../../helpers';\nimport { EVENT, ICON } from '../helpers';\n\nconst Footer = ({\n cart = [],\n clubRate,\n dataSource: { taxesType } = {},\n extras,\n multiRoom,\n occupation = [],\n onSubmit = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => {\n const items = cart.filter((item) => item !== undefined);\n\n Event.publish(EVENT.MODAL_VISIBLE, { visible: items.length > 0 });\n\n const content = refContainer?.current;\n if (!content || typeof ResizeObserver === 'undefined') return;\n\n const observer = new ResizeObserver(\n debounce(() =>\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: items.length ? content.offsetHeight : undefined }),\n ),\n );\n observer.observe(content);\n\n return () => observer.unobserve(content);\n }, [cart]);\n\n useEffect(() => !extras && setBusy(false), [extras]);\n\n useEffect(() => !clubRate && setBusy(false), [clubRate]);\n\n const items = cart.filter((item) => item !== undefined);\n const totalPrice = cart.reduce((value, { price = 0 } = {}) => value + price, 0);\n const valid = items.length === occupation.length;\n\n const handleSubmit = () => {\n setBusy(true);\n onSubmit();\n };\n\n const visible = items.length > 0;\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const { testId } = others;\n\n return (\n <View\n {...others}\n ref={refContainer}\n className={styles(style.footer, visible && style.visible, others.className)}\n aria-hidden={visible ? 'false' : 'true'}\n >\n <View>\n <View className={style.wrapper} wide>\n {items.map(({ amount = 1, id, name: boardName, price, roomName } = {}, index) => {\n const guests = occupation[index].reduce((total, { amount } = {}) => total + amount, 0);\n\n return (\n <View row key={`${id}${index}`} className={style.cartItem}>\n {multiRoom && (\n <View row className={style.room}>\n <Icon value={guests === 1 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS} />\n <Text small>{guests}</Text>\n </View>\n )}\n\n <View className={style.description}>\n <Text bold action={!isMobile} small={isMobile} className={style.description}>\n {`${roomName} `}\n {multiRoom && <Text light small>{` | ${boardName}`}</Text>}\n </Text>\n {!multiRoom && (\n <Text light small>\n {boardName}\n </Text>\n )}\n </View>\n\n <Text bold {...(multiRoom ? { action: !isMobile, small: isMobile } : { action: isMobile })}>\n {currencyFormat({ ...currencyFormatProps, value: amount * price })}\n </Text>\n\n {!multiRoom && (\n <Button small busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n )}\n </View>\n );\n })}\n </View>\n </View>\n\n {multiRoom && (\n <View row className={[style.wrapper, style.summary]}>\n <View className={style.totalPrice}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ ...currencyFormatProps, value: totalPrice })}\n </Text>\n\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails cart={cart} metrics=\"RATES:FOOTER\" taxesType={taxesType} />\n </View>\n\n <Button\n busy={busy}\n disabled={!valid}\n large={!isMobile}\n onPress={handleSubmit}\n aria-label={translate(L10N.ACTION_RESERVE)}\n testId={testId ? `${testId}-reserve` : undefined}\n >\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Rates:Footer';\n\nFooter.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n clubRate: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n multiRoom: PropTypes.bool,\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n onSubmit: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":"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"}
@@ -285,6 +285,19 @@ const Rates = _ref => {
285
285
  isDesktop
286
286
  });
287
287
  const priceFactor = features.showPricePerNight && nights > 1 ? nights : 1;
288
+ const uniqueOption = ((dataSource === null || dataSource === void 0 ? void 0 : dataSource.items) || []).filter(function () {
289
+ let {
290
+ soldOut
291
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
292
+ return !soldOut;
293
+ }).every(_ref2 => {
294
+ let {
295
+ boards = [],
296
+ cancellations = [],
297
+ rates = []
298
+ } = _ref2;
299
+ return boards.length === 1 && cancellations.length === 1 && rates.length === 1;
300
+ });
288
301
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Header.Header, {
289
302
  currency: true,
290
303
  login: club.active,
@@ -331,11 +344,11 @@ const Rates = _ref => {
331
344
  testId: testId ? "".concat(testId, "-multiroom") : undefined
332
345
  })) : undefined), response ? /*#__PURE__*/_react.default.createElement(_shared__.Cards, null, (_select = (0, _helpers.select)(dataSource.items, filters, {
333
346
  priceFactor
334
- })) === null || _select === void 0 ? void 0 : _select.map((_ref2, index) => {
347
+ })) === null || _select === void 0 ? void 0 : _select.map((_ref3, index) => {
335
348
  let {
336
349
  id,
337
350
  ...item
338
- } = _ref2;
351
+ } = _ref3;
339
352
  return /*#__PURE__*/_react.default.createElement(_components.Item, _extends({}, (0, _helpers.filterItem)(item, filters, priceFactor), {
340
353
  cart,
341
354
  features,
@@ -347,6 +360,7 @@ const Rates = _ref => {
347
360
  priceFactor,
348
361
  room,
349
362
  taxesType: dataSource.taxesType,
363
+ uniqueOption,
350
364
  key: "".concat(id || index, ":").concat(fetching, ":").concat(width),
351
365
  ref: el => refItems.current[id] = el,
352
366
  selected: cart[room || 0],
@@ -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","_Rates5","style","_Rates6","_Rates7","_Rates8","_Core","_helpers2","_shared__","_Finder","_Header","_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","Rates","_ref","_select","_dataSource$hotels","_responseError$tracki","_responseError$tracki2","_dataSource$items","testId","others","isDesktop","isMobile","width","useDevice","actions","device","fetch","multiRoom","refRoomSelector","responseError","state","useRates","value","club","currency","finder","forwarder","hotel","id","locale","session","skeleton","urlParams","variant","useStore","translate","useLocale","refItems","useRef","busy","setBusy","useState","cancellationInfo","setCancellationInfo","extras","setExtras","filters","setFilters","itemInfo","setItemInfo","itemUrl","setItemUrl","mapView","setMapView","offerInfo","setOfferInfo","calendar","occupation","cart","clubDiscount","clubRate","dataSource","fetching","metaBoard","room","strictSearch","setCart","setClubRate","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","Event","publish","EVENT","METRICS","getFeatures","features","handleFilters","next","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextOccupation","promocode","nextPromocode","handleSelect","board","nextCart","scrollToRoom","roomId","RATES_ADD_TO_CART","event","response","handleSubmit","rates","sessionProp","isPestana","ServiceFeatures","FEATURES","PESTANA","showClubRate","ServiceRates","getCheckoutParams","fetchUrlParams","location","search","getOccupationTotals","infantAge","hotelCurrency","catch","selectableExtras","some","included","handleCheckout","setTimeout","document","href","getForwarderUrl","checkoutParams","JSON","stringify","occupationTotals","SUBMIT_DELAY","handleCloseLogin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","days","nights","dateDiff","roomSelectorProps","onPress","priceFactor","showPricePerNight","createElement","Fragment","Header","login","active","name","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","metrics","concat","hotels","onSubmit","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","Cards","select","items","map","_ref2","index","item","Item","filterItem","taxesType","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onViewUrl","info","CardHotel","tracking","hotelInfoBAR","Unavailability","Notification","error","large","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","Footer","ModalItemInfo","onClose","ModalCancellationInfo","ModalItemUrl","ModalOfferInfo","ModalExtras","onCancel","ModalClubRate","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 { ServiceFeatures, 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 ModalClubRate,\n ModalExtras,\n ModalItemInfo,\n ModalItemUrl,\n ModalMapView,\n ModalOfferInfo,\n} from './components';\nimport {\n filterItem,\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n select,\n showClubRate,\n} from './helpers';\nimport { useRates } from './hooks';\nimport { FEATURES } from './Rates.constants';\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 } from '../../helpers';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, 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 id,\n locale,\n session,\n skeleton = false,\n urlParams,\n variant,\n },\n } = useStore();\n\n const { translate } = useLocale();\n const refItems = useRef({});\n\n const [busy, setBusy] = useState(false);\n const [cancellationInfo, setCancellationInfo] = useState();\n const [extras, setExtras] = 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\n const { calendar = [], occupation = [] } = finder;\n const { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch } = state;\n const { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch } = actions;\n\n useEffect(\n () =>\n Event.publish(EVENT.METRICS, {\n id: 'RATES:RENDER',\n ...getFeatures(hotel.features, urlParams, { isDesktop }, multiRoom),\n multiRoom,\n variant,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\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 { occupation: nextOccupation, promocode: nextPromocode } = values;\n fetch({ nextOccupation, 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\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n clubRate && setClubRate(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n\n if (multiRoom) {\n Event.publish(EVENT.METRICS, { id: 'RATES:SELECT_ROOM' });\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, sessionProp = session) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setClubRate(false);\n\n if (showClubRate({ cart, clubDiscount, dataSource, isPestana, session: sessionProp })) return setClubRate(true);\n\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 }).catch(() => {})) || {};\n\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = [], variant = 'A') => {\n setBusy(true);\n Event.publish(EVENT.METRICS, { id: 'RATES:SUBMIT' });\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource,\n extras,\n forwarder,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n variant,\n checkoutParams: JSON.stringify(\n getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ),\n occupationTotals: JSON.stringify(getOccupationTotals({ infantAge: dataSource.infantAge, occupation })),\n });\n }, SUBMIT_DELAY);\n };\n\n const handleCloseLogin = () => (multiRoom ? setClubRate(false) : handleSelect());\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\n if (top) scrollTo(top + window.scrollY - (isMobile ? 16 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\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\n return (\n <>\n <Header currency login={club.active} 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 metrics={`${dataSource?.hotels ? 'HOTELS' : responseError ? 'UNAVAILAVILITY' : 'RATES'}:FINDER`}\n onSubmit={handleFinder}\n testId={testId ? `${testId}-finder` : undefined}\n />\n {!responseError && <Filters {...dataSource} {...{ priceFactor }} onSubmit={handleFilters} />}\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 {...{ dataSource, multiRoom, onMapView: setMapView, onSelect: handleSelect }}>\n {!isMobile ? (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n ) : undefined}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {select(dataSource.items, filters, { priceFactor })?.map(({ id, ...item }, index) => (\n <Item\n {...{\n ...filterItem(item, filters, priceFactor),\n cart,\n features,\n filters,\n metaBoard,\n id,\n multiRoom,\n nights,\n priceFactor,\n room,\n taxesType: dataSource.taxesType,\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 onViewUrl={(info) => setItemUrl(info)}\n testId={testId ? `${testId}-item-${index}` : undefined}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...{ ...item, nights, priceFactor }} />\n ))}\n </Cards>\n ) : responseError ? (\n responseError.hotel || responseError.tracking?.hotelInfoBAR?.length === 0 ? (\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 : [], clubRate, 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 <ModalExtras\n {...{ ...dataSource, busy, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n testId={testId ? `${testId}-modalExtras` : undefined}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalClubRate\n dataSource={dataSource}\n cart={cart}\n visible={clubRate}\n onClose={handleCloseLogin}\n onSubmit={(session) => handleSubmit(cart, session)}\n />\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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"}
1
+ {"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_hooks","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_Core","_helpers2","_shared__","_Finder","_Header","_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","Rates","_ref","_select","_dataSource$hotels","_responseError$tracki","_responseError$tracki2","_dataSource$items","testId","others","isDesktop","isMobile","width","useDevice","actions","device","fetch","multiRoom","refRoomSelector","responseError","state","useRates","value","club","currency","finder","forwarder","hotel","id","locale","session","skeleton","urlParams","variant","useStore","translate","useLocale","refItems","useRef","busy","setBusy","useState","cancellationInfo","setCancellationInfo","extras","setExtras","filters","setFilters","itemInfo","setItemInfo","itemUrl","setItemUrl","mapView","setMapView","offerInfo","setOfferInfo","calendar","occupation","cart","clubDiscount","clubRate","dataSource","fetching","metaBoard","room","strictSearch","setCart","setClubRate","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","Event","publish","EVENT","METRICS","getFeatures","features","handleFilters","next","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextOccupation","promocode","nextPromocode","handleSelect","board","nextCart","scrollToRoom","roomId","RATES_ADD_TO_CART","event","response","handleSubmit","rates","sessionProp","isPestana","ServiceFeatures","FEATURES","PESTANA","showClubRate","ServiceRates","getCheckoutParams","fetchUrlParams","location","search","getOccupationTotals","infantAge","hotelCurrency","catch","selectableExtras","some","included","handleCheckout","setTimeout","document","href","getForwarderUrl","checkoutParams","JSON","stringify","occupationTotals","SUBMIT_DELAY","handleCloseLogin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","days","nights","dateDiff","roomSelectorProps","onPress","priceFactor","showPricePerNight","uniqueOption","items","filter","soldOut","every","_ref2","boards","cancellations","createElement","Fragment","Header","login","active","name","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","metrics","concat","hotels","onSubmit","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","Cards","select","map","_ref3","index","item","Item","filterItem","taxesType","el","selected","onCancellationInfo","rate","onMoreInfo","onOfferInfo","onViewUrl","info","CardHotel","tracking","hotelInfoBAR","Unavailability","Notification","error","large","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","Footer","ModalItemInfo","onClose","ModalCancellationInfo","ModalItemUrl","ModalOfferInfo","ModalExtras","onCancel","ModalClubRate","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 { ServiceFeatures, 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 ModalClubRate,\n ModalExtras,\n ModalItemInfo,\n ModalItemUrl,\n ModalMapView,\n ModalOfferInfo,\n} from './components';\nimport {\n filterItem,\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n select,\n showClubRate,\n} from './helpers';\nimport { useRates } from './hooks';\nimport { FEATURES } from './Rates.constants';\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 } from '../../helpers';\nimport { Cards, Footer } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, 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 id,\n locale,\n session,\n skeleton = false,\n urlParams,\n variant,\n },\n } = useStore();\n\n const { translate } = useLocale();\n const refItems = useRef({});\n\n const [busy, setBusy] = useState(false);\n const [cancellationInfo, setCancellationInfo] = useState();\n const [extras, setExtras] = 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\n const { calendar = [], occupation = [] } = finder;\n const { cart, clubDiscount, clubRate, dataSource, fetching, metaBoard, room, strictSearch } = state;\n const { setCart, setClubRate, setDataSource, setMetaBoard, setRoom, setStrictSearch } = actions;\n\n useEffect(\n () =>\n Event.publish(EVENT.METRICS, {\n id: 'RATES:RENDER',\n ...getFeatures(hotel.features, urlParams, { isDesktop }, multiRoom),\n multiRoom,\n variant,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\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 { occupation: nextOccupation, promocode: nextPromocode } = values;\n fetch({ nextOccupation, 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\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n clubRate && setClubRate(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n\n if (multiRoom) {\n Event.publish(EVENT.METRICS, { id: 'RATES:SELECT_ROOM' });\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, sessionProp = session) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setClubRate(false);\n\n if (showClubRate({ cart, clubDiscount, dataSource, isPestana, session: sessionProp })) return setClubRate(true);\n\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 }).catch(() => {})) || {};\n\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = [], variant = 'A') => {\n setBusy(true);\n Event.publish(EVENT.METRICS, { id: 'RATES:SUBMIT' });\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource,\n extras,\n forwarder,\n session,\n urlParams: { ...fetchUrlParams(location.search), device },\n variant,\n checkoutParams: JSON.stringify(\n getCheckoutParams({\n cart,\n clubDiscount,\n currency,\n dataSource,\n forwarder,\n urlParams: fetchUrlParams(location.search),\n }),\n ),\n occupationTotals: JSON.stringify(getOccupationTotals({ infantAge: dataSource.infantAge, occupation })),\n });\n }, SUBMIT_DELAY);\n };\n\n const handleCloseLogin = () => (multiRoom ? setClubRate(false) : handleSelect());\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\n if (top) scrollTo(top + window.scrollY - (isMobile ? 16 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\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\n return (\n <>\n <Header currency login={club.active} 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 metrics={`${dataSource?.hotels ? 'HOTELS' : responseError ? 'UNAVAILAVILITY' : 'RATES'}:FINDER`}\n onSubmit={handleFinder}\n testId={testId ? `${testId}-finder` : undefined}\n />\n {!responseError && <Filters {...dataSource} {...{ priceFactor }} onSubmit={handleFilters} />}\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 {...{ dataSource, multiRoom, onMapView: setMapView, onSelect: handleSelect }}>\n {!isMobile ? (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n ) : undefined}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {select(dataSource.items, filters, { priceFactor })?.map(({ id, ...item }, index) => (\n <Item\n {...{\n ...filterItem(item, filters, priceFactor),\n cart,\n features,\n filters,\n metaBoard,\n id,\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 onViewUrl={(info) => setItemUrl(info)}\n testId={testId ? `${testId}-item-${index}` : undefined}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...{ ...item, nights, priceFactor }} />\n ))}\n </Cards>\n ) : responseError ? (\n responseError.hotel || responseError.tracking?.hotelInfoBAR?.length === 0 ? (\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 : [], clubRate, 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 <ModalExtras\n {...{ ...dataSource, busy, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n testId={testId ? `${testId}-modalExtras` : undefined}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalClubRate\n dataSource={dataSource}\n cart={cart}\n visible={clubRate}\n onClose={handleCloseLogin}\n onSubmit={(session) => handleSubmit(cart, session)}\n />\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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"}
@@ -34,6 +34,7 @@ const Rates = _ref => {
34
34
  promocodeForAll,
35
35
  rates = [],
36
36
  selectedBoard = {},
37
+ uniqueOption = false,
37
38
  onBoard,
38
39
  onCancellation,
39
40
  onCancellationInfo,
@@ -95,7 +96,7 @@ const Rates = _ref => {
95
96
  inline: has.inlineCancellations,
96
97
  outlined: hideRadio,
97
98
  value: !showOffersFirst ? price / priceFactor : undefined,
98
- onPress: cancellationsFiltered.length > 1 ? () => onCancellation(id) : undefined
99
+ onPress: !uniqueOption ? () => onCancellation(id) : undefined
99
100
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
100
101
  action: !isMobile,
101
102
  medium: highlight,
@@ -189,7 +190,7 @@ const Rates = _ref => {
189
190
  disabled: disabled,
190
191
  outlined: hideRadio,
191
192
  value: price / priceFactor,
192
- onPress: rates.length > 1 ? () => onRate({
193
+ onPress: !uniqueOption ? () => onRate({
193
194
  id,
194
195
  cancellationId
195
196
  }) : undefined
@@ -250,7 +251,7 @@ const Rates = _ref => {
250
251
  outlined: hideRadio,
251
252
  title: name,
252
253
  value: has.boards ? increment / priceFactor : undefined,
253
- onPress: boards.length > 1 ? () => onBoard(board) : undefined
254
+ onPress: !uniqueOption ? () => onBoard(board) : undefined
254
255
  }, variants.length > 0 && /*#__PURE__*/_react.default.createElement(_components.TooltipDates, {
255
256
  captions: variants.map(function () {
256
257
  let {
@@ -283,6 +284,7 @@ Rates.propTypes = {
283
284
  promocodeForAll: _propTypes.default.bool,
284
285
  rates: _propTypes.default.arrayOf(_propTypes.default.any),
285
286
  selectedBoard: _propTypes.default.shape({}),
287
+ uniqueOption: _propTypes.default.bool,
286
288
  onBoard: _propTypes.default.func,
287
289
  onCancellation: _propTypes.default.func,
288
290
  onCancellationInfo: _propTypes.default.func,
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Rates.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_Rates","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Rates","_ref","availableBoards","availableRates","boards","cancellations","features","columnMode","hideRadio","hideStandaloneBoard","showOffersFirst","showRateIncluded","priceFactor","promocodeForAll","rates","selectedBoard","onBoard","onCancellation","onCancellationInfo","onRate","onOfferInfo","isMobile","useDevice","translate","useLocale","value","finder","promocode","useStore","cancellationId","rateId","id","boardId","length","inlineBoards","inlineCancellations","cancellationsFiltered","filter","_ref2","renderCancellations","createElement","View","className","offset","gap","Text","action","bold","L10N","LABEL_CANCELLATION_POLICY","React","Fragment","row","inlineOptions","undefined","map","_ref3","highlight","name","caption","price","cancellation","Option","key","checked","inline","outlined","onPress","medium","small","optionText","styles","tag","Pressable","Icon","paragraph","ICON","INFO","LABEL_OFFER","_ref4","countdown","description","disabled","included","restrictions","rate","find","board","arguments","confidential","discount","breakdown","isPromocode","type","DISCOUNT_TYPE","PROMOTION","DEAL","percentage","promoPercentage","offerPercentage","RateDetails","tags","LABEL_DISCOUNT","concat","Math","round","MAX_PROMOCODE","MOBILE","DESKTOP","truncate","toUpperCase","LABEL_ACCOMMODATION_PLAN","increment","variants","title","TooltipDates","captions","values","parseDate","exports","propTypes","PropTypes","arrayOf","any","shape","bool","number","func","onChange","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { Icon, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Option, RateDetails, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\nimport { DISCOUNT_TYPE, MAX_PROMOCODE } from '../../Rates.constants';\n\nconst Rates = ({\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode,\n hideRadio = false,\n hideStandaloneBoard = false,\n showOffersFirst = false,\n showRateIncluded = false,\n } = {},\n priceFactor = 1,\n promocodeForAll,\n rates = [],\n selectedBoard = {},\n onBoard,\n onCancellation,\n onCancellationInfo,\n onRate,\n onOfferInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { value: { finder: { promocode } = {} } = {} } = useStore();\n\n const { cancellationId, rateId, id: boardId } = selectedBoard;\n\n const has = {\n cancellations: cancellations.length > 0,\n boards: boards.length > (hideStandaloneBoard ? 1 : 0),\n inlineBoards: hideRadio && boards.length > 1 && boards.length <= (columnMode ? 3 : 2),\n inlineCancellations: hideRadio && cancellations.length > 1 && cancellations.length <= (columnMode ? 3 : 2),\n rates: availableRates.length > 0,\n };\n\n const cancellationsFiltered = cancellations.filter(\n ({ id }) => !showOffersFirst || (showOffersFirst && (id === cancellationId || !has.rates)),\n );\n\n const renderCancellations = () =>\n has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n\n {React.createElement(\n has.inlineCancellations ? View : React.Fragment,\n has.inlineCancellations ? { row: true, className: style.inlineOptions } : undefined,\n cancellationsFiltered.map(({ highlight, id, name, caption, price, ...cancellation }) => (\n <Option\n key={id}\n caption={caption}\n checked={id === cancellationId}\n inline={has.inlineCancellations}\n outlined={hideRadio}\n value={!showOffersFirst ? price / priceFactor : undefined}\n onPress={cancellationsFiltered.length > 1 ? () => onCancellation(id) : undefined}\n >\n <Text action={!isMobile} medium={highlight} small={isMobile} className={style.optionText}>\n {highlight ? (\n <Text\n action={!isMobile}\n medium={highlight}\n small={isMobile}\n className={styles(highlight && style.tag)}\n >\n {name}\n </Text>\n ) : (\n name\n )}\n\n <Pressable onPress={() => onCancellationInfo({ ...selectedBoard, cancellation })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n </Text>\n </Option>\n )),\n )}\n </View>\n );\n\n return (\n <>\n {!showOffersFirst && renderCancellations()}\n\n {has.rates && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_OFFER)}\n </Text>\n {rates.map(\n ({ id, cancellationId, countdown, description, disabled, included, name, price, restrictions }) => {\n const rate = rates.find((rate) => rate.id === id);\n const board = availableBoards.filter(({ rateId } = {}) => rateId === id)[0];\n const { confidential, discount: { breakdown = [] } = {} } = board || {};\n const isPromocode =\n promocode &&\n !promocodeForAll &&\n breakdown.find(\n ({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION || (type === DISCOUNT_TYPE.DEAL && confidential),\n );\n const { percentage: promoPercentage = 0 } =\n breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION) || {};\n const { percentage: offerPercentage = 0 } =\n breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.DEAL) || {};\n\n return (\n <Option\n key={id}\n caption={\n <RateDetails\n {...{\n countdown,\n included: showRateIncluded ? included : undefined,\n restrictions,\n selectedBoard:\n selectedBoard.rateId === id\n ? selectedBoard\n : availableBoards.filter(({ rateId } = {}) => rateId === id)[0],\n onOfferInfo: () => onOfferInfo({ ...rate, availableBoards }),\n }}\n />\n }\n checked={id === rateId}\n disabled={disabled}\n outlined={hideRadio}\n value={price / priceFactor}\n onPress={rates.length > 1 ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 0 && (\n <Text medium={hideRadio} action={!isMobile} small={isMobile} className={style.optionText}>\n <View row className={style.tags}>\n {offerPercentage > 0 && (\n <Text action={!isMobile} medium small={isMobile} className={style.tag}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${Math.round(offerPercentage)}%` })}\n </Text>\n )}\n </View>\n\n {name}\n\n {(description || included.length > 0) && (\n <Pressable onPress={() => onOfferInfo({ ...rate, availableBoards })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n )}\n {isPromocode && (\n <Text bold small className={styles(style.tag, style.highlight)}>\n <Text\n bold\n small\n className={\n promocode.length > (isMobile ? MAX_PROMOCODE.MOBILE : MAX_PROMOCODE.DESKTOP) &&\n style.truncate\n }\n >\n {promocode.toUpperCase()}\n </Text>\n {promoPercentage ? ` -${Math.round(promoPercentage)}%` : ''}\n </Text>\n )}\n </Text>\n )}\n </Option>\n );\n },\n )}\n </View>\n )}\n\n {showOffersFirst && renderCancellations()}\n\n {has.boards && (\n <View className={styles(style.offset, style.gap)}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n\n {React.createElement(\n has.inlineBoards ? View : React.Fragment,\n has.inlineBoards ? { row: true, className: style.inlineOptions } : undefined,\n boards.map((board = {}) => {\n const { disabled, id, increment, name, variants = [] } = board;\n\n return (\n <Option\n key={id}\n checked={id === boardId}\n disabled={disabled}\n inline={has.inlineBoards}\n outlined={hideRadio}\n title={name}\n value={has.boards ? increment / priceFactor : undefined}\n onPress={boards.length > 1 ? () => onBoard(board) : undefined}\n >\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </Option>\n );\n }),\n )}\n </View>\n )}\n\n <View />\n </>\n );\n};\n\nRates.propTypes = {\n availableBoards: PropTypes.arrayOf(PropTypes.any),\n availableRates: PropTypes.arrayOf(PropTypes.any),\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n columnMode: PropTypes.bool,\n hideStandaloneBoard: PropTypes.bool,\n showOffersFirst: PropTypes.bool,\n showRateIncluded: PropTypes.bool,\n }),\n priceFactor: PropTypes.number,\n promocodeForAll: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onBoard: PropTypes.func,\n onCancellation: PropTypes.func,\n onCancellationInfo: PropTypes.func,\n onChange: PropTypes.func,\n onOfferInfo: PropTypes.func,\n onRate: PropTypes.func,\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item:Rates';\n\nexport { Rates };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.Rates.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_helpers","_Rates","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Rates","_ref","availableBoards","availableRates","boards","cancellations","features","columnMode","hideRadio","hideStandaloneBoard","showOffersFirst","showRateIncluded","priceFactor","promocodeForAll","rates","selectedBoard","uniqueOption","onBoard","onCancellation","onCancellationInfo","onRate","onOfferInfo","isMobile","useDevice","translate","useLocale","value","finder","promocode","useStore","cancellationId","rateId","id","boardId","length","inlineBoards","inlineCancellations","cancellationsFiltered","filter","_ref2","renderCancellations","createElement","View","className","offset","gap","Text","action","bold","L10N","LABEL_CANCELLATION_POLICY","React","Fragment","row","inlineOptions","undefined","map","_ref3","highlight","name","caption","price","cancellation","Option","key","checked","inline","outlined","onPress","medium","small","optionText","styles","tag","Pressable","Icon","paragraph","ICON","INFO","LABEL_OFFER","_ref4","countdown","description","disabled","included","restrictions","rate","find","board","arguments","confidential","discount","breakdown","isPromocode","type","DISCOUNT_TYPE","PROMOTION","DEAL","percentage","promoPercentage","offerPercentage","RateDetails","tags","LABEL_DISCOUNT","concat","Math","round","MAX_PROMOCODE","MOBILE","DESKTOP","truncate","toUpperCase","LABEL_ACCOMMODATION_PLAN","increment","variants","title","TooltipDates","captions","values","parseDate","exports","propTypes","PropTypes","arrayOf","any","shape","bool","number","func","onChange","displayName"],"sources":["../../../../../src/components/Rates/components/Item/Item.Rates.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { Icon, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Option, RateDetails, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\nimport { DISCOUNT_TYPE, MAX_PROMOCODE } from '../../Rates.constants';\n\nconst Rates = ({\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode,\n hideRadio = false,\n hideStandaloneBoard = false,\n showOffersFirst = false,\n showRateIncluded = false,\n } = {},\n priceFactor = 1,\n promocodeForAll,\n rates = [],\n selectedBoard = {},\n uniqueOption = false,\n onBoard,\n onCancellation,\n onCancellationInfo,\n onRate,\n onOfferInfo,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { value: { finder: { promocode } = {} } = {} } = useStore();\n\n const { cancellationId, rateId, id: boardId } = selectedBoard;\n\n const has = {\n cancellations: cancellations.length > 0,\n boards: boards.length > (hideStandaloneBoard ? 1 : 0),\n inlineBoards: hideRadio && boards.length > 1 && boards.length <= (columnMode ? 3 : 2),\n inlineCancellations: hideRadio && cancellations.length > 1 && cancellations.length <= (columnMode ? 3 : 2),\n rates: availableRates.length > 0,\n };\n\n const cancellationsFiltered = cancellations.filter(\n ({ id }) => !showOffersFirst || (showOffersFirst && (id === cancellationId || !has.rates)),\n );\n\n const renderCancellations = () =>\n has.cancellations && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CANCELLATION_POLICY)}\n </Text>\n\n {React.createElement(\n has.inlineCancellations ? View : React.Fragment,\n has.inlineCancellations ? { row: true, className: style.inlineOptions } : undefined,\n cancellationsFiltered.map(({ highlight, id, name, caption, price, ...cancellation }) => (\n <Option\n key={id}\n caption={caption}\n checked={id === cancellationId}\n inline={has.inlineCancellations}\n outlined={hideRadio}\n value={!showOffersFirst ? price / priceFactor : undefined}\n onPress={!uniqueOption ? () => onCancellation(id) : undefined}\n >\n <Text action={!isMobile} medium={highlight} small={isMobile} className={style.optionText}>\n {highlight ? (\n <Text\n action={!isMobile}\n medium={highlight}\n small={isMobile}\n className={styles(highlight && style.tag)}\n >\n {name}\n </Text>\n ) : (\n name\n )}\n\n <Pressable onPress={() => onCancellationInfo({ ...selectedBoard, cancellation })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n </Text>\n </Option>\n )),\n )}\n </View>\n );\n\n return (\n <>\n {!showOffersFirst && renderCancellations()}\n\n {has.rates && (\n <View className={[style.offset, style.gap]}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_OFFER)}\n </Text>\n {rates.map(\n ({ id, cancellationId, countdown, description, disabled, included, name, price, restrictions }) => {\n const rate = rates.find((rate) => rate.id === id);\n const board = availableBoards.filter(({ rateId } = {}) => rateId === id)[0];\n const { confidential, discount: { breakdown = [] } = {} } = board || {};\n const isPromocode =\n promocode &&\n !promocodeForAll &&\n breakdown.find(\n ({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION || (type === DISCOUNT_TYPE.DEAL && confidential),\n );\n const { percentage: promoPercentage = 0 } =\n breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION) || {};\n const { percentage: offerPercentage = 0 } =\n breakdown.find(({ type } = {}) => type === DISCOUNT_TYPE.DEAL) || {};\n\n return (\n <Option\n key={id}\n caption={\n <RateDetails\n {...{\n countdown,\n included: showRateIncluded ? included : undefined,\n restrictions,\n selectedBoard:\n selectedBoard.rateId === id\n ? selectedBoard\n : availableBoards.filter(({ rateId } = {}) => rateId === id)[0],\n onOfferInfo: () => onOfferInfo({ ...rate, availableBoards }),\n }}\n />\n }\n checked={id === rateId}\n disabled={disabled}\n outlined={hideRadio}\n value={price / priceFactor}\n onPress={!uniqueOption ? () => onRate({ id, cancellationId }) : undefined}\n >\n {rates.length > 0 && (\n <Text medium={hideRadio} action={!isMobile} small={isMobile} className={style.optionText}>\n <View row className={style.tags}>\n {offerPercentage > 0 && (\n <Text action={!isMobile} medium small={isMobile} className={style.tag}>\n {translate(L10N.LABEL_DISCOUNT, { value: `${Math.round(offerPercentage)}%` })}\n </Text>\n )}\n </View>\n\n {name}\n\n {(description || included.length > 0) && (\n <Pressable onPress={() => onOfferInfo({ ...rate, availableBoards })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n )}\n {isPromocode && (\n <Text bold small className={styles(style.tag, style.highlight)}>\n <Text\n bold\n small\n className={\n promocode.length > (isMobile ? MAX_PROMOCODE.MOBILE : MAX_PROMOCODE.DESKTOP) &&\n style.truncate\n }\n >\n {promocode.toUpperCase()}\n </Text>\n {promoPercentage ? ` -${Math.round(promoPercentage)}%` : ''}\n </Text>\n )}\n </Text>\n )}\n </Option>\n );\n },\n )}\n </View>\n )}\n\n {showOffersFirst && renderCancellations()}\n\n {has.boards && (\n <View className={styles(style.offset, style.gap)}>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n\n {React.createElement(\n has.inlineBoards ? View : React.Fragment,\n has.inlineBoards ? { row: true, className: style.inlineOptions } : undefined,\n boards.map((board = {}) => {\n const { disabled, id, increment, name, variants = [] } = board;\n\n return (\n <Option\n key={id}\n checked={id === boardId}\n disabled={disabled}\n inline={has.inlineBoards}\n outlined={hideRadio}\n title={name}\n value={has.boards ? increment / priceFactor : undefined}\n onPress={!uniqueOption ? () => onBoard(board) : undefined}\n >\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </Option>\n );\n }),\n )}\n </View>\n )}\n\n <View />\n </>\n );\n};\n\nRates.propTypes = {\n availableBoards: PropTypes.arrayOf(PropTypes.any),\n availableRates: PropTypes.arrayOf(PropTypes.any),\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n columnMode: PropTypes.bool,\n hideStandaloneBoard: PropTypes.bool,\n showOffersFirst: PropTypes.bool,\n showRateIncluded: PropTypes.bool,\n }),\n priceFactor: PropTypes.number,\n promocodeForAll: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n uniqueOption: PropTypes.bool,\n onBoard: PropTypes.func,\n onCancellation: PropTypes.func,\n onCancellationInfo: PropTypes.func,\n onChange: PropTypes.func,\n onOfferInfo: PropTypes.func,\n onRate: PropTypes.func,\n};\n\nRates.displayName = 'Mirai:Core:Rates:Item:Rates';\n\nexport { Rates };\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.190",
3
+ "version": "0.4.191",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",