@mirai/core 0.4.279 → 0.4.281

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.
@@ -11,7 +11,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _components = require("./components/Item/components");
13
13
  var _helpers = require("./helpers");
14
- var _Rates = require("./Rates.l10n");
14
+ var _Rates = require("./Rates.constants");
15
+ var _Rates2 = require("./Rates.l10n");
15
16
  var style = _interopRequireWildcard(require("./Rates.module.css"));
16
17
  var _helpers2 = require("../../helpers");
17
18
  var _helpers3 = require("../helpers");
@@ -43,10 +44,11 @@ const Footer = _ref => {
43
44
  } = (0, _dataSources.useStore)();
44
45
  const refContainer = (0, _react.useRef)();
45
46
  const [busy, setBusy] = (0, _react.useState)(false);
47
+ const [expanded, setExpanded] = (0, _react.useState)(true);
46
48
  (0, _react.useEffect)(() => {
47
49
  const items = cart.filter(item => item !== undefined);
48
50
  _dataSources.Event.publish(_helpers3.EVENT.MODAL_VISIBLE, {
49
- displayName: 'Mirai:Core:Rates:Footer',
51
+ displayName: Footer.displayName,
50
52
  visible: items.length > 0
51
53
  });
52
54
  const content = refContainer === null || refContainer === void 0 ? void 0 : refContainer.current;
@@ -55,7 +57,23 @@ const Footer = _ref => {
55
57
  height: items.length ? content.offsetHeight : undefined
56
58
  })));
57
59
  observer.observe(content);
58
- return () => observer.unobserve(content);
60
+ const callback = _ref2 => {
61
+ let {
62
+ displayName
63
+ } = _ref2;
64
+ if (displayName !== Footer.displayName) {
65
+ visible && _dataSources.Event.publish(_helpers3.EVENT.MODAL_VISIBLE, {
66
+ displayName: Footer.displayName,
67
+ visible: items.length > 0
68
+ });
69
+ }
70
+ };
71
+ _dataSources.Event.subscribe(_helpers3.EVENT.MODAL_VISIBLE, callback);
72
+ return () => {
73
+ _dataSources.Event.unsubscribe(_helpers3.EVENT.MODAL_VISIBLE, callback);
74
+ observer.unobserve(content);
75
+ };
76
+ // eslint-disable-next-line react-hooks/exhaustive-deps
59
77
  }, [cart]);
60
78
  (0, _react.useEffect)(() => !extras && setBusy(false), [extras]);
61
79
  (0, _react.useEffect)(() => !clubRate && setBusy(false), [clubRate]);
@@ -84,10 +102,19 @@ const Footer = _ref => {
84
102
  ref: refContainer,
85
103
  className: (0, _ui.styles)(style.footer, visible && style.visible, others.className),
86
104
  "aria-hidden": visible ? 'false' : 'true'
87
- }), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
105
+ }), items.length >= _Rates.MAX_FOOTER_ITEMS && /*#__PURE__*/_react.default.createElement(_ui.View, {
106
+ className: style.expander
107
+ }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
108
+ transparent: true,
109
+ onPress: () => setExpanded(!expanded),
110
+ testId: testId,
111
+ className: style.button
112
+ }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
113
+ value: expanded ? _helpers3.ICON.EXPAND_MORE : _helpers3.ICON.EXPAND_LESS
114
+ }), translate(expanded ? _Rates2.L10N.LABEL_HIDE : _Rates2.L10N.LABEL_SHOW))), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
88
115
  className: style.wrapper,
89
116
  wide: true
90
- }, items.map(function () {
117
+ }, items.filter(() => expanded).map(function () {
91
118
  let {
92
119
  amount = 1,
93
120
  id,
@@ -136,7 +163,7 @@ const Footer = _ref => {
136
163
  disabled: !valid,
137
164
  large: true,
138
165
  onPress: handleSubmit
139
- }, translate(_Rates.L10N.ACTION_RESERVE)));
166
+ }, translate(_Rates2.L10N.ACTION_RESERVE)));
140
167
  }))), multiRoom && /*#__PURE__*/_react.default.createElement(_ui.View, {
141
168
  row: true,
142
169
  className: [style.wrapper, style.summary]
@@ -161,9 +188,9 @@ const Footer = _ref => {
161
188
  disabled: !valid,
162
189
  large: true,
163
190
  onPress: handleSubmit,
164
- "aria-label": translate(_Rates.L10N.ACTION_RESERVE),
191
+ "aria-label": translate(_Rates2.L10N.ACTION_RESERVE),
165
192
  testId: testId ? "".concat(testId, "-reserve") : undefined
166
- }, translate(_Rates.L10N.ACTION_RESERVE))));
193
+ }, translate(_Rates2.L10N.ACTION_RESERVE))));
167
194
  };
168
195
  exports.Footer = Footer;
169
196
  Footer.displayName = 'Mirai:Core:Rates:Footer';
@@ -1 +1 @@
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","currencyFormat","translate","useLocale","value","currency","useStore","refContainer","useRef","busy","setBusy","useState","useEffect","items","filter","item","undefined","Event","publish","EVENT","MODAL_VISIBLE","displayName","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","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 { 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 { 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, { displayName: 'Mirai:Core:Rates:Footer', 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 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 action>\n {currencyFormat({ ...currencyFormatProps, value: amount * price })}\n </Text>\n\n {!multiRoom && (\n <Button busy={busy} disabled={!valid} large 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={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\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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"}
1
+ {"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","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","currencyFormat","translate","useLocale","value","currency","useStore","refContainer","useRef","busy","setBusy","useState","expanded","setExpanded","useEffect","items","filter","item","undefined","Event","publish","EVENT","MODAL_VISIBLE","displayName","visible","content","current","ResizeObserver","observer","debounce","FOOTER_HEIGHT_CHANGE","height","offsetHeight","observe","callback","_ref2","subscribe","unsubscribe","unobserve","totalPrice","reduce","price","valid","handleSubmit","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","View","ref","className","styles","footer","MAX_FOOTER_ITEMS","expander","Button","transparent","onPress","button","Icon","ICON","EXPAND_MORE","EXPAND_LESS","L10N","LABEL_HIDE","LABEL_SHOW","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","concat","cartItem","room","PERSON","GROUP","GROUPS","Text","small","description","bold","action","light","disabled","large","ACTION_RESERVE","summary","headline","level","getLabelTaxes","PriceDetails","metrics","exports","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 { 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 { MAX_FOOTER_ITEMS } from './Rates.constants';\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 { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n const [expanded, setExpanded] = useState(true);\n\n useEffect(() => {\n const items = cart.filter((item) => item !== undefined);\n\n Event.publish(EVENT.MODAL_VISIBLE, { displayName: Footer.displayName, 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 const callback = ({ displayName }) => {\n if (displayName !== Footer.displayName) {\n visible && Event.publish(EVENT.MODAL_VISIBLE, { displayName: Footer.displayName, visible: items.length > 0 });\n }\n };\n\n Event.subscribe(EVENT.MODAL_VISIBLE, callback);\n\n return () => {\n Event.unsubscribe(EVENT.MODAL_VISIBLE, callback);\n observer.unobserve(content);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\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 {items.length >= MAX_FOOTER_ITEMS && (\n <View className={style.expander}>\n <Button transparent onPress={() => setExpanded(!expanded)} testId={testId} className={style.button}>\n <Icon value={expanded ? ICON.EXPAND_MORE : ICON.EXPAND_LESS} />\n {translate(expanded ? L10N.LABEL_HIDE : L10N.LABEL_SHOW)}\n </Button>\n </View>\n )}\n <View>\n <View className={style.wrapper} wide>\n {items\n .filter(() => expanded)\n .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 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 action>\n {currencyFormat({ ...currencyFormatProps, value: amount * price })}\n </Text>\n\n {!multiRoom && (\n <Button busy={busy} disabled={!valid} large 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={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\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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"}
@@ -17,6 +17,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
17
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
18
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19
19
  const RoomSelector = _ref => {
20
+ var _itemsRef$current, _itemsRef$current2, _itemsRef$current2$, _itemsRef$current2$$p;
20
21
  let {
21
22
  cart = [],
22
23
  occupation = [],
@@ -66,8 +67,12 @@ const RoomSelector = _ref => {
66
67
  const {
67
68
  accommodationType = hotelAccommodationType
68
69
  } = variants[id] || {};
70
+ const itemsWidth = (itemsRef === null || itemsRef === void 0 ? void 0 : (_itemsRef$current = itemsRef.current) === null || _itemsRef$current === void 0 ? void 0 : _itemsRef$current.reduce((total, current) => total + (current === null || current === void 0 ? void 0 : current.offsetWidth) || 0, 0)) + (8 * occupation.length - 1);
71
+ const containerWidth = (itemsRef === null || itemsRef === void 0 ? void 0 : (_itemsRef$current2 = itemsRef.current) === null || _itemsRef$current2 === void 0 ? void 0 : (_itemsRef$current2$ = _itemsRef$current2[0]) === null || _itemsRef$current2$ === void 0 ? void 0 : (_itemsRef$current2$$p = _itemsRef$current2$.parentElement) === null || _itemsRef$current2$$p === void 0 ? void 0 : _itemsRef$current2$$p.offsetWidth) || 0;
69
72
  return isHotel && occupation.length >= 2 ? /*#__PURE__*/_react.default.createElement(_ui.ScrollView, _extends({}, others, {
73
+ defaultScrollIndicator: true,
70
74
  horizontal: true,
75
+ scrollIndicator: !isMobile && itemsWidth > containerWidth,
71
76
  scrollTo: scrollTo,
72
77
  snap: false,
73
78
  className: (0, _ui.styles)(style.roomSelector, others.className)
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.RoomSelector.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Rates","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","RoomSelector","_ref","cart","occupation","room","roomIndex","onPress","others","isMobile","useDevice","translate","useLocale","itemsRef","useRef","value","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","scrollTo","setScrollTo","useState","useEffect","_itemsRef$current$roo","next","current","offsetLeft","handlePress","index","Event","publish","EVENT","METRICS","id","place","isHotel","createElement","ScrollView","horizontal","snap","className","styles","roomSelector","map","items","undefined","guests","reduce","total","amount","hasCart","View","ref","el","Button","disabled","secondary","concat","L10N","LABEL_SELECT","LABEL_ACCOMMODATION_TYPE","type","trim","Text","headline","separator","active","Icon","level","ICON","PERSON","GROUP","GROUPS","exports","displayName","propTypes","PropTypes","arrayOf","shape","ages","number","func"],"sources":["../../../src/components/Rates/Rates.RoomSelector.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT, ICON } from '../helpers';\n\nconst RoomSelector = ({ cart = [], occupation = [], room: roomIndex, onPress = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const itemsRef = useRef([]);\n const {\n value: { finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} },\n } = useStore();\n\n const [scrollTo, setScrollTo] = useState();\n\n useEffect(() => {\n setScrollTo(0);\n }, []);\n\n useEffect(() => {\n const next = roomIndex === 0 ? 0 : itemsRef.current[roomIndex]?.offsetLeft;\n if (next) setScrollTo(next - (isMobile ? 8 : 0));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [roomIndex]);\n\n const handlePress = (index) => {\n onPress(index);\n Event.publish(EVENT.METRICS, { id: 'RATES:ROOM', index });\n };\n\n const { place: { id: [id] = [], isHotel = true } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n return isHotel && occupation.length >= 2 ? (\n <ScrollView\n {...others}\n horizontal\n scrollTo={scrollTo}\n snap={false}\n className={styles(style.roomSelector, others.className)}\n >\n {occupation.map((items = [], index) => {\n const guests = items.reduce((total, { amount } = {}) => total + amount, 0);\n const hasCart = index <= roomIndex || cart[index] !== undefined || cart[index - 1] !== undefined;\n\n return (\n <View key={index} ref={(el) => (itemsRef.current[index] = el)}>\n <Button disabled={!hasCart} secondary={hasCart && index !== roomIndex} onPress={() => handlePress(index)}>\n {`${index === roomIndex && !cart[index] ? `${translate(L10N.LABEL_SELECT)}` : ''} ${translate(\n L10N.LABEL_ACCOMMODATION_TYPE,\n { type: accommodationType },\n )} ${index + 1}`.trim()}\n\n <Text\n headline\n className={[\n style.separator,\n index === roomIndex ? style.active : hasCart ? style.secondary : style.disabled,\n ]}\n >\n |\n </Text>\n\n <Icon\n headline\n level={2}\n value={guests === 1 || guests > 3 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS}\n />\n {guests}\n </Button>\n </View>\n );\n })}\n </ScrollView>\n ) : null;\n};\n\nRoomSelector.displayName = 'Mirai:Core:Rates:RoomSelector';\n\nRoomSelector.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\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 room: PropTypes.number,\n onPress: PropTypes.func,\n};\n\nexport { RoomSelector };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.RoomSelector.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Rates","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","RoomSelector","_ref","_itemsRef$current","_itemsRef$current2","_itemsRef$current2$","_itemsRef$current2$$p","cart","occupation","room","roomIndex","onPress","others","isMobile","useDevice","translate","useLocale","itemsRef","useRef","value","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","scrollTo","setScrollTo","useState","useEffect","_itemsRef$current$roo","next","current","offsetLeft","handlePress","index","Event","publish","EVENT","METRICS","id","place","isHotel","itemsWidth","reduce","total","offsetWidth","containerWidth","parentElement","createElement","ScrollView","defaultScrollIndicator","horizontal","scrollIndicator","snap","className","styles","roomSelector","map","items","undefined","guests","amount","hasCart","View","ref","el","Button","disabled","secondary","concat","L10N","LABEL_SELECT","LABEL_ACCOMMODATION_TYPE","type","trim","Text","headline","separator","active","Icon","level","ICON","PERSON","GROUP","GROUPS","exports","displayName","propTypes","PropTypes","arrayOf","shape","ages","number","func"],"sources":["../../../src/components/Rates/Rates.RoomSelector.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT, ICON } from '../helpers';\n\nconst RoomSelector = ({ cart = [], occupation = [], room: roomIndex, onPress = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const itemsRef = useRef([]);\n const {\n value: { finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} },\n } = useStore();\n\n const [scrollTo, setScrollTo] = useState();\n\n useEffect(() => {\n setScrollTo(0);\n }, []);\n\n useEffect(() => {\n const next = roomIndex === 0 ? 0 : itemsRef.current[roomIndex]?.offsetLeft;\n if (next) setScrollTo(next - (isMobile ? 8 : 0));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [roomIndex]);\n\n const handlePress = (index) => {\n onPress(index);\n Event.publish(EVENT.METRICS, { id: 'RATES:ROOM', index });\n };\n\n const { place: { id: [id] = [], isHotel = true } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const itemsWidth =\n itemsRef?.current?.reduce((total, current) => total + current?.offsetWidth || 0, 0) + (8 * occupation.length - 1);\n const containerWidth = itemsRef?.current?.[0]?.parentElement?.offsetWidth || 0;\n\n return isHotel && occupation.length >= 2 ? (\n <ScrollView\n {...others}\n defaultScrollIndicator\n horizontal\n scrollIndicator={!isMobile && itemsWidth > containerWidth}\n scrollTo={scrollTo}\n snap={false}\n className={styles(style.roomSelector, others.className)}\n >\n {occupation.map((items = [], index) => {\n const guests = items.reduce((total, { amount } = {}) => total + amount, 0);\n const hasCart = index <= roomIndex || cart[index] !== undefined || cart[index - 1] !== undefined;\n\n return (\n <View key={index} ref={(el) => (itemsRef.current[index] = el)}>\n <Button disabled={!hasCart} secondary={hasCart && index !== roomIndex} onPress={() => handlePress(index)}>\n {`${index === roomIndex && !cart[index] ? `${translate(L10N.LABEL_SELECT)}` : ''} ${translate(\n L10N.LABEL_ACCOMMODATION_TYPE,\n { type: accommodationType },\n )} ${index + 1}`.trim()}\n\n <Text\n headline\n className={[\n style.separator,\n index === roomIndex ? style.active : hasCart ? style.secondary : style.disabled,\n ]}\n >\n |\n </Text>\n\n <Icon\n headline\n level={2}\n value={guests === 1 || guests > 3 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS}\n />\n {guests}\n </Button>\n </View>\n );\n })}\n </ScrollView>\n ) : null;\n};\n\nRoomSelector.displayName = 'Mirai:Core:Rates:RoomSelector';\n\nRoomSelector.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\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 room: PropTypes.number,\n onPress: PropTypes.func,\n};\n\nexport { RoomSelector };\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,MAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAF,uBAAA,CAAAN,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AAAyC,SAAAU,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,SAAAL,wBAAAK,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,SAAAf,uBAAA2B,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,YAAY,GAAGC,IAAA,IAAoF;EAAA,IAAAC,iBAAA,EAAAC,kBAAA,EAAAC,mBAAA,EAAAC,qBAAA;EAAA,IAAnF;IAAEC,IAAI,GAAG,EAAE;IAAEC,UAAU,GAAG,EAAE;IAAEC,IAAI,EAAEC,SAAS;IAAEC,OAAO,GAAGA,CAAA,KAAM,CAAC,CAAC;IAAE,GAAGC;EAAO,CAAC,GAAAV,IAAA;EAClG,MAAM;IAAEW;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EAAC,EAAE,CAAC;EAC3B,MAAM;IACJC,KAAK,EAAE;MAAEC,MAAM,GAAG,CAAC,CAAC;MAAEC,KAAK,EAAE;QAAEC,iBAAiB,EAAEC,sBAAsB;QAAEC,QAAQ,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC;IAAE;EACjG,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAE1C,IAAAC,gBAAS,EAAC,MAAM;IACdF,WAAW,CAAC,CAAC,CAAC;EAChB,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAE,gBAAS,EAAC,MAAM;IAAA,IAAAC,qBAAA;IACd,MAAMC,IAAI,GAAGrB,SAAS,KAAK,CAAC,GAAG,CAAC,IAAAoB,qBAAA,GAAGb,QAAQ,CAACe,OAAO,CAACtB,SAAS,CAAC,cAAAoB,qBAAA,uBAA3BA,qBAAA,CAA6BG,UAAU;IAC1E,IAAIF,IAAI,EAAEJ,WAAW,CAACI,IAAI,IAAIlB,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD;EACF,CAAC,EAAE,CAACH,SAAS,CAAC,CAAC;EAEf,MAAMwB,WAAW,GAAIC,KAAK,IAAK;IAC7BxB,OAAO,CAACwB,KAAK,CAAC;IACdC,kBAAK,CAACC,OAAO,CAACC,cAAK,CAACC,OAAO,EAAE;MAAEC,EAAE,EAAE,YAAY;MAAEL;IAAM,CAAC,CAAC;EAC3D,CAAC;EAED,MAAM;IAAEM,KAAK,EAAE;MAAED,EAAE,EAAE,CAACA,EAAE,CAAC,GAAG,EAAE;MAAEE,OAAO,GAAG;IAAK,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGtB,MAAM;EAChE,MAAM;IAAEE,iBAAiB,GAAGC;EAAuB,CAAC,GAAGC,QAAQ,CAACgB,EAAE,CAAC,IAAI,CAAC,CAAC;EACzE,MAAMG,UAAU,GACd,CAAA1B,QAAQ,aAARA,QAAQ,wBAAAd,iBAAA,GAARc,QAAQ,CAAEe,OAAO,cAAA7B,iBAAA,uBAAjBA,iBAAA,CAAmByC,MAAM,CAAC,CAACC,KAAK,EAAEb,OAAO,KAAKa,KAAK,IAAGb,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEc,WAAW,KAAI,CAAC,EAAE,CAAC,CAAC,KAAI,CAAC,GAAGtC,UAAU,CAACX,MAAM,GAAG,CAAC,CAAC;EACnH,MAAMkD,cAAc,GAAG,CAAA9B,QAAQ,aAARA,QAAQ,wBAAAb,kBAAA,GAARa,QAAQ,CAAEe,OAAO,cAAA5B,kBAAA,wBAAAC,mBAAA,GAAjBD,kBAAA,CAAoB,CAAC,CAAC,cAAAC,mBAAA,wBAAAC,qBAAA,GAAtBD,mBAAA,CAAwB2C,aAAa,cAAA1C,qBAAA,uBAArCA,qBAAA,CAAuCwC,WAAW,KAAI,CAAC;EAE9E,OAAOJ,OAAO,IAAIlC,UAAU,CAACX,MAAM,IAAI,CAAC,gBACtChC,MAAA,CAAAW,OAAA,CAAAyE,aAAA,CAACvF,GAAA,CAAAwF,UAAU,EAAA1D,QAAA,KACLoB,MAAM;IACVuC,sBAAsB;IACtBC,UAAU;IACVC,eAAe,EAAE,CAACxC,QAAQ,IAAI8B,UAAU,GAAGI,cAAe;IAC1DrB,QAAQ,EAAEA,QAAS;IACnB4B,IAAI,EAAE,KAAM;IACZC,SAAS,EAAE,IAAAC,UAAM,EAACxF,KAAK,CAACyF,YAAY,EAAE7C,MAAM,CAAC2C,SAAS;EAAE,IAEvD/C,UAAU,CAACkD,GAAG,CAAC,YAAuB;IAAA,IAAtBC,KAAK,GAAA/D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgE,SAAA,GAAAhE,SAAA,MAAG,EAAE;IAAA,IAAEuC,KAAK,GAAAvC,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAgE,SAAA;IAChC,MAAMC,MAAM,GAAGF,KAAK,CAACf,MAAM,CAAC,UAACC,KAAK;MAAA,IAAE;QAAEiB;MAAO,CAAC,GAAAlE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgE,SAAA,GAAAhE,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKiD,KAAK,GAAGiB,MAAM;IAAA,GAAE,CAAC,CAAC;IAC1E,MAAMC,OAAO,GAAG5B,KAAK,IAAIzB,SAAS,IAAIH,IAAI,CAAC4B,KAAK,CAAC,KAAKyB,SAAS,IAAIrD,IAAI,CAAC4B,KAAK,GAAG,CAAC,CAAC,KAAKyB,SAAS;IAEhG,oBACE/F,MAAA,CAAAW,OAAA,CAAAyE,aAAA,CAACvF,GAAA,CAAAsG,IAAI;MAACjE,GAAG,EAAEoC,KAAM;MAAC8B,GAAG,EAAGC,EAAE,IAAMjD,QAAQ,CAACe,OAAO,CAACG,KAAK,CAAC,GAAG+B;IAAI,gBAC5DrG,MAAA,CAAAW,OAAA,CAAAyE,aAAA,CAACvF,GAAA,CAAAyG,MAAM;MAACC,QAAQ,EAAE,CAACL,OAAQ;MAACM,SAAS,EAAEN,OAAO,IAAI5B,KAAK,KAAKzB,SAAU;MAACC,OAAO,EAAEA,CAAA,KAAMuB,WAAW,CAACC,KAAK;IAAE,GACtG,GAAAmC,MAAA,CAAGnC,KAAK,KAAKzB,SAAS,IAAI,CAACH,IAAI,CAAC4B,KAAK,CAAC,MAAAmC,MAAA,CAAMvD,SAAS,CAACwD,WAAI,CAACC,YAAY,CAAC,IAAK,EAAE,OAAAF,MAAA,CAAIvD,SAAS,CAC3FwD,WAAI,CAACE,wBAAwB,EAC7B;MAAEC,IAAI,EAAEpD;IAAkB,CAC5B,CAAC,OAAAgD,MAAA,CAAInC,KAAK,GAAG,CAAC,EAAGwC,IAAI,CAAC,CAAC,eAEvB9G,MAAA,CAAAW,OAAA,CAAAyE,aAAA,CAACvF,GAAA,CAAAkH,IAAI;MACHC,QAAQ;MACRtB,SAAS,EAAE,CACTvF,KAAK,CAAC8G,SAAS,EACf3C,KAAK,KAAKzB,SAAS,GAAG1C,KAAK,CAAC+G,MAAM,GAAGhB,OAAO,GAAG/F,KAAK,CAACqG,SAAS,GAAGrG,KAAK,CAACoG,QAAQ;IAC/E,GACH,GAEK,CAAC,eAEPvG,MAAA,CAAAW,OAAA,CAAAyE,aAAA,CAACvF,GAAA,CAAAsH,IAAI;MACHH,QAAQ;MACRI,KAAK,EAAE,CAAE;MACT9D,KAAK,EAAE0C,MAAM,KAAK,CAAC,IAAIA,MAAM,GAAG,CAAC,GAAGqB,aAAI,CAACC,MAAM,GAAGtB,MAAM,KAAK,CAAC,GAAGqB,aAAI,CAACE,KAAK,GAAGF,aAAI,CAACG;IAAO,CAC3F,CAAC,EACDxB,MACK,CACJ,CAAC;EAEX,CAAC,CACS,CAAC,GACX,IAAI;AACV,CAAC;AAACyB,OAAA,CAAArF,YAAA,GAAAA,YAAA;AAEFA,YAAY,CAACsF,WAAW,GAAG,+BAA+B;AAE1DtF,YAAY,CAACuF,SAAS,GAAG;EACvBjF,IAAI,EAAEkF,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC5CnF,UAAU,EAAEiF,kBAAS,CAACC,OAAO,CAC3BD,kBAAS,CAACC,OAAO,CACfD,kBAAS,CAACE,KAAK,CAAC;IACdC,IAAI,EAAEH,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACI,MAAM,CAAC;IACzC/B,MAAM,EAAE2B,kBAAS,CAACI,MAAM;IACxBnB,IAAI,EAAEe,kBAAS,CAACI;EAClB,CAAC,CACH,CACF,CAAC;EACDpF,IAAI,EAAEgF,kBAAS,CAACI,MAAM;EACtBlF,OAAO,EAAE8E,kBAAS,CAACK;AACrB,CAAC"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.UTM_SOURCE_NAME = exports.NOTIFICATION = exports.MAX_PROMOCODE = exports.FREE_CANCELLATION = exports.FEATURES = exports.DISCOUNT_TYPE = exports.DATE_FORMAT = exports.CLUB_RATE_STORAGE_VIEWED = exports.BED_TYPE = void 0;
6
+ exports.UTM_SOURCE_NAME = exports.NOTIFICATION = exports.MAX_PROMOCODE = exports.MAX_FOOTER_ITEMS = exports.FREE_CANCELLATION = exports.FEATURES = exports.DISCOUNT_TYPE = exports.DATE_FORMAT = exports.CLUB_RATE_STORAGE_VIEWED = exports.BED_TYPE = void 0;
7
7
  const BED_TYPE = exports.BED_TYPE = {
8
8
  SINGLE: 1,
9
9
  DOUBLE: 2
@@ -35,6 +35,7 @@ const FEATURES = exports.FEATURES = {
35
35
  TWIN: 'twin'
36
36
  };
37
37
  const FREE_CANCELLATION = exports.FREE_CANCELLATION = 'free';
38
+ const MAX_FOOTER_ITEMS = exports.MAX_FOOTER_ITEMS = 3;
38
39
  const MAX_PROMOCODE = exports.MAX_PROMOCODE = {
39
40
  DESKTOP: 12,
40
41
  MOBILE: 8
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.constants.js","names":["BED_TYPE","exports","SINGLE","DOUBLE","CLUB_RATE_STORAGE_VIEWED","DATE_FORMAT","weekday","month","day","DISCOUNT_TYPE","CLUB","DEAL","PROMOTION","FEATURES","COLUMN_MODE","HIDE_RADIO","HIDE_STANDALONE_BOARD","PESTANA","SHOW_ALL_BOARDS","SHOW_ALL_OFFERS","SHOW_MAX_OCCUPATION","SHOW_NAME_IN_HEADER","SHOW_OFFERS_FIRST","SHOW_PRICE_INCREMENTS","SHOW_PRICE_PER_NIGHT","SHOW_RATE_INCLUDED","TWIN","FREE_CANCELLATION","MAX_PROMOCODE","DESKTOP","MOBILE","NOTIFICATION","PROMOCODE_NOT_FOUND","OFFER_NOT_FOUND","ROOM_NOT_FOUNT","UTM_SOURCE_NAME","hotelfinder"],"sources":["../../../src/components/Rates/Rates.constants.js"],"sourcesContent":["const BED_TYPE = {\n SINGLE: 1,\n DOUBLE: 2,\n};\n\nconst CLUB_RATE_STORAGE_VIEWED = 'MIRAI:RATES:CLUB_RATE:viewed';\n\nconst DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nconst DISCOUNT_TYPE = {\n CLUB: 0,\n DEAL: 1,\n PROMOTION: 2,\n};\n\nconst FEATURES = {\n COLUMN_MODE: 'columnMode',\n HIDE_RADIO: 'hideRadio',\n HIDE_STANDALONE_BOARD: 'hideStandaloneBoard',\n PESTANA: 'pestana',\n SHOW_ALL_BOARDS: 'showAllBoards',\n SHOW_ALL_OFFERS: 'showAllOffers',\n SHOW_MAX_OCCUPATION: 'showMaxOccupation',\n SHOW_NAME_IN_HEADER: 'showNameInHeader',\n SHOW_OFFERS_FIRST: 'showOffersFirst',\n SHOW_PRICE_INCREMENTS: 'showPriceIncrements',\n SHOW_PRICE_PER_NIGHT: 'showPricePerNight',\n SHOW_RATE_INCLUDED: 'showRateIncluded',\n TWIN: 'twin',\n};\n\nconst FREE_CANCELLATION = 'free';\n\nconst MAX_PROMOCODE = {\n DESKTOP: 12,\n MOBILE: 8,\n};\n\nconst NOTIFICATION = {\n PROMOCODE_NOT_FOUND: 1,\n OFFER_NOT_FOUND: 2,\n ROOM_NOT_FOUNT: 3,\n};\n\nconst UTM_SOURCE_NAME = {\n hotelfinder: 'Google Hotels',\n};\n\nexport {\n BED_TYPE,\n CLUB_RATE_STORAGE_VIEWED,\n DATE_FORMAT,\n DISCOUNT_TYPE,\n FEATURES,\n FREE_CANCELLATION,\n MAX_PROMOCODE,\n NOTIFICATION,\n UTM_SOURCE_NAME,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACfE,MAAM,EAAE,CAAC;EACTC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,wBAAwB,GAAAH,OAAA,CAAAG,wBAAA,GAAG,8BAA8B;AAE/D,MAAMC,WAAW,GAAAJ,OAAA,CAAAI,WAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAExE,MAAMC,aAAa,GAAAR,OAAA,CAAAQ,aAAA,GAAG;EACpBC,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,QAAQ,GAAAZ,OAAA,CAAAY,QAAA,GAAG;EACfC,WAAW,EAAE,YAAY;EACzBC,UAAU,EAAE,WAAW;EACvBC,qBAAqB,EAAE,qBAAqB;EAC5CC,OAAO,EAAE,SAAS;EAClBC,eAAe,EAAE,eAAe;EAChCC,eAAe,EAAE,eAAe;EAChCC,mBAAmB,EAAE,mBAAmB;EACxCC,mBAAmB,EAAE,kBAAkB;EACvCC,iBAAiB,EAAE,iBAAiB;EACpCC,qBAAqB,EAAE,qBAAqB;EAC5CC,oBAAoB,EAAE,mBAAmB;EACzCC,kBAAkB,EAAE,kBAAkB;EACtCC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,iBAAiB,GAAA1B,OAAA,CAAA0B,iBAAA,GAAG,MAAM;AAEhC,MAAMC,aAAa,GAAA3B,OAAA,CAAA2B,aAAA,GAAG;EACpBC,OAAO,EAAE,EAAE;EACXC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,YAAY,GAAA9B,OAAA,CAAA8B,YAAA,GAAG;EACnBC,mBAAmB,EAAE,CAAC;EACtBC,eAAe,EAAE,CAAC;EAClBC,cAAc,EAAE;AAClB,CAAC;AAED,MAAMC,eAAe,GAAAlC,OAAA,CAAAkC,eAAA,GAAG;EACtBC,WAAW,EAAE;AACf,CAAC"}
1
+ {"version":3,"file":"Rates.constants.js","names":["BED_TYPE","exports","SINGLE","DOUBLE","CLUB_RATE_STORAGE_VIEWED","DATE_FORMAT","weekday","month","day","DISCOUNT_TYPE","CLUB","DEAL","PROMOTION","FEATURES","COLUMN_MODE","HIDE_RADIO","HIDE_STANDALONE_BOARD","PESTANA","SHOW_ALL_BOARDS","SHOW_ALL_OFFERS","SHOW_MAX_OCCUPATION","SHOW_NAME_IN_HEADER","SHOW_OFFERS_FIRST","SHOW_PRICE_INCREMENTS","SHOW_PRICE_PER_NIGHT","SHOW_RATE_INCLUDED","TWIN","FREE_CANCELLATION","MAX_FOOTER_ITEMS","MAX_PROMOCODE","DESKTOP","MOBILE","NOTIFICATION","PROMOCODE_NOT_FOUND","OFFER_NOT_FOUND","ROOM_NOT_FOUNT","UTM_SOURCE_NAME","hotelfinder"],"sources":["../../../src/components/Rates/Rates.constants.js"],"sourcesContent":["const BED_TYPE = {\n SINGLE: 1,\n DOUBLE: 2,\n};\n\nconst CLUB_RATE_STORAGE_VIEWED = 'MIRAI:RATES:CLUB_RATE:viewed';\n\nconst DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nconst DISCOUNT_TYPE = {\n CLUB: 0,\n DEAL: 1,\n PROMOTION: 2,\n};\n\nconst FEATURES = {\n COLUMN_MODE: 'columnMode',\n HIDE_RADIO: 'hideRadio',\n HIDE_STANDALONE_BOARD: 'hideStandaloneBoard',\n PESTANA: 'pestana',\n SHOW_ALL_BOARDS: 'showAllBoards',\n SHOW_ALL_OFFERS: 'showAllOffers',\n SHOW_MAX_OCCUPATION: 'showMaxOccupation',\n SHOW_NAME_IN_HEADER: 'showNameInHeader',\n SHOW_OFFERS_FIRST: 'showOffersFirst',\n SHOW_PRICE_INCREMENTS: 'showPriceIncrements',\n SHOW_PRICE_PER_NIGHT: 'showPricePerNight',\n SHOW_RATE_INCLUDED: 'showRateIncluded',\n TWIN: 'twin',\n};\n\nconst FREE_CANCELLATION = 'free';\n\nconst MAX_FOOTER_ITEMS = 3;\n\nconst MAX_PROMOCODE = {\n DESKTOP: 12,\n MOBILE: 8,\n};\n\nconst NOTIFICATION = {\n PROMOCODE_NOT_FOUND: 1,\n OFFER_NOT_FOUND: 2,\n ROOM_NOT_FOUNT: 3,\n};\n\nconst UTM_SOURCE_NAME = {\n hotelfinder: 'Google Hotels',\n};\n\nexport {\n BED_TYPE,\n CLUB_RATE_STORAGE_VIEWED,\n DATE_FORMAT,\n DISCOUNT_TYPE,\n FEATURES,\n FREE_CANCELLATION,\n MAX_FOOTER_ITEMS,\n MAX_PROMOCODE,\n NOTIFICATION,\n UTM_SOURCE_NAME,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACfE,MAAM,EAAE,CAAC;EACTC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,wBAAwB,GAAAH,OAAA,CAAAG,wBAAA,GAAG,8BAA8B;AAE/D,MAAMC,WAAW,GAAAJ,OAAA,CAAAI,WAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAExE,MAAMC,aAAa,GAAAR,OAAA,CAAAQ,aAAA,GAAG;EACpBC,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,QAAQ,GAAAZ,OAAA,CAAAY,QAAA,GAAG;EACfC,WAAW,EAAE,YAAY;EACzBC,UAAU,EAAE,WAAW;EACvBC,qBAAqB,EAAE,qBAAqB;EAC5CC,OAAO,EAAE,SAAS;EAClBC,eAAe,EAAE,eAAe;EAChCC,eAAe,EAAE,eAAe;EAChCC,mBAAmB,EAAE,mBAAmB;EACxCC,mBAAmB,EAAE,kBAAkB;EACvCC,iBAAiB,EAAE,iBAAiB;EACpCC,qBAAqB,EAAE,qBAAqB;EAC5CC,oBAAoB,EAAE,mBAAmB;EACzCC,kBAAkB,EAAE,kBAAkB;EACtCC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,iBAAiB,GAAA1B,OAAA,CAAA0B,iBAAA,GAAG,MAAM;AAEhC,MAAMC,gBAAgB,GAAA3B,OAAA,CAAA2B,gBAAA,GAAG,CAAC;AAE1B,MAAMC,aAAa,GAAA5B,OAAA,CAAA4B,aAAA,GAAG;EACpBC,OAAO,EAAE,EAAE;EACXC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,YAAY,GAAA/B,OAAA,CAAA+B,YAAA,GAAG;EACnBC,mBAAmB,EAAE,CAAC;EACtBC,eAAe,EAAE,CAAC;EAClBC,cAAc,EAAE;AAClB,CAAC;AAED,MAAMC,eAAe,GAAAnC,OAAA,CAAAmC,eAAA,GAAG;EACtBC,WAAW,EAAE;AACf,CAAC"}
@@ -216,7 +216,8 @@ const Rates = _ref => {
216
216
  clubDiscount: !!session || clubDiscount,
217
217
  device,
218
218
  hotelCurrency: dataSource.currency,
219
- locale
219
+ locale,
220
+ session
220
221
  }).catch(() => {})) || {};
221
222
  const selectableExtras = extras.some(function () {
222
223
  let {
@@ -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$items3","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","filterBoard","setFilterBoard","filters","setFilters","itemInfo","setItemInfo","itemUrl","setItemUrl","mapView","setMapView","offerInfo","setOfferInfo","twin","setTwin","calendar","occupation","cart","clubDiscount","clubRate","dataSource","fetching","metaBoard","room","strictSearch","setCart","setClubRate","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","Event","publish","EVENT","METRICS","getFeatures","features","scrollToRoom","roomId","handleFilters","next","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextOccupation","place","nextPlace","promocode","nextPromocode","handleSelect","board","nextCart","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","_dataSource$items","_dataSource$items2","days","nights","dateDiff","metrics","meta","availableRooms","items","filter","_ref2","availability","unavailableRooms","_ref3","chain","rooms","loyalty","setTimeout","document","href","getForwarderUrl","checkoutParams","JSON","stringify","occupationTotals","SUBMIT_DELAY","handleCloseLogin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","roomSelectorProps","onPress","priceFactor","showPricePerNight","uniqueOption","soldOut","every","_ref4","boards","cancellations","createElement","Fragment","Header","login","active","name","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","concat","hotels","onSubmit","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","onTwin","Cards","select","map","_ref5","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","ModalTwin","onBook","onFilter","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 ModalTwin,\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 [filterBoard, setFilterBoard] = useState();\n const [filters, setFilters] = useState({});\n const [itemInfo, setItemInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [mapView, setMapView] = useState();\n const [offerInfo, setOfferInfo] = useState();\n const [twin, setTwin] = 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 useEffect(() => {\n if (!filterBoard) return;\n\n setMetaBoard(filterBoard);\n scrollToRoom(filterBoard.roomId);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterBoard]);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleFilters = (next = {}) => {\n const { strictSearch: nextStrictSearch } = next;\n\n setCart([]);\n setRoom(undefined);\n setFilters(next);\n\n if (strictSearch !== nextStrictSearch) setStrictSearch(nextStrictSearch);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n setMetaBoard();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n const { occupation: nextOccupation, place: nextPlace, promocode: nextPromocode } = values;\n fetch({ nextOccupation, nextPlace, nextPromocode });\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n Event.publish(EVENT.RATES_ADD_TO_CART, {\n event: EVENT.RATES_ADD_TO_CART,\n response: { board, cart: nextCart, ...dataSource },\n });\n }\n\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n setTwin();\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\n const { calendar = [], place, promocode } = finder;\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n\n const metrics = {\n // -- type\n meta: !!metaBoard,\n availableRooms: dataSource.items?.filter(({ availability }) => availability > 0).length,\n unavailableRooms: dataSource.items?.filter(({ availability }) => !availability).length,\n // -- selection\n chain: !!place,\n nights,\n rooms: cart?.length || 1,\n loyalty: clubDiscount,\n extras: extras?.length,\n promocode: !!promocode,\n session: !!session,\n };\n\n Event.publish(EVENT.METRICS, { id: 'RATES:SUBMIT', ...metrics });\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource,\n extras,\n forwarder,\n meta: !!metaBoard,\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 if (top) scrollTo(top + window.scrollY - (isMobile ? 65 : 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\n {!responseError && dataSource?.items && (\n <Filters {...dataSource} {...{ values: filters, priceFactor }} onSubmit={handleFilters} />\n )}\n </View>\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n )}\n\n <View role=\"rates\" testId={testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n dataSource,\n filters,\n multiRoom,\n priceFactor,\n onMapView: setMapView,\n onSelect: handleSelect,\n onTwin: () => {\n setFilterBoard();\n setMetaBoard();\n setTwin(true);\n },\n }}\n >\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 <ModalTwin\n {...{\n ...itemInfo,\n dataSource,\n cart,\n features,\n filters,\n nights,\n priceFactor,\n room,\n }}\n visible={twin}\n onBook={handleSelect}\n onClose={() => setTwin()}\n onFilter={handleFilters}\n onSelect={setFilterBoard}\n />\n <ModalExtras\n {...{ ...dataSource, busy, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\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$items3","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","filterBoard","setFilterBoard","filters","setFilters","itemInfo","setItemInfo","itemUrl","setItemUrl","mapView","setMapView","offerInfo","setOfferInfo","twin","setTwin","calendar","occupation","cart","clubDiscount","clubRate","dataSource","fetching","metaBoard","room","strictSearch","setCart","setClubRate","setDataSource","setMetaBoard","setRoom","setStrictSearch","useEffect","Event","publish","EVENT","METRICS","getFeatures","features","scrollToRoom","roomId","handleFilters","next","undefined","nextStrictSearch","handleFinder","values","scrollTo","replaceUrlParams","getFinderParams","nextOccupation","place","nextPlace","promocode","nextPromocode","handleSelect","board","nextCart","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","_dataSource$items","_dataSource$items2","days","nights","dateDiff","metrics","meta","availableRooms","items","filter","_ref2","availability","unavailableRooms","_ref3","chain","rooms","loyalty","setTimeout","document","href","getForwarderUrl","checkoutParams","JSON","stringify","occupationTotals","SUBMIT_DELAY","handleCloseLogin","window","top","behavior","_refItems$current$roo","current","getBoundingClientRect","scrollY","contentBackground","Theme","roomSelectorProps","onPress","priceFactor","showPricePerNight","uniqueOption","soldOut","every","_ref4","boards","cancellations","createElement","Fragment","Header","login","active","name","showNameInHeader","View","ref","className","styles","blur","sticky","backgroundColor","opacity","row","wrapper","Finder","compacted","icon","concat","hotels","onSubmit","Filters","Progress","indeterminate","visible","progress","RoomSelector","role","container","content","Content","onMapView","onSelect","onTwin","Cards","select","map","_ref5","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","ModalTwin","onBook","onFilter","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 ModalTwin,\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 [filterBoard, setFilterBoard] = useState();\n const [filters, setFilters] = useState({});\n const [itemInfo, setItemInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [mapView, setMapView] = useState();\n const [offerInfo, setOfferInfo] = useState();\n const [twin, setTwin] = 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 useEffect(() => {\n if (!filterBoard) return;\n\n setMetaBoard(filterBoard);\n scrollToRoom(filterBoard.roomId);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterBoard]);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleFilters = (next = {}) => {\n const { strictSearch: nextStrictSearch } = next;\n\n setCart([]);\n setRoom(undefined);\n setFilters(next);\n\n if (strictSearch !== nextStrictSearch) setStrictSearch(nextStrictSearch);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n setMetaBoard();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n const { occupation: nextOccupation, place: nextPlace, promocode: nextPromocode } = values;\n fetch({ nextOccupation, nextPlace, nextPromocode });\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n Event.publish(EVENT.RATES_ADD_TO_CART, {\n event: EVENT.RATES_ADD_TO_CART,\n response: { board, cart: nextCart, ...dataSource },\n });\n }\n\n setCart(nextCart);\n setExtras();\n setMetaBoard(undefined);\n setTwin();\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 session,\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\n const { calendar = [], place, promocode } = finder;\n const { days: nights } = dateDiff(calendar[0], calendar[1]);\n\n const metrics = {\n // -- type\n meta: !!metaBoard,\n availableRooms: dataSource.items?.filter(({ availability }) => availability > 0).length,\n unavailableRooms: dataSource.items?.filter(({ availability }) => !availability).length,\n // -- selection\n chain: !!place,\n nights,\n rooms: cart?.length || 1,\n loyalty: clubDiscount,\n extras: extras?.length,\n promocode: !!promocode,\n session: !!session,\n };\n\n Event.publish(EVENT.METRICS, { id: 'RATES:SUBMIT', ...metrics });\n\n setTimeout(() => {\n setBusy(false);\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n dataSource,\n extras,\n forwarder,\n meta: !!metaBoard,\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 if (top) scrollTo(top + window.scrollY - (isMobile ? 65 : 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\n {!responseError && dataSource?.items && (\n <Filters {...dataSource} {...{ values: filters, priceFactor }} onSubmit={handleFilters} />\n )}\n </View>\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && (\n <RoomSelector {...roomSelectorProps} testId={testId ? `${testId}-multiroom` : undefined} />\n )}\n\n <View role=\"rates\" testId={testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n dataSource,\n filters,\n multiRoom,\n priceFactor,\n onMapView: setMapView,\n onSelect: handleSelect,\n onTwin: () => {\n setFilterBoard();\n setMetaBoard();\n setTwin(true);\n },\n }}\n >\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 <ModalTwin\n {...{\n ...itemInfo,\n dataSource,\n cart,\n features,\n filters,\n nights,\n priceFactor,\n room,\n }}\n visible={twin}\n onBook={handleSelect}\n onClose={() => setTwin()}\n onFilter={handleFilters}\n onSelect={setFilterBoard}\n />\n <ModalExtras\n {...{ ...dataSource, busy, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\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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"}
@@ -45,6 +45,9 @@ const L10N = exports.L10N = {
45
45
  LABEL_FROM: {
46
46
  id: 'common.label.from'
47
47
  },
48
+ LABEL_HIDE: {
49
+ id: 'common.label.hide'
50
+ },
48
51
  LABEL_INCLUDES_TAXES_FEES: {
49
52
  id: 'finder.label.includes_taxes_fees'
50
53
  },
@@ -66,6 +69,9 @@ const L10N = exports.L10N = {
66
69
  LABEL_SELECT: {
67
70
  id: 'common.label.select'
68
71
  },
72
+ LABEL_SHOW: {
73
+ id: 'common.label.show'
74
+ },
69
75
  LABEL_TAXES_FEES: {
70
76
  [_Core.TAXES_TYPE.ALL_EXCLUDED]: {
71
77
  id: 'finder.label.excludes_taxes_fees'
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.l10n.js","names":["_Core","require","L10N","exports","ACTION_CLUB_VIEW_CONDITIONS","id","ACTION_IMMERSIVE_BOOKING","ACTION_REFINE_SEARCH","ACTION_RESERVE","ACTION_SHOW_ON_MAP","ACTION_VIEW_MORE","LABEL_ACCOMMODATION_TYPE","LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS","LABEL_AVAILABLE_ALTERNATIVES","LABEL_CLUB_BENEFITS","LABEL_CONTACT_INFO","LABEL_EXCLUDES_TAXES_FEES","LABEL_FROM","LABEL_INCLUDES_TAXES_FEES","LABEL_MEMBER_DISCOUNT","LABEL_MEMBER_EXCLUSIVE","LABEL_NIGHTS","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_SELECT","LABEL_TAXES_FEES","TAXES_TYPE","ALL_EXCLUDED","ALL_INCLUDED","FEES_EXCLUDED","FEES_INCLUDED_TAXES_EXCLUDED","FEES_INCLUDED","TAXES_EXCLUDED","TAXES_INCLUDED_FEES_EXCLUDED","TAXES_INCLUDED","LABEL_YEARS_OLD","NOTIFICATION_ERROR","ERROR","NOT_AVAILABLE","PARAMETER_ERROR","UNKNOWN","NOTIFICATION_META_RATE_FOUND","NOTIFICATION_META_RATE_NOT_FOUND","NOTIFICATION_PROMOCODE_NOT_FOUND","NOTIFICATION_ROOM_NOT_FOUND","NOTIFICATION_OFFER_NOT_FOUND","NOTIFICATION_VALIDATE","VALIDATE_ERROR","NOT_ENOUGH_ROOMS","NOT_ENOUGH_ROOMS_FOR_OFFER","NO_SELECTED_ROOMS","EXTRA_CHANGED"],"sources":["../../../src/components/Rates/Rates.l10n.js"],"sourcesContent":["import { ERROR, TAXES_TYPE, VALIDATE_ERROR } from '../../Core.constants';\n\nexport const L10N = {\n ACTION_CLUB_VIEW_CONDITIONS: { id: 'finder.action.club_view_conditions' },\n ACTION_IMMERSIVE_BOOKING: { id: 'finder.label.immersive_booking' },\n ACTION_REFINE_SEARCH: { id: 'common.action.refine_search' },\n ACTION_RESERVE: { id: 'common.action.reserve' },\n ACTION_SHOW_ON_MAP: { id: 'finder.action.show_on_map' },\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n\n LABEL_ACCOMMODATION_TYPE: { id: 'common.label.accommodation_type' },\n LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS: { id: 'finder.label.alternative_hotel_suggestions' },\n LABEL_AVAILABLE_ALTERNATIVES: { id: 'finder.label.available_alternatives' },\n LABEL_CLUB_BENEFITS: { id: 'finder.label.club_benefits' },\n LABEL_CONTACT_INFO: { id: 'finder.label.contact_info' },\n LABEL_EXCLUDES_TAXES_FEES: { id: 'finder.label.excludes_taxes_fees' },\n LABEL_FROM: { id: 'common.label.from' },\n LABEL_INCLUDES_TAXES_FEES: { id: 'finder.label.includes_taxes_fees' },\n LABEL_MEMBER_DISCOUNT: { id: 'finder.label.member_discount' },\n LABEL_MEMBER_EXCLUSIVE: { id: 'finder.label.member_exclusive' },\n LABEL_NIGHTS: { id: 'common.label.nights' },\n LABEL_NO_AVAILABILITY_CALENDAR: { id: 'common.label.no_availability_calendar' },\n LABEL_NO_AVAILABILITY_OCCUPATION: { id: 'common.label.no_availability_occupation' },\n LABEL_SELECT: { id: 'common.label.select' },\n LABEL_TAXES_FEES: {\n [TAXES_TYPE.ALL_EXCLUDED]: { id: 'finder.label.excludes_taxes_fees' },\n [TAXES_TYPE.ALL_INCLUDED]: { id: 'finder.label.includes_taxes_fees' },\n [TAXES_TYPE.FEES_EXCLUDED]: { id: 'finder.label.excludes_fees' },\n [TAXES_TYPE.FEES_INCLUDED_TAXES_EXCLUDED]: { id: 'finder.label.includes_fees_excludes_taxes' },\n [TAXES_TYPE.FEES_INCLUDED]: { id: 'finder.label.includes_fees' },\n [TAXES_TYPE.TAXES_EXCLUDED]: { id: 'finder.label.excludes_taxes' },\n [TAXES_TYPE.TAXES_INCLUDED_FEES_EXCLUDED]: { id: 'finder.label.includes_taxes_excludes_fees' },\n [TAXES_TYPE.TAXES_INCLUDED]: { id: 'finder.label.includes_taxes' },\n },\n LABEL_YEARS_OLD: { id: 'common.label.years_old' },\n\n NOTIFICATION_ERROR: {\n [ERROR.NOT_AVAILABLE]: { id: 'common.notification.error_not_available' },\n [ERROR.PARAMETER_ERROR]: { id: 'common.notification.error_parameter' },\n [ERROR.UNKNOWN]: { id: 'common.notification.error_unknown' },\n },\n NOTIFICATION_META_RATE_FOUND: { id: 'finder.notification.meta_rate_found' },\n NOTIFICATION_META_RATE_NOT_FOUND: { id: 'finder.notification.meta_rate_not_found' },\n NOTIFICATION_PROMOCODE_NOT_FOUND: { id: 'finder.notification.promocode_not_found' },\n NOTIFICATION_ROOM_NOT_FOUND: { id: 'finder.notification.room_not_found' },\n NOTIFICATION_OFFER_NOT_FOUND: { id: 'finder.notification.offer_not_found' },\n NOTIFICATION_VALIDATE: {\n [VALIDATE_ERROR.NOT_ENOUGH_ROOMS]: { id: 'finder.notification.not_enough_rooms' },\n [VALIDATE_ERROR.NOT_ENOUGH_ROOMS_FOR_OFFER]: { id: 'finder.notification.not_enough_rooms_for_offer' },\n [VALIDATE_ERROR.NO_SELECTED_ROOMS]: { id: 'finder.notification.no_selected_rooms' },\n [VALIDATE_ERROR.EXTRA_CHANGED]: { id: 'finder.notification.extra_changed' },\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.l10n.js","names":["_Core","require","L10N","exports","ACTION_CLUB_VIEW_CONDITIONS","id","ACTION_IMMERSIVE_BOOKING","ACTION_REFINE_SEARCH","ACTION_RESERVE","ACTION_SHOW_ON_MAP","ACTION_VIEW_MORE","LABEL_ACCOMMODATION_TYPE","LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS","LABEL_AVAILABLE_ALTERNATIVES","LABEL_CLUB_BENEFITS","LABEL_CONTACT_INFO","LABEL_EXCLUDES_TAXES_FEES","LABEL_FROM","LABEL_HIDE","LABEL_INCLUDES_TAXES_FEES","LABEL_MEMBER_DISCOUNT","LABEL_MEMBER_EXCLUSIVE","LABEL_NIGHTS","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_SELECT","LABEL_SHOW","LABEL_TAXES_FEES","TAXES_TYPE","ALL_EXCLUDED","ALL_INCLUDED","FEES_EXCLUDED","FEES_INCLUDED_TAXES_EXCLUDED","FEES_INCLUDED","TAXES_EXCLUDED","TAXES_INCLUDED_FEES_EXCLUDED","TAXES_INCLUDED","LABEL_YEARS_OLD","NOTIFICATION_ERROR","ERROR","NOT_AVAILABLE","PARAMETER_ERROR","UNKNOWN","NOTIFICATION_META_RATE_FOUND","NOTIFICATION_META_RATE_NOT_FOUND","NOTIFICATION_PROMOCODE_NOT_FOUND","NOTIFICATION_ROOM_NOT_FOUND","NOTIFICATION_OFFER_NOT_FOUND","NOTIFICATION_VALIDATE","VALIDATE_ERROR","NOT_ENOUGH_ROOMS","NOT_ENOUGH_ROOMS_FOR_OFFER","NO_SELECTED_ROOMS","EXTRA_CHANGED"],"sources":["../../../src/components/Rates/Rates.l10n.js"],"sourcesContent":["import { ERROR, TAXES_TYPE, VALIDATE_ERROR } from '../../Core.constants';\n\nexport const L10N = {\n ACTION_CLUB_VIEW_CONDITIONS: { id: 'finder.action.club_view_conditions' },\n ACTION_IMMERSIVE_BOOKING: { id: 'finder.label.immersive_booking' },\n ACTION_REFINE_SEARCH: { id: 'common.action.refine_search' },\n ACTION_RESERVE: { id: 'common.action.reserve' },\n ACTION_SHOW_ON_MAP: { id: 'finder.action.show_on_map' },\n ACTION_VIEW_MORE: { id: 'common.action.view_more' },\n\n LABEL_ACCOMMODATION_TYPE: { id: 'common.label.accommodation_type' },\n LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS: { id: 'finder.label.alternative_hotel_suggestions' },\n LABEL_AVAILABLE_ALTERNATIVES: { id: 'finder.label.available_alternatives' },\n LABEL_CLUB_BENEFITS: { id: 'finder.label.club_benefits' },\n LABEL_CONTACT_INFO: { id: 'finder.label.contact_info' },\n LABEL_EXCLUDES_TAXES_FEES: { id: 'finder.label.excludes_taxes_fees' },\n LABEL_FROM: { id: 'common.label.from' },\n LABEL_HIDE: { id: 'common.label.hide' },\n LABEL_INCLUDES_TAXES_FEES: { id: 'finder.label.includes_taxes_fees' },\n LABEL_MEMBER_DISCOUNT: { id: 'finder.label.member_discount' },\n LABEL_MEMBER_EXCLUSIVE: { id: 'finder.label.member_exclusive' },\n LABEL_NIGHTS: { id: 'common.label.nights' },\n LABEL_NO_AVAILABILITY_CALENDAR: { id: 'common.label.no_availability_calendar' },\n LABEL_NO_AVAILABILITY_OCCUPATION: { id: 'common.label.no_availability_occupation' },\n LABEL_SELECT: { id: 'common.label.select' },\n LABEL_SHOW: { id: 'common.label.show' },\n LABEL_TAXES_FEES: {\n [TAXES_TYPE.ALL_EXCLUDED]: { id: 'finder.label.excludes_taxes_fees' },\n [TAXES_TYPE.ALL_INCLUDED]: { id: 'finder.label.includes_taxes_fees' },\n [TAXES_TYPE.FEES_EXCLUDED]: { id: 'finder.label.excludes_fees' },\n [TAXES_TYPE.FEES_INCLUDED_TAXES_EXCLUDED]: { id: 'finder.label.includes_fees_excludes_taxes' },\n [TAXES_TYPE.FEES_INCLUDED]: { id: 'finder.label.includes_fees' },\n [TAXES_TYPE.TAXES_EXCLUDED]: { id: 'finder.label.excludes_taxes' },\n [TAXES_TYPE.TAXES_INCLUDED_FEES_EXCLUDED]: { id: 'finder.label.includes_taxes_excludes_fees' },\n [TAXES_TYPE.TAXES_INCLUDED]: { id: 'finder.label.includes_taxes' },\n },\n LABEL_YEARS_OLD: { id: 'common.label.years_old' },\n\n NOTIFICATION_ERROR: {\n [ERROR.NOT_AVAILABLE]: { id: 'common.notification.error_not_available' },\n [ERROR.PARAMETER_ERROR]: { id: 'common.notification.error_parameter' },\n [ERROR.UNKNOWN]: { id: 'common.notification.error_unknown' },\n },\n NOTIFICATION_META_RATE_FOUND: { id: 'finder.notification.meta_rate_found' },\n NOTIFICATION_META_RATE_NOT_FOUND: { id: 'finder.notification.meta_rate_not_found' },\n NOTIFICATION_PROMOCODE_NOT_FOUND: { id: 'finder.notification.promocode_not_found' },\n NOTIFICATION_ROOM_NOT_FOUND: { id: 'finder.notification.room_not_found' },\n NOTIFICATION_OFFER_NOT_FOUND: { id: 'finder.notification.offer_not_found' },\n NOTIFICATION_VALIDATE: {\n [VALIDATE_ERROR.NOT_ENOUGH_ROOMS]: { id: 'finder.notification.not_enough_rooms' },\n [VALIDATE_ERROR.NOT_ENOUGH_ROOMS_FOR_OFFER]: { id: 'finder.notification.not_enough_rooms_for_offer' },\n [VALIDATE_ERROR.NO_SELECTED_ROOMS]: { id: 'finder.notification.no_selected_rooms' },\n [VALIDATE_ERROR.EXTRA_CHANGED]: { id: 'finder.notification.extra_changed' },\n },\n};\n"],"mappings":"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"}
@@ -117,13 +117,21 @@ body {
117
117
  transform: translateY(100%);
118
118
  transition: transform var(--mirai-ui-motion-expand) var(--mirai-ui-motion-easing);
119
119
  width: 100vw;
120
- z-index: var(--mirai-ui-layer-M);
120
+ z-index: var(--mirai-ui-layer-content);
121
121
  }
122
122
 
123
123
  .footer.visible {
124
124
  transform: translateY(0%);
125
125
  }
126
126
 
127
+ .footer .expander {
128
+ background-color: var(--mirai-ui-base);
129
+ }
130
+
131
+ .footer .expander > .button {
132
+ margin: auto;
133
+ }
134
+
127
135
  .footer .cartItem {
128
136
  box-shadow: inset 0 -1px 0 var(--mirai-ui-content-border);
129
137
  gap: var(--mirai-ui-space-XS);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.4.279",
3
+ "version": "0.4.281",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",