@mirai/core 0.3.258 → 0.3.259
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/Rates/Rates.Skeleton.js +63 -39
- package/build/components/Rates/Rates.Skeleton.js.map +1 -1
- package/build/components/Rates/Rates.constants.js +2 -0
- package/build/components/Rates/Rates.constants.js.map +1 -1
- package/build/components/Rates/Rates.js +5 -3
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Preview.js +10 -4
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Rates.js +19 -6
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +5 -8
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/Item.module.css +19 -3
- package/build/components/Rates/components/Item/components/Amenities/Amenities.js +1 -1
- package/build/components/Rates/components/Item/components/Amenities/Amenities.js.map +1 -1
- package/build/components/Rates/components/Item/components/Option/Option.js +8 -4
- package/build/components/Rates/components/Item/components/Option/Option.js.map +1 -1
- package/build/components/Rates/components/Item/components/Option/Option.module.css +67 -1
- package/build/components/Rates/helpers/getFeatures.js +5 -0
- package/build/components/Rates/helpers/getFeatures.js.map +1 -1
- package/build/components/__shared__/Card/Card.js +3 -1
- package/build/components/__shared__/Card/Card.js.map +1 -1
- package/build/components/__shared__/Card/Card.module.css +5 -1
- package/build/index.js +7 -2
- package/build/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,8 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
var _dataSources = require("@mirai/data-sources");
|
|
7
8
|
var _ui = require("@mirai/ui");
|
|
8
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _helpers = require("./helpers");
|
|
9
11
|
var _shared__ = require("../__shared__");
|
|
10
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
13
|
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); }
|
|
@@ -15,6 +17,12 @@ const RatesSkeleton = () => {
|
|
|
15
17
|
isDesktop,
|
|
16
18
|
width
|
|
17
19
|
} = (0, _ui.useDevice)();
|
|
20
|
+
const {
|
|
21
|
+
value: {
|
|
22
|
+
id,
|
|
23
|
+
urlParams
|
|
24
|
+
}
|
|
25
|
+
} = (0, _dataSources.useStore)();
|
|
18
26
|
const isTablet = !isMobile && width <= 1179;
|
|
19
27
|
const props = {
|
|
20
28
|
color: 'base'
|
|
@@ -30,10 +38,39 @@ const RatesSkeleton = () => {
|
|
|
30
38
|
gap: '0.5rem'
|
|
31
39
|
}
|
|
32
40
|
};
|
|
41
|
+
const optionContainer = {
|
|
42
|
+
row: true,
|
|
43
|
+
style: {
|
|
44
|
+
gap: '0.5rem',
|
|
45
|
+
justifyContent: 'space-between',
|
|
46
|
+
marginBottom: '0.5rem'
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const tab = {
|
|
50
|
+
row: false,
|
|
51
|
+
style: {
|
|
52
|
+
alignItems: 'center',
|
|
53
|
+
alignContent: 'center',
|
|
54
|
+
justifyContent: 'center',
|
|
55
|
+
border: 'solid 1px var(--mirai-ui-content-background)',
|
|
56
|
+
flex: 1,
|
|
57
|
+
gap: '0.5rem',
|
|
58
|
+
height: '100%',
|
|
59
|
+
padding: '1rem'
|
|
60
|
+
}
|
|
61
|
+
};
|
|
33
62
|
const radio = {
|
|
34
63
|
height: '1rem',
|
|
35
64
|
width: '1rem'
|
|
36
65
|
};
|
|
66
|
+
const {
|
|
67
|
+
columnMode,
|
|
68
|
+
hideRadio,
|
|
69
|
+
rowMode
|
|
70
|
+
} = (0, _helpers.getFeatures)(id, urlParams, {
|
|
71
|
+
isDesktop,
|
|
72
|
+
isMobile
|
|
73
|
+
});
|
|
37
74
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
38
75
|
row: true,
|
|
39
76
|
style: {
|
|
@@ -48,23 +85,25 @@ const RatesSkeleton = () => {
|
|
|
48
85
|
}).map((_, index) => /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({
|
|
49
86
|
key: index
|
|
50
87
|
}, props, {
|
|
88
|
+
row: rowMode,
|
|
51
89
|
style: {
|
|
52
90
|
boxSizing: 'border-box',
|
|
53
91
|
flex: 1,
|
|
54
|
-
flexBasis: isTablet ? 'calc(50% - calc(var(--mirai-ui-space-M) / 2))' : isDesktop ? "calc(33.33% - calc(calc(var(--mirai-ui-space-M) * 2) / 3))" :
|
|
92
|
+
flexBasis: isTablet || columnMode ? 'calc(50% - calc(var(--mirai-ui-space-M) / 2))' : isDesktop && !rowMode ? "calc(33.33% - calc(calc(var(--mirai-ui-space-M) * 2) / 3))" : '100%',
|
|
55
93
|
overflow: 'hidden'
|
|
56
94
|
}
|
|
57
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
95
|
+
}), /*#__PURE__*/_react.default.createElement(rowMode ? _ui.View : _react.default.Fragment, rowMode ? {
|
|
96
|
+
style: {
|
|
97
|
+
borderRight: 'solid 1px var(--mirai-ui-content-background)',
|
|
98
|
+
minWidth: '50%'
|
|
99
|
+
}
|
|
100
|
+
} : undefined, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
58
101
|
color: "border",
|
|
59
102
|
style: {
|
|
60
103
|
borderRadius: 0,
|
|
61
|
-
|
|
104
|
+
minHeight: !rowMode ? '208px' : 'calc(100svh / 3)'
|
|
62
105
|
}
|
|
63
106
|
}), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
64
|
-
style: {
|
|
65
|
-
_height: '42rem'
|
|
66
|
-
}
|
|
67
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
68
107
|
row: true,
|
|
69
108
|
style: {
|
|
70
109
|
...section,
|
|
@@ -94,64 +133,49 @@ const RatesSkeleton = () => {
|
|
|
94
133
|
action: true
|
|
95
134
|
}, "Heating"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
96
135
|
action: true
|
|
97
|
-
}, "More Info +")), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
136
|
+
}, "More Info +")))), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
137
|
+
style: {
|
|
138
|
+
height: '100%'
|
|
139
|
+
},
|
|
140
|
+
wide: true
|
|
141
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
98
142
|
style: {
|
|
99
143
|
...section
|
|
100
144
|
}
|
|
101
145
|
}, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
102
146
|
action: true
|
|
103
147
|
}, "Cancellation type"), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
104
|
-
row:
|
|
105
|
-
|
|
106
|
-
justifyContent: 'space-between'
|
|
107
|
-
}
|
|
108
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.View, option, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, radio), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
148
|
+
row: hideRadio
|
|
149
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.View, hideRadio ? tab : optionContainer, /*#__PURE__*/_react.default.createElement(_ui.View, option, !hideRadio && /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, radio), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
109
150
|
action: true
|
|
110
151
|
}, "Free cancelation")), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
111
152
|
action: true
|
|
112
|
-
}, "$0.00")), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
113
|
-
row: true,
|
|
114
|
-
style: {
|
|
115
|
-
justifyContent: 'space-between'
|
|
116
|
-
}
|
|
117
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.View, option, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, radio), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
153
|
+
}, "$0.00")), /*#__PURE__*/_react.default.createElement(_ui.View, hideRadio ? tab : optionContainer, /*#__PURE__*/_react.default.createElement(_ui.View, option, !hideRadio && /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, radio), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
118
154
|
action: true
|
|
119
155
|
}, "Free cancelation until apr 10")), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
120
156
|
action: true
|
|
121
|
-
}, "$19.95"))), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
157
|
+
}, "$19.95")))), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
122
158
|
style: {
|
|
123
|
-
...section
|
|
159
|
+
...section,
|
|
160
|
+
flex: 1
|
|
124
161
|
}
|
|
125
162
|
}, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
126
163
|
action: true
|
|
127
164
|
}, "Extras"), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
128
|
-
row:
|
|
129
|
-
|
|
130
|
-
justifyContent: 'space-between'
|
|
131
|
-
}
|
|
132
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.View, option, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, radio), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
165
|
+
row: hideRadio
|
|
166
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.View, hideRadio ? tab : optionContainer, /*#__PURE__*/_react.default.createElement(_ui.View, option, !hideRadio && /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, radio), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
133
167
|
action: true
|
|
134
168
|
}, "Only room")), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
135
169
|
action: true
|
|
136
|
-
}, "$0.00")), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
137
|
-
row: true,
|
|
138
|
-
style: {
|
|
139
|
-
justifyContent: 'space-between'
|
|
140
|
-
}
|
|
141
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.View, option, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, radio), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
170
|
+
}, "$0.00")), /*#__PURE__*/_react.default.createElement(_ui.View, hideRadio ? tab : optionContainer, /*#__PURE__*/_react.default.createElement(_ui.View, option, !hideRadio && /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, radio), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
142
171
|
action: true
|
|
143
172
|
}, "Breakfast included")), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
144
173
|
action: true
|
|
145
|
-
}, "$19.95")), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
146
|
-
row: true,
|
|
147
|
-
style: {
|
|
148
|
-
justifyContent: 'space-between'
|
|
149
|
-
}
|
|
150
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.View, option, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, radio), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
174
|
+
}, "$19.95")), /*#__PURE__*/_react.default.createElement(_ui.View, hideRadio ? tab : optionContainer, /*#__PURE__*/_react.default.createElement(_ui.View, option, !hideRadio && /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, radio), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
151
175
|
action: true
|
|
152
176
|
}, "All included")), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
153
177
|
action: true
|
|
154
|
-
}, "$39.95"))), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
178
|
+
}, "$39.95")))), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
155
179
|
row: true,
|
|
156
180
|
style: {
|
|
157
181
|
alignItems: 'flex-end',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.Skeleton.js","names":["_ui","require","_react","_interopRequireDefault","_shared__","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","RatesSkeleton","isMobile","isDesktop","width","useDevice","isTablet","props","color","section","borderBottom","gap","padding","option","row","style","radio","height","createElement","Fragment","View","alignItems","flexWrap","justifyContent","marginTop","undefined","Array","from","map","_","index","Skeleton","boxSizing","flex","flexBasis","overflow","borderRadius","_height","small","headline","level","action","displayName","propTypes","_default","exports"],"sources":["../../../src/components/Rates/Rates.Skeleton.jsx"],"sourcesContent":["import { useDevice, View } from '@mirai/ui';\nimport React from 'react';\n\nimport { Skeleton } from '../__shared__';\n\nconst RatesSkeleton = () => {\n const { isMobile, isDesktop, width } = useDevice();\n\n const isTablet = !isMobile && width <= 1179;\n const props = { color: 'base' };\n const section = { borderBottom: 'solid 1px var(--mirai-ui-content-background)', gap: '0.5rem', padding: '1rem' };\n const option = { row: true, style: { gap: '0.5rem' } };\n const radio = { height: '1rem', width: '1rem' };\n\n return (\n <>\n <View\n row\n style={{\n alignItems: 'stretch',\n flexWrap: 'wrap',\n gap: '1rem',\n justifyContent: 'space-between',\n marginTop: !isMobile ? '0.75rem' : undefined,\n }}\n >\n {Array.from({ length: isMobile ? 1 : isTablet ? 2 : 3 }).map((_, index) => (\n <Skeleton\n key={index}\n {...props}\n style={{\n boxSizing: 'border-box',\n flex: 1,\n flexBasis: isTablet\n ? 'calc(50% - calc(var(--mirai-ui-space-M) / 2))'\n : isDesktop\n ? `calc(33.33% - calc(calc(var(--mirai-ui-space-M) * 2) / 3))`\n : undefined,\n overflow: 'hidden',\n }}\n >\n <Skeleton color=\"border\" style={{ borderRadius: 0, height: '13rem' }} />\n\n <View style={{ _height: '42rem' }}>\n <View row style={{ ...section, gap: '1rem', padding: '0.75rem 1rem' }}>\n <Skeleton small>12 m²</Skeleton>\n <Skeleton small>2p</Skeleton>\n <Skeleton small>King Size</Skeleton>\n </View>\n\n <View style={{ ...section }}>\n <Skeleton headline level={2}>\n Superior Room\n </Skeleton>\n <Skeleton action>Free wifi internet</Skeleton>\n <Skeleton action>Television</Skeleton>\n <Skeleton action>Mini-bar</Skeleton>\n <Skeleton action>Heating</Skeleton>\n <Skeleton action>More Info +</Skeleton>\n </View>\n\n <View style={{ ...section }}>\n <Skeleton action>Cancellation type</Skeleton>\n <View row style={{ justifyContent: 'space-between' }}>\n <View {...option}>\n <Skeleton {...radio} />\n <Skeleton action>Free cancelation</Skeleton>\n </View>\n <Skeleton action>$0.00</Skeleton>\n </View>\n <View row style={{ justifyContent: 'space-between' }}>\n <View {...option}>\n <Skeleton {...radio} />\n <Skeleton action>Free cancelation until apr 10</Skeleton>\n </View>\n <Skeleton action>$19.95</Skeleton>\n </View>\n </View>\n\n <View style={{ ...section }}>\n <Skeleton action>Extras</Skeleton>\n <View row style={{ justifyContent: 'space-between' }}>\n <View {...option}>\n <Skeleton {...radio} />\n <Skeleton action>Only room</Skeleton>\n </View>\n <Skeleton action>$0.00</Skeleton>\n </View>\n <View row style={{ justifyContent: 'space-between' }}>\n <View {...option}>\n <Skeleton {...radio} />\n <Skeleton action>Breakfast included</Skeleton>\n </View>\n <Skeleton action>$19.95</Skeleton>\n </View>\n <View row style={{ justifyContent: 'space-between' }}>\n <View {...option}>\n <Skeleton {...radio} />\n <Skeleton action>All included</Skeleton>\n </View>\n <Skeleton action>$39.95</Skeleton>\n </View>\n </View>\n\n <View row style={{ alignItems: 'flex-end', justifyContent: 'space-between', padding: '1rem' }}>\n <View style={{ gap: '0.5rem' }}>\n <Skeleton small>5% off</Skeleton>\n <Skeleton headline level={2}>\n $199.50\n </Skeleton>\n <Skeleton small>$19.95 per unit & night</Skeleton>\n <Skeleton small>Includes taxes and fees</Skeleton>\n <Skeleton small>Price details +</Skeleton>\n </View>\n\n <Skeleton action style={{ height: '3rem', width: '7rem' }}>\n Reserve\n </Skeleton>\n </View>\n </View>\n </Skeleton>\n ))}\n </View>\n </>\n );\n};\n\nRatesSkeleton.displayName = 'Mirai:Core:Rates:Skeleton';\n\nRatesSkeleton.propTypes = {};\n\nexport default RatesSkeleton;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rates.Skeleton.js","names":["_dataSources","require","_ui","_react","_interopRequireDefault","_helpers","_shared__","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","RatesSkeleton","isMobile","isDesktop","width","useDevice","value","id","urlParams","useStore","isTablet","props","color","section","borderBottom","gap","padding","option","row","style","optionContainer","justifyContent","marginBottom","tab","alignItems","alignContent","border","flex","height","radio","columnMode","hideRadio","rowMode","getFeatures","createElement","Fragment","View","flexWrap","marginTop","undefined","Array","from","map","_","index","Skeleton","boxSizing","flexBasis","overflow","React","borderRight","minWidth","borderRadius","minHeight","small","headline","level","action","wide","displayName","propTypes","_default","exports"],"sources":["../../../src/components/Rates/Rates.Skeleton.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useDevice, View } from '@mirai/ui';\nimport React from 'react';\n\nimport { getFeatures } from './helpers';\nimport { Skeleton } from '../__shared__';\n\nconst RatesSkeleton = () => {\n const { isMobile, isDesktop, width } = useDevice();\n const {\n value: { id, urlParams },\n } = useStore();\n\n const isTablet = !isMobile && width <= 1179;\n const props = { color: 'base' };\n const section = { borderBottom: 'solid 1px var(--mirai-ui-content-background)', gap: '0.5rem', padding: '1rem' };\n const option = { row: true, style: { gap: '0.5rem' } };\n const optionContainer = {\n row: true,\n style: { gap: '0.5rem', justifyContent: 'space-between', marginBottom: '0.5rem' },\n };\n const tab = {\n row: false,\n style: {\n alignItems: 'center',\n alignContent: 'center',\n justifyContent: 'center',\n border: 'solid 1px var(--mirai-ui-content-background)',\n flex: 1,\n gap: '0.5rem',\n height: '100%',\n padding: '1rem',\n },\n };\n const radio = { height: '1rem', width: '1rem' };\n\n const { columnMode, hideRadio, rowMode } = getFeatures(id, urlParams, { isDesktop, isMobile });\n\n return (\n <>\n <View\n row\n style={{\n alignItems: 'stretch',\n flexWrap: 'wrap',\n gap: '1rem',\n justifyContent: 'space-between',\n marginTop: !isMobile ? '0.75rem' : undefined,\n }}\n >\n {Array.from({ length: isMobile ? 1 : isTablet ? 2 : 3 }).map((_, index) => (\n <Skeleton\n key={index}\n {...props}\n row={rowMode}\n style={{\n boxSizing: 'border-box',\n flex: 1,\n flexBasis:\n isTablet || columnMode\n ? 'calc(50% - calc(var(--mirai-ui-space-M) / 2))'\n : isDesktop && !rowMode\n ? `calc(33.33% - calc(calc(var(--mirai-ui-space-M) * 2) / 3))`\n : '100%',\n overflow: 'hidden',\n }}\n >\n {React.createElement(\n rowMode ? View : React.Fragment,\n rowMode\n ? {\n style: {\n borderRight: 'solid 1px var(--mirai-ui-content-background)',\n minWidth: '50%',\n },\n }\n : undefined,\n <>\n <Skeleton\n color=\"border\"\n style={{ borderRadius: 0, minHeight: !rowMode ? '208px' : 'calc(100svh / 3)' }}\n />\n\n <View row style={{ ...section, gap: '1rem', padding: '0.75rem 1rem' }}>\n <Skeleton small>12 m²</Skeleton>\n <Skeleton small>2p</Skeleton>\n <Skeleton small>King Size</Skeleton>\n </View>\n\n <View style={{ ...section }}>\n <Skeleton headline level={2}>\n Superior Room\n </Skeleton>\n <Skeleton action>Free wifi internet</Skeleton>\n <Skeleton action>Television</Skeleton>\n <Skeleton action>Mini-bar</Skeleton>\n <Skeleton action>Heating</Skeleton>\n <Skeleton action>More Info +</Skeleton>\n </View>\n </>,\n )}\n\n <View style={{ height: '100%' }} wide>\n <View style={{ ...section }}>\n <Skeleton action>Cancellation type</Skeleton>\n <View row={hideRadio}>\n <View {...(hideRadio ? tab : optionContainer)}>\n <View {...option}>\n {!hideRadio && <Skeleton {...radio} />}\n <Skeleton action>Free cancelation</Skeleton>\n </View>\n <Skeleton action>$0.00</Skeleton>\n </View>\n\n <View {...(hideRadio ? tab : optionContainer)}>\n <View {...option}>\n {!hideRadio && <Skeleton {...radio} />}\n <Skeleton action>Free cancelation until apr 10</Skeleton>\n </View>\n <Skeleton action>$19.95</Skeleton>\n </View>\n </View>\n </View>\n\n <View style={{ ...section, flex: 1 }}>\n <Skeleton action>Extras</Skeleton>\n <View row={hideRadio}>\n <View {...(hideRadio ? tab : optionContainer)}>\n <View {...option}>\n {!hideRadio && <Skeleton {...radio} />}\n <Skeleton action>Only room</Skeleton>\n </View>\n <Skeleton action>$0.00</Skeleton>\n </View>\n <View {...(hideRadio ? tab : optionContainer)}>\n <View {...option}>\n {!hideRadio && <Skeleton {...radio} />}\n <Skeleton action>Breakfast included</Skeleton>\n </View>\n <Skeleton action>$19.95</Skeleton>\n </View>\n <View {...(hideRadio ? tab : optionContainer)}>\n <View {...option}>\n {!hideRadio && <Skeleton {...radio} />}\n <Skeleton action>All included</Skeleton>\n </View>\n <Skeleton action>$39.95</Skeleton>\n </View>\n </View>\n </View>\n\n <View row style={{ alignItems: 'flex-end', justifyContent: 'space-between', padding: '1rem' }}>\n <View style={{ gap: '0.5rem' }}>\n <Skeleton small>5% off</Skeleton>\n <Skeleton headline level={2}>\n $199.50\n </Skeleton>\n <Skeleton small>$19.95 per unit & night</Skeleton>\n <Skeleton small>Includes taxes and fees</Skeleton>\n <Skeleton small>Price details +</Skeleton>\n </View>\n\n <Skeleton action style={{ height: '3rem', width: '7rem' }}>\n Reserve\n </Skeleton>\n </View>\n </View>\n </Skeleton>\n ))}\n </View>\n </>\n );\n};\n\nRatesSkeleton.displayName = 'Mirai:Core:Rates:Skeleton';\n\nRatesSkeleton.propTypes = {};\n\nexport default RatesSkeleton;\n"],"mappings":"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"}
|
|
@@ -20,6 +20,8 @@ const DISCOUNT_TYPE = exports.DISCOUNT_TYPE = {
|
|
|
20
20
|
};
|
|
21
21
|
const FEATURES = exports.FEATURES = {
|
|
22
22
|
PESTANA: 'pestana',
|
|
23
|
+
COLUMN_MODE: 'columnMode',
|
|
24
|
+
HIDE_RADIO: 'hideRadio',
|
|
23
25
|
ROW_MODE: 'rowMode',
|
|
24
26
|
SHOW_ALL_BOARDS: 'showAllBoards',
|
|
25
27
|
SHOW_ALL_OFFERS: 'showAllOffers',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.constants.js","names":["BED_TYPE","exports","SINGLE","DOUBLE","DATE_FORMAT","weekday","month","day","DISCOUNT_TYPE","CLUB","DEAL","PROMOTION","FEATURES","PESTANA","ROW_MODE","SHOW_ALL_BOARDS","SHOW_ALL_OFFERS","SHOW_CLUB_DISCOUNT","SHOW_MAX_OCCUPATION","SHOW_OFFERS_FIRST","SHOW_RATE_INCLUDED"],"sources":["../../../src/components/Rates/Rates.constants.js"],"sourcesContent":["const BED_TYPE = {\n SINGLE: 1,\n DOUBLE: 2,\n};\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 PESTANA: 'pestana',\n ROW_MODE: 'rowMode',\n SHOW_ALL_BOARDS: 'showAllBoards',\n SHOW_ALL_OFFERS: 'showAllOffers',\n SHOW_CLUB_DISCOUNT: 'showClubDiscount',\n SHOW_MAX_OCCUPATION: 'showMaxOccupation',\n SHOW_OFFERS_FIRST: 'showOffersFirst',\n SHOW_RATE_INCLUDED: 'showRateIncluded',\n};\n\nexport { BED_TYPE, DATE_FORMAT, DISCOUNT_TYPE, FEATURES };\n"],"mappings":";;;;;;AAAA,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACfE,MAAM,EAAE,CAAC;EACTC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,WAAW,GAAAH,OAAA,CAAAG,WAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAExE,MAAMC,aAAa,GAAAP,OAAA,CAAAO,aAAA,GAAG;EACpBC,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,QAAQ,GAAAX,OAAA,CAAAW,QAAA,GAAG;EACfC,OAAO,EAAE,SAAS;EAClBC,QAAQ,EAAE,SAAS;EACnBC,eAAe,EAAE,eAAe;EAChCC,eAAe,EAAE,eAAe;EAChCC,kBAAkB,EAAE,kBAAkB;EACtCC,mBAAmB,EAAE,mBAAmB;EACxCC,iBAAiB,EAAE,iBAAiB;EACpCC,kBAAkB,EAAE;AACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Rates.constants.js","names":["BED_TYPE","exports","SINGLE","DOUBLE","DATE_FORMAT","weekday","month","day","DISCOUNT_TYPE","CLUB","DEAL","PROMOTION","FEATURES","PESTANA","COLUMN_MODE","HIDE_RADIO","ROW_MODE","SHOW_ALL_BOARDS","SHOW_ALL_OFFERS","SHOW_CLUB_DISCOUNT","SHOW_MAX_OCCUPATION","SHOW_OFFERS_FIRST","SHOW_RATE_INCLUDED"],"sources":["../../../src/components/Rates/Rates.constants.js"],"sourcesContent":["const BED_TYPE = {\n SINGLE: 1,\n DOUBLE: 2,\n};\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 PESTANA: 'pestana',\n COLUMN_MODE: 'columnMode',\n HIDE_RADIO: 'hideRadio',\n ROW_MODE: 'rowMode',\n SHOW_ALL_BOARDS: 'showAllBoards',\n SHOW_ALL_OFFERS: 'showAllOffers',\n SHOW_CLUB_DISCOUNT: 'showClubDiscount',\n SHOW_MAX_OCCUPATION: 'showMaxOccupation',\n SHOW_OFFERS_FIRST: 'showOffersFirst',\n SHOW_RATE_INCLUDED: 'showRateIncluded',\n};\n\nexport { BED_TYPE, DATE_FORMAT, DISCOUNT_TYPE, FEATURES };\n"],"mappings":";;;;;;AAAA,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACfE,MAAM,EAAE,CAAC;EACTC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,WAAW,GAAAH,OAAA,CAAAG,WAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAExE,MAAMC,aAAa,GAAAP,OAAA,CAAAO,aAAA,GAAG;EACpBC,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,QAAQ,GAAAX,OAAA,CAAAW,QAAA,GAAG;EACfC,OAAO,EAAE,SAAS;EAClBC,WAAW,EAAE,YAAY;EACzBC,UAAU,EAAE,WAAW;EACvBC,QAAQ,EAAE,SAAS;EACnBC,eAAe,EAAE,eAAe;EAChCC,eAAe,EAAE,eAAe;EAChCC,kBAAkB,EAAE,kBAAkB;EACtCC,mBAAmB,EAAE,mBAAmB;EACxCC,iBAAiB,EAAE,iBAAiB;EACpCC,kBAAkB,EAAE;AACtB,CAAC"}
|
|
@@ -40,6 +40,7 @@ const Rates = _ref => {
|
|
|
40
40
|
...others
|
|
41
41
|
} = _ref;
|
|
42
42
|
const {
|
|
43
|
+
isDesktop,
|
|
43
44
|
isMobile,
|
|
44
45
|
width
|
|
45
46
|
} = (0, _ui.useDevice)();
|
|
@@ -311,7 +312,10 @@ const Rates = _ref => {
|
|
|
311
312
|
const {
|
|
312
313
|
contentBackground
|
|
313
314
|
} = _ui.Theme.get();
|
|
314
|
-
const features = (0, _helpers.getFeatures)(id, urlParams
|
|
315
|
+
const features = (0, _helpers.getFeatures)(id, urlParams, {
|
|
316
|
+
isDesktop,
|
|
317
|
+
isMobile
|
|
318
|
+
});
|
|
315
319
|
const multiRoom = (occupation === null || occupation === void 0 ? void 0 : occupation.length) > 1 || metaCart.length > 0;
|
|
316
320
|
const nights = (0, _locale.dateDiff)(calendar[0], calendar[1]).days;
|
|
317
321
|
const response = dataSource !== undefined;
|
|
@@ -322,7 +326,6 @@ const Rates = _ref => {
|
|
|
322
326
|
onPress: setRoom
|
|
323
327
|
};
|
|
324
328
|
const showStrictSearch = !!(finder !== null && finder !== void 0 && finder.promocode) || !!(urlParams !== null && urlParams !== void 0 && urlParams.idoffers) || (urlParams === null || urlParams === void 0 ? void 0 : urlParams.roomTypeId);
|
|
325
|
-
const rowMode = !isMobile && features.rowMode;
|
|
326
329
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Header.Header, {
|
|
327
330
|
currency: true,
|
|
328
331
|
locale: true,
|
|
@@ -371,7 +374,6 @@ const Rates = _ref => {
|
|
|
371
374
|
multiRoom,
|
|
372
375
|
nights,
|
|
373
376
|
room,
|
|
374
|
-
rowMode,
|
|
375
377
|
taxesType: dataSource.taxesType,
|
|
376
378
|
key: "".concat(id || index, ":").concat(fetching, ":").concat(width),
|
|
377
379
|
ref: el => refItems.current[id] = el,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_helpers2","_services2","_shared__","_Finder","_Header","_helpers3","_SessionLogin","_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","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","refItems","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","occupation","maxRooms","rates","meta","metaCart","session","urlParams","useStore","cart","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","useEffect","getMetaBoard","then","board","notification","L10N","NOTIFICATION_META_RATE_FOUND","NOTIFICATION_META_RATE_NOT_FOUND","Event","publish","EVENT","NOTIFICATION","contrast","defaultMessage","handleSelect","catch","debounceFetch","multiRoom","current","offsetHeight","offsetTop","scrollTo","trackDataSource","fetchUrlParams","location","search","fetch","nextOccupation","FINDER","checkin","nights","parties","getFinderParams","replaceUrlParams","params","selectedIds","map","join","parseToParties","nextDataSource","ServiceRates","externalSignout","signout","debounce","handleClubDiscount","next","handleStrictSearch","handleFinder","values","nextCart","scrollToRoom","roomId","trackSelectItem","handleSubmit","isPestana","ServiceFeatures","FEATURES","PESTANA","getCheckoutParams","getOccupationTotals","infantAge","hotelCurrency","selectableExtras","some","included","handleCheckout","document","href","getForwarderUrl","window","top","behavior","_refItems$current$roo","getBoundingClientRect","scrollY","contentBackground","Theme","features","getFeatures","dateDiff","days","response","roomSelectorProps","onPress","showStrictSearch","promocode","idoffers","roomTypeId","rowMode","createElement","Fragment","Header","name","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","onClubDiscount","onSelect","onStrictSearch","Cards","items","_ref2","index","item","Item","taxesType","concat","el","selected","onMoreInfo","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport {\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n getMetaBoard,\n signout,\n trackDataSource,\n trackSelectItem,\n} from './helpers';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } 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 { debounce, fetchUrlParams } from '../../helpers';\nimport { ServiceRates } from '../../services';\nimport { Cards } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, parseToParties, replaceUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const refItems = useRef({});\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n occupation: { maxRooms } = {},\n rates: { meta: metaCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n // -- hooks ----------------------------------------------------------------------------------------------------------\n useEffect(() => {\n if (!dataSource || !metaCart.length) return;\n\n getMetaBoard({ cart, dataSource, metaCart })\n .then((board) => {\n const notification = board ? L10N.NOTIFICATION_META_RATE_FOUND : L10N.NOTIFICATION_META_RATE_NOT_FOUND;\n Event.publish(EVENT.NOTIFICATION, { contrast: true, defaultMessage: translate(notification, urlParams) });\n if (board) handleSelect(board);\n })\n .catch(() => set({ rates: undefined }));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, metaCart]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n scrollTo(offsetTop + (isMobile ? offsetHeight : 0));\n }\n setDataSource();\n }\n\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n trackDataSource({ ...dataSource, ...fetchUrlParams(location.search), isMobile, occupation, place });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n // -- methods --------------------------------------------------------------------------------------------------------\n const fetch = async (room, nextOccupation = occupation) => {\n if (skeleton) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n setFetching(true);\n setResponseError();\n\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n\n const params = {\n ...urlParams,\n club,\n clubDiscount,\n id,\n locale,\n maxRooms,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ id } = {}) => id).join(','),\n session,\n strictSearch,\n };\n if (room !== undefined) params.parties = parseToParties([nextOccupation[room || 0]]);\n\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && nextOccupation?.length > 1 && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleClubDiscount = async (next) => {\n setClubDiscount(next);\n login && setLogin(false);\n };\n\n const handleStrictSearch = (value) => {\n setStrictSearch(value);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n debounceFetch(undefined, values.occupation);\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 trackSelectItem({\n ...dataSource,\n ...fetchUrlParams(location.search),\n board,\n cart: nextCart,\n isMobile,\n occupation,\n });\n }\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (multiRoom && !board) set({ rates: undefined });\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: fetchUrlParams(location.search) }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\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 = []) => {\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n extras,\n forwarder,\n session,\n urlParams: fetchUrlParams(location.search),\n });\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n\n if (top) scrollTo(top + window.scrollY - (isMobile ? 16 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const features = getFeatures(id, urlParams);\n const multiRoom = occupation?.length > 1 || metaCart.length > 0;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const showStrictSearch = !!finder?.promocode || !!urlParams?.idoffers || urlParams?.roomTypeId;\n const rowMode = !isMobile && features.rowMode;\n\n return (\n <>\n <Header currency locale login name />\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 <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n clubDiscount,\n dataSource,\n features,\n multiRoom,\n showStrictSearch,\n strictSearch,\n onClubDiscount: handleClubDiscount,\n onSelect: handleSelect,\n onStrictSearch: handleStrictSearch,\n }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n {...item}\n {...{ id, cart, features, multiRoom, nights, room, rowMode, taxesType: dataSource.taxesType }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </Cards>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && (\n <Footer {...{ cart, dataSource, extras, login, occupation }} onSubmit={() => handleSubmit(cart)} />\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 <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => (multiRoom ? setLogin(false) : handleSelect())}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\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","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_helpers2","_services2","_shared__","_Finder","_Header","_helpers3","_SessionLogin","_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","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isDesktop","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","refItems","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","occupation","maxRooms","rates","meta","metaCart","session","urlParams","useStore","cart","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","useEffect","getMetaBoard","then","board","notification","L10N","NOTIFICATION_META_RATE_FOUND","NOTIFICATION_META_RATE_NOT_FOUND","Event","publish","EVENT","NOTIFICATION","contrast","defaultMessage","handleSelect","catch","debounceFetch","multiRoom","current","offsetHeight","offsetTop","scrollTo","trackDataSource","fetchUrlParams","location","search","fetch","nextOccupation","FINDER","checkin","nights","parties","getFinderParams","replaceUrlParams","params","selectedIds","map","join","parseToParties","nextDataSource","ServiceRates","externalSignout","signout","debounce","handleClubDiscount","next","handleStrictSearch","handleFinder","values","nextCart","scrollToRoom","roomId","trackSelectItem","handleSubmit","isPestana","ServiceFeatures","FEATURES","PESTANA","getCheckoutParams","getOccupationTotals","infantAge","hotelCurrency","selectableExtras","some","included","handleCheckout","document","href","getForwarderUrl","window","top","behavior","_refItems$current$roo","getBoundingClientRect","scrollY","contentBackground","Theme","features","getFeatures","dateDiff","days","response","roomSelectorProps","onPress","showStrictSearch","promocode","idoffers","roomTypeId","createElement","Fragment","Header","name","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","onClubDiscount","onSelect","onStrictSearch","Cards","items","_ref2","index","item","Item","taxesType","concat","el","selected","onMoreInfo","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport {\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n getMetaBoard,\n signout,\n trackDataSource,\n trackSelectItem,\n} from './helpers';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } 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 { debounce, fetchUrlParams } from '../../helpers';\nimport { ServiceRates } from '../../services';\nimport { Cards } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, parseToParties, replaceUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const refItems = useRef({});\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n occupation: { maxRooms } = {},\n rates: { meta: metaCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n // -- hooks ----------------------------------------------------------------------------------------------------------\n useEffect(() => {\n if (!dataSource || !metaCart.length) return;\n\n getMetaBoard({ cart, dataSource, metaCart })\n .then((board) => {\n const notification = board ? L10N.NOTIFICATION_META_RATE_FOUND : L10N.NOTIFICATION_META_RATE_NOT_FOUND;\n Event.publish(EVENT.NOTIFICATION, { contrast: true, defaultMessage: translate(notification, urlParams) });\n if (board) handleSelect(board);\n })\n .catch(() => set({ rates: undefined }));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, metaCart]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n scrollTo(offsetTop + (isMobile ? offsetHeight : 0));\n }\n setDataSource();\n }\n\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n trackDataSource({ ...dataSource, ...fetchUrlParams(location.search), isMobile, occupation, place });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n // -- methods --------------------------------------------------------------------------------------------------------\n const fetch = async (room, nextOccupation = occupation) => {\n if (skeleton) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n setFetching(true);\n setResponseError();\n\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n\n const params = {\n ...urlParams,\n club,\n clubDiscount,\n id,\n locale,\n maxRooms,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ id } = {}) => id).join(','),\n session,\n strictSearch,\n };\n if (room !== undefined) params.parties = parseToParties([nextOccupation[room || 0]]);\n\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && nextOccupation?.length > 1 && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleClubDiscount = async (next) => {\n setClubDiscount(next);\n login && setLogin(false);\n };\n\n const handleStrictSearch = (value) => {\n setStrictSearch(value);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n debounceFetch(undefined, values.occupation);\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 trackSelectItem({\n ...dataSource,\n ...fetchUrlParams(location.search),\n board,\n cart: nextCart,\n isMobile,\n occupation,\n });\n }\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (multiRoom && !board) set({ rates: undefined });\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: fetchUrlParams(location.search) }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\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 = []) => {\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n extras,\n forwarder,\n session,\n urlParams: fetchUrlParams(location.search),\n });\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n\n if (top) scrollTo(top + window.scrollY - (isMobile ? 16 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const features = getFeatures(id, urlParams, { isDesktop, isMobile });\n const multiRoom = occupation?.length > 1 || metaCart.length > 0;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const showStrictSearch = !!finder?.promocode || !!urlParams?.idoffers || urlParams?.roomTypeId;\n\n return (\n <>\n <Header currency locale login name />\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 <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n clubDiscount,\n dataSource,\n features,\n multiRoom,\n showStrictSearch,\n strictSearch,\n onClubDiscount: handleClubDiscount,\n onSelect: handleSelect,\n onStrictSearch: handleStrictSearch,\n }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n {...item}\n {...{\n id,\n cart,\n features,\n multiRoom,\n nights,\n room,\n taxesType: dataSource.taxesType,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </Cards>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && (\n <Footer {...{ cart, dataSource, extras, login, occupation }} onSubmit={() => handleSubmit(cart)} />\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 <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => (multiRoom ? setLogin(false) : handleSelect())}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAC,uBAAA,CAAAP,OAAA;AAEA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AAUA,IAAAU,MAAA,GAAAV,OAAA;AACA,IAAAW,OAAA,GAAAX,OAAA;AACA,IAAAY,OAAA,GAAAZ,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA;AACA,IAAAc,OAAA,GAAAd,OAAA;AACA,IAAAe,KAAA,GAAAR,uBAAA,CAAAP,OAAA;AACA,IAAAgB,OAAA,GAAAhB,OAAA;AACA,IAAAiB,OAAA,GAAAZ,sBAAA,CAAAL,OAAA;AACA,IAAAkB,OAAA,GAAAlB,OAAA;AACA,IAAAmB,SAAA,GAAAnB,OAAA;AACA,IAAAoB,UAAA,GAAApB,OAAA;AACA,IAAAqB,SAAA,GAAArB,OAAA;AACA,IAAAsB,OAAA,GAAAtB,OAAA;AACA,IAAAuB,OAAA,GAAAvB,OAAA;AACA,IAAAwB,SAAA,GAAAxB,OAAA;AACA,IAAAyB,aAAA,GAAAzB,OAAA;AAAqE,SAAA0B,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,SAAApB,wBAAAoB,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,SAAA9B,uBAAA0C,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;AAErE,IAAIK,UAAU,GAAG,KAAK;AAEtB,MAAMC,KAAK,GAAGC,IAAA,IAA6B;EAAA,IAAAC,iBAAA,EAAAC,kBAAA,EAAAC,kBAAA;EAAA,IAA5B;IAAEC,QAAQ;IAAE,GAAGC;EAAO,CAAC,GAAAL,IAAA;EACpC,MAAM;IAAEM,SAAS;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAClD,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAMC,eAAe,GAAG,IAAAC,aAAM,EAAC,CAAC;EAChC,MAAMC,QAAQ,GAAG,IAAAD,aAAM,EAAC,CAAC,CAAC,CAAC;EAC3B,MAAM;IACJ1B,GAAG;IACH4B,KAAK,EAAE;MACLC,IAAI,EAAE;QAAEC,QAAQ;QAAE,GAAGD;MAAK,CAAC,GAAG,CAAC,CAAC;MAChCE,QAAQ;MACRC,MAAM,GAAG,CAAC,CAAC;MACXC,SAAS;MACTC,KAAK,GAAG,CAAC,CAAC;MACVC,EAAE;MACFC,QAAQ;MACRC,MAAM;MACNC,UAAU,EAAE;QAAEC;MAAS,CAAC,GAAG,CAAC,CAAC;MAC7BC,KAAK,EAAE;QAAEC,IAAI,EAAEC,QAAQ,GAAG;MAAG,CAAC,GAAG,CAAC,CAAC;MACnCC,OAAO;MACPC;IACF;EACF,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,EAAE,CAAC;EACpC,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAF,eAAQ,EAAClB,QAAQ,CAAC;EAC1D,MAAM,CAACqB,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAJ,eAAQ,EAAC,CAAC;EAC9C,MAAM,CAACK,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAN,eAAQ,EAAC,CAAC;EACtC,MAAM,CAACO,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAR,eAAQ,EAACS,SAAS,CAAC;EACnD,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAX,eAAQ,EAAC,CAAC;EAC1C,MAAM,CAACY,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAb,eAAQ,EAAC,CAAC;EAClD,MAAM,CAACc,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAf,eAAQ,EAAC,CAAC;EACxC,MAAM,CAACgB,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAjB,eAAQ,EAAC,KAAK,CAAC;EACzC,MAAM,CAACkB,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAnB,eAAQ,EAAC,CAAC;EACpD,MAAM,CAACoB,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAArB,eAAQ,EAAC,CAAC;EAClC,MAAM,CAACsB,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAvB,eAAQ,EAAC,CAAC;EAElD,MAAM;IAAEwB,QAAQ,GAAG,EAAE;IAAElC,UAAU,GAAG,EAAE;IAAEmC,KAAK,GAAG,CAAC;EAAE,CAAC,GAAGzC,MAAM;;EAE7D;EACA,IAAA0C,gBAAS,EAAC,MAAMzD,QAAQ,IAAIuC,WAAW,CAAC,IAAI,CAAC,EAAE,CAACvC,QAAQ,CAAC,CAAC;;EAE1D;EACA,IAAAyD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACvB,UAAU,IAAI,CAACT,QAAQ,CAACnC,MAAM,EAAE;IAErC,IAAAoE,qBAAY,EAAC;MAAE7B,IAAI;MAAEK,UAAU;MAAET;IAAS,CAAC,CAAC,CACzCkC,IAAI,CAAEC,KAAK,IAAK;MACf,MAAMC,YAAY,GAAGD,KAAK,GAAGE,YAAI,CAACC,4BAA4B,GAAGD,YAAI,CAACE,gCAAgC;MACtGC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,YAAY,EAAE;QAAEC,QAAQ,EAAE,IAAI;QAAEC,cAAc,EAAEhE,SAAS,CAACuD,YAAY,EAAElC,SAAS;MAAE,CAAC,CAAC;MACzG,IAAIiC,KAAK,EAAEW,YAAY,CAACX,KAAK,CAAC;IAChC,CAAC,CAAC,CACDY,KAAK,CAAC,MAAMzF,GAAG,CAAC;MAAEwC,KAAK,EAAEiB;IAAU,CAAC,CAAC,CAAC;;IAEzC;EACF,CAAC,EAAE,CAACN,UAAU,EAAET,QAAQ,CAAC,CAAC;EAE1B,IAAAgC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACzB,YAAY,IAAI,CAAClB,QAAQ,IAAI,CAACY,OAAO,IAAI2B,YAAY,KAAKb,SAAS,EAAE;IAE1EV,OAAO,CAAC,EAAE,CAAC;IACXsB,OAAO,CAACZ,SAAS,CAAC;IAClBiC,aAAa,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAACzC,YAAY,EAAElB,QAAQ,EAAEY,OAAO,EAAE2B,YAAY,CAAC,CAAC;EAEnD,IAAAI,gBAAS,EAAC,MAAM;IACd,IAAI,CAACrC,MAAM,EAAE;IACbqD,aAAa,CAACtB,IAAI,CAAC;IACnB;EACF,CAAC,EAAE,CAAC/B,MAAM,CAAC,CAAC;EAEZ,IAAAqC,gBAAS,EAAC,MAAM;IACd,IAAIiB,SAAS,EAAE;MACb,IAAIvB,IAAI,GAAG,CAAC,EAAE;QACZ,MAAM;UAAEwB,OAAO,EAAE;YAAEC,YAAY,GAAG,CAAC;YAAEC,SAAS,GAAG;UAAE,CAAC,GAAG,CAAC;QAAE,CAAC,GAAGrE,eAAe,IAAI,CAAC,CAAC;QACnFsE,QAAQ,CAACD,SAAS,IAAI1E,QAAQ,GAAGyE,YAAY,GAAG,CAAC,CAAC,CAAC;MACrD;MACAzC,aAAa,CAAC,CAAC;IACjB;IAEAsC,aAAa,CAACtB,IAAI,CAAC;IACnB;EACF,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,IAAAM,gBAAS,EAAC,MAAM;IACd,IAAI,CAACvB,UAAU,IAAIiB,IAAI,EAAE;IACzB,IAAA4B,wBAAe,EAAC;MAAE,GAAG7C,UAAU;MAAE,GAAG,IAAA8C,wBAAc,EAACC,QAAQ,CAACC,MAAM,CAAC;MAAE/E,QAAQ;MAAEkB,UAAU;MAAEmC;IAAM,CAAC,CAAC;IACnG;EACF,CAAC,EAAE,CAACtB,UAAU,CAAC,CAAC;;EAEhB;EACA,MAAMiD,KAAK,GAAG,eAAAA,CAAOhC,IAAI,EAAkC;IAAA,IAAhCiC,cAAc,GAAA/F,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmD,SAAA,GAAAnD,SAAA,MAAGgC,UAAU;IACpD,IAAIrB,QAAQ,EAAE;IAEdiE,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACkB,MAAM,EAAE;MAAE9B,QAAQ,EAAEf;IAAU,CAAC,CAAC;IACpDD,WAAW,CAAC,IAAI,CAAC;IACjBW,gBAAgB,CAAC,CAAC;IAElB,IAAIvB,SAAS,GAAG,IAAAqD,wBAAc,EAACC,QAAQ,CAACC,MAAM,CAAC;IAC/C,IAAI,CAACvD,SAAS,CAAC2D,OAAO,IAAI,CAAC3D,SAAS,CAAC4D,MAAM,IAAI,CAAC5D,SAAS,CAAC6D,OAAO,EAAE;MACjE7D,SAAS,GAAG;QAAE,GAAGA,SAAS;QAAE,GAAG,IAAA8D,wBAAe,EAAC;UAAE,GAAG1E,MAAM;UAAEE;QAAM,CAAC;MAAE,CAAC;MACtE,IAAAyE,0BAAgB,EAAC/D,SAAS,CAAC;IAC7B;IAEA,MAAMgE,MAAM,GAAG;MACb,GAAGhE,SAAS;MACZf,IAAI;MACJoB,YAAY;MACZd,EAAE;MACFE,MAAM;MACNE,QAAQ;MACRD,UAAU,EAAE+D,cAAc;MAC1B5B,KAAK;MACLoC,WAAW,EAAE/D,IAAI,CAACgE,GAAG,CAAC;QAAA,IAAC;UAAE3E;QAAG,CAAC,GAAA7B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmD,SAAA,GAAAnD,SAAA,MAAG,CAAC,CAAC;QAAA,OAAK6B,EAAE;MAAA,EAAC,CAAC4E,IAAI,CAAC,GAAG,CAAC;MACpDpE,OAAO;MACP2B;IACF,CAAC;IACD,IAAIF,IAAI,KAAKX,SAAS,EAAEmD,MAAM,CAACH,OAAO,GAAG,IAAAO,wBAAc,EAAC,CAACX,cAAc,CAACjC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpF,MAAM6C,cAAc,GAAG,MAAMC,uBAAY,CAAC9H,GAAG,CAACwH,MAAM,CAAC,CAACnB,KAAK,CAACtB,gBAAgB,CAAC;IAC7E,IAAI8C,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAEE,eAAe,EAAE,IAAAC,gBAAO,EAAC;MAAEvF,IAAI;MAAEO;IAAS,CAAC,CAAC,CAAC,KAC5DgB,aAAa,CAAC6D,cAAc,CAAC;IAElC,IAAIA,cAAc,IAAI,CAAAZ,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAE9F,MAAM,IAAG,CAAC,IAAI6D,IAAI,KAAKX,SAAS,EAAEY,OAAO,CAAC,CAAC,CAAC;IAElFb,WAAW,CAAC,KAAK,CAAC;EACpB,CAAC;EAED,MAAMkC,aAAa,GAAG,IAAA2B,kBAAQ,EAACjB,KAAK,EAAE,EAAE,CAAC;;EAEzC;EACA,MAAMkB,kBAAkB,GAAG,MAAOC,IAAI,IAAK;IACzCrE,eAAe,CAACqE,IAAI,CAAC;IACrBvD,KAAK,IAAIC,QAAQ,CAAC,KAAK,CAAC;EAC1B,CAAC;EAED,MAAMuD,kBAAkB,GAAI5F,KAAK,IAAK;IACpC2C,eAAe,CAAC3C,KAAK,CAAC;EACxB,CAAC;EAED,MAAM6F,YAAY,GAAG,SAAAA,CAAA,EAAiB;IAAA,IAAhBC,MAAM,GAAApH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmD,SAAA,GAAAnD,SAAA,MAAG,CAAC,CAAC;IAC/ByC,OAAO,CAAC,EAAE,CAAC;IACXK,aAAa,CAACK,SAAS,CAAC;IACxBsC,QAAQ,CAAC,CAAC,CAAC;IAEX,IAAAY,0BAAgB,EAAC,IAAAD,wBAAe,EAAC;MAAE,GAAGgB,MAAM;MAAExF;IAAM,CAAC,CAAC,CAAC;IACvDwD,aAAa,CAACjC,SAAS,EAAEiE,MAAM,CAACpF,UAAU,CAAC;EAC7C,CAAC;EAED,MAAMkD,YAAY,GAAGA,CAACX,KAAK,EAAE3D,MAAM,KAAK;IACtC,MAAMyG,QAAQ,GAAG,CAAC,GAAG7E,IAAI,CAAC;IAC1B6E,QAAQ,CAACvD,IAAI,IAAI,CAAC,CAAC,GAAGS,KAAK,GAAG;MAAE,GAAGA,KAAK;MAAE,GAAG3D;IAAO,CAAC,GAAGuC,SAAS;IAEjE,IAAIoB,KAAK,EAAE;MACT+C,YAAY,CAAC/C,KAAK,CAACgD,MAAM,CAAC;MAE1B,IAAAC,wBAAe,EAAC;QACd,GAAG3E,UAAU;QACb,GAAG,IAAA8C,wBAAc,EAACC,QAAQ,CAACC,MAAM,CAAC;QAClCtB,KAAK;QACL/B,IAAI,EAAE6E,QAAQ;QACdvG,QAAQ;QACRkB;MACF,CAAC,CAAC;IACJ;IAEAS,OAAO,CAAC4E,QAAQ,CAAC;IACjBrE,SAAS,CAAC,CAAC;IACXU,KAAK,IAAIC,QAAQ,CAAC,KAAK,CAAC;IAExB,IAAI,CAAC0B,SAAS,IAAI,CAAC,CAACd,KAAK,EAAEkD,YAAY,CAACJ,QAAQ,CAAC;IACjD,IAAIhC,SAAS,IAAId,KAAK,IAAIT,IAAI,GAAG9B,UAAU,CAAC/B,MAAM,GAAG,CAAC,EAAE,OAAO8D,OAAO,CAACD,IAAI,GAAG,CAAC,CAAC;IAChF,IAAIuB,SAAS,IAAI,CAACd,KAAK,EAAE7E,GAAG,CAAC;MAAEwC,KAAK,EAAEiB;IAAU,CAAC,CAAC;EACpD,CAAC;;EAED;EACA,MAAMsE,YAAY,GAAG,MAAOjF,IAAI,IAAK;IACnC,MAAMkF,SAAS,GAAGC,yBAAe,CAAC7I,GAAG,CAAC8I,eAAQ,CAACC,OAAO,EAAEhG,EAAE,CAAC,IAAI,KAAK;IACpE8B,QAAQ,CAAC,KAAK,CAAC;IAEf,IAAI,CAAC+D,SAAS,IAAI/E,YAAY,IAAI,CAACN,OAAO,IAAI,CAAChC,UAAU,EAAE;MACzDA,UAAU,GAAG,IAAI;MACjB,OAAOsD,QAAQ,CAAC,IAAI,CAAC;IACvB;IAEA,MAAM;MAAEZ,MAAM,GAAG;IAAG,CAAC,GAAG,MAAM6D,uBAAY,CAAC7D,MAAM,CAAC;MAChD,GAAG,IAAA+E,0BAAiB,EAAC;QAAEtF,IAAI;QAAEG,YAAY;QAAElB,QAAQ;QAAEE,SAAS;QAAEW,SAAS,EAAE,IAAAqD,wBAAc,EAACC,QAAQ,CAACC,MAAM;MAAE,CAAC,CAAC;MAC7G,GAAG,IAAAkC,6BAAmB,EAAC;QAAEC,SAAS,EAAEnF,UAAU,CAACmF,SAAS;QAAEhG;MAAW,CAAC,CAAC;MACvEiG,aAAa,EAAEpF,UAAU,CAACpB,QAAQ;MAClCM;IACF,CAAC,CAAC,CAACoD,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAClB,MAAM+C,gBAAgB,GAAGnF,MAAM,CAACoF,IAAI,CAAC;MAAA,IAAC;QAAEC;MAAS,CAAC,GAAApI,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmD,SAAA,GAAAnD,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK,CAACoI,QAAQ;IAAA,EAAC;IAEtE,IAAIF,gBAAgB,EAAElF,SAAS,CAACD,MAAM,CAAC,CAAC,KACnCsF,cAAc,CAAC7F,IAAI,EAAEO,MAAM,CAAC;EACnC,CAAC;EAED,MAAMsF,cAAc,GAAG,SAAAA,CAAA,EAA4B;IAAA,IAA3B7F,IAAI,GAAAxC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmD,SAAA,GAAAnD,SAAA,MAAG,EAAE;IAAA,IAAE+C,MAAM,GAAA/C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmD,SAAA,GAAAnD,SAAA,MAAG,EAAE;IAC5CsI,QAAQ,CAAC1C,QAAQ,CAAC2C,IAAI,GAAG,IAAAC,wBAAe,EAAC;MACvChG,IAAI;MACJG,YAAY;MACZlB,QAAQ;MACRsB,MAAM;MACNpB,SAAS;MACTU,OAAO;MACPC,SAAS,EAAE,IAAAqD,wBAAc,EAACC,QAAQ,CAACC,MAAM;IAC3C,CAAC,CAAC;EACJ,CAAC;EAED,MAAMJ,QAAQ,GAAG,SAAAA,CAAA;IAAA,IAACnE,KAAK,GAAAtB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmD,SAAA,GAAAnD,SAAA,MAAG,CAAC;IAAA,OAAKyI,MAAM,CAAChD,QAAQ,CAAC;MAAEiD,GAAG,EAAEpH,KAAK;MAAEqH,QAAQ,EAAE;IAAS,CAAC,CAAC;EAAA;EAEnF,MAAMrB,YAAY,GAAIC,MAAM,IAAK;IAAA,IAAAqB,qBAAA;IAC/B,MAAM;MAAEF;IAAI,CAAC,GAAG,CAAArH,QAAQ,aAARA,QAAQ,wBAAAuH,qBAAA,GAARvH,QAAQ,CAAEiE,OAAO,CAACiC,MAAM,CAAC,cAAAqB,qBAAA,uBAAzBA,qBAAA,CAA2BC,qBAAqB,CAAC,CAAC,KAAI,CAAC,CAAC;IAExE,IAAIH,GAAG,EAAEjD,QAAQ,CAACiD,GAAG,GAAGD,MAAM,CAACK,OAAO,IAAIhI,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;EACpE,CAAC;EAED,MAAM;IAAEiI;EAAkB,CAAC,GAAGC,SAAK,CAAClK,GAAG,CAAC,CAAC;EACzC,MAAMmK,QAAQ,GAAG,IAAAC,oBAAW,EAACrH,EAAE,EAAES,SAAS,EAAE;IAAEzB,SAAS;IAAEC;EAAS,CAAC,CAAC;EACpE,MAAMuE,SAAS,GAAG,CAAArD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE/B,MAAM,IAAG,CAAC,IAAImC,QAAQ,CAACnC,MAAM,GAAG,CAAC;EAC/D,MAAMiG,MAAM,GAAG,IAAAiD,gBAAQ,EAACjF,QAAQ,CAAC,CAAC,CAAC,EAAEA,QAAQ,CAAC,CAAC,CAAC,CAAC,CAACkF,IAAI;EACtD,MAAMC,QAAQ,GAAGxG,UAAU,KAAKM,SAAS;EACzC,MAAMmG,iBAAiB,GAAG;IAAE9G,IAAI;IAAER,UAAU;IAAE8B,IAAI;IAAEyF,OAAO,EAAExF;EAAQ,CAAC;EACtE,MAAMyF,gBAAgB,GAAG,CAAC,EAAC9H,MAAM,aAANA,MAAM,eAANA,MAAM,CAAE+H,SAAS,KAAI,CAAC,EAACnH,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEoH,QAAQ,MAAIpH,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEqH,UAAU;EAE9F,oBACEzM,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAA1M,MAAA,CAAA0B,OAAA,CAAAiL,QAAA,qBACE3M,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACzL,OAAA,CAAA2L,MAAM;IAACrI,QAAQ;IAACM,MAAM;IAAC2B,KAAK;IAACqG,IAAI;EAAA,CAAE,CAAC,eAErC7M,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAC7M,GAAA,CAAAiN,IAAI;IACHC,GAAG,EAAE9I,eAAgB;IACrB+I,SAAS,EAAE,IAAAC,UAAM,EAACxM,KAAK,CAAC+D,MAAM,EAAE/D,KAAK,CAACyM,IAAI,EAAE,CAAC,CAAC/E,SAAS,IAAIzB,aAAa,KAAKjG,KAAK,CAAC0M,MAAM,CAAE;IAC3F1M,KAAK,EAAE,CAACmD,QAAQ,GAAG;MAAEwJ,eAAe,EAAE,IAAAC,iBAAO,EAACxB,iBAAiB,EAAE,IAAI;IAAE,CAAC,GAAG5F;EAAU,gBAErFjG,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAC1L,OAAA,CAAAsM,MAAM;IAACC,QAAQ,EAAE,CAAC3J,QAAS;IAAC4J,SAAS;IAACC,IAAI,EAAE1J,SAAS,CAACwD,YAAI,CAACmG,aAAa,CAAE;IAACC,QAAQ,EAAE1D;EAAa,CAAE,CACjG,CAAC,eAEPjK,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAC7M,GAAA,CAAA+N,QAAQ;IAACC,aAAa;IAACC,OAAO,EAAE/H,QAAQ,IAAI,CAACW,aAAc;IAACsG,SAAS,EAAEvM,KAAK,CAACsN;EAAS,CAAE,CAAC,EAEzFnK,QAAQ,IAAI,CAAC8C,aAAa,iBAAI1G,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAChM,OAAA,CAAAsN,YAAY,EAAK5B,iBAAoB,CAAC,eAEtEpM,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAC7M,GAAA,CAAAiN,IAAI;IAACmB,IAAI,EAAC,OAAO;IAACC,MAAM,EAAExK,MAAM,CAACwK,MAAO;IAAClB,SAAS,EAAE,IAAAC,UAAM,EAACxM,KAAK,CAAC0N,SAAS,EAAEzK,MAAM,CAACsJ,SAAS;EAAE,gBAC7FhN,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAC7M,GAAA,CAAAiN,IAAI;IAACE,SAAS,EAAE,CAACvM,KAAK,CAAC2N,OAAO,EAAE3N,KAAK,CAAC4N,OAAO;EAAE,GAC7C,CAAC3H,aAAa,iBAAI1G,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACrM,OAAA,CAAAiO,OAAO,EAAA5L,QAAA,KAAKiD,UAAU,EAAMjC,MAAM,CAAG,CAAC,EAEzD,CAACyI,QAAQ,IAAKhE,SAAS,IAAI,CAACzB,aAAc,kBACzC1G,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACnM,OAAA,CAAAqM,MAAW;IAERnH,YAAY;IACZE,UAAU;IACVoG,QAAQ;IACR5D,SAAS;IACTmE,gBAAgB;IAChBxF,YAAY;IACZyH,cAAc,EAAEzE,kBAAkB;IAClC0E,QAAQ,EAAExG,YAAY;IACtByG,cAAc,EAAEzE;EAAkB,GAGnC,CAACpG,QAAQ,iBAAI5D,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAChM,OAAA,CAAAsN,YAAY,EAAK5B,iBAAoB,CACzC,CACd,EAEAD,QAAQ,gBACPnM,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAC3L,SAAA,CAAA2N,KAAK,SAAApL,iBAAA,GACHqC,UAAU,CAACgJ,KAAK,cAAArL,iBAAA,uBAAhBA,iBAAA,CAAkBgG,GAAG,CAAC,CAAAsF,KAAA,EAAkBC,KAAK;IAAA,IAAtB;MAAElK,EAAE;MAAE,GAAGmK;IAAK,CAAC,GAAAF,KAAA;IAAA,oBACrC5O,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACxM,WAAA,CAAA6O,IAAI,EAAArM,QAAA,KACCoM,IAAI;MAENnK,EAAE;MACFW,IAAI;MACJyG,QAAQ;MACR5D,SAAS;MACTa,MAAM;MACNpC,IAAI;MACJoI,SAAS,EAAErJ,UAAU,CAACqJ,SAAS;MAEjC/L,GAAG,KAAAgM,MAAA,CAAKtK,EAAE,IAAIkK,KAAK,OAAAI,MAAA,CAAIlJ,QAAQ,OAAAkJ,MAAA,CAAIpL,KAAK,CAAG;MAC3CkJ,GAAG,EAAGmC,EAAE,IAAM/K,QAAQ,CAACiE,OAAO,CAACzD,EAAE,CAAC,GAAGuK,EAAI;MACzCC,QAAQ,EAAE7J,IAAI,CAACsB,IAAI,IAAI,CAAC,CAAE;MAC1BwI,UAAU,EAAEA,CAAA,KAAMjJ,WAAW,CAAC2I,IAAI,CAAE;MACpCO,UAAU,EAAGC,IAAI,IAAKjJ,eAAe,CAAC;QAAE,GAAGiJ,IAAI;QAAEzC,IAAI,EAAEiC,IAAI,CAACjC;MAAK,CAAC,CAAE;MACpE2B,QAAQ,EAAExG,YAAa;MACvBuH,SAAS,EAAGC,IAAI,IAAKjJ,UAAU,CAACiJ,IAAI;IAAE,EACvC,CAAC;EAAA,CACH,CAAC,GAAAjM,kBAAA,GAEDoC,UAAU,CAAC8J,MAAM,cAAAlM,kBAAA,uBAAjBA,kBAAA,CAAmB+F,GAAG,CAAC;IAAA,IAACwF,IAAI,GAAAhM,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmD,SAAA,GAAAnD,SAAA,MAAG,CAAC,CAAC;IAAA,oBAChC9C,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACxM,WAAA,CAAAwP,SAAS,EAAAhN,QAAA;MAACO,GAAG,EAAE6L,IAAI,CAACnK;IAAG,GAAKmK,IAAI,CAAG,CAAC;EAAA,CACtC,CACI,CAAC,GACNpI,aAAa,gBACf1G,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAC9L,OAAA,CAAA+O,cAAc,EAAKjJ,aAAgB,CAAC,gBAErC1G,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAC/L,OAAA,CAAAe,OAAQ;IAACyG,SAAS,EAAEA;EAAU,CAAE,CAE/B,CAAC,EAENA,SAAS,iBACRnI,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACpM,OAAA,CAAAsP,MAAM;IAAOtK,IAAI;IAAEK,UAAU;IAAEE,MAAM;IAAEW,KAAK;IAAE1B,UAAU;IAAI6I,QAAQ,EAAEA,CAAA,KAAMpD,YAAY,CAACjF,IAAI;EAAE,CAAE,CAEhG,CAAC,EAEN6G,QAAQ,iBACPnM,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAA1M,MAAA,CAAA0B,OAAA,CAAAiL,QAAA,qBACE3M,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACxM,WAAA,CAAA2P,aAAa,EAAAnN,QAAA,KACHwD,QAAQ;IAAE6F,QAAQ;IAAEnF,IAAI;IACjCkH,OAAO,EAAE,CAAC,CAAC5H,QAAS;IACpB4J,OAAO,EAAEA,CAAA,KAAM3J,WAAW,CAAC,CAAE;IAC7BoJ,SAAS,EAAGC,IAAI,IAAKjJ,UAAU,CAACiJ,IAAI;EAAE,EACvC,CAAC,eACFxP,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACxM,WAAA,CAAA6P,iBAAiB,EAAArN,QAAA,KAAK0D,YAAY;IAAE0H,OAAO,EAAE,CAAC,CAAC1H,YAAa;IAAC0J,OAAO,EAAEA,CAAA,KAAMzJ,eAAe,CAAC;EAAE,EAAE,CAAC,eAClGrG,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACxM,WAAA,CAAA8P,YAAY,EAAAtN,QAAA,KAAK4D,OAAO;IAAEwH,OAAO,EAAE,CAAC,CAACxH,OAAQ;IAACwJ,OAAO,EAAEA,CAAA,KAAMvJ,UAAU,CAAC;EAAE,EAAE,CAAC,eAC9EvG,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACxM,WAAA,CAAA+P,WAAW,EAAAvN,QAAA,KACDiD,UAAU;IAAEL,IAAI;IAAEO,MAAM;IACjCiI,OAAO,EAAE,CAAC,CAACjI,MAAO;IAClBqK,QAAQ,EAAEA,CAAA,KAAO/H,SAAS,GAAGrC,SAAS,CAAC,CAAC,GAAGkC,YAAY,CAAC,CAAG;IAC3D2F,QAAQ,EAAG9H,MAAM,IAAKsF,cAAc,CAAC7F,IAAI,EAAEO,MAAM;EAAE,EACpD,CAAC,EACDxB,IAAI,CAAC8L,MAAM,IAAI,EAAA3M,kBAAA,GAAAmC,UAAU,CAACgJ,KAAK,cAAAnL,kBAAA,uBAAhBA,kBAAA,CAAkBT,MAAM,IAAG,CAAC,iBAC1C/C,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACvL,aAAA,CAAAiP,KAAU;IACTC,UAAU,EAAE,KAAM;IAClBC,KAAK,EAAEvM,SAAS,CAACwD,YAAI,CAACgJ,4BAA4B,CAAE;IACpDzC,OAAO,EAAEtH,KAAM;IACfsJ,OAAO,EAAEA,CAAA,KAAO3H,SAAS,GAAG1B,QAAQ,CAAC,KAAK,CAAC,GAAGuB,YAAY,CAAC,CAAG;IAC9DwI,SAAS,EAAEA,CAAA,KAAMjG,YAAY,CAACjF,IAAI;EAAE,gBAEpCtF,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACxM,WAAA,CAAAuQ,QAAQ;IAACP,QAAQ,EAAEA,CAAA,KAAMpG,kBAAkB,CAAC,KAAK,CAAE;IAAC6D,QAAQ,EAAEA,CAAA,KAAMpD,YAAY,CAACjF,IAAI;EAAE,CAAE,CAChF,CAEd,CAEJ,CAAC;AAEP,CAAC;AAACoL,OAAA,CAAAtN,KAAA,GAAAA,KAAA;AAEFA,KAAK,CAACuN,WAAW,GAAG,kBAAkB;AAEtCvN,KAAK,CAACwN,SAAS,GAAG;EAChBnN,QAAQ,EAAEoN,kBAAS,CAACC;AACtB,CAAC"}
|
|
@@ -25,12 +25,14 @@ const Preview = _ref => {
|
|
|
25
25
|
availability = 0,
|
|
26
26
|
boards = [],
|
|
27
27
|
cancellations = [],
|
|
28
|
+
features: {
|
|
29
|
+
rowMode = false
|
|
30
|
+
},
|
|
28
31
|
images = [],
|
|
29
32
|
isSoldOut = false,
|
|
30
33
|
media,
|
|
31
34
|
name: title,
|
|
32
35
|
rates = [],
|
|
33
|
-
rowMode,
|
|
34
36
|
selectedBoard = {},
|
|
35
37
|
onMoreInfo,
|
|
36
38
|
onRateInfo,
|
|
@@ -38,8 +40,10 @@ const Preview = _ref => {
|
|
|
38
40
|
...others
|
|
39
41
|
} = _ref;
|
|
40
42
|
const {
|
|
43
|
+
height,
|
|
41
44
|
isDesktop,
|
|
42
45
|
isMobile,
|
|
46
|
+
isPortrait,
|
|
43
47
|
isTablet,
|
|
44
48
|
width
|
|
45
49
|
} = (0, _ui.useDevice)();
|
|
@@ -72,9 +76,9 @@ const Preview = _ref => {
|
|
|
72
76
|
} = selectedBoard;
|
|
73
77
|
return /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
74
78
|
ref: ref,
|
|
75
|
-
className:
|
|
79
|
+
className: style.preview
|
|
76
80
|
}, /*#__PURE__*/_react.default.createElement(_components.Slider, {
|
|
77
|
-
height: 208,
|
|
81
|
+
height: rowMode ? height / (isPortrait ? 5 : 3) : 208,
|
|
78
82
|
images: images.map(_ref2 => {
|
|
79
83
|
let {
|
|
80
84
|
large
|
|
@@ -186,6 +190,9 @@ Preview.propTypes = {
|
|
|
186
190
|
availability: _propTypes.default.number,
|
|
187
191
|
boards: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
188
192
|
cancellations: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
193
|
+
features: _propTypes.default.shape({
|
|
194
|
+
rowMode: _propTypes.default.bool
|
|
195
|
+
}),
|
|
189
196
|
images: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
190
197
|
alt: _propTypes.default.string,
|
|
191
198
|
large: _propTypes.default.string,
|
|
@@ -198,7 +205,6 @@ Preview.propTypes = {
|
|
|
198
205
|
}),
|
|
199
206
|
name: _propTypes.default.string,
|
|
200
207
|
rates: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
201
|
-
rowMode: _propTypes.default.bool,
|
|
202
208
|
selectedBoard: _propTypes.default.shape({}),
|
|
203
209
|
onMoreInfo: _propTypes.default.func,
|
|
204
210
|
onRateInfo: _propTypes.default.func,
|