@mirai/core 0.4.101 → 0.4.103
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/README.md +0 -2
- package/build/components/Rates/Rates.Skeleton.js +5 -12
- package/build/components/Rates/Rates.Skeleton.js.map +1 -1
- package/build/components/Rates/Rates.constants.js +0 -2
- package/build/components/Rates/Rates.constants.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Preview.js +4 -132
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Rates.js +16 -37
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +4 -10
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/Item.module.css +4 -22
- package/build/components/Rates/components/Item/components/Option/Option.js +9 -7
- package/build/components/Rates/components/Item/components/Option/Option.js.map +1 -1
- package/build/components/Rates/components/Item/components/Option/Option.module.css +9 -1
- package/build/components/Rates/components/Item/components/RateDetails/RateDetails.module.css +4 -0
- package/build/components/Rates/helpers/getFeatures.js +0 -1
- package/build/components/Rates/helpers/getFeatures.js.map +1 -1
- package/build/components/__shared__/Card/Card.js +2 -4
- package/build/components/__shared__/Card/Card.js.map +1 -1
- package/build/components/__shared__/Card/Card.module.css +3 -7
- package/build/components/__shared__/Card/Cards.js +1 -2
- package/build/components/__shared__/Card/Cards.js.map +1 -1
- package/build/helpers/findComponents.js +8 -3
- package/build/helpers/findComponents.js.map +1 -1
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -391,8 +391,6 @@ The `<Rates>` component is used for selecting rooms and rates. It includes a fea
|
|
|
391
391
|
- `columnMode`: Displays the results in two columns.
|
|
392
392
|
- `hideRadio`: Hides the radio input and replaces it with a button.
|
|
393
393
|
- `hideStandaloneBoard`: If only one accommodation type is available, it will not be displayed.
|
|
394
|
-
- `highlightStandaloneOption`: Highlights when only one option exists per category.
|
|
395
|
-
- `rowMode`: Displays the results in a row layout.
|
|
396
394
|
- `showAllBoards`: Displays all available boards (only the boards belonging to the active rate are selectable).
|
|
397
395
|
- `showAllOffers`: Displays all available offers (only the offers belonging to the active cancellation are selectable).
|
|
398
396
|
- `showMaxOccupation`: Displays the maximum room occupancy.
|
|
@@ -67,8 +67,7 @@ const RatesSkeleton = () => {
|
|
|
67
67
|
};
|
|
68
68
|
const {
|
|
69
69
|
columnMode,
|
|
70
|
-
hideRadio
|
|
71
|
-
rowMode
|
|
70
|
+
hideRadio
|
|
72
71
|
} = (0, _helpers.getFeatures)(features, urlParams, {
|
|
73
72
|
isDesktop,
|
|
74
73
|
isMobile
|
|
@@ -87,23 +86,17 @@ const RatesSkeleton = () => {
|
|
|
87
86
|
}).map((_, index) => /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({
|
|
88
87
|
key: index
|
|
89
88
|
}, props, {
|
|
90
|
-
row: rowMode,
|
|
91
89
|
style: {
|
|
92
90
|
boxSizing: 'border-box',
|
|
93
91
|
flex: 1,
|
|
94
|
-
flexBasis: isTablet || columnMode ? 'calc(50% - calc(var(--mirai-ui-space-M) / 2))' : isDesktop
|
|
92
|
+
flexBasis: isTablet || columnMode ? 'calc(50% - calc(var(--mirai-ui-space-M) / 2))' : isDesktop ? "calc(33.33% - calc(calc(var(--mirai-ui-space-M) * 2) / 3))" : '100%',
|
|
95
93
|
overflow: 'hidden'
|
|
96
94
|
}
|
|
97
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
98
|
-
style: {
|
|
99
|
-
borderRight: 'solid 1px var(--mirai-ui-content-background)',
|
|
100
|
-
minWidth: '50%'
|
|
101
|
-
}
|
|
102
|
-
} : undefined, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
95
|
+
}), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
103
96
|
color: "border",
|
|
104
97
|
style: {
|
|
105
98
|
borderRadius: 0,
|
|
106
|
-
minHeight: !columnMode
|
|
99
|
+
minHeight: !columnMode ? '208px' : "calc(100svh / ".concat(isPortrait ? 5 : 3, ")")
|
|
107
100
|
}
|
|
108
101
|
}), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
109
102
|
row: true,
|
|
@@ -135,7 +128,7 @@ const RatesSkeleton = () => {
|
|
|
135
128
|
action: true
|
|
136
129
|
}, "Heating"), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
|
|
137
130
|
action: true
|
|
138
|
-
}, "More Info +"))
|
|
131
|
+
}, "More Info +")), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
139
132
|
style: {
|
|
140
133
|
height: '100%'
|
|
141
134
|
},
|
|
@@ -1 +1 @@
|
|
|
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","isDesktop","isMobile","isPortrait","isTablet","useDevice","value","hotel","features","urlParams","useStore","props","color","section","borderBottom","gap","padding","option","row","style","optionContainer","justifyContent","marginBottom","tab","alignItems","alignContent","border","flex","height","radio","width","columnMode","hideRadio","rowMode","getFeatures","createElement","Fragment","View","flexWrap","marginTop","Array","from","map","_","index","Skeleton","boxSizing","flexBasis","overflow","React","borderRight","minWidth","undefined","borderRadius","minHeight","concat","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 { isDesktop, isMobile, isPortrait, isTablet } = useDevice();\n const {\n value: { hotel: { features } = {}, urlParams },\n } = useStore();\n\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(features, 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 : '1rem',\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={{\n borderRadius: 0,\n minHeight: !columnMode && !rowMode ? '208px' : `calc(100svh / ${isPortrait ? 5 : 3})`,\n }}\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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"}
|
|
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","isDesktop","isMobile","isPortrait","isTablet","useDevice","value","hotel","features","urlParams","useStore","props","color","section","borderBottom","gap","padding","option","row","style","optionContainer","justifyContent","marginBottom","tab","alignItems","alignContent","border","flex","height","radio","width","columnMode","hideRadio","getFeatures","createElement","Fragment","View","flexWrap","marginTop","Array","from","map","_","index","Skeleton","boxSizing","flexBasis","overflow","borderRadius","minHeight","concat","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 { isDesktop, isMobile, isPortrait, isTablet } = useDevice();\n const {\n value: { hotel: { features } = {}, urlParams },\n } = useStore();\n\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 } = getFeatures(features, 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 : '1rem',\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:\n isTablet || columnMode\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 : '100%',\n overflow: 'hidden',\n }}\n >\n <Skeleton\n color=\"border\"\n style={{\n borderRadius: 0,\n minHeight: !columnMode ? '208px' : `calc(100svh / ${isPortrait ? 5 : 3})`,\n }}\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 <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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"}
|
|
@@ -23,9 +23,7 @@ const FEATURES = exports.FEATURES = {
|
|
|
23
23
|
COLUMN_MODE: 'columnMode',
|
|
24
24
|
HIDE_RADIO: 'hideRadio',
|
|
25
25
|
HIDE_STANDALONE_BOARD: 'hideStandaloneBoard',
|
|
26
|
-
HIGHLIGHT_STANDALONE_OPTION: 'highlightStandaloneOption',
|
|
27
26
|
PESTANA: 'pestana',
|
|
28
|
-
ROW_MODE: 'rowMode',
|
|
29
27
|
SHOW_ALL_BOARDS: 'showAllBoards',
|
|
30
28
|
SHOW_ALL_OFFERS: 'showAllOffers',
|
|
31
29
|
SHOW_MAX_OCCUPATION: 'showMaxOccupation',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.constants.js","names":["BED_TYPE","exports","SINGLE","DOUBLE","CLUB_RATE_STORAGE_VIEWED","DATE_FORMAT","weekday","month","day","DISCOUNT_TYPE","CLUB","DEAL","PROMOTION","FEATURES","COLUMN_MODE","HIDE_RADIO","HIDE_STANDALONE_BOARD","
|
|
1
|
+
{"version":3,"file":"Rates.constants.js","names":["BED_TYPE","exports","SINGLE","DOUBLE","CLUB_RATE_STORAGE_VIEWED","DATE_FORMAT","weekday","month","day","DISCOUNT_TYPE","CLUB","DEAL","PROMOTION","FEATURES","COLUMN_MODE","HIDE_RADIO","HIDE_STANDALONE_BOARD","PESTANA","SHOW_ALL_BOARDS","SHOW_ALL_OFFERS","SHOW_MAX_OCCUPATION","SHOW_NAME_IN_HEADER","SHOW_OFFERS_FIRST","SHOW_PREVIEW_PRICE","SHOW_PRICE_PER_NIGHT","SHOW_RATE_INCLUDED","TWIN","FREE_CANCELLATION","NOTIFICATION","PROMOCODE_NOT_FOUND","OFFER_NOT_FOUND","ROOM_NOT_FOUNT","UTM_SOURCE_NAME","hotelfinder"],"sources":["../../../src/components/Rates/Rates.constants.js"],"sourcesContent":["const BED_TYPE = {\n SINGLE: 1,\n DOUBLE: 2,\n};\n\nconst CLUB_RATE_STORAGE_VIEWED = 'MIRAI:RATES:CLUB_RATE:viewed';\n\nconst DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nconst DISCOUNT_TYPE = {\n CLUB: 0,\n DEAL: 1,\n PROMOTION: 2,\n};\n\nconst FEATURES = {\n COLUMN_MODE: 'columnMode',\n HIDE_RADIO: 'hideRadio',\n HIDE_STANDALONE_BOARD: 'hideStandaloneBoard',\n PESTANA: 'pestana',\n SHOW_ALL_BOARDS: 'showAllBoards',\n SHOW_ALL_OFFERS: 'showAllOffers',\n SHOW_MAX_OCCUPATION: 'showMaxOccupation',\n SHOW_NAME_IN_HEADER: 'showNameInHeader',\n SHOW_OFFERS_FIRST: 'showOffersFirst',\n SHOW_PREVIEW_PRICE: 'showPreviewPrice',\n SHOW_PRICE_PER_NIGHT: 'showPricePerNight',\n SHOW_RATE_INCLUDED: 'showRateIncluded',\n TWIN: 'twin',\n};\n\nconst FREE_CANCELLATION = 'free';\n\nconst NOTIFICATION = {\n PROMOCODE_NOT_FOUND: 1,\n OFFER_NOT_FOUND: 2,\n ROOM_NOT_FOUNT: 3,\n};\n\nconst UTM_SOURCE_NAME = {\n hotelfinder: 'Google Hotels',\n};\n\nexport {\n BED_TYPE,\n CLUB_RATE_STORAGE_VIEWED,\n DATE_FORMAT,\n DISCOUNT_TYPE,\n FEATURES,\n FREE_CANCELLATION,\n NOTIFICATION,\n UTM_SOURCE_NAME,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACfE,MAAM,EAAE,CAAC;EACTC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,wBAAwB,GAAAH,OAAA,CAAAG,wBAAA,GAAG,8BAA8B;AAE/D,MAAMC,WAAW,GAAAJ,OAAA,CAAAI,WAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAExE,MAAMC,aAAa,GAAAR,OAAA,CAAAQ,aAAA,GAAG;EACpBC,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,QAAQ,GAAAZ,OAAA,CAAAY,QAAA,GAAG;EACfC,WAAW,EAAE,YAAY;EACzBC,UAAU,EAAE,WAAW;EACvBC,qBAAqB,EAAE,qBAAqB;EAC5CC,OAAO,EAAE,SAAS;EAClBC,eAAe,EAAE,eAAe;EAChCC,eAAe,EAAE,eAAe;EAChCC,mBAAmB,EAAE,mBAAmB;EACxCC,mBAAmB,EAAE,kBAAkB;EACvCC,iBAAiB,EAAE,iBAAiB;EACpCC,kBAAkB,EAAE,kBAAkB;EACtCC,oBAAoB,EAAE,mBAAmB;EACzCC,kBAAkB,EAAE,kBAAkB;EACtCC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,iBAAiB,GAAA1B,OAAA,CAAA0B,iBAAA,GAAG,MAAM;AAEhC,MAAMC,YAAY,GAAA3B,OAAA,CAAA2B,YAAA,GAAG;EACnBC,mBAAmB,EAAE,CAAC;EACtBC,eAAe,EAAE,CAAC;EAClBC,cAAc,EAAE;AAClB,CAAC;AAED,MAAMC,eAAe,GAAA/B,OAAA,CAAA+B,eAAA,GAAG;EACtBC,WAAW,EAAE;AACf,CAAC"}
|
|
@@ -25,15 +25,8 @@ let memoizedWidth = 374;
|
|
|
25
25
|
const Preview = _ref => {
|
|
26
26
|
let {
|
|
27
27
|
availability = 0,
|
|
28
|
-
availableBoards = [],
|
|
29
|
-
availableRates = [],
|
|
30
|
-
boards = [],
|
|
31
|
-
cancellations = [],
|
|
32
28
|
features: {
|
|
33
29
|
columnMode = false,
|
|
34
|
-
hideStandaloneBoard = false,
|
|
35
|
-
highlightStandaloneOption = false,
|
|
36
|
-
rowMode = false,
|
|
37
30
|
...features
|
|
38
31
|
} = {},
|
|
39
32
|
images = [],
|
|
@@ -41,11 +34,7 @@ const Preview = _ref => {
|
|
|
41
34
|
media,
|
|
42
35
|
name: title,
|
|
43
36
|
promocodeForAll,
|
|
44
|
-
rates = [],
|
|
45
|
-
selectedBoard = {},
|
|
46
|
-
onCancellationInfo,
|
|
47
37
|
onMoreInfo,
|
|
48
|
-
onOfferInfo = () => {},
|
|
49
38
|
onViewUrl = () => {},
|
|
50
39
|
...others
|
|
51
40
|
} = _ref;
|
|
@@ -88,47 +77,12 @@ const Preview = _ref => {
|
|
|
88
77
|
id: 'RATES:ITEM:SLIDER:COUNTER'
|
|
89
78
|
});
|
|
90
79
|
};
|
|
91
|
-
const countdownRates = availableRates.filter(function () {
|
|
92
|
-
let {
|
|
93
|
-
countdown
|
|
94
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
95
|
-
return countdown > 0;
|
|
96
|
-
});
|
|
97
|
-
const [firstRate = {}] = availableRates;
|
|
98
|
-
const [uniqueRate] = cancellations.length === availableRates.length && (!countdownRates.length || availableRates.filter(function () {
|
|
99
|
-
let {
|
|
100
|
-
countdown
|
|
101
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
102
|
-
return countdown > 0;
|
|
103
|
-
}).length === availableRates.length) && availableRates.filter(function () {
|
|
104
|
-
let {
|
|
105
|
-
description,
|
|
106
|
-
included,
|
|
107
|
-
name
|
|
108
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
109
|
-
return firstRate.description === description && firstRate.name === name && JSON.stringify(firstRate.included) === JSON.stringify(included);
|
|
110
|
-
}).length === availableRates.length && !highlightStandaloneOption ? rates : [];
|
|
111
|
-
const [uniqueBoard] = boards.length === 1 && availableBoards.filter(function () {
|
|
112
|
-
let {
|
|
113
|
-
name
|
|
114
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
115
|
-
return name === availableBoards[0].name;
|
|
116
|
-
}).length === availableBoards.length ? boards : [];
|
|
117
|
-
const caption = {
|
|
118
|
-
capitalize: true,
|
|
119
|
-
action: !isMobile,
|
|
120
|
-
small: isMobile
|
|
121
|
-
};
|
|
122
|
-
const {
|
|
123
|
-
offerDates = [],
|
|
124
|
-
variants = []
|
|
125
|
-
} = selectedBoard;
|
|
126
80
|
const hasTwin = others.id && _services.ServiceFeatures.get(_Rates.FEATURES.TWIN, isHotel ? hotelId : hotel.id);
|
|
127
81
|
return /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
128
82
|
ref: ref,
|
|
129
83
|
className: style.preview
|
|
130
84
|
}, /*#__PURE__*/_react.default.createElement(_components.Slider, {
|
|
131
|
-
height: columnMode
|
|
85
|
+
height: columnMode ? height / (isPortrait ? 5 : 3) : 208,
|
|
132
86
|
images: images.map(_ref2 => {
|
|
133
87
|
let {
|
|
134
88
|
large
|
|
@@ -188,81 +142,10 @@ const Preview = _ref => {
|
|
|
188
142
|
tiny: isMobile,
|
|
189
143
|
bold: true,
|
|
190
144
|
className: style.tag3D
|
|
191
|
-
}, "3D"), translate(_Item.L10N.LABEL_MIRAI_TWIN)),
|
|
145
|
+
}, "3D"), translate(_Item.L10N.LABEL_MIRAI_TWIN)), /*#__PURE__*/_react.default.createElement(_components.Amenities, _extends({
|
|
192
146
|
highlight: true,
|
|
193
147
|
preview: true
|
|
194
|
-
}, others)),
|
|
195
|
-
action: !isMobile,
|
|
196
|
-
small: isMobile,
|
|
197
|
-
className: [style.optionText, style.standalone]
|
|
198
|
-
}, uniqueRate.name, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
|
|
199
|
-
onPress: () => onOfferInfo({
|
|
200
|
-
...uniqueRate,
|
|
201
|
-
availableBoards
|
|
202
|
-
})
|
|
203
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
204
|
-
paragraph: true,
|
|
205
|
-
value: _helpers.ICON.INFO
|
|
206
|
-
}))), uniqueRate.countdown && /*#__PURE__*/_react.default.createElement(_components.Countdown, {
|
|
207
|
-
offer: true,
|
|
208
|
-
timestamp: uniqueRate.countdown
|
|
209
|
-
}), uniqueRate.included.map((item, index) => /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
210
|
-
key: index,
|
|
211
|
-
row: true,
|
|
212
|
-
className: style.row
|
|
213
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
214
|
-
value: _helpers.ICON.AMENITY
|
|
215
|
-
}), /*#__PURE__*/_react.default.createElement(_ui.Text, caption, item)))), uniqueBoard && !hideStandaloneBoard && !highlightStandaloneOption && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
216
|
-
row: true,
|
|
217
|
-
className: style.row
|
|
218
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.Text, caption, boards[0].name), variants.length > 0 && /*#__PURE__*/_react.default.createElement(_components.TooltipDates, {
|
|
219
|
-
captions: variants.map(function () {
|
|
220
|
-
let {
|
|
221
|
-
name
|
|
222
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
223
|
-
return name;
|
|
224
|
-
}),
|
|
225
|
-
values: variants.map(function () {
|
|
226
|
-
let {
|
|
227
|
-
value
|
|
228
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
229
|
-
return (0, _locale.parseDate)(value);
|
|
230
|
-
})
|
|
231
|
-
})), cancellations.length === 1 && !highlightStandaloneOption && /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
232
|
-
row: true
|
|
233
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
|
|
234
|
-
onPress: () => onCancellationInfo({
|
|
235
|
-
...selectedBoard,
|
|
236
|
-
cancellation: cancellations[0]
|
|
237
|
-
}),
|
|
238
|
-
className: style.row
|
|
239
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.Text, caption, cancellations[0].name), /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
240
|
-
paragraph: true,
|
|
241
|
-
value: _helpers.ICON.INFO
|
|
242
|
-
}))), cancellations[0].caption && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
243
|
-
light: true,
|
|
244
|
-
small: true
|
|
245
|
-
}, cancellations[0].caption)), uniqueRate === null || uniqueRate === void 0 ? void 0 : uniqueRate.restrictions.map(function () {
|
|
246
|
-
let {
|
|
247
|
-
variableOffer,
|
|
248
|
-
value
|
|
249
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
250
|
-
let index = arguments.length > 1 ? arguments[1] : undefined;
|
|
251
|
-
return /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
252
|
-
key: index,
|
|
253
|
-
row: true,
|
|
254
|
-
className: style.row
|
|
255
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
256
|
-
warning: true,
|
|
257
|
-
value: _helpers.ICON.WARNING
|
|
258
|
-
}), /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({
|
|
259
|
-
warning: true
|
|
260
|
-
}, caption), value), variableOffer && offerDates.length > 0 && /*#__PURE__*/_react.default.createElement(_components.TooltipDates, {
|
|
261
|
-
captions: offerDates.map(() => translate(_Item.L10N.LABEL_INCLUDED)),
|
|
262
|
-
values: offerDates.map(date => (0, _locale.parseDate)(date)),
|
|
263
|
-
warning: true
|
|
264
|
-
}));
|
|
265
|
-
}), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
148
|
+
}, others)), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
266
149
|
row: true
|
|
267
150
|
}, /*#__PURE__*/_react.default.createElement(_ui.Action, {
|
|
268
151
|
small: isMobile,
|
|
@@ -273,15 +156,8 @@ exports.Preview = Preview;
|
|
|
273
156
|
Preview.displayName = 'Mirai:Core:Rates:Item:Preview';
|
|
274
157
|
Preview.propTypes = {
|
|
275
158
|
availability: _propTypes.default.number,
|
|
276
|
-
availableBoards: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
277
|
-
availableRates: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
278
|
-
boards: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
279
|
-
cancellations: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
280
159
|
features: _propTypes.default.shape({
|
|
281
|
-
columnMode: _propTypes.default.bool
|
|
282
|
-
hideStandaloneBoard: _propTypes.default.bool,
|
|
283
|
-
highlightStandaloneOption: _propTypes.default.bool,
|
|
284
|
-
rowMode: _propTypes.default.bool
|
|
160
|
+
columnMode: _propTypes.default.bool
|
|
285
161
|
}),
|
|
286
162
|
images: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
287
163
|
alt: _propTypes.default.string,
|
|
@@ -295,11 +171,7 @@ Preview.propTypes = {
|
|
|
295
171
|
}),
|
|
296
172
|
name: _propTypes.default.string,
|
|
297
173
|
promocodeForAll: _propTypes.default.bool,
|
|
298
|
-
rates: _propTypes.default.arrayOf(_propTypes.default.any),
|
|
299
|
-
selectedBoard: _propTypes.default.shape({}),
|
|
300
|
-
onCancellationInfo: _propTypes.default.func,
|
|
301
174
|
onMoreInfo: _propTypes.default.func,
|
|
302
|
-
onOfferInfo: _propTypes.default.func,
|
|
303
175
|
onViewUrl: _propTypes.default.func
|
|
304
176
|
};
|
|
305
177
|
//# sourceMappingURL=Item.Preview.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.Preview.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_Rates","_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","GAP_TABLET","GAP_NOT_TABLET","memoizedWidth","Preview","_ref","availability","availableBoards","availableRates","boards","cancellations","features","columnMode","hideStandaloneBoard","highlightStandaloneOption","rowMode","images","isSoldOut","media","name","title","promocodeForAll","rates","selectedBoard","onCancellationInfo","onMoreInfo","onOfferInfo","onViewUrl","others","height","isMobile","isPortrait","isTablet","width","useDevice","translate","useLocale","ref","useRef","value","finder","place","id","hotelId","isHotel","promocode","hotel","warningAvailability","language","useStore","useEffect","clientWidth","current","handleSliderCounter","Event","publish","EVENT","METRICS","countdownRates","filter","countdown","undefined","firstRate","uniqueRate","description","included","JSON","stringify","uniqueBoard","caption","capitalize","action","small","offerDates","variants","hasTwin","ServiceFeatures","FEATURES","TWIN","createElement","View","className","preview","Slider","map","_ref2","large","onCounter","slider","row","tags","Text","bold","Icon","ICON","DISCOUNT","toUpperCase","offset","spaceBetween","details","Features","error","L10N","LABEL_REMAINING_ITEMS","amount","gap","flex","brand","headline","level","Action","onPress","url","concat","tiny","tag3D","LABEL_MIRAI_TWIN","Amenities","highlight","Fragment","optionText","standalone","Pressable","paragraph","INFO","Countdown","offer","timestamp","item","index","AMENITY","TooltipDates","captions","values","parseDate","cancellation","light","restrictions","variableOffer","warning","WARNING","LABEL_INCLUDED","date","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","number","arrayOf","any","shape","bool","alt","string","thumbnail","url3D","urlVideo","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Action, Icon, Pressable, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport { Amenities, Countdown, Features, Slider, TooltipDates } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { EVENT, ICON } from '../../../helpers';\nimport { FEATURES } from '../../Rates.constants';\n\nconst GAP_TABLET = 7;\nconst GAP_NOT_TABLET = 1;\nlet memoizedWidth = 374;\n\nconst Preview = ({\n availability = 0,\n availableBoards = [],\n availableRates = [],\n boards = [],\n cancellations = [],\n features: {\n columnMode = false,\n hideStandaloneBoard = false,\n highlightStandaloneOption = false,\n rowMode = false,\n ...features\n } = {},\n images = [],\n isSoldOut = false,\n media,\n name: title,\n promocodeForAll,\n rates = [],\n selectedBoard = {},\n onCancellationInfo,\n onMoreInfo,\n onOfferInfo = () => {},\n onViewUrl = () => {},\n ...others\n}) => {\n const { height, isMobile, isPortrait, isTablet, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const {\n value: {\n finder: { place: { id: [hotelId] = [], isHotel } = {}, promocode } = {},\n hotel: { warningAvailability = 9999, ...hotel } = {},\n language,\n } = {},\n } = useStore();\n\n useEffect(() => {\n const { clientWidth } = ref.current || {};\n if (clientWidth) memoizedWidth = clientWidth - (isTablet ? GAP_TABLET : GAP_NOT_TABLET);\n }, [isTablet, width]);\n\n const handleSliderCounter = () => {\n onMoreInfo && onMoreInfo();\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:SLIDER:COUNTER' });\n };\n\n const countdownRates = availableRates.filter(({ countdown } = {}) => countdown > 0);\n const [firstRate = {}] = availableRates;\n\n const [uniqueRate] =\n cancellations.length === availableRates.length &&\n (!countdownRates.length ||\n availableRates.filter(({ countdown } = {}) => countdown > 0).length === availableRates.length) &&\n availableRates.filter(\n ({ description, included, name } = {}) =>\n firstRate.description === description &&\n firstRate.name === name &&\n JSON.stringify(firstRate.included) === JSON.stringify(included),\n ).length === availableRates.length &&\n !highlightStandaloneOption\n ? rates\n : [];\n\n const [uniqueBoard] =\n boards.length === 1 &&\n availableBoards.filter(({ name } = {}) => name === availableBoards[0].name).length === availableBoards.length\n ? boards\n : [];\n\n const caption = { capitalize: true, action: !isMobile, small: isMobile };\n const { offerDates = [], variants = [] } = selectedBoard;\n const hasTwin = others.id && ServiceFeatures.get(FEATURES.TWIN, isHotel ? hotelId : hotel.id);\n\n return (\n <View ref={ref} className={style.preview}>\n <Slider\n height={columnMode || rowMode ? height / (isPortrait ? 5 : 3) : 208}\n images={images.map(({ large }) => large)}\n media={media}\n title={title}\n width={memoizedWidth}\n onCounter={!isMobile ? handleSliderCounter : undefined}\n onViewUrl={onViewUrl}\n className={style.slider}\n />\n\n <View row className={style.tags}>\n {promocode && promocodeForAll && (\n <Text bold small>\n <Icon action value={ICON.DISCOUNT} />\n {promocode.toUpperCase()}\n </Text>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween, style.details]}>\n <Features {...{ features, ...others }} />\n\n {isSoldOut === false && availability <= warningAvailability && (\n <Text bold error small>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Text>\n )}\n </View>\n\n <View className={[style.offset, style.gap]} style={{ flex: 1 }}>\n <Text bold brand headline={!isMobile} level={3}>\n {title}\n </Text>\n\n {hasTwin && (\n <Action\n action={!isMobile}\n small={isMobile}\n onPress={() => {\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:TWIN' });\n onViewUrl({\n title,\n url: `https://twin.mirai.com/rates/index.html?id=${isHotel ? hotelId : hotel.id}&room=${\n others.id\n }&lang=${language}`,\n });\n }}\n >\n <Text small={!isMobile} tiny={isMobile} bold className={style.tag3D}>\n 3D\n </Text>\n {translate(L10N.LABEL_MIRAI_TWIN)}\n </Action>\n )}\n\n {!isMobile && <Amenities highlight preview {...others} />}\n\n {uniqueRate && (\n <>\n {uniqueRate.description && (\n <Text action={!isMobile} small={isMobile} className={[style.optionText, style.standalone]}>\n {uniqueRate.name}\n <Pressable onPress={() => onOfferInfo({ ...uniqueRate, availableBoards })}>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n </Text>\n )}\n {uniqueRate.countdown && <Countdown offer timestamp={uniqueRate.countdown} />}\n {uniqueRate.included.map((item, index) => (\n <View key={index} row className={style.row}>\n <Icon value={ICON.AMENITY} />\n <Text {...caption}>{item}</Text>\n </View>\n ))}\n </>\n )}\n\n {uniqueBoard && !hideStandaloneBoard && !highlightStandaloneOption && (\n <View row className={style.row}>\n <Text {...caption}>{boards[0].name}</Text>\n {variants.length > 0 && (\n <TooltipDates\n captions={variants.map(({ name } = {}) => name)}\n values={variants.map(({ value } = {}) => parseDate(value))}\n />\n )}\n </View>\n )}\n\n {cancellations.length === 1 && !highlightStandaloneOption && (\n <View>\n <View row>\n <Pressable\n onPress={() => onCancellationInfo({ ...selectedBoard, cancellation: cancellations[0] })}\n className={style.row}\n >\n <Text {...caption}>{cancellations[0].name}</Text>\n <Icon paragraph value={ICON.INFO} />\n </Pressable>\n </View>\n {cancellations[0].caption && (\n <Text light small>\n {cancellations[0].caption}\n </Text>\n )}\n </View>\n )}\n\n {uniqueRate?.restrictions.map(({ variableOffer, value } = {}, index) => (\n <View key={index} row className={style.row}>\n <Icon warning value={ICON.WARNING} />\n <Text warning {...caption}>\n {value}\n </Text>\n {variableOffer && offerDates.length > 0 && (\n <TooltipDates\n captions={offerDates.map(() => translate(L10N.LABEL_INCLUDED))}\n values={offerDates.map((date) => parseDate(date))}\n warning\n />\n )}\n </View>\n ))}\n\n <View row>\n <Action small={isMobile} onPress={onMoreInfo}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </View>\n </View>\n </View>\n );\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item:Preview';\n\nPreview.propTypes = {\n availability: PropTypes.number,\n availableBoards: PropTypes.arrayOf(PropTypes.any),\n availableRates: PropTypes.arrayOf(PropTypes.any),\n boards: PropTypes.arrayOf(PropTypes.any),\n cancellations: PropTypes.arrayOf(PropTypes.any),\n features: PropTypes.shape({\n columnMode: PropTypes.bool,\n hideStandaloneBoard: PropTypes.bool,\n highlightStandaloneOption: PropTypes.bool,\n rowMode: PropTypes.bool,\n }),\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n isSoldOut: PropTypes.bool,\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n name: PropTypes.string,\n promocodeForAll: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.any),\n selectedBoard: PropTypes.shape({}),\n onCancellationInfo: PropTypes.func,\n onMoreInfo: PropTypes.func,\n onOfferInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Item.Preview.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_Rates","_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","GAP_TABLET","GAP_NOT_TABLET","memoizedWidth","Preview","_ref","availability","features","columnMode","images","isSoldOut","media","name","title","promocodeForAll","onMoreInfo","onViewUrl","others","height","isMobile","isPortrait","isTablet","width","useDevice","translate","useLocale","ref","useRef","value","finder","place","id","hotelId","isHotel","promocode","hotel","warningAvailability","language","useStore","useEffect","clientWidth","current","handleSliderCounter","Event","publish","EVENT","METRICS","hasTwin","ServiceFeatures","FEATURES","TWIN","createElement","View","className","preview","Slider","map","_ref2","large","onCounter","undefined","slider","row","tags","Text","bold","small","Icon","action","ICON","DISCOUNT","toUpperCase","offset","spaceBetween","details","Features","error","L10N","LABEL_REMAINING_ITEMS","amount","gap","flex","brand","headline","level","Action","onPress","url","concat","tiny","tag3D","LABEL_MIRAI_TWIN","Amenities","highlight","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","number","shape","bool","arrayOf","alt","string","thumbnail","url3D","urlVideo","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Action, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef } from 'react';\n\nimport { Amenities, Features, Slider } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { EVENT, ICON } from '../../../helpers';\nimport { FEATURES } from '../../Rates.constants';\n\nconst GAP_TABLET = 7;\nconst GAP_NOT_TABLET = 1;\nlet memoizedWidth = 374;\n\nconst Preview = ({\n availability = 0,\n features: { columnMode = false, ...features } = {},\n images = [],\n isSoldOut = false,\n media,\n name: title,\n promocodeForAll,\n onMoreInfo,\n onViewUrl = () => {},\n ...others\n}) => {\n const { height, isMobile, isPortrait, isTablet, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const {\n value: {\n finder: { place: { id: [hotelId] = [], isHotel } = {}, promocode } = {},\n hotel: { warningAvailability = 9999, ...hotel } = {},\n language,\n } = {},\n } = useStore();\n\n useEffect(() => {\n const { clientWidth } = ref.current || {};\n if (clientWidth) memoizedWidth = clientWidth - (isTablet ? GAP_TABLET : GAP_NOT_TABLET);\n }, [isTablet, width]);\n\n const handleSliderCounter = () => {\n onMoreInfo && onMoreInfo();\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:SLIDER:COUNTER' });\n };\n\n const hasTwin = others.id && ServiceFeatures.get(FEATURES.TWIN, isHotel ? hotelId : hotel.id);\n\n return (\n <View ref={ref} className={style.preview}>\n <Slider\n height={columnMode ? height / (isPortrait ? 5 : 3) : 208}\n images={images.map(({ large }) => large)}\n media={media}\n title={title}\n width={memoizedWidth}\n onCounter={!isMobile ? handleSliderCounter : undefined}\n onViewUrl={onViewUrl}\n className={style.slider}\n />\n\n <View row className={style.tags}>\n {promocode && promocodeForAll && (\n <Text bold small>\n <Icon action value={ICON.DISCOUNT} />\n {promocode.toUpperCase()}\n </Text>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween, style.details]}>\n <Features {...{ features, ...others }} />\n\n {isSoldOut === false && availability <= warningAvailability && (\n <Text bold error small>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Text>\n )}\n </View>\n\n <View className={[style.offset, style.gap]} style={{ flex: 1 }}>\n <Text bold brand headline={!isMobile} level={3}>\n {title}\n </Text>\n\n {hasTwin && (\n <Action\n action={!isMobile}\n small={isMobile}\n onPress={() => {\n Event.publish(EVENT.METRICS, { id: 'RATES:ITEM:TWIN' });\n onViewUrl({\n title,\n url: `https://twin.mirai.com/rates/index.html?id=${isHotel ? hotelId : hotel.id}&room=${\n others.id\n }&lang=${language}`,\n });\n }}\n >\n <Text small={!isMobile} tiny={isMobile} bold className={style.tag3D}>\n 3D\n </Text>\n {translate(L10N.LABEL_MIRAI_TWIN)}\n </Action>\n )}\n\n <Amenities highlight preview {...others} />\n\n <View row>\n <Action small={isMobile} onPress={onMoreInfo}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </View>\n </View>\n </View>\n );\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item:Preview';\n\nPreview.propTypes = {\n availability: PropTypes.number,\n features: PropTypes.shape({\n columnMode: PropTypes.bool,\n }),\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n isSoldOut: PropTypes.bool,\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n name: PropTypes.string,\n promocodeForAll: PropTypes.bool,\n onMoreInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":"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"}
|
|
@@ -26,8 +26,7 @@ const Rates = _ref => {
|
|
|
26
26
|
features: {
|
|
27
27
|
columnMode,
|
|
28
28
|
hideRadio = false,
|
|
29
|
-
|
|
30
|
-
rowMode,
|
|
29
|
+
hideStandaloneBoard = false,
|
|
31
30
|
showOffersFirst = false,
|
|
32
31
|
showRateIncluded = false
|
|
33
32
|
} = {},
|
|
@@ -59,32 +58,19 @@ const Rates = _ref => {
|
|
|
59
58
|
rateId,
|
|
60
59
|
id: boardId
|
|
61
60
|
} = selectedBoard;
|
|
62
|
-
const countdownRates = availableRates.filter(function () {
|
|
63
|
-
let {
|
|
64
|
-
countdown
|
|
65
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
66
|
-
return countdown > 0;
|
|
67
|
-
});
|
|
68
|
-
const [firstRate = {}] = availableRates;
|
|
69
61
|
const has = {
|
|
70
|
-
cancellations: cancellations.length >
|
|
71
|
-
boards: boards.length > 1
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
return name === availableBoards[0].name;
|
|
76
|
-
}).length !== availableBoards.length || highlightStandaloneOption,
|
|
77
|
-
inlineBoards: hideRadio && boards.length > 1 && boards.length <= (columnMode || rowMode ? 3 : 2),
|
|
78
|
-
inlineCancellations: hideRadio && cancellations.length > 1 && cancellations.length <= (columnMode || rowMode ? 3 : 2),
|
|
79
|
-
rates: cancellations.length !== availableRates.length || countdownRates.length > 0 && countdownRates.length !== availableRates.length || availableRates.filter(function () {
|
|
80
|
-
let {
|
|
81
|
-
description,
|
|
82
|
-
included,
|
|
83
|
-
name
|
|
84
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
85
|
-
return !description || firstRate.description === description && firstRate.name === name && JSON.stringify(firstRate.included) === JSON.stringify(included);
|
|
86
|
-
}).length !== availableRates.length || highlightStandaloneOption
|
|
62
|
+
cancellations: cancellations.length > 0,
|
|
63
|
+
boards: boards.length > (hideStandaloneBoard ? 1 : 0),
|
|
64
|
+
inlineBoards: hideRadio && boards.length > 1 && boards.length <= (columnMode ? 3 : 2),
|
|
65
|
+
inlineCancellations: hideRadio && cancellations.length > 1 && cancellations.length <= (columnMode ? 3 : 2),
|
|
66
|
+
rates: availableRates.length > 0
|
|
87
67
|
};
|
|
68
|
+
const cancellationsFiltered = cancellations.filter(_ref2 => {
|
|
69
|
+
let {
|
|
70
|
+
id
|
|
71
|
+
} = _ref2;
|
|
72
|
+
return !showOffersFirst || showOffersFirst && (id === cancellationId || !has.rates);
|
|
73
|
+
});
|
|
88
74
|
const renderCancellations = () => has.cancellations && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
89
75
|
className: [style.offset, style.gap]
|
|
90
76
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
@@ -93,12 +79,7 @@ const Rates = _ref => {
|
|
|
93
79
|
}, translate(_Item.L10N.LABEL_CANCELLATION_POLICY)), /*#__PURE__*/_react.default.createElement(has.inlineCancellations ? _ui.View : _react.default.Fragment, has.inlineCancellations ? {
|
|
94
80
|
row: true,
|
|
95
81
|
className: style.inlineOptions
|
|
96
|
-
} : undefined,
|
|
97
|
-
let {
|
|
98
|
-
id
|
|
99
|
-
} = _ref2;
|
|
100
|
-
return !showOffersFirst || showOffersFirst && (id === cancellationId || !has.rates);
|
|
101
|
-
}).map(_ref3 => {
|
|
82
|
+
} : undefined, cancellationsFiltered.map(_ref3 => {
|
|
102
83
|
let {
|
|
103
84
|
highlight,
|
|
104
85
|
id,
|
|
@@ -114,7 +95,7 @@ const Rates = _ref => {
|
|
|
114
95
|
inline: has.inlineCancellations,
|
|
115
96
|
outlined: hideRadio,
|
|
116
97
|
value: !showOffersFirst ? price / priceFactor : undefined,
|
|
117
|
-
onPress: () => onCancellation(id)
|
|
98
|
+
onPress: cancellationsFiltered.length > 1 ? () => onCancellation(id) : undefined
|
|
118
99
|
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
119
100
|
action: !isMobile,
|
|
120
101
|
medium: highlight,
|
|
@@ -195,7 +176,7 @@ const Rates = _ref => {
|
|
|
195
176
|
disabled: disabled,
|
|
196
177
|
outlined: hideRadio,
|
|
197
178
|
value: price / priceFactor,
|
|
198
|
-
onPress: rates.length >
|
|
179
|
+
onPress: rates.length > 1 ? () => onRate({
|
|
199
180
|
id,
|
|
200
181
|
cancellationId
|
|
201
182
|
}) : undefined
|
|
@@ -253,7 +234,7 @@ const Rates = _ref => {
|
|
|
253
234
|
outlined: hideRadio,
|
|
254
235
|
title: name,
|
|
255
236
|
value: has.boards ? increment / priceFactor : undefined,
|
|
256
|
-
onPress: () => onBoard(board)
|
|
237
|
+
onPress: boards.length > 1 ? () => onBoard(board) : undefined
|
|
257
238
|
}, variants.length > 0 && /*#__PURE__*/_react.default.createElement(_components.TooltipDates, {
|
|
258
239
|
captions: variants.map(function () {
|
|
259
240
|
let {
|
|
@@ -279,8 +260,6 @@ Rates.propTypes = {
|
|
|
279
260
|
features: _propTypes.default.shape({
|
|
280
261
|
columnMode: _propTypes.default.bool,
|
|
281
262
|
hideStandaloneBoard: _propTypes.default.bool,
|
|
282
|
-
highlightStandaloneOption: _propTypes.default.bool,
|
|
283
|
-
rowMode: _propTypes.default.bool,
|
|
284
263
|
showOffersFirst: _propTypes.default.bool,
|
|
285
264
|
showRateIncluded: _propTypes.default.bool
|
|
286
265
|
}),
|