@mirai/core 0.3.65 → 0.3.66

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.
Files changed (38) hide show
  1. package/build/components/Rates/Rates.Footer.js +32 -48
  2. package/build/components/Rates/Rates.Footer.js.map +1 -1
  3. package/build/components/Rates/Rates.Header.js +8 -4
  4. package/build/components/Rates/Rates.Header.js.map +1 -1
  5. package/build/components/Rates/Rates.RoomSelector.js +0 -3
  6. package/build/components/Rates/Rates.RoomSelector.js.map +1 -1
  7. package/build/components/Rates/Rates.Skeleton.js +6 -3
  8. package/build/components/Rates/Rates.Skeleton.js.map +1 -1
  9. package/build/components/Rates/Rates.js +53 -25
  10. package/build/components/Rates/Rates.js.map +1 -1
  11. package/build/components/Rates/Rates.module.css +33 -13
  12. package/build/components/Rates/components/Item/Item.Preview.js +21 -6
  13. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  14. package/build/components/Rates/components/Item/Item.Summary.js +20 -26
  15. package/build/components/Rates/components/Item/Item.Summary.js.map +1 -1
  16. package/build/components/Rates/components/Item/Item.module.css +9 -15
  17. package/build/components/Rates/components/Item/components/Features/Features.js +15 -18
  18. package/build/components/Rates/components/Item/components/Features/Features.js.map +1 -1
  19. package/build/components/Rates/components/Item/components/Features/Features.module.css +0 -6
  20. package/build/components/Rates/components/Item/components/{Discount/Discount.js → PriceDetails/PriceDetails.js} +23 -18
  21. package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js.map +1 -0
  22. package/build/components/Rates/components/Item/components/{Discount/Discount.module.css → PriceDetails/PriceDetails.module.css} +5 -6
  23. package/build/components/Rates/components/Item/components/PriceDetails/index.js +17 -0
  24. package/build/components/Rates/components/Item/components/PriceDetails/index.js.map +1 -0
  25. package/build/components/Rates/components/Item/components/index.js +11 -11
  26. package/build/components/Rates/components/Item/components/index.js.map +1 -1
  27. package/build/components/Rates/components/ModalExtras/ModalExtras.js +176 -0
  28. package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -0
  29. package/build/components/Rates/components/ModalExtras/ModalExtras.l10n.js +18 -0
  30. package/build/components/Rates/components/ModalExtras/ModalExtras.l10n.js.map +1 -0
  31. package/build/components/Rates/components/ModalExtras/ModalExtras.module.css +74 -0
  32. package/build/components/Rates/components/{Item/components/Discount → ModalExtras}/index.js +4 -4
  33. package/build/components/Rates/components/ModalExtras/index.js.map +1 -0
  34. package/build/components/Rates/components/index.js +11 -0
  35. package/build/components/Rates/components/index.js.map +1 -1
  36. package/package.json +1 -1
  37. package/build/components/Rates/components/Item/components/Discount/Discount.js.map +0 -1
  38. package/build/components/Rates/components/Item/components/Discount/index.js.map +0 -1
@@ -14,10 +14,10 @@ var _Item = require("../../Item.l10n");
14
14
  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); }
15
15
  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; }
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ 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); }
17
18
  const Features = _ref => {
18
19
  let {
19
20
  bedTypes = [],
20
- box = false,
21
21
  maxOccupation = 2,
22
22
  size,
23
23
  ...others
@@ -25,39 +25,36 @@ const Features = _ref => {
25
25
  const {
26
26
  translate
27
27
  } = (0, _locale.useLocale)();
28
+ const iconProps = {
29
+ headline: true,
30
+ level: 3
31
+ };
28
32
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
29
33
  row: true,
30
- className: (0, _ui.styles)(style.features, box && style.box, others.className)
34
+ className: (0, _ui.styles)(style.features, others.className)
31
35
  }, size && /*#__PURE__*/_react.default.createElement(_ui.View, {
32
36
  row: true
33
- }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
34
- value: _helpers.ICON.SIZE,
35
- headline: true,
36
- level: 2
37
- }), /*#__PURE__*/_react.default.createElement(_ui.Text, {
37
+ }, /*#__PURE__*/_react.default.createElement(_ui.Icon, _extends({}, iconProps, {
38
+ value: _helpers.ICON.SIZE
39
+ })), /*#__PURE__*/_react.default.createElement(_ui.Text, {
38
40
  small: true
39
41
  }, size)), /*#__PURE__*/_react.default.createElement(_ui.View, {
40
42
  row: true
41
- }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
42
- headline: true,
43
- level: 2,
43
+ }, /*#__PURE__*/_react.default.createElement(_ui.Icon, _extends({}, iconProps, {
44
44
  value: maxOccupation === 1 ? _helpers.ICON.PERSON : maxOccupation === 2 ? _helpers.ICON.GROUP : _helpers.ICON.GROUPS
45
- }), /*#__PURE__*/_react.default.createElement(_ui.Text, {
45
+ })), /*#__PURE__*/_react.default.createElement(_ui.Text, {
46
46
  small: true
47
- }, maxOccupation)), bedTypes.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
47
+ }, "!Max ", maxOccupation)), bedTypes.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
48
48
  row: true
49
- }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
50
- value: _helpers.ICON.BED_DOUBLE,
51
- headline: true,
52
- level: 2
53
- }), /*#__PURE__*/_react.default.createElement(_ui.Text, {
49
+ }, /*#__PURE__*/_react.default.createElement(_ui.Icon, _extends({}, iconProps, {
50
+ value: _helpers.ICON.BED_DOUBLE
51
+ })), /*#__PURE__*/_react.default.createElement(_ui.Text, {
54
52
  small: true
55
53
  }, bedTypes.map(type => translate(_Item.L10N.LABEL_BED_TYPE[type])).join(" ".concat(translate(_Item.L10N.LABEL_OR), " ")))));
56
54
  };
57
55
  exports.Features = Features;
58
56
  Features.propTypes = {
59
57
  bedTypes: _propTypes.default.arrayOf(_propTypes.default.number),
60
- box: _propTypes.default.bool,
61
58
  maxOccupation: _propTypes.default.number,
62
59
  size: _propTypes.default.string
63
60
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Features.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_helpers","_Item","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Features","_ref","bedTypes","box","maxOccupation","size","others","translate","useLocale","createElement","View","row","className","styles","features","Icon","value","ICON","SIZE","headline","level","Text","small","PERSON","GROUP","GROUPS","length","BED_DOUBLE","map","type","L10N","LABEL_BED_TYPE","join","concat","LABEL_OR","exports","propTypes","PropTypes","arrayOf","number","bool","string","displayName"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Features/Features.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './Features.module.css';\nimport { ICON } from '../../../../../helpers';\nimport { L10N } from '../../Item.l10n';\n\nconst Features = ({ bedTypes = [], box = false, maxOccupation = 2, size, ...others }) => {\n const { translate } = useLocale();\n\n return (\n <View row className={styles(style.features, box && style.box, others.className)}>\n {size && (\n <View row>\n <Icon value={ICON.SIZE} headline level={2} />\n <Text small>{size}</Text>\n </View>\n )}\n\n <View row>\n <Icon\n headline\n level={2}\n value={maxOccupation === 1 ? ICON.PERSON : maxOccupation === 2 ? ICON.GROUP : ICON.GROUPS}\n />\n <Text small>{maxOccupation}</Text>\n </View>\n\n {bedTypes.length > 0 && (\n <View row>\n <Icon value={ICON.BED_DOUBLE} headline level={2} />\n <Text small>\n {bedTypes.map((type) => translate(L10N.LABEL_BED_TYPE[type])).join(` ${translate(L10N.LABEL_OR)} `)}\n </Text>\n </View>\n )}\n </View>\n );\n};\n\nFeatures.propTypes = {\n bedTypes: PropTypes.arrayOf(PropTypes.number),\n box: PropTypes.bool,\n maxOccupation: PropTypes.number,\n size: PropTypes.string,\n};\n\nFeatures.displayName = 'Mirai:Core:Rates:Item.Features';\n\nexport { Features };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Features.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_helpers","_Item","_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","Features","_ref","bedTypes","maxOccupation","size","others","translate","useLocale","iconProps","headline","level","createElement","View","row","className","styles","features","Icon","value","ICON","SIZE","Text","small","PERSON","GROUP","GROUPS","BED_DOUBLE","map","type","L10N","LABEL_BED_TYPE","join","concat","LABEL_OR","exports","propTypes","PropTypes","arrayOf","number","string","displayName"],"sources":["../../../../../../../src/components/Rates/components/Item/components/Features/Features.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './Features.module.css';\nimport { ICON } from '../../../../../helpers';\nimport { L10N } from '../../Item.l10n';\n\nconst Features = ({ bedTypes = [], maxOccupation = 2, size, ...others }) => {\n const { translate } = useLocale();\n\n const iconProps = { headline: true, level: 3 };\n\n return (\n <View row className={styles(style.features, others.className)}>\n {size && (\n <View row>\n <Icon {...iconProps} value={ICON.SIZE} />\n <Text small>{size}</Text>\n </View>\n )}\n\n <View row>\n <Icon\n {...iconProps}\n value={maxOccupation === 1 ? ICON.PERSON : maxOccupation === 2 ? ICON.GROUP : ICON.GROUPS}\n />\n <Text small>!Max {maxOccupation}</Text>\n </View>\n\n {bedTypes.length > 0 && (\n <View row>\n <Icon {...iconProps} value={ICON.BED_DOUBLE} />\n <Text small>\n {bedTypes.map((type) => translate(L10N.LABEL_BED_TYPE[type])).join(` ${translate(L10N.LABEL_OR)} `)}\n </Text>\n </View>\n )}\n </View>\n );\n};\n\nFeatures.propTypes = {\n bedTypes: PropTypes.arrayOf(PropTypes.number),\n maxOccupation: PropTypes.number,\n size: PropTypes.string,\n};\n\nFeatures.displayName = 'Mirai:Core:Rates:Item.Features';\n\nexport { Features };\n"],"mappings":"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"}
@@ -2,12 +2,6 @@
2
2
  gap: var(--mirai-ui-space-M);
3
3
  }
4
4
 
5
- .features.box {
6
- background-color: var(--mirai-ui-content-background);
7
- border-radius: var(--mirai-ui-border-radius);
8
- padding: var(--mirai-ui-space-S) var(--mirai-ui-space-M);
9
- }
10
-
11
5
  .features > * {
12
6
  align-items: center;
13
7
  gap: calc(var(--mirai-ui-space-XS) / 2);
@@ -3,24 +3,24 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.Discount = void 0;
6
+ exports.PriceDetails = void 0;
7
7
  var _dataSources = require("@mirai/data-sources");
8
8
  var _locale = require("@mirai/locale");
9
9
  var _ui = require("@mirai/ui");
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _react = _interopRequireDefault(require("react"));
12
- var style = _interopRequireWildcard(require("./Discount.module.css"));
12
+ var style = _interopRequireWildcard(require("./PriceDetails.module.css"));
13
13
  var _Item = require("../../Item.l10n");
14
14
  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); }
15
15
  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; }
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
- 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); }
18
- const Discount = _ref => {
17
+ const PriceDetails = _ref => {
19
18
  let {
20
19
  discount: {
21
20
  breakdown = []
22
21
  },
23
22
  originalPrice,
23
+ taxes,
24
24
  ...others
25
25
  } = _ref;
26
26
  const {
@@ -35,7 +35,6 @@ const Discount = _ref => {
35
35
  translate
36
36
  } = (0, _locale.useLocale)();
37
37
  return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
38
- bottom: true,
39
38
  pressable: true,
40
39
  Template: () => /*#__PURE__*/_react.default.createElement(_ui.View, {
41
40
  className: style.breakdown
@@ -43,8 +42,7 @@ const Discount = _ref => {
43
42
  row: true,
44
43
  className: style.item
45
44
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
46
- action: true,
47
- className: style.type
45
+ action: true
48
46
  }, translate(_Item.L10N.LABEL_ORIGINAL_PRICE)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
49
47
  action: true,
50
48
  bold: true
@@ -63,8 +61,7 @@ const Discount = _ref => {
63
61
  key: type,
64
62
  className: style.item
65
63
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
66
- action: true,
67
- className: style.type
64
+ action: true
68
65
  }, translate(_Item.L10N.LABEL_DISCOUNT_TYPE[type])), /*#__PURE__*/_react.default.createElement(_ui.Text, {
69
66
  action: true,
70
67
  bold: true
@@ -72,16 +69,23 @@ const Discount = _ref => {
72
69
  currency,
73
70
  value: -value
74
71
  })));
75
- }))
76
- }, /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({
72
+ }), taxes && /*#__PURE__*/_react.default.createElement(_ui.Text, {
73
+ lighten: true,
74
+ small: !isMobile,
75
+ tiny: isMobile,
76
+ className: style.item
77
+ }, taxes)),
78
+ className: style.tooltip
79
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
77
80
  accent: true,
78
81
  action: !isMobile,
79
- small: isMobile
80
- }, others), "".concat(translate(_Item.L10N.LABEL_PRICE_DETAILS), " >")));
82
+ small: isMobile,
83
+ className: others.className
84
+ }, "".concat(translate(_Item.L10N.LABEL_PRICE_DETAILS), " >")));
81
85
  };
82
- exports.Discount = Discount;
83
- Discount.displayName = 'Mirai:Core:Rates:Item.Discount';
84
- Discount.propTypes = {
86
+ exports.PriceDetails = PriceDetails;
87
+ PriceDetails.displayName = 'Mirai:Core:Rates:Item.PriceDetails';
88
+ PriceDetails.propTypes = {
85
89
  discount: _propTypes.default.shape({
86
90
  breakdown: _propTypes.default.arrayOf(_propTypes.default.shape({
87
91
  type: _propTypes.default.number,
@@ -89,6 +93,7 @@ Discount.propTypes = {
89
93
  })),
90
94
  percentage: _propTypes.default.number
91
95
  }),
92
- originalPrice: _propTypes.default.number
96
+ originalPrice: _propTypes.default.number,
97
+ taxes: _propTypes.default.string
93
98
  };
94
- //# sourceMappingURL=Discount.js.map
99
+ //# sourceMappingURL=PriceDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PriceDetails.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_Item","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","PriceDetails","_ref","discount","breakdown","originalPrice","taxes","others","isMobile","useDevice","value","currency","useStore","translate","useLocale","createElement","Tooltip","pressable","Template","View","className","row","item","Text","action","L10N","LABEL_ORIGINAL_PRICE","bold","currencyFormat","anchor","map","_ref2","type","key","LABEL_DISCOUNT_TYPE","lighten","small","tiny","tooltip","accent","concat","LABEL_PRICE_DETAILS","exports","displayName","propTypes","PropTypes","shape","arrayOf","number","percentage","string"],"sources":["../../../../../../../src/components/Rates/components/Item/components/PriceDetails/PriceDetails.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './PriceDetails.module.css';\nimport { L10N } from '../../Item.l10n';\n\nconst PriceDetails = ({ discount: { breakdown = [] }, originalPrice, taxes, ...others }) => {\n const { isMobile } = useDevice();\n const { value: { currency } = {} } = useStore();\n const { translate } = useLocale();\n\n return (\n <Tooltip\n pressable\n Template={() => (\n <View className={style.breakdown}>\n <View row className={style.item}>\n <Text action>{translate(L10N.LABEL_ORIGINAL_PRICE)}</Text>\n <Text action bold>\n {currencyFormat({ currency, value: originalPrice })}\n </Text>\n </View>\n <View className={style.anchor} />\n {breakdown?.map(({ type, value }) => (\n <View row key={type} className={style.item}>\n <Text action>{translate(L10N.LABEL_DISCOUNT_TYPE[type])}</Text>\n <Text action bold>\n {currencyFormat({ currency, value: -value })}\n </Text>\n </View>\n ))}\n {taxes && (\n <Text lighten small={!isMobile} tiny={isMobile} className={style.item}>\n {taxes}\n </Text>\n )}\n </View>\n )}\n className={style.tooltip}\n >\n <Text accent action={!isMobile} small={isMobile} className={others.className}>\n {`${translate(L10N.LABEL_PRICE_DETAILS)} >`}\n </Text>\n </Tooltip>\n );\n};\n\nPriceDetails.displayName = 'Mirai:Core:Rates:Item.PriceDetails';\n\nPriceDetails.propTypes = {\n discount: PropTypes.shape({\n breakdown: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.number,\n value: PropTypes.number,\n }),\n ),\n percentage: PropTypes.number,\n }),\n originalPrice: PropTypes.number,\n taxes: PropTypes.string,\n};\n\nexport { PriceDetails };\n"],"mappings":"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"}
@@ -1,3 +1,7 @@
1
+ .tooltip {
2
+ max-width: calc(var(--mirai-ui-breakpoint-S) * 0.8);
3
+ }
4
+
1
5
  .breakdown {
2
6
  gap: var(--mirai-ui-space-XS);
3
7
  padding: calc(var(--mirai-ui-space-XS) / 2) 0;
@@ -9,7 +13,7 @@
9
13
  padding: calc(var(--mirai-ui-space-XS) / 2) var(--mirai-ui-space-XS);
10
14
  }
11
15
 
12
- .breakdown .item [data-role='text'] {
16
+ .breakdown [data-role='text'] {
13
17
  color: var(--mirai-ui-base);
14
18
  }
15
19
 
@@ -17,8 +21,3 @@
17
21
  border-bottom: solid 1px var(--mirai-ui-base);
18
22
  opacity: 0.33;
19
23
  }
20
-
21
- .breakdown .type {
22
- flex: 1;
23
- width: max-content;
24
- }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _PriceDetails = require("./PriceDetails");
7
+ Object.keys(_PriceDetails).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _PriceDetails[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _PriceDetails[key];
14
+ }
15
+ });
16
+ });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_PriceDetails","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../../../../src/components/Rates/components/Item/components/PriceDetails/index.js"],"sourcesContent":["export * from './PriceDetails';\n"],"mappings":";;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,aAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,aAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,aAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
@@ -14,17 +14,6 @@ Object.keys(_Amenities).forEach(function (key) {
14
14
  }
15
15
  });
16
16
  });
17
- var _Discount = require("./Discount");
18
- Object.keys(_Discount).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _Discount[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function () {
24
- return _Discount[key];
25
- }
26
- });
27
- });
28
17
  var _Features = require("./Features");
29
18
  Object.keys(_Features).forEach(function (key) {
30
19
  if (key === "default" || key === "__esModule") return;
@@ -80,4 +69,15 @@ Object.keys(_Option).forEach(function (key) {
80
69
  }
81
70
  });
82
71
  });
72
+ var _PriceDetails = require("./PriceDetails");
73
+ Object.keys(_PriceDetails).forEach(function (key) {
74
+ if (key === "default" || key === "__esModule") return;
75
+ if (key in exports && exports[key] === _PriceDetails[key]) return;
76
+ Object.defineProperty(exports, key, {
77
+ enumerable: true,
78
+ get: function () {
79
+ return _PriceDetails[key];
80
+ }
81
+ });
82
+ });
83
83
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_Amenities","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_Discount","_Features","_ModalInfo","_ModalRateInfo","_ModalUrl","_Option"],"sources":["../../../../../../src/components/Rates/components/Item/components/index.js"],"sourcesContent":["export * from './Amenities';\nexport * from './Discount';\nexport * from './Features';\nexport * from './ModalInfo';\nexport * from './ModalRateInfo';\nexport * from './ModalUrl';\nexport * from './Option';\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_Amenities","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_Features","_ModalInfo","_ModalRateInfo","_ModalUrl","_Option","_PriceDetails"],"sources":["../../../../../../src/components/Rates/components/Item/components/index.js"],"sourcesContent":["export * from './Amenities';\nexport * from './Features';\nexport * from './ModalInfo';\nexport * from './ModalRateInfo';\nexport * from './ModalUrl';\nexport * from './Option';\nexport * from './PriceDetails';\n"],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ModalExtras = void 0;
7
+ var _dataSources = require("@mirai/data-sources");
8
+ var _locale = require("@mirai/locale");
9
+ var _ui = require("@mirai/ui");
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _ModalExtras = require("./ModalExtras.l10n");
13
+ var style = _interopRequireWildcard(require("./ModalExtras.module.css"));
14
+ 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); }
15
+ 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; }
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ 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); }
18
+ const EXTRAS = [{
19
+ id: 1,
20
+ title: 'Free safe',
21
+ text: 'With your booking you have included the free safe, only if you book on this website. '
22
+ }, {
23
+ id: 2,
24
+ title: '50€ Voucher',
25
+ text: 'Get a 50€ voucher for every 40€. To be used with the hotel services. Valid for food and drink services (except themed restaurants and pizzerias), safe, and other services included in each hotel.',
26
+ conditions: 'Voucher non-refundable, not accumulative with other stays, non-transferable and cannot be exchanged for money. Services inside the hotel provided by outside companies are excluded.',
27
+ value: 40
28
+ }, {
29
+ id: 3,
30
+ title: 'Romantic Package',
31
+ text: 'Find a romantic package with cava and petals at your arrival at the hotel.',
32
+ value: 25
33
+ }, {
34
+ id: 4,
35
+ title: 'Stay safe with this travel insurance',
36
+ text: 'Enjoy peace of mind during your stay. Traveling can be full of surprises, but with this insurance, you can relax knowing that you are covered in case of unexpected events. 24-hr medical assistance Compensation for delay of the means of transportation Luggage protection And more! Choose this insurance and enjoy peace of mind.',
37
+ conditions: 'By choosing this insurance, you confirm that you have read and accept its coverages and exclusions, and our terms and conditions at https://app.flexmyroom.com/info/en/011',
38
+ value: 22
39
+ }];
40
+ const ModalExtras = _ref => {
41
+ let {
42
+ cart = [],
43
+ extras = EXTRAS,
44
+ taxes,
45
+ onCancel = () => {},
46
+ onSubmit = () => {},
47
+ ...others
48
+ } = _ref;
49
+ const {
50
+ isMobile
51
+ } = (0, _ui.useDevice)();
52
+ const {
53
+ translate
54
+ } = (0, _locale.useLocale)();
55
+ const {
56
+ value: {
57
+ currency
58
+ } = {}
59
+ } = (0, _dataSources.useStore)();
60
+ const [selected, setSelected] = (0, _react.useState)([]);
61
+ (0, _react.useEffect)(() => setSelected([]), [extras]);
62
+ const handleSelect = function () {
63
+ let nextExtra = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
64
+ setSelected(selected.find(extra => extra.id === nextExtra.id) ? selected.filter(extra => extra.id !== nextExtra.id) : [...selected, nextExtra]);
65
+ };
66
+ const handleSubmit = () => {
67
+ onSubmit(selected);
68
+ };
69
+ const total = cart.reduce(function (value) {
70
+ let {
71
+ price
72
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
73
+ return value + price;
74
+ }, 0);
75
+ const totalExtras = selected.reduce(function (total) {
76
+ let {
77
+ value = 0
78
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
79
+ return total + value;
80
+ }, 0);
81
+ return /*#__PURE__*/_react.default.createElement(_ui.Modal, _extends({}, others, {
82
+ fit: true,
83
+ title: "!Add Extras",
84
+ onClose: onCancel,
85
+ className: style.modal
86
+ }), /*#__PURE__*/_react.default.createElement(_ui.ScrollView, {
87
+ snap: true,
88
+ className: style.scrollView
89
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
90
+ action: isMobile
91
+ }, "!Enhance your stay by adding personalized extras to your selected room(s). Elevate your experience with exclusive amenities tailored to your preferences."), extras.map(function () {
92
+ let {
93
+ id,
94
+ title,
95
+ text,
96
+ conditions,
97
+ value
98
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
99
+ return /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
100
+ key: id,
101
+ onPress: () => handleSelect({
102
+ id,
103
+ value
104
+ }),
105
+ className: style.pressable
106
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, {
107
+ row: true,
108
+ wide: true,
109
+ className: (0, _ui.styles)(style.extra, selected.find(extra => extra.id === id) && style.selected)
110
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, {
111
+ className: style.image
112
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, {
113
+ wide: true,
114
+ className: style.texts
115
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, {
116
+ row: true
117
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
118
+ bold: true,
119
+ headline: !isMobile,
120
+ className: style.title
121
+ }, title), /*#__PURE__*/_react.default.createElement(_ui.Text, {
122
+ bold: true,
123
+ headline: !isMobile,
124
+ className: style.price
125
+ }, value ? (0, _locale.currencyFormat)({
126
+ currency,
127
+ value
128
+ }) : 'Free')), /*#__PURE__*/_react.default.createElement(_ui.Text, {
129
+ small: true
130
+ }, text), /*#__PURE__*/_react.default.createElement(_ui.Text, {
131
+ lighten: true,
132
+ small: !isMobile,
133
+ tiny: isMobile
134
+ }, conditions))));
135
+ })), /*#__PURE__*/_react.default.createElement(_ui.View, {
136
+ row: true,
137
+ className: style.footer
138
+ }, total > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
139
+ className: style.total
140
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
141
+ bold: true,
142
+ headline: true,
143
+ level: isMobile ? 3 : 2
144
+ }, (0, _locale.currencyFormat)({
145
+ currency,
146
+ value: total + totalExtras
147
+ })), /*#__PURE__*/_react.default.createElement(_ui.Text, {
148
+ lighten: true,
149
+ small: !isMobile,
150
+ tiny: isMobile
151
+ }, totalExtras > 0 && "!Includes ".concat((0, _locale.currencyFormat)({
152
+ currency,
153
+ value: totalExtras
154
+ }), " in extras. "), translate(taxes ? _ModalExtras.L10N.LABEL_EXCLUDES_TAXES_FEES : _ModalExtras.L10N.LABEL_INCLUDES_TAXES_FEES))), /*#__PURE__*/_react.default.createElement(_ui.Button, {
155
+ large: !isMobile,
156
+ _wide: isMobile,
157
+ onPress: handleSubmit
158
+ }, translate(_ModalExtras.L10N.ACTION_RESERVE))));
159
+ };
160
+ exports.ModalExtras = ModalExtras;
161
+ ModalExtras.propTypes = {
162
+ cart: _propTypes.default.arrayOf(_propTypes.default.shape({})),
163
+ extras: _propTypes.default.arrayOf(_propTypes.default.shape({
164
+ id: _propTypes.default.string,
165
+ title: _propTypes.default.string,
166
+ text: _propTypes.default.string,
167
+ conditions: _propTypes.default.string,
168
+ value: _propTypes.default.number
169
+ })),
170
+ taxes: _propTypes.default.string,
171
+ visible: _propTypes.default.bool,
172
+ onCancel: _propTypes.default.func,
173
+ onSubmit: _propTypes.default.func
174
+ };
175
+ ModalExtras.displayName = 'Mirai:Core:Rates:Item.ModalExtras';
176
+ //# sourceMappingURL=ModalExtras.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_ModalExtras","style","_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","EXTRAS","id","title","text","conditions","value","ModalExtras","_ref","cart","extras","taxes","onCancel","onSubmit","others","isMobile","useDevice","translate","useLocale","currency","useStore","selected","setSelected","useState","useEffect","handleSelect","nextExtra","undefined","find","extra","filter","handleSubmit","total","reduce","price","totalExtras","createElement","Modal","fit","onClose","className","modal","ScrollView","snap","scrollView","Text","action","map","Pressable","onPress","pressable","View","row","wide","styles","image","texts","bold","headline","currencyFormat","small","lighten","tiny","footer","level","concat","L10N","LABEL_EXCLUDES_TAXES_FEES","LABEL_INCLUDES_TAXES_FEES","Button","large","_wide","ACTION_RESERVE","exports","propTypes","PropTypes","arrayOf","shape","string","number","visible","bool","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Button, Modal, Pressable, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\n\nconst EXTRAS = [\n {\n id: 1,\n title: 'Free safe',\n text: 'With your booking you have included the free safe, only if you book on this website. ',\n },\n {\n id: 2,\n title: '50€ Voucher',\n text: 'Get a 50€ voucher for every 40€. To be used with the hotel services. Valid for food and drink services (except themed restaurants and pizzerias), safe, and other services included in each hotel.',\n conditions:\n 'Voucher non-refundable, not accumulative with other stays, non-transferable and cannot be exchanged for money. Services inside the hotel provided by outside companies are excluded.',\n value: 40,\n },\n {\n id: 3,\n title: 'Romantic Package',\n text: 'Find a romantic package with cava and petals at your arrival at the hotel.',\n value: 25,\n },\n {\n id: 4,\n title: 'Stay safe with this travel insurance',\n text: 'Enjoy peace of mind during your stay. Traveling can be full of surprises, but with this insurance, you can relax knowing that you are covered in case of unexpected events. 24-hr medical assistance Compensation for delay of the means of transportation Luggage protection And more! Choose this insurance and enjoy peace of mind.',\n conditions:\n 'By choosing this insurance, you confirm that you have read and accept its coverages and exclusions, and our terms and conditions at https://app.flexmyroom.com/info/en/011',\n value: 22,\n },\n];\n\nconst ModalExtras = ({ cart = [], extras = EXTRAS, taxes, onCancel = () => {}, onSubmit = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [selected, setSelected] = useState([]);\n\n useEffect(() => setSelected([]), [extras]);\n\n const handleSelect = (nextExtra = {}) => {\n setSelected(\n selected.find((extra) => extra.id === nextExtra.id)\n ? selected.filter((extra) => extra.id !== nextExtra.id)\n : [...selected, nextExtra],\n );\n };\n\n const handleSubmit = () => {\n onSubmit(selected);\n };\n\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = selected.reduce((total, { value = 0 } = {}) => total + value, 0);\n\n return (\n <Modal {...others} fit title=\"!Add Extras\" onClose={onCancel} className={style.modal}>\n <ScrollView snap className={style.scrollView}>\n <Text action={isMobile}>\n !Enhance your stay by adding personalized extras to your selected room(s). Elevate your experience with\n exclusive amenities tailored to your preferences.\n </Text>\n\n {extras.map(({ id, title, text, conditions, value } = {}) => (\n <Pressable key={id} onPress={() => handleSelect({ id, value })} className={style.pressable}>\n <View row wide className={styles(style.extra, selected.find((extra) => extra.id === id) && style.selected)}>\n <View className={style.image} />\n <View wide className={style.texts}>\n <View row>\n <Text bold headline={!isMobile} className={style.title}>\n {title}\n </Text>\n <Text bold headline={!isMobile} className={style.price}>\n {value ? currencyFormat({ currency, value }) : 'Free'}\n </Text>\n </View>\n <Text small>{text}</Text>\n <Text lighten small={!isMobile} tiny={isMobile}>\n {conditions}\n </Text>\n </View>\n </View>\n </Pressable>\n ))}\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, value: total + totalExtras })}\n </Text>\n\n <Text lighten small={!isMobile} tiny={isMobile}>\n {totalExtras > 0 && `!Includes ${currencyFormat({ currency, value: totalExtras })} in extras. `}\n {translate(taxes ? L10N.LABEL_EXCLUDES_TAXES_FEES : L10N.LABEL_INCLUDES_TAXES_FEES)}\n </Text>\n </View>\n )}\n\n <Button large={!isMobile} _wide={isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n text: PropTypes.string,\n conditions: PropTypes.string,\n value: PropTypes.number,\n }),\n ),\n taxes: PropTypes.string,\n visible: PropTypes.bool,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:Item.ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.L10N = void 0;
7
+ const L10N = exports.L10N = {
8
+ ACTION_RESERVE: {
9
+ id: 'common.action.reserve'
10
+ },
11
+ LABEL_INCLUDES_TAXES_FEES: {
12
+ id: 'finder.label.includes_taxes_fees'
13
+ },
14
+ LABEL_EXCLUDES_TAXES_FEES: {
15
+ id: 'finder.label.excludes_taxes_fees'
16
+ }
17
+ };
18
+ //# sourceMappingURL=ModalExtras.l10n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalExtras.l10n.js","names":["L10N","exports","ACTION_RESERVE","id","LABEL_INCLUDES_TAXES_FEES","LABEL_EXCLUDES_TAXES_FEES"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.l10n.js"],"sourcesContent":["export const L10N = {\n ACTION_RESERVE: { id: 'common.action.reserve' },\n\n LABEL_INCLUDES_TAXES_FEES: { id: 'finder.label.includes_taxes_fees' },\n LABEL_EXCLUDES_TAXES_FEES: { id: 'finder.label.excludes_taxes_fees' },\n};\n"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,cAAc,EAAE;IAAEC,EAAE,EAAE;EAAwB,CAAC;EAE/CC,yBAAyB,EAAE;IAAED,EAAE,EAAE;EAAmC,CAAC;EACrEE,yBAAyB,EAAE;IAAEF,EAAE,EAAE;EAAmC;AACtE,CAAC"}
@@ -0,0 +1,74 @@
1
+ .modal {
2
+ max-height: 100svh;
3
+ }
4
+
5
+ .scrollView {
6
+ gap: var(--mirai-ui-space-M);
7
+ padding: var(--mirai-ui-space-M);
8
+ }
9
+
10
+ .pressable {
11
+ overflow: visible;
12
+ width: 100%;
13
+ }
14
+
15
+ .extra {
16
+ align-items: flex-start;
17
+ border-radius: var(--mirai-ui-border-radius);
18
+ box-shadow: inset 0 0 0 1px var(--mirai-ui-content-border);
19
+ gap: var(--mirai-ui-space-M);
20
+ padding: var(--mirai-ui-space-S);
21
+ }
22
+
23
+ .extra.selected {
24
+ box-shadow: inset 0 0 0 1px var(--mirai-ui-accent);
25
+ }
26
+
27
+ .extra .image {
28
+ background-color: var(--mirai-ui-content-border);
29
+ border-radius: var(--mirai-ui-border-radius);
30
+ height: var(--mirai-ui-space-XXL);
31
+ width: var(--mirai-ui-space-XXL);
32
+ min-height: var(--mirai-ui-space-XXL);
33
+ min-width: var(--mirai-ui-space-XXL);
34
+ }
35
+
36
+ .extra .texts {
37
+ gap: var(--mirai-ui-space-XS);
38
+ }
39
+
40
+ .extra .title {
41
+ flex: 1;
42
+ }
43
+
44
+ .extra .price {
45
+ align-self: flex-start;
46
+ margin-left: var(--mirai-ui-space-M);
47
+ }
48
+
49
+ .footer {
50
+ box-shadow: inset 0 1px 0 var(--mirai-ui-content-border);
51
+ gap: var(--mirai-ui-space-S);
52
+ justify-content: flex-end;
53
+ padding: var(--mirai-ui-space-M);
54
+ }
55
+
56
+ .footer .total {
57
+ flex: 1;
58
+ }
59
+
60
+ /* S */
61
+ @media only screen and (max-width: 430px) {
62
+ }
63
+
64
+ /* M & L */
65
+ @media only screen and (min-width: 431px) {
66
+ .modal {
67
+ max-height: 90svh;
68
+ max-width: calc(var(--mirai-ui-breakpoint-M) * 0.9);
69
+ }
70
+
71
+ .extra:hover {
72
+ box-shadow: inset 0 0 0 1px var(--mirai-ui-accent);
73
+ }
74
+ }