@mirai/core 0.3.465 → 0.3.467
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/components/CardHotel/CardHotel.js +10 -7
- package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
- package/build/components/Rates/components/CardHotel/CardHotel.module.css +11 -3
- package/build/components/Rates/components/CardHotel/__tests__/__snapshots__/CardHotel.test.js.snap +47 -43
- package/package.json +1 -1
|
@@ -189,24 +189,27 @@ const CardHotel = function () {
|
|
|
189
189
|
id: 'HOTELS:ITEM:SITE'
|
|
190
190
|
})
|
|
191
191
|
}, translate(_CardHotel.L10N.ACTION_VIEW_HOTEL))), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.View, null, (hasDiscountClub || discountPercentage > 0) && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
192
|
+
className: [style.offset, style.summary]
|
|
193
|
+
}, (hasDiscountClub || discountPercentage > 0) && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
195
194
|
row: true
|
|
196
195
|
}, hasDiscountClub && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
197
196
|
bold: true,
|
|
198
197
|
small: true,
|
|
199
|
-
className:
|
|
198
|
+
className: style.tag
|
|
200
199
|
}, translate(_CardHotel.L10N.LABEL_ONLY_MEMBERS)), discountPercentage > 0 && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
201
200
|
accent: true,
|
|
202
201
|
bold: true,
|
|
203
202
|
small: true
|
|
204
203
|
}, translate(_CardHotel.L10N.LABEL_DISCOUNT, {
|
|
205
204
|
value: "".concat(discountPercentage, "%")
|
|
206
|
-
}))), /*#__PURE__*/_react.default.createElement(_ui.
|
|
205
|
+
}))), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
206
|
+
row: true,
|
|
207
|
+
className: [style.gap, style.content]
|
|
208
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
207
209
|
bold: true,
|
|
208
210
|
headline: true,
|
|
209
|
-
level: isMobile || price >= 10000 ? 3 : 2
|
|
211
|
+
level: isMobile || price >= 10000 ? 3 : 2,
|
|
212
|
+
className: style.price
|
|
210
213
|
}, (0, _locale.currencyFormat)({
|
|
211
214
|
currency,
|
|
212
215
|
locale,
|
|
@@ -227,7 +230,7 @@ const CardHotel = function () {
|
|
|
227
230
|
})), /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
228
231
|
busy: busy,
|
|
229
232
|
onPress: handlePress
|
|
230
|
-
}, translate(_CardHotel.L10N.ACTION_VIEW_MORE)))));
|
|
233
|
+
}, translate(_CardHotel.L10N.ACTION_VIEW_MORE))))));
|
|
231
234
|
};
|
|
232
235
|
exports.CardHotel = CardHotel;
|
|
233
236
|
CardHotel.displayName = 'Mirai:Core:Rates:CardHotel';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardHotel.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_CardHotel","style","_helpers","_helpers2","_shared__","_helpers3","_helpers4","_Rates","_components","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","DEFAULT_WIDTH","CardHotel","board","discountPercentage","features","distance","location","url","hasDiscountClub","id","images","name","nights","price","stars","taxes","unavailability","arguments","length","undefined","isMobile","width","useDevice","locale","translate","useLocale","ref","useRef","value","currency","finder","forwarder","hotel","hotelId","tags","options","places","useStore","busy","setBusy","useState","sliderWidth","setSliderWidth","useEffect","_ref$current","current","clientWidth","handlePress","Event","publish","EVENT","METRICS","setTimeout","find","isHotel","ids","includes","toString","window","href","concat","rates","toUrlParams","fetchUrlParams","search","getFinderParams","place","idtokenprovider","SUBMIT_DELAY","caption","action","small","placeId","title","placeName","promocode","hotelName","confidential","discount","breakdown","createElement","Card","View","className","card","preview","Slider","height","metrics","slider","row","type","DISCOUNT_TYPE","PROMOTION","DEAL","Text","bold","tag","Icon","ICON","DISCOUNT","toUpperCase","offset","spaceBetween","LOCATION","L10N","LABEL_DISTANCE","Intl","NumberFormat","unit","minimumFractionDigits","maximumFractionDigits","format","headline","level","Array","from","Action","getHotelUrl","target","onPress","ACTION_VIEW_HOTEL","summary","highlight","LABEL_ONLY_MEMBERS","accent","LABEL_DISCOUNT","currencyFormat","tiny","LABEL_PER_NIGHT","light","getLabelTaxes","PriceDetails","Button","ACTION_VIEW_MORE","exports","displayName","propTypes","PropTypes","shape","number","string","bool","oneOfType","arrayOf"],"sources":["../../../../../src/components/Rates/components/CardHotel/CardHotel.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './CardHotel.l10n';\nimport * as style from './CardHotel.module.css';\nimport { getHotelUrl } from './helpers';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { Card } from '../../../__shared__';\nimport { EVENT, ICON, SUBMIT_DELAY, toUrlParams } from '../../../helpers';\nimport { getFinderParams, getLabelTaxes } from '../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\nimport { PriceDetails, Slider } from '../Item/components';\n\nconst DEFAULT_WIDTH = 374;\n\nconst CardHotel = ({\n board = {},\n discountPercentage = 0,\n features: { distance, location, url } = {},\n hasDiscountClub = false,\n id,\n images = [],\n name,\n nights = 1,\n price,\n stars,\n taxes,\n unavailability,\n} = {}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const ref = useRef(null);\n const { value: { currency, finder, forwarder = {}, hotel, id: hotelId, tags: { options: places = [] } = {} } = {} } =\n useStore();\n\n const [busy, setBusy] = useState(false);\n const [sliderWidth, setSliderWidth] = useState(DEFAULT_WIDTH);\n\n useEffect(() => {\n if (ref.current) setSliderWidth(ref.current?.clientWidth - 1);\n }, [width]);\n\n const handlePress = () => {\n setBusy(true);\n Event.publish(EVENT.METRICS, { id: 'HOTELS:ITEM:SELECT' });\n\n setTimeout(() => {\n const { value } = places.find(({ isHotel, id: ids = [] } = {}) => isHotel && ids.includes(id.toString())) || {};\n setBusy(false);\n window.location.href = `${forwarder.rates}${toUrlParams({\n ...fetchUrlParams(window.location.search),\n ...getFinderParams({ ...finder, ...{ place: { id: undefined, value } }, hotel }),\n idtokenprovider: id,\n })}`;\n }, SUBMIT_DELAY);\n };\n\n const caption = { action: !isMobile, small: isMobile };\n const { features = {} } = hotel || {};\n const { place: { id: [placeId] = [], isHotel, title: placeName } = {}, promocode } = finder || {};\n const { name: hotelName } = (placeId ? (isHotel ? features[placeId] : { name: placeName }) : features[hotelId]) || {};\n const { confidential, discount: { breakdown = [] } = {} } = board;\n\n return (\n <Card>\n <View ref={ref} className={style.card}>\n <View className={style.preview}>\n <Slider height={208} images={images} metrics=\"HOTELS:ITEM\" width={sliderWidth} className={style.slider} />\n\n <View row className={style.tags}>\n {promocode &&\n breakdown?.find(\n ({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION || (type === DISCOUNT_TYPE.DEAL && confidential),\n ) && (\n <Text bold small className={style.tag}>\n <Icon action value={ICON.DISCOUNT} />\n {` ${promocode.toUpperCase()}`}\n </Text>\n )}\n </View>\n </View>\n\n {distance && (\n <View row className={[style.offset, style.spaceBetween]}>\n <View row className={style.row}>\n <Icon value={ICON.LOCATION} />\n <Text small>\n {translate(L10N.LABEL_DISTANCE, {\n distance: Intl.NumberFormat(locale, {\n style: 'unit',\n unit: 'kilometer',\n minimumFractionDigits: 1,\n maximumFractionDigits: 1,\n }).format(distance),\n name: hotelName,\n })}\n </Text>\n </View>\n </View>\n )}\n\n <View className={style.offset}>\n <Text bold headline={!isMobile} level={3}>\n {name}\n </Text>\n {stars > 0 && (\n <Text headline={!isMobile} level={3}>\n {Array.from({ length: stars }, () => '★')}\n </Text>\n )}\n\n <Text {...caption}>{location}</Text>\n\n {url && (\n <Action\n href={unavailability ? getHotelUrl(url) : url}\n small={isMobile}\n target=\"_blank\"\n onPress={() => Event.publish(EVENT.METRICS, { id: 'HOTELS:ITEM:SITE' })}\n >\n {translate(L10N.ACTION_VIEW_HOTEL)}\n </Action>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween, style.summary]}>\n <View>\n {(hasDiscountClub || discountPercentage > 0) && (\n <View row>\n {hasDiscountClub && (\n <Text bold small className={[style.tag, style.highlight]}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n )}\n\n {discountPercentage > 0 && (\n <Text accent bold small>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n </View>\n )}\n\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n\n <Text small={!isMobile} tiny={isMobile}>\n {currencyFormat({ currency, value: price / nights })} {translate(L10N.LABEL_PER_NIGHT)}\n </Text>\n\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxes))}\n </Text>\n\n <PriceDetails board={board} />\n </View>\n\n <Button busy={busy} onPress={handlePress}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Button>\n </View>\n </View>\n </Card>\n );\n};\n\nCardHotel.displayName = 'Mirai:Core:Rates:CardHotel';\n\nCardHotel.propTypes = {\n board: PropTypes.shape({}),\n discountPercentage: PropTypes.number,\n features: PropTypes.shape({\n distance: PropTypes.string,\n location: PropTypes.string,\n url: PropTypes.string,\n }),\n hasDiscountClub: PropTypes.bool,\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n images: PropTypes.arrayOf(PropTypes.string),\n name: PropTypes.string,\n nights: PropTypes.number,\n price: PropTypes.number,\n stars: PropTypes.number,\n taxes: PropTypes.number,\n unavailability: PropTypes.bool,\n};\n\nexport { CardHotel };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CardHotel.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_CardHotel","style","_helpers","_helpers2","_shared__","_helpers3","_helpers4","_Rates","_components","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","DEFAULT_WIDTH","CardHotel","board","discountPercentage","features","distance","location","url","hasDiscountClub","id","images","name","nights","price","stars","taxes","unavailability","arguments","length","undefined","isMobile","width","useDevice","locale","translate","useLocale","ref","useRef","value","currency","finder","forwarder","hotel","hotelId","tags","options","places","useStore","busy","setBusy","useState","sliderWidth","setSliderWidth","useEffect","_ref$current","current","clientWidth","handlePress","Event","publish","EVENT","METRICS","setTimeout","find","isHotel","ids","includes","toString","window","href","concat","rates","toUrlParams","fetchUrlParams","search","getFinderParams","place","idtokenprovider","SUBMIT_DELAY","caption","action","small","placeId","title","placeName","promocode","hotelName","confidential","discount","breakdown","createElement","Card","View","className","card","preview","Slider","height","metrics","slider","row","type","DISCOUNT_TYPE","PROMOTION","DEAL","Text","bold","tag","Icon","ICON","DISCOUNT","toUpperCase","offset","spaceBetween","LOCATION","L10N","LABEL_DISTANCE","Intl","NumberFormat","unit","minimumFractionDigits","maximumFractionDigits","format","headline","level","Array","from","Action","getHotelUrl","target","onPress","ACTION_VIEW_HOTEL","summary","LABEL_ONLY_MEMBERS","accent","LABEL_DISCOUNT","gap","content","currencyFormat","tiny","LABEL_PER_NIGHT","light","getLabelTaxes","PriceDetails","Button","ACTION_VIEW_MORE","exports","displayName","propTypes","PropTypes","shape","number","string","bool","oneOfType","arrayOf"],"sources":["../../../../../src/components/Rates/components/CardHotel/CardHotel.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './CardHotel.l10n';\nimport * as style from './CardHotel.module.css';\nimport { getHotelUrl } from './helpers';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { Card } from '../../../__shared__';\nimport { EVENT, ICON, SUBMIT_DELAY, toUrlParams } from '../../../helpers';\nimport { getFinderParams, getLabelTaxes } from '../../helpers';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\nimport { PriceDetails, Slider } from '../Item/components';\n\nconst DEFAULT_WIDTH = 374;\n\nconst CardHotel = ({\n board = {},\n discountPercentage = 0,\n features: { distance, location, url } = {},\n hasDiscountClub = false,\n id,\n images = [],\n name,\n nights = 1,\n price,\n stars,\n taxes,\n unavailability,\n} = {}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const ref = useRef(null);\n const { value: { currency, finder, forwarder = {}, hotel, id: hotelId, tags: { options: places = [] } = {} } = {} } =\n useStore();\n\n const [busy, setBusy] = useState(false);\n const [sliderWidth, setSliderWidth] = useState(DEFAULT_WIDTH);\n\n useEffect(() => {\n if (ref.current) setSliderWidth(ref.current?.clientWidth - 1);\n }, [width]);\n\n const handlePress = () => {\n setBusy(true);\n Event.publish(EVENT.METRICS, { id: 'HOTELS:ITEM:SELECT' });\n\n setTimeout(() => {\n const { value } = places.find(({ isHotel, id: ids = [] } = {}) => isHotel && ids.includes(id.toString())) || {};\n setBusy(false);\n window.location.href = `${forwarder.rates}${toUrlParams({\n ...fetchUrlParams(window.location.search),\n ...getFinderParams({ ...finder, ...{ place: { id: undefined, value } }, hotel }),\n idtokenprovider: id,\n })}`;\n }, SUBMIT_DELAY);\n };\n\n const caption = { action: !isMobile, small: isMobile };\n const { features = {} } = hotel || {};\n const { place: { id: [placeId] = [], isHotel, title: placeName } = {}, promocode } = finder || {};\n const { name: hotelName } = (placeId ? (isHotel ? features[placeId] : { name: placeName }) : features[hotelId]) || {};\n const { confidential, discount: { breakdown = [] } = {} } = board;\n\n return (\n <Card>\n <View ref={ref} className={style.card}>\n <View className={style.preview}>\n <Slider height={208} images={images} metrics=\"HOTELS:ITEM\" width={sliderWidth} className={style.slider} />\n\n <View row className={style.tags}>\n {promocode &&\n breakdown?.find(\n ({ type } = {}) => type === DISCOUNT_TYPE.PROMOTION || (type === DISCOUNT_TYPE.DEAL && confidential),\n ) && (\n <Text bold small className={style.tag}>\n <Icon action value={ICON.DISCOUNT} />\n {` ${promocode.toUpperCase()}`}\n </Text>\n )}\n </View>\n </View>\n\n {distance && (\n <View row className={[style.offset, style.spaceBetween]}>\n <View row className={style.row}>\n <Icon value={ICON.LOCATION} />\n <Text small>\n {translate(L10N.LABEL_DISTANCE, {\n distance: Intl.NumberFormat(locale, {\n style: 'unit',\n unit: 'kilometer',\n minimumFractionDigits: 1,\n maximumFractionDigits: 1,\n }).format(distance),\n name: hotelName,\n })}\n </Text>\n </View>\n </View>\n )}\n\n <View className={style.offset}>\n <Text bold headline={!isMobile} level={3}>\n {name}\n </Text>\n {stars > 0 && (\n <Text headline={!isMobile} level={3}>\n {Array.from({ length: stars }, () => '★')}\n </Text>\n )}\n\n <Text {...caption}>{location}</Text>\n\n {url && (\n <Action\n href={unavailability ? getHotelUrl(url) : url}\n small={isMobile}\n target=\"_blank\"\n onPress={() => Event.publish(EVENT.METRICS, { id: 'HOTELS:ITEM:SITE' })}\n >\n {translate(L10N.ACTION_VIEW_HOTEL)}\n </Action>\n )}\n </View>\n\n <View className={[style.offset, style.summary]}>\n {(hasDiscountClub || discountPercentage > 0) && (\n <View row>\n {hasDiscountClub && (\n <Text bold small className={style.tag}>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n )}\n\n {discountPercentage > 0 && (\n <Text accent bold small>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n </View>\n )}\n <View row className={[style.gap, style.content]}>\n <View>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2} className={style.price}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n\n <Text small={!isMobile} tiny={isMobile}>\n {currencyFormat({ currency, value: price / nights })} {translate(L10N.LABEL_PER_NIGHT)}\n </Text>\n\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxes))}\n </Text>\n\n <PriceDetails board={board} />\n </View>\n\n <Button busy={busy} onPress={handlePress}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Button>\n </View>\n </View>\n </View>\n </Card>\n );\n};\n\nCardHotel.displayName = 'Mirai:Core:Rates:CardHotel';\n\nCardHotel.propTypes = {\n board: PropTypes.shape({}),\n discountPercentage: PropTypes.number,\n features: PropTypes.shape({\n distance: PropTypes.string,\n location: PropTypes.string,\n url: PropTypes.string,\n }),\n hasDiscountClub: PropTypes.bool,\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n images: PropTypes.arrayOf(PropTypes.string),\n name: PropTypes.string,\n nights: PropTypes.number,\n price: PropTypes.number,\n stars: PropTypes.number,\n taxes: PropTypes.number,\n unavailability: PropTypes.bool,\n};\n\nexport { CardHotel };\n"],"mappings":"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"}
|
|
@@ -32,10 +32,18 @@
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
.card .summary {
|
|
35
|
-
align-items: flex-end;
|
|
36
35
|
margin-bottom: var(--mirai-ui-space-XXS);
|
|
37
36
|
}
|
|
38
37
|
|
|
38
|
+
.card .summary .content {
|
|
39
|
+
align-items: flex-end;
|
|
40
|
+
justify-content: space-between;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.card .summary .price {
|
|
44
|
+
margin: var(--mirai-ui-space-XXS) 0;
|
|
45
|
+
}
|
|
46
|
+
|
|
39
47
|
.preview {
|
|
40
48
|
position: relative;
|
|
41
49
|
}
|
|
@@ -49,7 +57,7 @@
|
|
|
49
57
|
}
|
|
50
58
|
|
|
51
59
|
.preview .tags .tag,
|
|
52
|
-
.summary .tag
|
|
60
|
+
.summary .tag {
|
|
53
61
|
align-items: center;
|
|
54
62
|
background-color: var(--mirai-ui-accent);
|
|
55
63
|
border-radius: var(--mirai-ui-border-radius);
|
|
@@ -61,7 +69,7 @@
|
|
|
61
69
|
|
|
62
70
|
.summary .tag {
|
|
63
71
|
display: inline-flex;
|
|
64
|
-
gap: calc(var(--mirai-ui-space-XXS) / 2);
|
|
72
|
+
gap: calc(var(--mirai-ui-space-XXS) / 2);
|
|
65
73
|
padding: 0 var(--mirai-ui-space-XXS);
|
|
66
74
|
margin-right: var(--mirai-ui-space-XXS);
|
|
67
75
|
width: fit-content;
|
package/build/components/Rates/components/CardHotel/__tests__/__snapshots__/CardHotel.test.js.snap
CHANGED
|
@@ -48,60 +48,64 @@ exports[`<Rates> <CardHotel> renders 1`] = `
|
|
|
48
48
|
/>
|
|
49
49
|
</ui-view>
|
|
50
50
|
<ui-view
|
|
51
|
-
class="view
|
|
51
|
+
class="view"
|
|
52
52
|
>
|
|
53
53
|
<ui-view
|
|
54
|
-
class="view"
|
|
54
|
+
class="view row"
|
|
55
55
|
>
|
|
56
|
-
<ui-text
|
|
57
|
-
class="text bold headline-2"
|
|
58
|
-
>
|
|
59
|
-
0 €
|
|
60
|
-
</ui-text>
|
|
61
|
-
<ui-text
|
|
62
|
-
class="text small"
|
|
63
|
-
>
|
|
64
|
-
NaN € finder.label.per_night
|
|
65
|
-
</ui-text>
|
|
66
|
-
<ui-text
|
|
67
|
-
class="text light small"
|
|
68
|
-
/>
|
|
69
56
|
<ui-view
|
|
70
|
-
class="view
|
|
57
|
+
class="view"
|
|
71
58
|
>
|
|
72
|
-
<ui-
|
|
73
|
-
class="
|
|
59
|
+
<ui-text
|
|
60
|
+
class="text bold headline-2"
|
|
74
61
|
>
|
|
75
|
-
|
|
76
|
-
|
|
62
|
+
0 €
|
|
63
|
+
</ui-text>
|
|
64
|
+
<ui-text
|
|
65
|
+
class="text small"
|
|
66
|
+
>
|
|
67
|
+
NaN € finder.label.per_night
|
|
68
|
+
</ui-text>
|
|
69
|
+
<ui-text
|
|
70
|
+
class="text light small"
|
|
71
|
+
/>
|
|
72
|
+
<ui-view
|
|
73
|
+
class="view row"
|
|
74
|
+
>
|
|
75
|
+
<ui-tooltip
|
|
76
|
+
class="container"
|
|
77
77
|
>
|
|
78
|
-
<ui-
|
|
79
|
-
class="
|
|
78
|
+
<ui-view
|
|
79
|
+
class="view"
|
|
80
80
|
>
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
81
|
+
<ui-text
|
|
82
|
+
class="text medium accent action dispatcher"
|
|
83
|
+
>
|
|
84
|
+
finder.label.price_details
|
|
85
|
+
</ui-text>
|
|
86
|
+
</ui-view>
|
|
87
|
+
</ui-tooltip>
|
|
88
|
+
</ui-view>
|
|
85
89
|
</ui-view>
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
tabindex="0"
|
|
91
|
-
>
|
|
92
|
-
<ui-view
|
|
93
|
-
class="view busyContainer"
|
|
90
|
+
<ui-button
|
|
91
|
+
class="pressable button"
|
|
92
|
+
disabled="false"
|
|
93
|
+
tabindex="0"
|
|
94
94
|
>
|
|
95
95
|
<ui-view
|
|
96
|
-
class="view
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
96
|
+
class="view busyContainer"
|
|
97
|
+
>
|
|
98
|
+
<ui-view
|
|
99
|
+
class="view spinner"
|
|
100
|
+
/>
|
|
101
|
+
</ui-view>
|
|
102
|
+
<ui-view
|
|
103
|
+
class="view row children"
|
|
104
|
+
>
|
|
105
|
+
common.action.view_more
|
|
106
|
+
</ui-view>
|
|
107
|
+
</ui-button>
|
|
108
|
+
</ui-view>
|
|
105
109
|
</ui-view>
|
|
106
110
|
</ui-view>
|
|
107
111
|
</ui-view>
|