@mirai/core 0.3.65 → 0.3.66

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/build/components/Rates/Rates.Footer.js +32 -48
  2. package/build/components/Rates/Rates.Footer.js.map +1 -1
  3. package/build/components/Rates/Rates.Header.js +8 -4
  4. package/build/components/Rates/Rates.Header.js.map +1 -1
  5. package/build/components/Rates/Rates.RoomSelector.js +0 -3
  6. package/build/components/Rates/Rates.RoomSelector.js.map +1 -1
  7. package/build/components/Rates/Rates.Skeleton.js +6 -3
  8. package/build/components/Rates/Rates.Skeleton.js.map +1 -1
  9. package/build/components/Rates/Rates.js +53 -25
  10. package/build/components/Rates/Rates.js.map +1 -1
  11. package/build/components/Rates/Rates.module.css +33 -13
  12. package/build/components/Rates/components/Item/Item.Preview.js +21 -6
  13. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  14. package/build/components/Rates/components/Item/Item.Summary.js +20 -26
  15. package/build/components/Rates/components/Item/Item.Summary.js.map +1 -1
  16. package/build/components/Rates/components/Item/Item.module.css +9 -15
  17. package/build/components/Rates/components/Item/components/Features/Features.js +15 -18
  18. package/build/components/Rates/components/Item/components/Features/Features.js.map +1 -1
  19. package/build/components/Rates/components/Item/components/Features/Features.module.css +0 -6
  20. package/build/components/Rates/components/Item/components/{Discount/Discount.js → PriceDetails/PriceDetails.js} +23 -18
  21. package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js.map +1 -0
  22. package/build/components/Rates/components/Item/components/{Discount/Discount.module.css → PriceDetails/PriceDetails.module.css} +5 -6
  23. package/build/components/Rates/components/Item/components/PriceDetails/index.js +17 -0
  24. package/build/components/Rates/components/Item/components/PriceDetails/index.js.map +1 -0
  25. package/build/components/Rates/components/Item/components/index.js +11 -11
  26. package/build/components/Rates/components/Item/components/index.js.map +1 -1
  27. package/build/components/Rates/components/ModalExtras/ModalExtras.js +176 -0
  28. package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -0
  29. package/build/components/Rates/components/ModalExtras/ModalExtras.l10n.js +18 -0
  30. package/build/components/Rates/components/ModalExtras/ModalExtras.l10n.js.map +1 -0
  31. package/build/components/Rates/components/ModalExtras/ModalExtras.module.css +74 -0
  32. package/build/components/Rates/components/{Item/components/Discount → ModalExtras}/index.js +4 -4
  33. package/build/components/Rates/components/ModalExtras/index.js.map +1 -0
  34. package/build/components/Rates/components/index.js +11 -0
  35. package/build/components/Rates/components/index.js.map +1 -1
  36. package/package.json +1 -1
  37. package/build/components/Rates/components/Item/components/Discount/Discount.js.map +0 -1
  38. package/build/components/Rates/components/Item/components/Discount/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","style","_Rates5","_Rates6","_services","_Finder","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Rates","_ref","skeleton","others","isMobile","useDevice","translate","useLocale","refRoomSelector","useRef","value","club","discount","currency","finder","occupation","hotel","language","locale","session","urlParams","useStore","cart","setCart","useState","compact","setCompact","dataSource","setDataSource","fetching","setFetching","undefined","filter","setFilter","clubDiscount","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","responseError","setResponseError","room","setRoom","storage","Storage","adapter","LocalAdapter","cache","RATES_STORAGE_CACHE","useEffect","handleScroll","window","addEventListener","removeEventListener","externalLogoff","id","document","location","href","concat","process","env","SERVICE_USER","EXPIRATION_ENDPOINT","multiRoom","current","offsetHeight","offsetTop","documentElement","scrollTo","top","behavior","fetch","params","nextParams","parties","parseToParties","ServiceRates","catch","RATES_STORAGE_KEY","generateId","JSON","stringify","handleChange","board","nextCart","handleChangeCurrency","nextCurrency","handleChangeFilter","nextFilter","handleFinderSubmit","values","getFinderParams","history","replaceState","toUrlParams","response","roomSelectorProps","onPress","createElement","Fragment","View","ref","className","styles","sticky","Finder","assisted","text","L10N","ACTION_SEARCH","onExpand","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","container","wrapper","content","Header","onChange","onCurrency","row","items","map","_ref2","index","item","Item","taxes","onMoreInfo","onRateInfo","rate","onViewUrl","info","Notification","error","large","Text","align","markdown","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","exports","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { LocalAdapter, Storage, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Notification, Progress, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Item, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport { getFinderParams } from './helpers';\nimport { EXPIRATION_ENDPOINT, RATES_STORAGE_CACHE, RATES_STORAGE_KEY } from './Rates.constants';\nimport { Footer } from './Rates.Footer';\nimport { Header } 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 { ServiceRates } from '../../services';\nimport { Finder } from '../Finder/Finder';\nimport { generateId, parseToParties, toUrlParams } from '../helpers';\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder: { occupation = [] } = {},\n hotel = {},\n language,\n locale,\n session,\n urlParams,\n },\n } = useStore();\n\n const [cart, setCart] = useState([]);\n const [compact, setCompact] = useState(true);\n const [dataSource, setDataSource] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [filter, setFilter] = useState({ clubDiscount: discount });\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n\n const storage = new Storage({ adapter: LocalAdapter, cache: RATES_STORAGE_CACHE });\n\n useEffect(() => {\n if (skeleton) return setFetching(true);\n\n const handleScroll = () => setCompact(true);\n window.addEventListener('scroll', handleScroll);\n\n return () => window.removeEventListener('scroll', handleScroll);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!urlParams || !dataSource) return;\n\n // ! Should know if didnt expire the storage\n // const storedCart = storage.get(key(urlParams));\n // if (storedCart) setCart(storedCart.map((item) => (item !== null ? item : undefined)));\n if (dataSource?.externalLogoff && club?.id)\n document.location.href = `${process.env.SERVICE_USER}/${EXPIRATION_ENDPOINT}?idClub=${club.id}&lang=${language}`;\n\n if (room == undefined && occupation.length > 1) setRoom(0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n if (multiRoom && room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n document.documentElement.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n setDataSource();\n }\n fetch(currency, undefined, undefined, room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, room, session]);\n\n const fetch = async (currency, clubDiscount = filter.clubDiscount, params = urlParams, room) => {\n if (skeleton) return;\n\n setFetching(true);\n\n setResponseError();\n const nextParams = { ...params, club, clubDiscount, currency, locale, session };\n if (room !== undefined) nextParams.parties = parseToParties([occupation[room]]);\n setDataSource(await ServiceRates.get(nextParams).catch(setResponseError));\n setFetching(false);\n };\n\n const key = (dataSource) => `${RATES_STORAGE_KEY}:${generateId(JSON.stringify(dataSource))}`;\n\n const handleChange = (board) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board;\n\n setCart(nextCart);\n storage.set(key(urlParams), nextCart);\n\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n };\n\n const handleChangeCurrency = async (nextCurrency) => {\n await fetch(nextCurrency, undefined, undefined, room);\n setCart([]);\n set({ currency: nextCurrency });\n };\n\n const handleChangeFilter = async (nextFilter) => {\n setFilter(nextFilter);\n if (nextFilter.clubDiscount !== filter.clubDiscount)\n await fetch(currency, nextFilter.clubDiscount, undefined, room);\n };\n\n const handleFinderSubmit = (values) => {\n setCompact(true);\n setDataSource(undefined);\n const params = getFinderParams({ ...urlParams, ...values, currency, locale, hotel });\n\n history.replaceState({}, '', toUrlParams(params));\n // ! TODO: Restart the process?\n setCart([]);\n setRoom(undefined);\n fetch(currency, filter.clubDiscount, params);\n };\n\n const multiRoom = occupation?.length > 1;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n\n return (\n <>\n <View ref={refRoomSelector} className={styles(style.finder, !multiRoom && style.sticky)}>\n <Finder\n assisted={false}\n compact={compact}\n text={translate(L10N.ACTION_SEARCH)}\n onExpand={() => setCompact(false)}\n onSubmit={handleFinderSubmit}\n />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && <RoomSelector {...roomSelectorProps} />}\n\n <View {...others} role=\"rates\" className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {response && (\n <Header\n {...{ dataSource, occupation }}\n value={filter}\n onChange={handleChangeFilter}\n onCurrency={handleChangeCurrency}\n className={multiRoom ? style.sticky : undefined}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </Header>\n )}\n\n {response ? (\n <>\n <View row={!isMobile} className={style.items}>\n {dataSource.items.map(({ id, ...item }, index) => (\n <Item\n key={id || index}\n {...{ id, ...item, filter, multiRoom, taxes: dataSource.taxes }}\n cart={cart[room || 0]}\n onChange={handleChange}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo(rate)}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n </View>\n </>\n ) : responseError ? (\n <Notification error large>\n <Text align=\"center\" markdown={false}>\n {JSON.stringify(responseError)}\n </Text>\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n\n <Footer {...{ cart, dataSource, filter, multiRoom, occupation }} onChange={handleChange} />\n </View>\n\n <ModalItemInfo {...itemInfo} visible={!!itemInfo} onClose={() => setItemInfo()} />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n </>\n );\n};\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","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","style","_Rates5","_Rates6","_services","_Finder","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Rates","_ref","skeleton","others","isMobile","useDevice","translate","useLocale","refRoomSelector","useRef","value","club","discount","currency","finder","occupation","forwarder","hotel","language","locale","session","urlParams","useStore","cart","setCart","useState","compact","setCompact","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","filter","setFilter","clubDiscount","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","responseError","setResponseError","room","setRoom","useEffect","handleScroll","window","addEventListener","removeEventListener","externalLogoff","id","document","location","href","concat","process","env","SERVICE_USER","EXPIRATION_ENDPOINT","multiRoom","current","offsetHeight","offsetTop","documentElement","scrollTo","top","behavior","fetch","params","nextParams","parties","parseToParties","ServiceRates","catch","handleChangeCurrency","nextCurrency","handleChangeFilter","nextFilter","handleSelect","board","nextCart","handleSubmit","handleFinderSubmit","values","getFinderParams","history","replaceState","toUrlParams","setTimeout","handleCheckout","getForwarderUrl","response","roomSelectorProps","onPress","createElement","Fragment","View","ref","className","styles","sticky","Finder","assisted","text","L10N","ACTION_SEARCH","onExpand","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","container","wrapper","content","Header","onChange","onCurrency","row","items","map","_ref2","index","item","Item","taxes","onMoreInfo","onRateInfo","rate","onSelect","onViewUrl","info","Notification","error","large","Text","align","markdown","JSON","stringify","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","exports","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Notification, Progress, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport { getFinderParams, getForwarderUrl } from './helpers';\nimport { EXPIRATION_ENDPOINT } from './Rates.constants';\nimport { Footer } from './Rates.Footer';\nimport { Header } 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 { ServiceRates } from '../../services';\nimport { Finder } from '../Finder/Finder';\nimport { parseToParties, toUrlParams } from '../helpers';\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder: { occupation = [] } = {},\n forwarder,\n hotel = {},\n language,\n locale,\n session,\n urlParams,\n },\n } = useStore();\n\n const [cart, setCart] = useState([]);\n const [compact, setCompact] = useState(true);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [filter, setFilter] = useState({ clubDiscount: discount });\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n\n useEffect(() => {\n if (skeleton) return setFetching(true);\n\n const handleScroll = () => setCompact(true);\n window.addEventListener('scroll', handleScroll);\n\n return () => window.removeEventListener('scroll', handleScroll);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!urlParams || !dataSource) return;\n\n if (dataSource?.externalLogoff && club?.id)\n document.location.href = `${process.env.SERVICE_USER}/${EXPIRATION_ENDPOINT}?idClub=${club.id}&lang=${language}`;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n useEffect(() => {\n if (multiRoom) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n document.documentElement.scrollTo({ top: offsetTop + (isMobile ? offsetHeight : 0), behavior: 'smooth' });\n setDataSource();\n }\n fetch(currency, undefined, undefined, room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, room, session]);\n\n const fetch = async (currency, clubDiscount = filter.clubDiscount, params = urlParams, room) => {\n if (skeleton) return;\n\n setFetching(true);\n setResponseError();\n const nextParams = { ...params, club, clubDiscount, currency, locale, session };\n if (room !== undefined) nextParams.parties = parseToParties([occupation[room]]);\n\n if (!multiRoom || (multiRoom && room !== undefined)) {\n setDataSource(await ServiceRates.get(nextParams).catch(setResponseError));\n } else if (multiRoom && room === undefined) {\n setRoom(0);\n }\n setFetching(false);\n };\n\n const handleChangeCurrency = async (nextCurrency) => {\n await fetch(nextCurrency, undefined, undefined, room);\n setCart([]);\n set({ currency: nextCurrency });\n };\n\n const handleChangeFilter = async (nextFilter) => {\n setFilter(nextFilter);\n if (nextFilter.clubDiscount !== filter.clubDiscount)\n await fetch(currency, nextFilter.clubDiscount, undefined, room);\n };\n\n const handleSelect = (board) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board;\n\n setCart(nextCart);\n setExtras();\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n };\n\n const handleFinderSubmit = (values) => {\n setCompact(true);\n setDataSource(undefined);\n const params = getFinderParams({ ...urlParams, ...values, currency, locale, hotel });\n\n history.replaceState({}, '', toUrlParams(params));\n // ! TODO: Restart the process?\n setCart([]);\n setRoom(undefined);\n fetch(currency, filter.clubDiscount, params);\n };\n\n const handleSubmit = (cart) => {\n // ! TODO: Determine if we have extras for current cart\n setTimeout(async () => {\n // const extras = await ServiceRates.extras(cart);\n // setExtras([]);\n handleCheckout(cart, extras);\n }, 1000);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n const { clubDiscount } = filter;\n document.location.href = getForwarderUrl({ cart, clubDiscount, currency, extras, forwarder, urlParams });\n };\n\n const multiRoom = occupation?.length > 1;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n\n return (\n <>\n <View ref={refRoomSelector} className={styles(style.finder, !multiRoom && style.sticky)}>\n <Finder\n assisted={false}\n compact={compact}\n text={translate(L10N.ACTION_SEARCH)}\n onExpand={() => setCompact(false)}\n onSubmit={handleFinderSubmit}\n />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && <RoomSelector {...roomSelectorProps} />}\n\n <View {...others} role=\"rates\" className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {response && (\n <Header\n {...{ dataSource, occupation }}\n value={filter}\n onChange={handleChangeFilter}\n onCurrency={handleChangeCurrency}\n className={multiRoom ? style.sticky : undefined}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </Header>\n )}\n\n {response ? (\n <>\n <View row={!isMobile} className={style.items}>\n {dataSource.items.map(({ id, ...item }, index) => (\n <Item\n key={id || index}\n {...{ id, ...item, filter, multiRoom, taxes: dataSource.taxes }}\n cart={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo(rate)}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n </View>\n </>\n ) : responseError ? (\n <Notification error large>\n <Text align=\"center\" markdown={false}>\n {JSON.stringify(responseError)}\n </Text>\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n\n {multiRoom && <Footer {...{ cart, dataSource, extras, occupation }} onSubmit={() => handleSubmit(cart)} />}\n </View>\n\n {response && (\n <>\n <ModalItemInfo {...itemInfo} visible={!!itemInfo} onClose={() => setItemInfo()} />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n // extras={extras} // ! TODO: Only enable when extras is working\n {...{ cart, taxes: dataSource.taxes }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n </>\n )}\n </>\n );\n};\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
@@ -93,21 +93,23 @@ body {
93
93
  color: transparent;
94
94
  }
95
95
 
96
+ .header .tooltip {
97
+ max-width: calc(var(--mirai-ui-breakpoint-S) * 0.8);
98
+ padding: var(--mirai-ui-space-S);
99
+ gap: var(--mirai-ui-space-XS);
100
+ }
101
+
96
102
  .header .tooltip [data-role='text'] {
97
103
  color: var(--mirai-ui-tooltip-color);
98
104
  }
99
105
 
100
- .header .action {
106
+ .header .tooltip .action {
101
107
  display: inline;
102
108
  font-size: inherit;
103
109
  pointer-events: auto;
104
110
  overflow: auto;
105
111
  }
106
112
 
107
- .header .action:hover {
108
- color: var(--mirai-ui-tooltip-color);
109
- }
110
-
111
113
  .tag {
112
114
  align-items: center;
113
115
  background-color: var(--mirai-ui-base);
@@ -120,7 +122,8 @@ body {
120
122
  padding-right: var(--mirai-ui-input-text-padding-x);
121
123
  }
122
124
 
123
- .tag > [data-role] {
125
+ .tag > [data-role],
126
+ .tag > * > [data-role] {
124
127
  color: var(--mirai-ui-content-light);
125
128
  }
126
129
 
@@ -128,7 +131,7 @@ body {
128
131
  background-color: var(--mirai-ui-accent);
129
132
  }
130
133
 
131
- .tag.active > [data-role] {
134
+ .tag.active [data-role] {
132
135
  color: var(--mirai-ui-base);
133
136
  }
134
137
 
@@ -141,10 +144,15 @@ body {
141
144
  border-color: var(--mirai-ui-accent);
142
145
  }
143
146
 
144
- .tag.highlight > [data-role] {
147
+ .tag.highlight > [data-role],
148
+ .tag.highlight > * > [data-role] {
145
149
  color: var(--mirai-ui-accent);
146
150
  }
147
151
 
152
+ .tag.clubDiscount > * {
153
+ gap: var(--mirai-ui-space-XS);
154
+ }
155
+
148
156
  .tag.room {
149
157
  min-width: fit-content;
150
158
  }
@@ -190,10 +198,13 @@ body {
190
198
  }
191
199
 
192
200
  .cartItem .room {
201
+ align-items: center;
193
202
  background-color: var(--mirai-ui-content-border);
194
203
  border-radius: calc(var(--mirai-ui-border-radius) / 2);
204
+ gap: calc(var(--mirai-ui-space-XS) / 2);
195
205
  height: var(--mirai-ui-space-L);
196
206
  line-height: var(--mirai-ui-space-L);
207
+ min-width: var(--mirai-ui-space-XL);
197
208
  padding: 0 var(--mirai-ui-space-XS);
198
209
  }
199
210
 
@@ -269,6 +280,20 @@ body {
269
280
  }
270
281
  }
271
282
 
283
+ /* M */
284
+ @media only screen and (min-width: 431px) and (max-width: 1179px) {
285
+ .items > * {
286
+ flex-basis: calc(50% - calc(var(--mirai-ui-space-M) / 2));
287
+ }
288
+ }
289
+
290
+ /* L */
291
+ @media only screen and (min-width: 1180px) {
292
+ .items > * {
293
+ flex-basis: calc(33.33% - calc(calc(var(--mirai-ui-space-M) * 2) / 3));
294
+ }
295
+ }
296
+
272
297
  /* M & L */
273
298
  @media only screen and (min-width: 431px) {
274
299
  .container {
@@ -288,7 +313,6 @@ body {
288
313
 
289
314
  .items > * {
290
315
  box-sizing: border-box;
291
- flex-basis: calc(33.33% - calc(calc(var(--mirai-ui-space-M) * 2) / 3));
292
316
  }
293
317
 
294
318
  /* -- <Footer> ---------------------------------------------------------------------------------------------------- */
@@ -303,8 +327,4 @@ body {
303
327
  .footer .summary {
304
328
  padding: var(--mirai-ui-space-M) 0;
305
329
  }
306
-
307
- .footer .buttons {
308
- gap: var(--mirai-ui-space-M);
309
- }
310
330
  }
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Preview = void 0;
7
+ var _dataSources = require("@mirai/data-sources");
7
8
  var _locale = require("@mirai/locale");
8
9
  var _ui = require("@mirai/ui");
9
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -18,6 +19,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
18
19
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19
20
  const Preview = _ref => {
20
21
  let {
22
+ availability = 0,
21
23
  cancellations = [],
22
24
  images = [],
23
25
  media: {
@@ -39,11 +41,18 @@ const Preview = _ref => {
39
41
  translate
40
42
  } = (0, _locale.useLocale)();
41
43
  const ref = (0, _react.useRef)(null);
44
+ const {
45
+ value: {
46
+ hotel: {
47
+ warningAvailability = 9999
48
+ }
49
+ } = {}
50
+ } = (0, _dataSources.useStore)();
42
51
  const [sliderIndex, setSliderIndex] = (0, _react.useState)(0);
43
- const [sliderWidth, setSliderWidth] = (0, _react.useState)(320);
52
+ const [sliderWidth, setSliderWidth] = (0, _react.useState)(360);
44
53
  (0, _react.useEffect)(() => {
45
54
  var _ref$current;
46
- if (ref.current) setSliderWidth((_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.clientWidth);
55
+ if (ref.current) setSliderWidth(((_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.clientWidth) - 2);
47
56
  }, [width]);
48
57
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
49
58
  ref: ref
@@ -92,10 +101,15 @@ const Preview = _ref => {
92
101
  level: 2,
93
102
  value: _helpers.ICON.THREE_D
94
103
  })))), /*#__PURE__*/_react.default.createElement(_ui.View, {
95
- className: [style.offset, style.anchor]
96
- }, /*#__PURE__*/_react.default.createElement(_components.Features, _extends({
97
- _box: true
98
- }, others))), /*#__PURE__*/_react.default.createElement(_ui.View, {
104
+ row: true,
105
+ className: [style.offset, style.spaceBetween, style.anchor]
106
+ }, /*#__PURE__*/_react.default.createElement(_components.Features, others), availability <= warningAvailability && /*#__PURE__*/_react.default.createElement(_ui.Text, {
107
+ bold: true,
108
+ small: true,
109
+ className: style.availability
110
+ }, translate(_Item.L10N.LABEL_REMAINING_ITEMS, {
111
+ amount: availability
112
+ }))), /*#__PURE__*/_react.default.createElement(_ui.View, {
99
113
  className: [style.offset, style.gap, style.anchor]
100
114
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
101
115
  bold: true,
@@ -125,6 +139,7 @@ const Preview = _ref => {
125
139
  exports.Preview = Preview;
126
140
  Preview.displayName = 'Mirai:Core:Rates:Item.Preview';
127
141
  Preview.propTypes = {
142
+ availability: _propTypes.default.number,
128
143
  cancellations: _propTypes.default.arrayOf(_propTypes.default.any),
129
144
  images: _propTypes.default.arrayOf(_propTypes.default.shape({
130
145
  alt: _propTypes.default.string,
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Preview.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Preview","_ref","cancellations","images","media","url3D","urlVideo","name","title","selectedBoard","onMoreInfo","onRateInfo","onViewUrl","others","isMobile","width","useDevice","translate","useLocale","ref","useRef","sliderIndex","setSliderIndex","useState","sliderWidth","setSliderWidth","useEffect","_ref$current","current","clientWidth","createElement","View","className","slider","Slider","height","map","_ref2","large","onChange","row","buttons","Button","rounded","squared","tooltip","L10N","LABEL_VIEW_VIDEO","transparent","onPress","url","button","Icon","headline","level","value","ICON","PLAY","LABEL_3D_VIEW","THREE_D","offset","anchor","Features","_box","gap","Text","bold","Amenities","highlight","preview","Pressable","cancellation","action","INFO","caption","small","Action","inline","concat","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","arrayOf","any","shape","alt","string","thumbnail","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Pressable, Slider, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useEffect, useState } from 'react';\n\nimport { Amenities, Features } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\n\nconst Preview = ({\n cancellations = [],\n images = [],\n media: { url3D, urlVideo } = {},\n name: title,\n selectedBoard = {},\n onMoreInfo,\n onRateInfo,\n onViewUrl = () => {},\n ...others\n}) => {\n const { isMobile, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n\n const [sliderIndex, setSliderIndex] = useState(0);\n const [sliderWidth, setSliderWidth] = useState(320);\n\n useEffect(() => {\n if (ref.current) setSliderWidth(ref.current?.clientWidth);\n }, [width]);\n\n return (\n <View ref={ref}>\n <View className={style.slider}>\n <Slider\n height={210}\n images={images.map(({ large }) => large)}\n width={sliderWidth}\n onChange={setSliderIndex}\n className={style.slider}\n />\n\n {(url3D || urlVideo) && sliderIndex === 0 && (\n <View row className={style.buttons}>\n {urlVideo && (\n <Button\n rounded\n squared\n tooltip={translate(L10N.LABEL_VIEW_VIDEO)}\n transparent\n onPress={() => onViewUrl({ title: translate(L10N.LABEL_VIEW_VIDEO), url: urlVideo })}\n className={style.button}\n >\n <Icon headline level={2} value={ICON.PLAY} />\n </Button>\n )}\n\n {url3D && (\n <Button\n rounded\n squared\n tooltip={translate(L10N.LABEL_3D_VIEW)}\n transparent\n onPress={() => onViewUrl({ title: translate(L10N.LABEL_3D_VIEW), url: url3D })}\n className={style.button}\n >\n <Icon headline level={2} value={ICON.THREE_D} />\n </Button>\n )}\n </View>\n )}\n </View>\n\n <View className={[style.offset, style.anchor]}>\n <Features _box {...others} />\n </View>\n\n <View className={[style.offset, style.gap, style.anchor]}>\n <Text bold headline={!isMobile} level={3}>\n {title}\n </Text>\n\n <Amenities highlight preview {...others} />\n\n {cancellations.length === 1 && (\n <View>\n <Pressable\n onPress={() => onRateInfo({ ...selectedBoard, cancellation: cancellations[0] })}\n className={style.row}\n >\n <Text action>{cancellations[0].name}</Text>\n <Icon value={ICON.INFO} />\n </Pressable>\n {cancellations[0].caption && <Text small>{cancellations[0].caption}</Text>}\n </View>\n )}\n\n <Action inline small={isMobile} onPress={onMoreInfo}>\n {`${translate(L10N.ACTION_MORE_INFO)} >`}\n </Action>\n </View>\n </View>\n );\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item.Preview';\n\nPreview.propTypes = {\n cancellations: PropTypes.arrayOf(PropTypes.any),\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n name: PropTypes.string,\n selectedBoard: PropTypes.shape({}),\n onMoreInfo: PropTypes.func,\n onRateInfo: 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","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Preview","_ref","availability","cancellations","images","media","url3D","urlVideo","name","title","selectedBoard","onMoreInfo","onRateInfo","onViewUrl","others","isMobile","width","useDevice","translate","useLocale","ref","useRef","value","hotel","warningAvailability","useStore","sliderIndex","setSliderIndex","useState","sliderWidth","setSliderWidth","useEffect","_ref$current","current","clientWidth","createElement","View","className","slider","Slider","height","map","_ref2","large","onChange","row","buttons","Button","rounded","squared","tooltip","L10N","LABEL_VIEW_VIDEO","transparent","onPress","url","button","Icon","headline","level","ICON","PLAY","LABEL_3D_VIEW","THREE_D","offset","spaceBetween","anchor","Features","Text","bold","small","LABEL_REMAINING_ITEMS","amount","gap","Amenities","highlight","preview","Pressable","cancellation","action","INFO","caption","Action","inline","concat","ACTION_MORE_INFO","exports","displayName","propTypes","PropTypes","number","arrayOf","any","shape","alt","string","thumbnail","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Preview.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Pressable, Slider, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useEffect, useState } from 'react';\n\nimport { Amenities, Features } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { ICON } from '../../../helpers';\n\nconst Preview = ({\n availability = 0,\n cancellations = [],\n images = [],\n media: { url3D, urlVideo } = {},\n name: title,\n selectedBoard = {},\n onMoreInfo,\n onRateInfo,\n onViewUrl = () => {},\n ...others\n}) => {\n const { isMobile, width } = useDevice();\n const { translate } = useLocale();\n const ref = useRef(null);\n const { value: { hotel: { warningAvailability = 9999 } } = {} } = useStore();\n\n const [sliderIndex, setSliderIndex] = useState(0);\n const [sliderWidth, setSliderWidth] = useState(360);\n\n useEffect(() => {\n if (ref.current) setSliderWidth(ref.current?.clientWidth - 2);\n }, [width]);\n\n return (\n <View ref={ref}>\n <View className={style.slider}>\n <Slider\n height={210}\n images={images.map(({ large }) => large)}\n width={sliderWidth}\n onChange={setSliderIndex}\n className={style.slider}\n />\n\n {(url3D || urlVideo) && sliderIndex === 0 && (\n <View row className={style.buttons}>\n {urlVideo && (\n <Button\n rounded\n squared\n tooltip={translate(L10N.LABEL_VIEW_VIDEO)}\n transparent\n onPress={() => onViewUrl({ title: translate(L10N.LABEL_VIEW_VIDEO), url: urlVideo })}\n className={style.button}\n >\n <Icon headline level={2} value={ICON.PLAY} />\n </Button>\n )}\n\n {url3D && (\n <Button\n rounded\n squared\n tooltip={translate(L10N.LABEL_3D_VIEW)}\n transparent\n onPress={() => onViewUrl({ title: translate(L10N.LABEL_3D_VIEW), url: url3D })}\n className={style.button}\n >\n <Icon headline level={2} value={ICON.THREE_D} />\n </Button>\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween, style.anchor]}>\n <Features {...others} />\n\n {availability <= warningAvailability && (\n <Text bold small className={style.availability}>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Text>\n )}\n </View>\n\n <View className={[style.offset, style.gap, style.anchor]}>\n <Text bold headline={!isMobile} level={3}>\n {title}\n </Text>\n\n <Amenities highlight preview {...others} />\n\n {cancellations.length === 1 && (\n <View>\n <Pressable\n onPress={() => onRateInfo({ ...selectedBoard, cancellation: cancellations[0] })}\n className={style.row}\n >\n <Text action>{cancellations[0].name}</Text>\n <Icon value={ICON.INFO} />\n </Pressable>\n {cancellations[0].caption && <Text small>{cancellations[0].caption}</Text>}\n </View>\n )}\n\n <Action inline small={isMobile} onPress={onMoreInfo}>\n {`${translate(L10N.ACTION_MORE_INFO)} >`}\n </Action>\n </View>\n </View>\n );\n};\n\nPreview.displayName = 'Mirai:Core:Rates:Item.Preview';\n\nPreview.propTypes = {\n availability: PropTypes.number,\n cancellations: PropTypes.arrayOf(PropTypes.any),\n images: PropTypes.arrayOf(\n PropTypes.shape({\n alt: PropTypes.string,\n large: PropTypes.string,\n thumbnail: PropTypes.string,\n }),\n ),\n media: PropTypes.shape({\n url3D: PropTypes.string,\n urlVideo: PropTypes.string,\n }),\n name: PropTypes.string,\n selectedBoard: PropTypes.shape({}),\n onMoreInfo: PropTypes.func,\n onRateInfo: PropTypes.func,\n onViewUrl: PropTypes.func,\n};\n\nexport { Preview };\n"],"mappings":"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"}
@@ -8,7 +8,7 @@ var _dataSources = require("@mirai/data-sources");
8
8
  var _locale = require("@mirai/locale");
9
9
  var _ui = require("@mirai/ui");
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _react = _interopRequireDefault(require("react"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
12
  var _components = require("./components");
13
13
  var _Item = require("./Item.l10n");
14
14
  var style = _interopRequireWildcard(require("./Item.module.css"));
@@ -19,13 +19,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
19
19
  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); }
20
20
  const Summary = _ref => {
21
21
  let {
22
- availability = 0,
23
22
  multiRoom = false,
24
23
  name: roomName,
25
24
  selected = {},
26
25
  selectedBoard = {},
27
26
  taxes,
28
- onChange
27
+ onSelect
29
28
  } = _ref;
30
29
  const {
31
30
  isMobile
@@ -35,12 +34,11 @@ const Summary = _ref => {
35
34
  } = (0, _locale.useLocale)();
36
35
  const {
37
36
  value: {
38
- currency,
39
- hotel: {
40
- warningAvailability = 9999
41
- }
37
+ currency
42
38
  } = {}
43
39
  } = (0, _dataSources.useStore)();
40
+ const [busy, setBusy] = (0, _react.useState)(false);
41
+ (0, _react.useEffect)(() => Object.keys(selected).length === 0 && setBusy(false), [selected]);
44
42
  const {
45
43
  basePrice,
46
44
  cancellationId,
@@ -57,7 +55,8 @@ const Summary = _ref => {
57
55
  } = selectedBoard;
58
56
  const isSelected = selected.id === id;
59
57
  const handlePress = () => {
60
- onChange(!isSelected ? {
58
+ if (!multiRoom) setBusy(true);
59
+ onSelect(!isSelected ? {
61
60
  basePrice,
62
61
  cancellationId,
63
62
  id,
@@ -75,23 +74,15 @@ const Summary = _ref => {
75
74
  });
76
75
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
77
76
  className: [style.offset, style.summary]
78
- }, /*#__PURE__*/_react.default.createElement(_ui.View, {
79
- row: true,
80
- className: style.spaceBetween
81
77
  }, discountPercentage > 0 && /*#__PURE__*/_react.default.createElement(_ui.Text, {
78
+ accent: true,
82
79
  bold: true,
83
- small: true,
84
- className: style.discount
80
+ small: true
85
81
  }, hasDiscountClub && "".concat(translate(_Item.L10N.LABEL_CLUB_MEMBERS), " "), translate(_Item.L10N.LABEL_DISCOUNT, {
86
82
  value: "".concat(discountPercentage, "%")
87
- })), availability <= warningAvailability && /*#__PURE__*/_react.default.createElement(_ui.Text, {
88
- small: true,
89
- className: style.availability
90
- }, translate(_Item.L10N.LABEL_REMAINING_ITEMS, {
91
- amount: availability
92
- }))), /*#__PURE__*/_react.default.createElement(_ui.View, {
83
+ })), /*#__PURE__*/_react.default.createElement(_ui.View, {
93
84
  row: true,
94
- className: (style.gap, style.content)
85
+ className: [style.gap, style.content]
95
86
  }, /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
96
87
  row: true,
97
88
  className: style.price
@@ -119,23 +110,26 @@ const Summary = _ref => {
119
110
  lighten: true,
120
111
  small: !isMobile,
121
112
  tiny: isMobile
122
- }, translate(taxes ? _Item.L10N.LABEL_EXCLUDES_TAXES_FEES : _Item.L10N.LABEL_INCLUDES_TAXES_FEES)), discountPercentage > 0 && /*#__PURE__*/_react.default.createElement(_components.Discount, _extends({}, selectedBoard, {
113
+ }, translate(taxes ? _Item.L10N.LABEL_EXCLUDES_TAXES_FEES : _Item.L10N.LABEL_INCLUDES_TAXES_FEES)), discountPercentage > 0 && /*#__PURE__*/_react.default.createElement(_components.PriceDetails, _extends({}, selectedBoard, {
114
+ taxes,
123
115
  className: style.priceDetails
124
- }))), /*#__PURE__*/_react.default.createElement(_ui.Button, {
116
+ }))), /*#__PURE__*/_react.default.createElement(_ui.Button
117
+ //
118
+ , {
119
+ busy: busy,
125
120
  large: !isMobile,
126
- secondary: isSelected,
121
+ secondary: multiRoom && isSelected,
127
122
  onPress: handlePress
128
- }, translate(isSelected ? _Item.L10N.LABEL_DESELECT : multiRoom ? _Item.L10N.LABEL_SELECT : _Item.L10N.LABEL_SELECT)))));
123
+ }, translate(multiRoom ? isSelected ? _Item.L10N.LABEL_DESELECT : _Item.L10N.LABEL_SELECT : _Item.L10N.ACTION_RESERVE)))));
129
124
  };
130
125
  exports.Summary = Summary;
131
126
  Summary.displayName = 'Mirai:Core:Rates:Item.Summary';
132
127
  Summary.propTypes = {
133
- availability: _propTypes.default.number,
134
128
  multiRoom: _propTypes.default.bool,
135
129
  name: _propTypes.default.string,
136
130
  selected: _propTypes.default.shape({}),
137
131
  selectedBoard: _propTypes.default.shape({}),
138
132
  taxes: _propTypes.default.string,
139
- onChange: _propTypes.default.func
133
+ onSelect: _propTypes.default.func
140
134
  };
141
135
  //# sourceMappingURL=Item.Summary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_components","_Item","style","_interopRequireWildcard","_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","Summary","_ref","availability","multiRoom","name","roomName","selected","selectedBoard","taxes","onChange","isMobile","useDevice","translate","useLocale","value","currency","hotel","warningAvailability","useStore","basePrice","cancellationId","dayPrice","discount","percentage","discountPercentage","breakdown","id","originalPrice","price","rateId","isSelected","handlePress","undefined","hasDiscountClub","find","_ref2","type","DISCOUNT_TYPE","CLUB","createElement","Fragment","View","className","offset","summary","row","spaceBetween","Text","bold","small","concat","L10N","LABEL_CLUB_MEMBERS","LABEL_DISCOUNT","LABEL_REMAINING_ITEMS","amount","gap","content","headline","level","currencyFormat","action","lighten","lineThrough","tiny","LABEL_PER_UNIT_NIGHT","LABEL_EXCLUDES_TAXES_FEES","LABEL_INCLUDES_TAXES_FEES","Discount","priceDetails","Button","large","secondary","onPress","LABEL_DESELECT","LABEL_SELECT","exports","displayName","propTypes","PropTypes","number","bool","string","shape","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Discount } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Summary = ({\n availability = 0,\n multiRoom = false,\n name: roomName,\n selected = {},\n selectedBoard = {},\n taxes,\n onChange,\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { currency, hotel: { warningAvailability = 9999 } } = {} } = useStore();\n\n const {\n basePrice,\n cancellationId,\n dayPrice,\n discount: { percentage: discountPercentage = 0, breakdown = [] } = {},\n id,\n name,\n originalPrice,\n price,\n rateId,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n onChange(!isSelected ? { basePrice, cancellationId, id, name, price, rateId, roomName } : undefined);\n };\n\n const hasDiscountClub = discountPercentage > 0 && breakdown.find(({ type }) => type === DISCOUNT_TYPE.CLUB);\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n <View row className={style.spaceBetween}>\n {discountPercentage > 0 && (\n <Text bold small className={style.discount}>\n {hasDiscountClub && `${translate(L10N.LABEL_CLUB_MEMBERS)} `}\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n {availability <= warningAvailability && (\n <Text small className={style.availability}>\n {translate(L10N.LABEL_REMAINING_ITEMS, { amount: availability })}\n </Text>\n )}\n </View>\n\n <View row className={(style.gap, style.content)}>\n <View>\n <View row className={style.price}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, value: price })}\n </Text>\n\n {price !== originalPrice && (\n <Text action lighten className={style.lineThrough}>\n {currencyFormat({ currency, value: originalPrice })}\n </Text>\n )}\n </View>\n\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({ currency, value: dayPrice })} ${translate(\n L10N.LABEL_PER_UNIT_NIGHT,\n )}`}</Text>\n\n <Text lighten small={!isMobile} tiny={isMobile}>\n {translate(taxes ? L10N.LABEL_EXCLUDES_TAXES_FEES : L10N.LABEL_INCLUDES_TAXES_FEES)}\n </Text>\n\n {discountPercentage > 0 && <Discount {...selectedBoard} className={style.priceDetails} />}\n </View>\n\n <Button large={!isMobile} secondary={isSelected} onPress={handlePress}>\n {translate(isSelected ? L10N.LABEL_DESELECT : multiRoom ? L10N.LABEL_SELECT : L10N.LABEL_SELECT)}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item.Summary';\n\nSummary.propTypes = {\n availability: PropTypes.number,\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxes: PropTypes.string,\n onChange: PropTypes.func,\n};\nexport { Summary };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAEA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAC,uBAAA,CAAAT,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AAAsD,SAAAW,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,SAAAH,wBAAAG,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,SAAAhB,uBAAA4B,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;AAEtD,MAAMK,OAAO,GAAGC,IAAA,IAQV;EAAA,IARW;IACfC,YAAY,GAAG,CAAC;IAChBC,SAAS,GAAG,KAAK;IACjBC,IAAI,EAAEC,QAAQ;IACdC,QAAQ,GAAG,CAAC,CAAC;IACbC,aAAa,GAAG,CAAC,CAAC;IAClBC,KAAK;IACLC;EACF,CAAC,GAAAR,IAAA;EACC,MAAM;IAAES;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IAAEC,KAAK,EAAE;MAAEC,QAAQ;MAAEC,KAAK,EAAE;QAAEC,mBAAmB,GAAG;MAAK;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEtF,MAAM;IACJC,SAAS;IACTC,cAAc;IACdC,QAAQ;IACRC,QAAQ,EAAE;MAAEC,UAAU,EAAEC,kBAAkB,GAAG,CAAC;MAAEC,SAAS,GAAG;IAAG,CAAC,GAAG,CAAC,CAAC;IACrEC,EAAE;IACFtB,IAAI;IACJuB,aAAa;IACbC,KAAK;IACLC;EACF,CAAC,GAAGtB,aAAa;EAEjB,MAAMuB,UAAU,GAAGxB,QAAQ,CAACoB,EAAE,KAAKA,EAAE;EAErC,MAAMK,WAAW,GAAGA,CAAA,KAAM;IACxBtB,QAAQ,CAAC,CAACqB,UAAU,GAAG;MAAEX,SAAS;MAAEC,cAAc;MAAEM,EAAE;MAAEtB,IAAI;MAAEwB,KAAK;MAAEC,MAAM;MAAExB;IAAS,CAAC,GAAG2B,SAAS,CAAC;EACtG,CAAC;EAED,MAAMC,eAAe,GAAGT,kBAAkB,GAAG,CAAC,IAAIC,SAAS,CAACS,IAAI,CAACC,KAAA;IAAA,IAAC;MAAEC;IAAK,CAAC,GAAAD,KAAA;IAAA,OAAKC,IAAI,KAAKC,oBAAa,CAACC,IAAI;EAAA,EAAC;EAE3G,oBACE3E,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAA5E,MAAA,CAAAY,OAAA,CAAAiE,QAAA,qBACE7E,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAiF,IAAI;IAACC,SAAS,EAAE,CAAC5E,KAAK,CAAC6E,MAAM,EAAE7E,KAAK,CAAC8E,OAAO;EAAE,gBAC7CjF,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAiF,IAAI;IAACI,GAAG;IAACH,SAAS,EAAE5E,KAAK,CAACgF;EAAa,GACrCtB,kBAAkB,GAAG,CAAC,iBACrB7D,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAuF,IAAI;IAACC,IAAI;IAACC,KAAK;IAACP,SAAS,EAAE5E,KAAK,CAACwD;EAAS,GACxCW,eAAe,OAAAiB,MAAA,CAAOtC,SAAS,CAACuC,UAAI,CAACC,kBAAkB,CAAC,MAAG,EAC3DxC,SAAS,CAACuC,UAAI,CAACE,cAAc,EAAE;IAAEvC,KAAK,KAAAoC,MAAA,CAAK1B,kBAAkB;EAAI,CAAC,CAC/D,CACP,EAEAtB,YAAY,IAAIe,mBAAmB,iBAClCtD,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAuF,IAAI;IAACE,KAAK;IAACP,SAAS,EAAE5E,KAAK,CAACoC;EAAa,GACvCU,SAAS,CAACuC,UAAI,CAACG,qBAAqB,EAAE;IAAEC,MAAM,EAAErD;EAAa,CAAC,CAC3D,CAEJ,CAAC,eAEPvC,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAiF,IAAI;IAACI,GAAG;IAACH,SAAS,GAAG5E,KAAK,CAAC0F,GAAG,EAAE1F,KAAK,CAAC2F,OAAO;EAAE,gBAC9C9F,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAiF,IAAI,qBACH9E,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAiF,IAAI;IAACI,GAAG;IAACH,SAAS,EAAE5E,KAAK,CAAC8D;EAAM,gBAC/BjE,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAuF,IAAI;IAACC,IAAI;IAACU,QAAQ;IAACC,KAAK,EAAEjD,QAAQ,GAAG,CAAC,GAAG;EAAE,GACzC,IAAAkD,sBAAc,EAAC;IAAE7C,QAAQ;IAAED,KAAK,EAAEc;EAAM,CAAC,CACtC,CAAC,EAENA,KAAK,KAAKD,aAAa,iBACtBhE,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAuF,IAAI;IAACc,MAAM;IAACC,OAAO;IAACpB,SAAS,EAAE5E,KAAK,CAACiG;EAAY,GAC/C,IAAAH,sBAAc,EAAC;IAAE7C,QAAQ;IAAED,KAAK,EAAEa;EAAc,CAAC,CAC9C,CAEJ,CAAC,eAEPhE,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAuF,IAAI;IAACE,KAAK,EAAE,CAACvC,QAAS;IAACsD,IAAI,EAAEtD;EAAS,MAAAwC,MAAA,CAAK,IAAAU,sBAAc,EAAC;IAAE7C,QAAQ;IAAED,KAAK,EAAEO;EAAS,CAAC,CAAC,OAAA6B,MAAA,CAAItC,SAAS,CACpGuC,UAAI,CAACc,oBACP,CAAC,CAAS,CAAC,eAEXtG,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAAuF,IAAI;IAACe,OAAO;IAACb,KAAK,EAAE,CAACvC,QAAS;IAACsD,IAAI,EAAEtD;EAAS,GAC5CE,SAAS,CAACJ,KAAK,GAAG2C,UAAI,CAACe,yBAAyB,GAAGf,UAAI,CAACgB,yBAAyB,CAC9E,CAAC,EAEN3C,kBAAkB,GAAG,CAAC,iBAAI7D,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC3E,WAAA,CAAAwG,QAAQ,EAAA7E,QAAA,KAAKgB,aAAa;IAAEmC,SAAS,EAAE5E,KAAK,CAACuG;EAAa,EAAE,CACpF,CAAC,eAEP1G,MAAA,CAAAY,OAAA,CAAAgE,aAAA,CAAC/E,GAAA,CAAA8G,MAAM;IAACC,KAAK,EAAE,CAAC7D,QAAS;IAAC8D,SAAS,EAAE1C,UAAW;IAAC2C,OAAO,EAAE1C;EAAY,GACnEnB,SAAS,CAACkB,UAAU,GAAGqB,UAAI,CAACuB,cAAc,GAAGvE,SAAS,GAAGgD,UAAI,CAACwB,YAAY,GAAGxB,UAAI,CAACwB,YAAY,CACzF,CACJ,CACF,CACN,CAAC;AAEP,CAAC;AAACC,OAAA,CAAA5E,OAAA,GAAAA,OAAA;AAEFA,OAAO,CAAC6E,WAAW,GAAG,+BAA+B;AAErD7E,OAAO,CAAC8E,SAAS,GAAG;EAClB5E,YAAY,EAAE6E,kBAAS,CAACC,MAAM;EAC9B7E,SAAS,EAAE4E,kBAAS,CAACE,IAAI;EACzB7E,IAAI,EAAE2E,kBAAS,CAACG,MAAM;EACtB5E,QAAQ,EAAEyE,kBAAS,CAACI,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7B5E,aAAa,EAAEwE,kBAAS,CAACI,KAAK,CAAC,CAAC,CAAC,CAAC;EAClC3E,KAAK,EAAEuE,kBAAS,CAACG,MAAM;EACvBzE,QAAQ,EAAEsE,kBAAS,CAACK;AACtB,CAAC"}
1
+ {"version":3,"file":"Item.Summary.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Item","style","_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","Summary","_ref","multiRoom","name","roomName","selected","selectedBoard","taxes","onSelect","isMobile","useDevice","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","keys","basePrice","cancellationId","dayPrice","discount","percentage","discountPercentage","breakdown","id","originalPrice","price","rateId","isSelected","handlePress","undefined","hasDiscountClub","find","_ref2","type","DISCOUNT_TYPE","CLUB","createElement","Fragment","View","className","offset","summary","Text","accent","bold","small","concat","L10N","LABEL_CLUB_MEMBERS","LABEL_DISCOUNT","row","gap","content","headline","level","currencyFormat","action","lighten","lineThrough","tiny","LABEL_PER_UNIT_NIGHT","LABEL_EXCLUDES_TAXES_FEES","LABEL_INCLUDES_TAXES_FEES","PriceDetails","priceDetails","Button","large","secondary","onPress","LABEL_DESELECT","LABEL_SELECT","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","bool","string","shape","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.Summary.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Button, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { PriceDetails } from './components';\nimport { L10N } from './Item.l10n';\nimport * as style from './Item.module.css';\nimport { DISCOUNT_TYPE } from '../../Rates.constants';\n\nconst Summary = ({ multiRoom = false, name: roomName, selected = {}, selectedBoard = {}, taxes, onSelect }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => Object.keys(selected).length === 0 && setBusy(false), [selected]);\n\n const {\n basePrice,\n cancellationId,\n dayPrice,\n discount: { percentage: discountPercentage = 0, breakdown = [] } = {},\n id,\n name,\n originalPrice,\n price,\n rateId,\n } = selectedBoard;\n\n const isSelected = selected.id === id;\n\n const handlePress = () => {\n if (!multiRoom) setBusy(true);\n onSelect(!isSelected ? { basePrice, cancellationId, id, name, price, rateId, roomName } : undefined);\n };\n\n const hasDiscountClub = discountPercentage > 0 && breakdown.find(({ type }) => type === DISCOUNT_TYPE.CLUB);\n\n return (\n <>\n <View className={[style.offset, style.summary]}>\n {discountPercentage > 0 && (\n <Text accent bold small>\n {hasDiscountClub && `${translate(L10N.LABEL_CLUB_MEMBERS)} `}\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n )}\n\n <View row className={[style.gap, style.content]}>\n <View>\n <View row className={style.price}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, value: price })}\n </Text>\n\n {price !== originalPrice && (\n <Text action lighten className={style.lineThrough}>\n {currencyFormat({ currency, value: originalPrice })}\n </Text>\n )}\n </View>\n\n <Text small={!isMobile} tiny={isMobile}>{`${currencyFormat({ currency, value: dayPrice })} ${translate(\n L10N.LABEL_PER_UNIT_NIGHT,\n )}`}</Text>\n\n <Text lighten small={!isMobile} tiny={isMobile}>\n {translate(taxes ? L10N.LABEL_EXCLUDES_TAXES_FEES : L10N.LABEL_INCLUDES_TAXES_FEES)}\n </Text>\n\n {discountPercentage > 0 && <PriceDetails {...{ ...selectedBoard, taxes }} className={style.priceDetails} />}\n </View>\n\n <Button\n //\n busy={busy}\n large={!isMobile}\n secondary={multiRoom && isSelected}\n onPress={handlePress}\n >\n {translate(multiRoom ? (isSelected ? L10N.LABEL_DESELECT : L10N.LABEL_SELECT) : L10N.ACTION_RESERVE)}\n </Button>\n </View>\n </View>\n </>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Rates:Item.Summary';\n\nSummary.propTypes = {\n multiRoom: PropTypes.bool,\n name: PropTypes.string,\n selected: PropTypes.shape({}),\n selectedBoard: PropTypes.shape({}),\n taxes: PropTypes.string,\n onSelect: PropTypes.func,\n};\nexport { Summary };\n"],"mappings":"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"}
@@ -69,6 +69,10 @@
69
69
  color: var(--mirai-ui-base);
70
70
  }
71
71
 
72
+ .availability {
73
+ color: var(--mirai-ui-error);
74
+ }
75
+
72
76
  /* -- <Item.Rates> -------------------------------------------------------------------------------------------------- */
73
77
  .item > .offset:nth-last-child(2) {
74
78
  flex: 1;
@@ -81,32 +85,21 @@
81
85
  padding: var(--mirai-ui-space-XS) var(--mirai-ui-space-S);
82
86
  }
83
87
 
88
+ /* -- <Item.Summary> ------------------------------------------------------------------------------------------------ */
89
+
84
90
  .item .summary {
85
91
  margin-bottom: calc(var(--mirai-ui-space-XS) / 2);
86
92
  }
87
93
 
88
94
  .summary .content {
89
- align-items: flex-end;
90
95
  justify-content: space-between;
91
- }
92
-
93
- .summary .discount {
94
- background-color: var(--mirai-ui-accent);
95
- border-radius: var(--mirai-ui-border-radius);
96
- color: var(--mirai-ui-base);
97
- margin-right: var(--mirai-ui-space-XS);
98
- padding: calc(var(--mirai-ui-space-XS) / 2) var(--mirai-ui-space-XS);
99
- }
100
-
101
- .summary .availability {
102
- color: var(--mirai-ui-error);
96
+ align-items: flex-end;
103
97
  }
104
98
 
105
99
  .summary .price {
106
100
  align-items: flex-end;
107
101
  gap: var(--mirai-ui-space-XS);
108
- margin-bottom: calc(var(--mirai-ui-space-XS) / 2);
109
- margin-top: var(--mirai-ui-space-XS);
102
+ margin: calc(var(--mirai-ui-space-XS) / 2) 0;
110
103
  }
111
104
 
112
105
  .summary .lineThrough {
@@ -114,6 +107,7 @@
114
107
  }
115
108
 
116
109
  .summary .priceDetails {
110
+ align-self: flex-start;
117
111
  margin-top: calc(var(--mirai-ui-space-XS) / 2);
118
112
  }
119
113