@mirai/core 0.4.17 → 0.4.18

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 (133) hide show
  1. package/README.md +259 -90
  2. package/__tests__/BookingQuery/workflows/login.workflow.js +2 -2
  3. package/__tests__/Checkout/workflows/form.workflow.js +8 -8
  4. package/__tests__/Deals/__mocks__/deals-success.json +739 -0
  5. package/__tests__/checkout.spec.jsx +10 -0
  6. package/__tests__/deals.spec.js +7 -0
  7. package/build/components/BannerLoyalty/BannerLoyalty.js +70 -63
  8. package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
  9. package/build/components/BannerLoyalty/BannerLoyalty.l10n.js +7 -1
  10. package/build/components/BannerLoyalty/BannerLoyalty.l10n.js.map +1 -1
  11. package/build/components/BannerLoyalty/BannerLoyalty.module.css +55 -30
  12. package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js +27 -29
  13. package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js.map +1 -1
  14. package/build/components/BannerLoyalty/__tests__/__snapshots__/BannerLoyalty.skeleton.test.js.snap +183 -186
  15. package/build/components/BannerLoyalty/__tests__/__snapshots__/BannerLoyalty.test.js.snap +61 -62
  16. package/build/components/Booking/Booking.module.css +3 -3
  17. package/build/components/Booking/__tests__/__snapshots__/Booking.test.js.snap +10 -10
  18. package/build/components/BookingQuery/__tests__/__snapshots__/BookingQuery.test.js.snap +12 -12
  19. package/build/components/ButtonFinder/__tests__/__snapshots__/ButtonFinder.test.js.snap +25 -15
  20. package/build/components/Chat/Chat.module.css +0 -2
  21. package/build/components/Chat/__tests__/__snapshots__/Chat.test.js.snap +4 -4
  22. package/build/components/Checkout/Checkout.module.css +3 -3
  23. package/build/components/Checkout/__tests__/__snapshots__/Checkout.test.js.snap +16 -16
  24. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Form.test.js.snap +20 -20
  25. package/build/components/Deals/__tests__/__snapshots__/Deals.Calendar.test.js.snap +3 -3
  26. package/build/components/Deals/__tests__/__snapshots__/Deals.test.js.snap +12 -12
  27. package/build/components/Finder/Finder.compact.js +20 -20
  28. package/build/components/Finder/Finder.compact.js.map +1 -1
  29. package/build/components/Finder/Finder.js +3 -3
  30. package/build/components/Finder/Finder.js.map +1 -1
  31. package/build/components/Finder/Finder.module.css +30 -8
  32. package/build/components/Finder/__tests__/__snapshots__/Finder.test.js.snap +68 -42
  33. package/build/components/Finder/components/Calendar/Calendar.module.css +1 -1
  34. package/build/components/Finder/components/Calendar/__tests__/__snapshots__/Calendar.test.js.snap +9 -9
  35. package/build/components/Finder/components/Places/Places.js +24 -6
  36. package/build/components/Finder/components/Places/Places.js.map +1 -1
  37. package/build/components/Finder/components/Places/Places.module.css +27 -2
  38. package/build/components/Finder/components/Places/__tests__/__snapshots__/Places.test.js.snap +5 -9
  39. package/build/components/Finder/components/Places/helpers/calcColumns.js +1 -1
  40. package/build/components/Finder/components/Places/helpers/calcColumns.js.map +1 -1
  41. package/build/components/Header/Header.js +6 -4
  42. package/build/components/Header/Header.js.map +1 -1
  43. package/build/components/Header/__tests__/__snapshots__/Header.test.js.snap +3 -3
  44. package/build/components/Header/components/BookingProcess/BookingProcess.module.css +9 -5
  45. package/build/components/Rates/Rates.Header.js +8 -11
  46. package/build/components/Rates/Rates.Header.js.map +1 -1
  47. package/build/components/Rates/Rates.RoomSelector.js +1 -1
  48. package/build/components/Rates/Rates.RoomSelector.js.map +1 -1
  49. package/build/components/Rates/Rates.Skeleton.js +2 -3
  50. package/build/components/Rates/Rates.Skeleton.js.map +1 -1
  51. package/build/components/Rates/Rates.Unavailability.js +2 -1
  52. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  53. package/build/components/Rates/Rates.js +13 -16
  54. package/build/components/Rates/Rates.js.map +1 -1
  55. package/build/components/Rates/Rates.module.css +16 -7
  56. package/build/components/Rates/__tests__/__snapshots__/Rates.Header.test.js.snap +1 -8
  57. package/build/components/Rates/__tests__/__snapshots__/Rates.test.js.snap +8042 -6319
  58. package/build/components/Rates/components/CardHotel/CardHotel.js +34 -13
  59. package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
  60. package/build/components/Rates/components/CardHotel/CardHotel.l10n.js +3 -0
  61. package/build/components/Rates/components/CardHotel/CardHotel.l10n.js.map +1 -1
  62. package/build/components/Rates/components/CardHotel/CardHotel.module.css +19 -2
  63. package/build/components/Rates/components/CardHotel/__tests__/__snapshots__/CardHotel.test.js.snap +51 -35
  64. package/build/components/Rates/components/Filters/Filters.Button.js +3 -4
  65. package/build/components/Rates/components/Filters/Filters.Button.js.map +1 -1
  66. package/build/components/Rates/components/Filters/Filters.js +2 -1
  67. package/build/components/Rates/components/Filters/Filters.js.map +1 -1
  68. package/build/components/Rates/components/Filters/Filters.module.css +23 -1
  69. package/build/components/Rates/components/Filters/__tests__/__snapshots__/Filters.test.js.snap +1 -1
  70. package/build/components/Rates/components/Item/Item.Preview.js +25 -9
  71. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  72. package/build/components/Rates/components/Item/Item.Rates.js +8 -5
  73. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  74. package/build/components/Rates/components/Item/Item.js +31 -2
  75. package/build/components/Rates/components/Item/Item.js.map +1 -1
  76. package/build/components/Rates/components/Item/Item.module.css +4 -0
  77. package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.Preview.test.js.snap +1 -1
  78. package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.test.js.snap +1 -1
  79. package/build/components/Rates/components/Item/components/Amenities/Amenities.module.css +2 -9
  80. package/build/components/Rates/components/Item/components/ModalCancellationInfo/ModalCancellationInfo.module.css +3 -7
  81. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.module.css +5 -5
  82. package/build/components/Rates/components/Item/components/ModalInfo/__tests__/__snapshots__/ModalInfo.test.js.snap +2 -2
  83. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js +2 -15
  84. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js.map +1 -1
  85. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.module.css +3 -7
  86. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.module.css +6 -6
  87. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js +1 -1
  88. package/build/components/Rates/components/Item/components/RateDetails/RateDetails.js.map +1 -1
  89. package/build/components/Rates/components/Item/components/Slider/Slider.js +1 -1
  90. package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
  91. package/build/components/Rates/components/Item/components/Slider/__tests__/__snapshots__/Slider.test.js.snap +1 -1
  92. package/build/components/Rates/components/ModalClubRate/ModalClubRate.js +6 -4
  93. package/build/components/Rates/components/ModalClubRate/ModalClubRate.js.map +1 -1
  94. package/build/components/Rates/components/ModalClubRate/ModalClubRate.module.css +4 -0
  95. package/build/components/Rates/components/ModalClubRate/__tests__/__snapshots__/ModalClubRate.test.js.snap +4 -4
  96. package/build/components/Rates/components/ModalExtras/ModalExtras.module.css +1 -1
  97. package/build/components/Rates/components/ModalExtras/__tests__/__snapshots__/ModalExtras.test.js.snap +1 -1
  98. package/build/components/Signup/Signup.module.css +1 -1
  99. package/build/components/Signup/__tests__/__snapshots__/Signup.test.js.snap +6 -6
  100. package/build/components/__shared__/BookingSummary/BookingSummary.module.css +3 -3
  101. package/build/components/__shared__/Card/Card.module.css +16 -15
  102. package/build/components/__shared__/Field/Field.js +3 -1
  103. package/build/components/__shared__/Field/Field.js.map +1 -1
  104. package/build/components/__shared__/Field/Field.module.css +11 -1
  105. package/build/components/__shared__/FieldOccupation/FieldOccupation.js +3 -6
  106. package/build/components/__shared__/FieldOccupation/FieldOccupation.js.map +1 -1
  107. package/build/components/__shared__/FieldOccupation/__tests__/__snapshots__/FieldOccupation.test.js.snap +18 -17
  108. package/build/components/__shared__/FieldPromocode/FieldPromocode.js +6 -3
  109. package/build/components/__shared__/FieldPromocode/FieldPromocode.js.map +1 -1
  110. package/build/components/__shared__/Footer/__tests__/__snapshots__/Footer.test.js.snap +8 -8
  111. package/build/components/__shared__/Occupation/Occupation.js +6 -4
  112. package/build/components/__shared__/Occupation/Occupation.js.map +1 -1
  113. package/build/components/__shared__/Occupation/Occupation.module.css +11 -11
  114. package/build/components/__shared__/Occupation/__tests__/__snapshots__/Occupation.test.js.snap +44 -44
  115. package/build/components/__shared__/Payment/__tests__/__snapshots__/Payment.test.js.snap +10 -10
  116. package/build/components/__shared__/Payment/components/Card/__tests__/__snapshots__/Card.test.js.snap +12 -12
  117. package/build/components/__shared__/PriceBreakdown/PriceBreakdown.module.css +3 -3
  118. package/build/components/helpers/ICON.AMENITIES.js +2 -2
  119. package/build/components/helpers/ICON.AMENITIES.js.map +1 -1
  120. package/build/components/helpers/__tests__/__snapshots__/parseHtml.test.js.snap +8 -8
  121. package/build/components/index.js +0 -2
  122. package/build/components/index.js.map +1 -1
  123. package/build/contexts/PerformanceManager/PerformanceManager.js +11 -4
  124. package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
  125. package/build/contexts/PerformanceManager/helpers/getConsentMode.js +4 -3
  126. package/build/contexts/PerformanceManager/helpers/getConsentMode.js.map +1 -1
  127. package/build/helpers/consolidateStore.js +4 -2
  128. package/build/helpers/consolidateStore.js.map +1 -1
  129. package/build/theme.css +44 -5
  130. package/package.json +1 -1
  131. package/public/performance/index.html +159 -0
  132. package/build/components/Chat/Chat.theme.module.css +0 -49
  133. package/build/components/__shared__/FieldOccupation/FieldOccupation.module.css +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"Places.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Places","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Places","_ref","autoColumn","dataSource","text","value","onChange","onSubmit","others","device","useDevice","translate","useLocale","columns","setColumns","useState","useEffect","isMobile","calcColumns","undefined","testId","createElement","View","role","className","container","ScrollView","snap","tag","styles","scrollview","concat","map","item","arguments","length","index","id","idHotel","isHotel","level","title","itemValue","React","Pressable","key","selected","head","onPress","row","Text","action","bold","markdown","repeat","footer","Button","disabled","button","submit","L10N","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","bool","arrayOf","shape","string","isRequired","number","func"],"sources":["../../../../../src/components/Finder/components/Places/Places.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Button, Pressable, styles, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { calcColumns } from './helpers';\nimport { L10N } from './Places.l10n';\nimport * as style from './Places.module.css';\n\nconst Places = ({ autoColumn = true, dataSource = [], text, value, onChange = () => {}, onSubmit, ...others }) => {\n const device = useDevice();\n const { translate } = useLocale();\n\n const [columns, setColumns] = useState();\n\n useEffect(() => {\n const { isMobile } = device;\n\n if (!isMobile && autoColumn) setColumns(autoColumn ? calcColumns({ dataSource, device }) : undefined);\n }, [autoColumn, device, dataSource]);\n\n const { testId } = others;\n\n return (\n <View role=\"places\" className={style.container}>\n <ScrollView\n snap\n tag=\"ul\"\n className={styles(style.scrollview, columns && style.columns, columns && style[`columns${columns}`])}\n testId={testId}\n >\n {dataSource.map((item = {}, index) => {\n const { id: [idHotel] = [], isHotel, level, title, value: itemValue } = item;\n\n return React.createElement(\n itemValue ? Pressable : View,\n {\n key: `place:${index}`,\n tag: 'li',\n className: styles(style.item, itemValue ? itemValue === value && style.selected : style.head),\n ...(itemValue ? { onPress: () => onChange(item) } : { row: true }),\n ...(isHotel ? { ['data-hotel-id']: idHotel } : undefined),\n testId: testId ? `${testId}-item-${index}` : undefined,\n },\n <Text action={level !== 0} bold={!isHotel} markdown={false} className={style.title}>\n {'\\u00A0'.repeat(level)}\n {title}\n </Text>,\n );\n })}\n </ScrollView>\n\n {onSubmit && (\n <View className={style.footer}>\n <Button\n disabled={!value}\n className={[style.button, style.submit]}\n onPress={onSubmit}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {text || translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nPlaces.displayName = 'Mirai:Core:Finder:Places';\n\nPlaces.propTypes = {\n autoColumn: PropTypes.bool,\n dataSource: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.arrayOf(PropTypes.string).isRequired,\n isHotel: PropTypes.bool,\n level: PropTypes.number,\n title: PropTypes.string.isRequired,\n value: PropTypes.number.isRequired,\n }),\n ),\n text: PropTypes.string,\n value: PropTypes.number,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Places };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Places.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Places","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Places","_ref","autoColumn","dataSource","text","value","onChange","onSubmit","others","device","useDevice","translate","useLocale","columns","setColumns","useState","search","setSearch","useEffect","isMobile","calcColumns","hasSubmit","undefined","testId","results","filter","item","arguments","length","JSON","stringify","toLowerCase","includes","createElement","View","role","className","styles","container","withSubmit","row","header","Icon","ICON","SEARCH","Input","placeholder","concat","L10N","ACTION_SEARCH","type","input","ScrollView","snap","tag","scrollview","map","index","id","idHotel","isHotel","level","title","itemValue","React","Pressable","key","selected","head","onPress","Text","action","bold","markdown","repeat","footer","Button","disabled","exports","displayName","propTypes","PropTypes","bool","arrayOf","shape","string","isRequired","number","func"],"sources":["../../../../../src/components/Finder/components/Places/Places.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Button, Icon, Input, Pressable, styles, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { calcColumns } from './helpers';\nimport { L10N } from './Places.l10n';\nimport * as style from './Places.module.css';\nimport { ICON } from '../../../helpers';\n\nconst Places = ({ autoColumn = true, dataSource = [], text, value, onChange = () => {}, onSubmit, ...others }) => {\n const device = useDevice();\n const { translate } = useLocale();\n\n const [columns, setColumns] = useState();\n const [search, setSearch] = useState();\n\n useEffect(() => {\n const { isMobile } = device;\n\n if (!isMobile && autoColumn)\n setColumns(autoColumn ? calcColumns({ dataSource, device, hasSubmit: !!onSubmit }) : undefined);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [autoColumn, device, dataSource]);\n\n const { testId } = others;\n\n const results = search\n ? dataSource.filter((item = {}) => JSON.stringify(item).toLowerCase().includes(search.toLowerCase()))\n : dataSource;\n\n return (\n <View role=\"places\" className={styles(style.container, onSubmit && style.withSubmit)}>\n {dataSource.length >= 10 && (\n <View row className={style.header}>\n <Icon value={ICON.SEARCH} />\n <Input\n placeholder={`${translate(L10N.ACTION_SEARCH)}...`}\n type=\"search\"\n value={search}\n onChange={setSearch}\n className={style.input}\n />\n </View>\n )}\n\n {results.length > 0 ? (\n <ScrollView\n snap\n tag=\"ul\"\n className={styles(style.scrollview, columns && style.columns, columns && style[`columns${columns}`])}\n testId={testId}\n >\n {results.map((item = {}, index) => {\n const { id: [idHotel] = [], isHotel, level, title, value: itemValue } = item;\n\n return React.createElement(\n itemValue ? Pressable : View,\n {\n key: `place:${index}`,\n tag: 'li',\n className: styles(style.item, itemValue ? itemValue === value && style.selected : style.head),\n ...(itemValue ? { onPress: () => onChange(item) } : { row: true }),\n ...(isHotel ? { ['data-hotel-id']: idHotel } : undefined),\n testId: testId ? `${testId}-item-${index}` : undefined,\n },\n <Text action={level !== 0} bold={!isHotel} markdown={false} className={style.title}>\n {'\\u00A0'.repeat(level)}\n {title}\n </Text>,\n );\n })}\n </ScrollView>\n ) : null}\n\n {onSubmit && (\n <View className={style.footer}>\n <Button disabled={!value} onPress={onSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {text || translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nPlaces.displayName = 'Mirai:Core:Finder:Places';\n\nPlaces.propTypes = {\n autoColumn: PropTypes.bool,\n dataSource: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.arrayOf(PropTypes.string).isRequired,\n isHotel: PropTypes.bool,\n level: PropTypes.number,\n title: PropTypes.string.isRequired,\n value: PropTypes.number.isRequired,\n }),\n ),\n text: PropTypes.string,\n value: PropTypes.number,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Places };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAC,uBAAA,CAAAL,OAAA;AAEA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAH,uBAAA,CAAAL,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AAAwC,SAAAU,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,SAAAN,wBAAAM,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;AAExC,MAAMC,MAAM,GAAGC,IAAA,IAAmG;EAAA,IAAlG;IAAEC,UAAU,GAAG,IAAI;IAAEC,UAAU,GAAG,EAAE;IAAEC,IAAI;IAAEC,KAAK;IAAEC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IAAEC,QAAQ;IAAE,GAAGC;EAAO,CAAC,GAAAP,IAAA;EAC3G,MAAMQ,MAAM,GAAG,IAAAC,aAAS,EAAC,CAAC;EAC1B,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAEjC,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EACxC,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC;EAEtC,IAAAG,gBAAS,EAAC,MAAM;IACd,MAAM;MAAEC;IAAS,CAAC,GAAGV,MAAM;IAE3B,IAAI,CAACU,QAAQ,IAAIjB,UAAU,EACzBY,UAAU,CAACZ,UAAU,GAAG,IAAAkB,oBAAW,EAAC;MAAEjB,UAAU;MAAEM,MAAM;MAAEY,SAAS,EAAE,CAAC,CAACd;IAAS,CAAC,CAAC,GAAGe,SAAS,CAAC;IACjG;EACF,CAAC,EAAE,CAACpB,UAAU,EAAEO,MAAM,EAAEN,UAAU,CAAC,CAAC;EAEpC,MAAM;IAAEoB;EAAO,CAAC,GAAGf,MAAM;EAEzB,MAAMgB,OAAO,GAAGR,MAAM,GAClBb,UAAU,CAACsB,MAAM,CAAC;IAAA,IAACC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAL,SAAA,GAAAK,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKE,IAAI,CAACC,SAAS,CAACJ,IAAI,CAAC,CAACK,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAChB,MAAM,CAACe,WAAW,CAAC,CAAC,CAAC;EAAA,EAAC,GACnG5B,UAAU;EAEd,oBACE/B,MAAA,CAAAY,OAAA,CAAAiD,aAAA,CAAChE,GAAA,CAAAiE,IAAI;IAACC,IAAI,EAAC,QAAQ;IAACC,SAAS,EAAE,IAAAC,UAAM,EAAC7D,KAAK,CAAC8D,SAAS,EAAE/B,QAAQ,IAAI/B,KAAK,CAAC+D,UAAU;EAAE,GAClFpC,UAAU,CAACyB,MAAM,IAAI,EAAE,iBACtBxD,MAAA,CAAAY,OAAA,CAAAiD,aAAA,CAAChE,GAAA,CAAAiE,IAAI;IAACM,GAAG;IAACJ,SAAS,EAAE5D,KAAK,CAACiE;EAAO,gBAChCrE,MAAA,CAAAY,OAAA,CAAAiD,aAAA,CAAChE,GAAA,CAAAyE,IAAI;IAACrC,KAAK,EAAEsC,cAAI,CAACC;EAAO,CAAE,CAAC,eAC5BxE,MAAA,CAAAY,OAAA,CAAAiD,aAAA,CAAChE,GAAA,CAAA4E,KAAK;IACJC,WAAW,KAAAC,MAAA,CAAKpC,SAAS,CAACqC,YAAI,CAACC,aAAa,CAAC,QAAM;IACnDC,IAAI,EAAC,QAAQ;IACb7C,KAAK,EAAEW,MAAO;IACdV,QAAQ,EAAEW,SAAU;IACpBmB,SAAS,EAAE5D,KAAK,CAAC2E;EAAM,CACxB,CACG,CACP,EAEA3B,OAAO,CAACI,MAAM,GAAG,CAAC,gBACjBxD,MAAA,CAAAY,OAAA,CAAAiD,aAAA,CAAChE,GAAA,CAAAmF,UAAU;IACTC,IAAI;IACJC,GAAG,EAAC,IAAI;IACRlB,SAAS,EAAE,IAAAC,UAAM,EAAC7D,KAAK,CAAC+E,UAAU,EAAE1C,OAAO,IAAIrC,KAAK,CAACqC,OAAO,EAAEA,OAAO,IAAIrC,KAAK,WAAAuE,MAAA,CAAWlC,OAAO,EAAG,CAAE;IACrGU,MAAM,EAAEA;EAAO,GAEdC,OAAO,CAACgC,GAAG,CAAC,YAAsB;IAAA,IAArB9B,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAL,SAAA,GAAAK,SAAA,MAAG,CAAC,CAAC;IAAA,IAAE8B,KAAK,GAAA9B,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAL,SAAA;IAC5B,MAAM;MAAEoC,EAAE,EAAE,CAACC,OAAO,CAAC,GAAG,EAAE;MAAEC,OAAO;MAAEC,KAAK;MAAEC,KAAK;MAAEzD,KAAK,EAAE0D;IAAU,CAAC,GAAGrC,IAAI;IAE5E,oBAAOsC,cAAK,CAAC/B,aAAa,CACxB8B,SAAS,GAAGE,aAAS,GAAG/B,QAAI,EAC5B;MACEgC,GAAG,WAAAnB,MAAA,CAAWU,KAAK,CAAE;MACrBH,GAAG,EAAE,IAAI;MACTlB,SAAS,EAAE,IAAAC,UAAM,EAAC7D,KAAK,CAACkD,IAAI,EAAEqC,SAAS,GAAGA,SAAS,KAAK1D,KAAK,IAAI7B,KAAK,CAAC2F,QAAQ,GAAG3F,KAAK,CAAC4F,IAAI,CAAC;MAC7F,IAAIL,SAAS,GAAG;QAAEM,OAAO,EAAEA,CAAA,KAAM/D,QAAQ,CAACoB,IAAI;MAAE,CAAC,GAAG;QAAEc,GAAG,EAAE;MAAK,CAAC,CAAC;MAClE,IAAIoB,OAAO,GAAG;QAAE,CAAC,eAAe,GAAGD;MAAQ,CAAC,GAAGrC,SAAS,CAAC;MACzDC,MAAM,EAAEA,MAAM,MAAAwB,MAAA,CAAMxB,MAAM,YAAAwB,MAAA,CAASU,KAAK,IAAKnC;IAC/C,CAAC,eACDlD,MAAA,CAAAY,OAAA,CAAAiD,aAAA,CAAChE,GAAA,CAAAqG,IAAI;MAACC,MAAM,EAAEV,KAAK,KAAK,CAAE;MAACW,IAAI,EAAE,CAACZ,OAAQ;MAACa,QAAQ,EAAE,KAAM;MAACrC,SAAS,EAAE5D,KAAK,CAACsF;IAAM,GAChF,QAAQ,CAACY,MAAM,CAACb,KAAK,CAAC,EACtBC,KACG,CACR,CAAC;EACH,CAAC,CACS,CAAC,GACX,IAAI,EAEPvD,QAAQ,iBACPnC,MAAA,CAAAY,OAAA,CAAAiD,aAAA,CAAChE,GAAA,CAAAiE,IAAI;IAACE,SAAS,EAAE5D,KAAK,CAACmG;EAAO,gBAC5BvG,MAAA,CAAAY,OAAA,CAAAiD,aAAA,CAAChE,GAAA,CAAA2G,MAAM;IAACC,QAAQ,EAAE,CAACxE,KAAM;IAACgE,OAAO,EAAE9D,QAAS;IAACgB,MAAM,EAAEA,MAAM,MAAAwB,MAAA,CAAMxB,MAAM,eAAYD;EAAU,GAC1FlB,IAAI,IAAIO,SAAS,CAACqC,YAAI,CAACC,aAAa,CAC/B,CACJ,CAEJ,CAAC;AAEX,CAAC;AAAC6B,OAAA,CAAA9E,MAAA,GAAAA,MAAA;AAEFA,MAAM,CAAC+E,WAAW,GAAG,0BAA0B;AAE/C/E,MAAM,CAACgF,SAAS,GAAG;EACjB9E,UAAU,EAAE+E,kBAAS,CAACC,IAAI;EAC1B/E,UAAU,EAAE8E,kBAAS,CAACE,OAAO,CAC3BF,kBAAS,CAACG,KAAK,CAAC;IACd1B,EAAE,EAAEuB,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACI,MAAM,CAAC,CAACC,UAAU;IAClD1B,OAAO,EAAEqB,kBAAS,CAACC,IAAI;IACvBrB,KAAK,EAAEoB,kBAAS,CAACM,MAAM;IACvBzB,KAAK,EAAEmB,kBAAS,CAACI,MAAM,CAACC,UAAU;IAClCjF,KAAK,EAAE4E,kBAAS,CAACM,MAAM,CAACD;EAC1B,CAAC,CACH,CAAC;EACDlF,IAAI,EAAE6E,kBAAS,CAACI,MAAM;EACtBhF,KAAK,EAAE4E,kBAAS,CAACM,MAAM;EACvBjF,QAAQ,EAAE2E,kBAAS,CAACO,IAAI;EACxBjF,QAAQ,EAAE0E,kBAAS,CAACO;AACtB,CAAC"}
@@ -1,5 +1,15 @@
1
+ .header {
2
+ border-bottom: solid 1px var(--mirai-ui-content-border) !important;
3
+ padding: var(--mirai-ui-space-XS) var(--mirai-ui-space-M) var(--mirai-ui-space-S) var(--mirai-ui-space-M);
4
+ margin-bottom: var(--mirai-ui-space-S);
5
+ }
6
+
7
+ .header .input {
8
+ font-size: var(--mirai-ui-font-size-action);
9
+ margin-left: var(--mirai-ui-space-XXS);
10
+ }
11
+
1
12
  .footer {
2
- padding: var(--mirai-places-padding);
3
13
  border-top: solid 1px var(--mirai-ui-content-border);
4
14
  align-items: flex-end;
5
15
  }
@@ -43,6 +53,10 @@
43
53
  max-height: calc(var(--mirai-modal-max-height) - var(--mirai-ui-space-XXL));
44
54
  }
45
55
 
56
+ .footer {
57
+ padding: var(--mirai-ui-space-S) var(--mirai-ui-space-M);
58
+ }
59
+
46
60
  .scrollview {
47
61
  flex: 1;
48
62
  }
@@ -51,12 +65,23 @@
51
65
  @media only screen and (min-width: 481px) {
52
66
  .container {
53
67
  max-height: calc(
54
- calc(var(--mirai-places-item-height) * calc(var(--mirai-places-items-per-column) + 1)) -
68
+ calc(var(--mirai-places-item-height) * calc(var(--mirai-places-items-per-column) + 3)) -
55
69
  var(--mirai-places-padding)
56
70
  );
57
71
  padding: calc(var(--mirai-places-padding) / 2) 0;
58
72
  }
59
73
 
74
+ .container.withSubmit {
75
+ max-height: calc(
76
+ calc(var(--mirai-places-item-height) * calc(var(--mirai-places-items-per-column) + 5)) -
77
+ var(--mirai-places-padding)
78
+ );
79
+ }
80
+
81
+ .footer {
82
+ padding: var(--mirai-ui-space-S) var(--mirai-ui-space-M) var(--mirai-ui-space-XXS);
83
+ }
84
+
60
85
  .item {
61
86
  width: var(--mirai-places-item-width);
62
87
  }
@@ -6,7 +6,7 @@ exports[`<Places> inherit:className 1`] = `
6
6
  class="view"
7
7
  >
8
8
  <ui-ul
9
- class="scrollview snap vertical"
9
+ class="scrollview snap vertical notIndicator"
10
10
  >
11
11
  <ui-li
12
12
  class="pressable"
@@ -83,7 +83,7 @@ exports[`<Places> prop:autoColumn 1`] = `
83
83
  class="view"
84
84
  >
85
85
  <ui-ul
86
- class="scrollview snap vertical"
86
+ class="scrollview snap vertical notIndicator"
87
87
  >
88
88
  <ui-li
89
89
  class="pressable"
@@ -160,7 +160,7 @@ exports[`<Places> prop:value 1`] = `
160
160
  class="view"
161
161
  >
162
162
  <ui-ul
163
- class="scrollview snap vertical"
163
+ class="scrollview snap vertical notIndicator"
164
164
  >
165
165
  <ui-li
166
166
  class="pressable"
@@ -235,11 +235,7 @@ exports[`<Places> renders 1`] = `
235
235
  <DocumentFragment>
236
236
  <ui-view
237
237
  class="view"
238
- >
239
- <ui-ul
240
- class="scrollview snap vertical"
241
- />
242
- </ui-view>
238
+ />
243
239
  </DocumentFragment>
244
240
  `;
245
241
 
@@ -249,7 +245,7 @@ exports[`<Places> testID 1`] = `
249
245
  class="view"
250
246
  >
251
247
  <ui-ul
252
- class="scrollview snap vertical"
248
+ class="scrollview snap vertical notIndicator"
253
249
  data-testid="mirai"
254
250
  >
255
251
  <ui-li
@@ -26,7 +26,7 @@ const calcColumns = function () {
26
26
  ItemsPerColumn: itemsPerColumn = ITEMS_PER_COLUMN,
27
27
  ItemWidth: itemWidth = ITEM_WIDTH
28
28
  } = _ui.Theme.get(THEME_KEY);
29
- let columns = items > itemsPerColumn ? Math.floor(items / itemsPerColumn + 1) : undefined;
29
+ let columns = items > itemsPerColumn ? Math.floor(items / itemsPerColumn) : undefined;
30
30
  if (columns * sanitizePx(itemWidth) > deviceWidth * 0.8) columns = Math.floor(deviceWidth / sanitizePx(itemWidth));
31
31
  if (columns >= MAX_COLUMNS) columns = MAX_COLUMNS;
32
32
  return columns;
@@ -1 +1 @@
1
- {"version":3,"file":"calcColumns.js","names":["_ui","require","ITEMS_PER_COLUMN","ITEM_WIDTH","MAX_COLUMNS","THEME_KEY","sanitizePx","value","arguments","length","undefined","parseInt","replace","calcColumns","dataSource","items","device","width","deviceWidth","ItemsPerColumn","itemsPerColumn","ItemWidth","itemWidth","Theme","get","columns","Math","floor","exports"],"sources":["../../../../../../src/components/Finder/components/Places/helpers/calcColumns.js"],"sourcesContent":["import { Theme } from '@mirai/ui';\n\nconst ITEMS_PER_COLUMN = 18;\nconst ITEM_WIDTH = '300px';\nconst MAX_COLUMNS = 3;\nconst THEME_KEY = '--mirai-places';\n\nconst sanitizePx = (value = '') => parseInt(value.replace('px', ''), 10);\n\nexport const calcColumns = ({ dataSource: { length: items } = [], device: { width: deviceWidth } = {} } = {}) => {\n const { ItemsPerColumn: itemsPerColumn = ITEMS_PER_COLUMN, ItemWidth: itemWidth = ITEM_WIDTH } = Theme.get(THEME_KEY);\n\n let columns = items > itemsPerColumn ? Math.floor(items / itemsPerColumn + 1) : undefined;\n if (columns * sanitizePx(itemWidth) > deviceWidth * 0.8) columns = Math.floor(deviceWidth / sanitizePx(itemWidth));\n if (columns >= MAX_COLUMNS) columns = MAX_COLUMNS;\n\n return columns;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEA,MAAMC,gBAAgB,GAAG,EAAE;AAC3B,MAAMC,UAAU,GAAG,OAAO;AAC1B,MAAMC,WAAW,GAAG,CAAC;AACrB,MAAMC,SAAS,GAAG,gBAAgB;AAElC,MAAMC,UAAU,GAAG,SAAAA,CAAA;EAAA,IAACC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,OAAKG,QAAQ,CAACJ,KAAK,CAACK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AAAA;AAEjE,MAAMC,WAAW,GAAG,SAAAA,CAAA,EAAsF;EAAA,IAArF;IAAEC,UAAU,EAAE;MAAEL,MAAM,EAAEM;IAAM,CAAC,GAAG,EAAE;IAAEC,MAAM,EAAE;MAAEC,KAAK,EAAEC;IAAY,CAAC,GAAG,CAAC;EAAE,CAAC,GAAAV,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC1G,MAAM;IAAEW,cAAc,EAAEC,cAAc,GAAGlB,gBAAgB;IAAEmB,SAAS,EAAEC,SAAS,GAAGnB;EAAW,CAAC,GAAGoB,SAAK,CAACC,GAAG,CAACnB,SAAS,CAAC;EAErH,IAAIoB,OAAO,GAAGV,KAAK,GAAGK,cAAc,GAAGM,IAAI,CAACC,KAAK,CAACZ,KAAK,GAAGK,cAAc,GAAG,CAAC,CAAC,GAAGV,SAAS;EACzF,IAAIe,OAAO,GAAGnB,UAAU,CAACgB,SAAS,CAAC,GAAGJ,WAAW,GAAG,GAAG,EAAEO,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACT,WAAW,GAAGZ,UAAU,CAACgB,SAAS,CAAC,CAAC;EAClH,IAAIG,OAAO,IAAIrB,WAAW,EAAEqB,OAAO,GAAGrB,WAAW;EAEjD,OAAOqB,OAAO;AAChB,CAAC;AAACG,OAAA,CAAAf,WAAA,GAAAA,WAAA"}
1
+ {"version":3,"file":"calcColumns.js","names":["_ui","require","ITEMS_PER_COLUMN","ITEM_WIDTH","MAX_COLUMNS","THEME_KEY","sanitizePx","value","arguments","length","undefined","parseInt","replace","calcColumns","dataSource","items","device","width","deviceWidth","ItemsPerColumn","itemsPerColumn","ItemWidth","itemWidth","Theme","get","columns","Math","floor","exports"],"sources":["../../../../../../src/components/Finder/components/Places/helpers/calcColumns.js"],"sourcesContent":["import { Theme } from '@mirai/ui';\n\nconst ITEMS_PER_COLUMN = 18;\nconst ITEM_WIDTH = '300px';\nconst MAX_COLUMNS = 3;\nconst THEME_KEY = '--mirai-places';\n\nconst sanitizePx = (value = '') => parseInt(value.replace('px', ''), 10);\n\nexport const calcColumns = ({ dataSource: { length: items } = [], device: { width: deviceWidth } = {} } = {}) => {\n const { ItemsPerColumn: itemsPerColumn = ITEMS_PER_COLUMN, ItemWidth: itemWidth = ITEM_WIDTH } = Theme.get(THEME_KEY);\n\n let columns = items > itemsPerColumn ? Math.floor(items / itemsPerColumn) : undefined;\n if (columns * sanitizePx(itemWidth) > deviceWidth * 0.8) columns = Math.floor(deviceWidth / sanitizePx(itemWidth));\n if (columns >= MAX_COLUMNS) columns = MAX_COLUMNS;\n\n return columns;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEA,MAAMC,gBAAgB,GAAG,EAAE;AAC3B,MAAMC,UAAU,GAAG,OAAO;AAC1B,MAAMC,WAAW,GAAG,CAAC;AACrB,MAAMC,SAAS,GAAG,gBAAgB;AAElC,MAAMC,UAAU,GAAG,SAAAA,CAAA;EAAA,IAACC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,OAAKG,QAAQ,CAACJ,KAAK,CAACK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AAAA;AAEjE,MAAMC,WAAW,GAAG,SAAAA,CAAA,EAAsF;EAAA,IAArF;IAAEC,UAAU,EAAE;MAAEL,MAAM,EAAEM;IAAM,CAAC,GAAG,EAAE;IAAEC,MAAM,EAAE;MAAEC,KAAK,EAAEC;IAAY,CAAC,GAAG,CAAC;EAAE,CAAC,GAAAV,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC1G,MAAM;IAAEW,cAAc,EAAEC,cAAc,GAAGlB,gBAAgB;IAAEmB,SAAS,EAAEC,SAAS,GAAGnB;EAAW,CAAC,GAAGoB,SAAK,CAACC,GAAG,CAACnB,SAAS,CAAC;EAErH,IAAIoB,OAAO,GAAGV,KAAK,GAAGK,cAAc,GAAGM,IAAI,CAACC,KAAK,CAACZ,KAAK,GAAGK,cAAc,CAAC,GAAGV,SAAS;EACrF,IAAIe,OAAO,GAAGnB,UAAU,CAACgB,SAAS,CAAC,GAAGJ,WAAW,GAAG,GAAG,EAAEO,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACT,WAAW,GAAGZ,UAAU,CAACgB,SAAS,CAAC,CAAC;EAClH,IAAIG,OAAO,IAAIrB,WAAW,EAAEqB,OAAO,GAAGrB,WAAW;EAEjD,OAAOqB,OAAO;AAChB,CAAC;AAACG,OAAA,CAAAf,WAAA,GAAAA,WAAA"}
@@ -31,8 +31,8 @@ const Header = _ref => {
31
31
  ...others
32
32
  } = _ref;
33
33
  const {
34
- isMobile,
35
- isDesktop
34
+ isDesktop,
35
+ isMobile
36
36
  } = (0, _ui.useDevice)();
37
37
  const {
38
38
  translate
@@ -48,9 +48,10 @@ const Header = _ref => {
48
48
  } = {},
49
49
  hotel: {
50
50
  features = {},
51
+ id,
51
52
  url
52
53
  } = {},
53
- id,
54
+ id: instanceId,
54
55
  session
55
56
  } = {}
56
57
  } = (0, _dataSources.useStore)();
@@ -83,7 +84,8 @@ const Header = _ref => {
83
84
  name,
84
85
  type
85
86
  } = (placeId ? isHotel ? features[placeId] : {
86
- name: placeName
87
+ name: placeName,
88
+ ...features[instanceId]
87
89
  } : features[id]) || {};
88
90
  const largeName = (name === null || name === void 0 ? void 0 : name.length) > 32;
89
91
  const nameProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Header","style","_shared__","_helpers","_Session","_SessionLogin","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Header","_ref","_ref2","currency","showCurrency","locale","showLocale","login","showLogin","ghost","name","showName","others","isMobile","isDesktop","useDevice","translate","useLocale","value","finder","place","id","placeId","isHotel","title","placeName","hotel","features","url","session","useStore","modal","setModal","useState","useEffect","callback","visible","undefined","Event","subscribe","EVENT","LOGIN","unsubscribe","handleClose","handleLogin","publish","METRICS","handleUrl","setTimeout","window","location","SUBMIT_DELAY","logo","type","largeName","nameProps","action","small","fullName","concat","L10N","LABEL_PROPERTY_TYPE","trim","createElement","Fragment","View","tag","wide","testId","className","styles","header","row","content","main","Pressable","onPress","dangerouslySetInnerHTML","__html","outerHTML","alt","src","image","Text","bold","brand","textName","BookingProcess","noPrint","options","SelectEnvironment","compacted","headerMode","metrics","Account","Icon","headline","level","ICON","ACCOUNT","medium","ACTION_LOGIN","Modal","onClose","onSuccess","extra","exports","displayName","propTypes","PropTypes","bool","any","skeleton"],"sources":["../../../src/components/Header/Header.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Pressable, Text, useDevice, styles, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { BookingProcess } from './components';\nimport { L10N } from './Header.l10n';\nimport * as style from './Header.module.css';\nimport { SelectEnvironment } from '../__shared__';\nimport { EVENT, ICON, SUBMIT_DELAY } from '../helpers';\nimport { Account } from '../Session/Session.Account';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nconst Header = ({\n currency: showCurrency = false,\n locale: showLocale = true,\n login: showLogin = false,\n ghost,\n name: showName,\n ...others\n}) => {\n const { isMobile, isDesktop } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n finder: { place: { id: [placeId] = [], isHotel, title: placeName } = {} } = {},\n hotel: { features = {}, url } = {},\n id,\n session,\n } = {},\n } = useStore();\n\n const [modal, setModal] = useState(false);\n\n useEffect(() => {\n const callback = ({ visible = true } = {}) => setModal(visible);\n\n Event.subscribe(EVENT.LOGIN, callback);\n return () => Event.unsubscribe(EVENT.LOGIN, callback);\n }, []);\n\n const handleClose = () => setModal(false);\n\n const handleLogin = () => {\n setModal(true);\n Event.publish(EVENT.METRICS, { id: 'HEADER:LOGIN' });\n };\n\n const handleUrl = () => {\n Event.publish(EVENT.METRICS, { id: 'HEADER:GO_TO_HOME' });\n setTimeout(() => (window.location = url), SUBMIT_DELAY / 2);\n };\n\n const { logo, name, type } = (placeId ? (isHotel ? features[placeId] : { name: placeName }) : features[id]) || {};\n const largeName = name?.length > 32;\n const nameProps = { action: (largeName && !isMobile) || (isMobile && !largeName), small: largeName && isMobile };\n const fullName = `${type ? translate(L10N.LABEL_PROPERTY_TYPE, { type }) : ''} ${name}`?.trim();\n\n return (\n <>\n <View tag=\"header\" wide testId={others.testId} className={styles(style.header, others.className)}>\n <View row wide className={style.content}>\n <View row className={style.main}>\n {(logo || ghost || (!logo && name)) && (\n <Pressable onPress={url ? handleUrl : undefined}>\n {ghost ? (\n <View dangerouslySetInnerHTML={{ __html: ghost.outerHTML }} />\n ) : logo ? (\n <View alt={fullName} tag=\"img\" src={logo} className={style.image} />\n ) : (\n <Text {...nameProps} bold brand className={style.textName}>\n {fullName}\n </Text>\n )}\n </Pressable>\n )}\n\n {isDesktop && <BookingProcess className={style.noPrint} />}\n </View>\n\n <View row className={[style.options, style.noPrint]}>\n {showLocale && <SelectEnvironment compacted={isMobile} headerMode metrics=\"HEADER\" name=\"locale\" />}\n {showCurrency && <SelectEnvironment compacted={isMobile} headerMode metrics=\"HEADER\" name=\"currency\" />}\n {showLogin && (\n <>\n {session ? (\n <Account compacted />\n ) : (\n <>\n <Pressable onPress={handleLogin} className={style.login}>\n <View row>\n <Icon headline level={2} value={ICON.ACCOUNT} />\n\n {!isMobile && (\n <Text action medium>\n {translate(L10N.ACTION_LOGIN)}\n </Text>\n )}\n </View>\n </Pressable>\n <ModalLogin visible={modal} onClose={handleClose} onSuccess={handleClose} />\n </>\n )}\n </>\n )}\n </View>\n </View>\n </View>\n\n {showName && logo && name && (\n <View className={styles(style.header, style.extra, others.className)}>\n <View row wide className={style.content}>\n <Text {...nameProps}>{fullName}</Text>\n </View>\n </View>\n )}\n\n {!isDesktop && <BookingProcess />}\n </>\n );\n};\n\nHeader.displayName = 'Mirai:Core:Header';\n\nHeader.propTypes = {\n currency: PropTypes.bool,\n ghost: PropTypes.any,\n locale: PropTypes.bool,\n login: PropTypes.bool,\n name: PropTypes.bool,\n skeleton: PropTypes.bool,\n};\n\nexport { Header };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Header.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Header","style","_shared__","_helpers","_Session","_SessionLogin","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Header","_ref","_ref2","currency","showCurrency","locale","showLocale","login","showLogin","ghost","name","showName","others","isDesktop","isMobile","useDevice","translate","useLocale","value","finder","place","id","placeId","isHotel","title","placeName","hotel","features","url","instanceId","session","useStore","modal","setModal","useState","useEffect","callback","visible","undefined","Event","subscribe","EVENT","LOGIN","unsubscribe","handleClose","handleLogin","publish","METRICS","handleUrl","setTimeout","window","location","SUBMIT_DELAY","logo","type","largeName","nameProps","action","small","fullName","concat","L10N","LABEL_PROPERTY_TYPE","trim","createElement","Fragment","View","tag","wide","testId","className","styles","header","row","content","main","Pressable","onPress","dangerouslySetInnerHTML","__html","outerHTML","alt","src","image","Text","bold","brand","textName","BookingProcess","noPrint","options","SelectEnvironment","compacted","headerMode","metrics","Account","Icon","headline","level","ICON","ACCOUNT","medium","ACTION_LOGIN","Modal","onClose","onSuccess","extra","exports","displayName","propTypes","PropTypes","bool","any","skeleton"],"sources":["../../../src/components/Header/Header.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Pressable, Text, useDevice, styles, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { BookingProcess } from './components';\nimport { L10N } from './Header.l10n';\nimport * as style from './Header.module.css';\nimport { SelectEnvironment } from '../__shared__';\nimport { EVENT, ICON, SUBMIT_DELAY } from '../helpers';\nimport { Account } from '../Session/Session.Account';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nconst Header = ({\n currency: showCurrency = false,\n locale: showLocale = true,\n login: showLogin = false,\n ghost,\n name: showName,\n ...others\n}) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n finder: { place: { id: [placeId] = [], isHotel, title: placeName } = {} } = {},\n hotel: { features = {}, id, url } = {},\n id: instanceId,\n session,\n } = {},\n } = useStore();\n\n const [modal, setModal] = useState(false);\n\n useEffect(() => {\n const callback = ({ visible = true } = {}) => setModal(visible);\n\n Event.subscribe(EVENT.LOGIN, callback);\n return () => Event.unsubscribe(EVENT.LOGIN, callback);\n }, []);\n\n const handleClose = () => setModal(false);\n\n const handleLogin = () => {\n setModal(true);\n Event.publish(EVENT.METRICS, { id: 'HEADER:LOGIN' });\n };\n\n const handleUrl = () => {\n Event.publish(EVENT.METRICS, { id: 'HEADER:GO_TO_HOME' });\n setTimeout(() => (window.location = url), SUBMIT_DELAY / 2);\n };\n\n const { logo, name, type } =\n (placeId ? (isHotel ? features[placeId] : { name: placeName, ...features[instanceId] }) : features[id]) || {};\n const largeName = name?.length > 32;\n const nameProps = { action: (largeName && !isMobile) || (isMobile && !largeName), small: largeName && isMobile };\n const fullName = `${type ? translate(L10N.LABEL_PROPERTY_TYPE, { type }) : ''} ${name}`?.trim();\n\n return (\n <>\n <View tag=\"header\" wide testId={others.testId} className={styles(style.header, others.className)}>\n <View row wide className={style.content}>\n <View row className={style.main}>\n {(logo || ghost || (!logo && name)) && (\n <Pressable onPress={url ? handleUrl : undefined}>\n {ghost ? (\n <View dangerouslySetInnerHTML={{ __html: ghost.outerHTML }} />\n ) : logo ? (\n <View alt={fullName} tag=\"img\" src={logo} className={style.image} />\n ) : (\n <Text {...nameProps} bold brand className={style.textName}>\n {fullName}\n </Text>\n )}\n </Pressable>\n )}\n\n {isDesktop && <BookingProcess className={style.noPrint} />}\n </View>\n\n <View row className={[style.options, style.noPrint]}>\n {showLocale && <SelectEnvironment compacted={isMobile} headerMode metrics=\"HEADER\" name=\"locale\" />}\n {showCurrency && <SelectEnvironment compacted={isMobile} headerMode metrics=\"HEADER\" name=\"currency\" />}\n {showLogin && (\n <>\n {session ? (\n <Account compacted />\n ) : (\n <>\n <Pressable onPress={handleLogin} className={style.login}>\n <View row>\n <Icon headline level={2} value={ICON.ACCOUNT} />\n\n {!isMobile && (\n <Text action medium>\n {translate(L10N.ACTION_LOGIN)}\n </Text>\n )}\n </View>\n </Pressable>\n <ModalLogin visible={modal} onClose={handleClose} onSuccess={handleClose} />\n </>\n )}\n </>\n )}\n </View>\n </View>\n </View>\n\n {showName && logo && name && (\n <View className={styles(style.header, style.extra, others.className)}>\n <View row wide className={style.content}>\n <Text {...nameProps}>{fullName}</Text>\n </View>\n </View>\n )}\n\n {!isDesktop && <BookingProcess />}\n </>\n );\n};\n\nHeader.displayName = 'Mirai:Core:Header';\n\nHeader.propTypes = {\n currency: PropTypes.bool,\n ghost: PropTypes.any,\n locale: PropTypes.bool,\n login: PropTypes.bool,\n name: PropTypes.bool,\n skeleton: PropTypes.bool,\n};\n\nexport { Header };\n"],"mappings":"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"}
@@ -528,7 +528,7 @@ exports[`<Header> applies the correct classes based on props 1`] = `
528
528
  </ui-button>
529
529
  </ui-view>
530
530
  <ui-scrollview
531
- class="scrollview snap vertical"
531
+ class="scrollview snap vertical notIndicator"
532
532
  >
533
533
  <ui-view
534
534
  class="view row wide"
@@ -536,7 +536,7 @@ exports[`<Header> applies the correct classes based on props 1`] = `
536
536
  <ui-view
537
537
  class="view wide"
538
538
  >
539
- <form>
539
+ <ui-form>
540
540
  <ui-text
541
541
  class="text paragraph"
542
542
  >
@@ -653,7 +653,7 @@ exports[`<Header> applies the correct classes based on props 1`] = `
653
653
  common.action.login
654
654
  </ui-view>
655
655
  </ui-button>
656
- </form>
656
+ </ui-form>
657
657
  <ui-button
658
658
  class="pressable button large transparent"
659
659
  data-testid="login-button-secondary"
@@ -35,7 +35,7 @@
35
35
  }
36
36
 
37
37
  /* S & M */
38
- @media only screen and (max-width: 820px) {
38
+ @media only screen and (max-width: 1179px) {
39
39
  .bookingProcess {
40
40
  background-color: var(--mirai-ui-base);
41
41
  border-bottom: solid 1px var(--mirai-ui-content-border);
@@ -66,12 +66,15 @@
66
66
  }
67
67
  }
68
68
 
69
- /* M & L */
70
- @media only screen and (min-width: 481px) {
69
+ /* M */
70
+ @media only screen and (min-width: 481px) and (max-width: 1179px) {
71
71
  .divider {
72
- width: var(--mirai-ui-space-L);
72
+ flex: 1;
73
73
  }
74
+ }
74
75
 
76
+ /* M & L */
77
+ @media only screen and (min-width: 481px) {
75
78
  .item {
76
79
  gap: var(--mirai-ui-space-XS);
77
80
  }
@@ -85,9 +88,10 @@
85
88
  }
86
89
 
87
90
  /* L */
88
- @media only screen and (min-width: 831px) {
91
+ @media only screen and (min-width: 1180px) {
89
92
  .divider {
90
93
  border: dashed 1px var(--mirai-header-content-border);
94
+ width: var(--mirai-ui-space-L);
91
95
  }
92
96
 
93
97
  .item .bullet {
@@ -20,9 +20,7 @@ const Header = _ref => {
20
20
  let {
21
21
  children,
22
22
  dataSource = {},
23
- priceFactor = 1,
24
23
  multiRoom,
25
- onFilters = () => {},
26
24
  onMapView = () => {},
27
25
  onSelect = () => {},
28
26
  ...others
@@ -37,17 +35,21 @@ const Header = _ref => {
37
35
  contentBackground
38
36
  } = _ui.Theme.get();
39
37
  const {
38
+ hotelverse: {
39
+ hash,
40
+ token
41
+ } = {},
40
42
  hotels = [],
41
43
  items = []
42
44
  } = dataSource;
43
- const hasItems = items.length > 0;
44
- return /*#__PURE__*/_react.default.createElement(_ui.View, {
45
+ const hasHotelverse = items.length > 0 && !multiRoom && hash !== undefined && token !== undefined;
46
+ return children || hasHotelverse || hotels.length > 1 ? /*#__PURE__*/_react.default.createElement(_ui.View, {
45
47
  row: true,
46
48
  className: (0, _ui.styles)(style.header, style.blur, multiRoom && !isMobile && style.sticky, others.className),
47
49
  style: {
48
50
  backgroundColor: (0, _helpers.opacity)(contentBackground, 0.66)
49
51
  }
50
- }, children, hasItems && /*#__PURE__*/_react.default.createElement(_components.Hotelverse, _extends({}, dataSource, {
52
+ }, children, hasHotelverse && /*#__PURE__*/_react.default.createElement(_components.Hotelverse, _extends({}, dataSource, {
51
53
  items,
52
54
  multiRoom,
53
55
  onSelect
@@ -55,10 +57,7 @@ const Header = _ref => {
55
57
  secondary: true,
56
58
  wide: isMobile,
57
59
  onPress: () => onMapView(hotels)
58
- }, translate(_Rates.L10N.ACTION_SHOW_ON_MAP)), !isMobile && hasItems && /*#__PURE__*/_react.default.createElement(_components.Filters, _extends({}, dataSource, {
59
- priceFactor,
60
- onSubmit: onFilters
61
- })));
60
+ }, translate(_Rates.L10N.ACTION_SHOW_ON_MAP))) : null;
62
61
  };
63
62
  exports.Header = Header;
64
63
  Header.displayName = 'Mirai:Core:Rates:Header';
@@ -68,8 +67,6 @@ Header.propTypes = {
68
67
  features: _propTypes.default.shape({}),
69
68
  multiRoom: _propTypes.default.bool,
70
69
  nights: _propTypes.default.number,
71
- priceFactor: _propTypes.default.number,
72
- onFilters: _propTypes.default.func,
73
70
  onMapView: _propTypes.default.func,
74
71
  onSelect: _propTypes.default.func
75
72
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.Header.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_components","_Rates","style","_interopRequireWildcard","_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","Header","_ref","children","dataSource","priceFactor","multiRoom","onFilters","onMapView","onSelect","others","isMobile","useDevice","translate","useLocale","contentBackground","Theme","hotels","items","hasItems","createElement","View","row","className","styles","header","blur","sticky","backgroundColor","opacity","Hotelverse","Button","secondary","wide","onPress","L10N","ACTION_SHOW_ON_MAP","Filters","onSubmit","exports","displayName","propTypes","PropTypes","node","shape","features","bool","nights","number","func"],"sources":["../../../src/components/Rates/Rates.Header.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Button, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Hotelverse } from './components';\nimport { Filters } from './components';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { opacity } from '../helpers';\n\nconst Header = ({\n children,\n dataSource = {},\n priceFactor = 1,\n multiRoom,\n onFilters = () => {},\n onMapView = () => {},\n onSelect = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { contentBackground } = Theme.get();\n const { hotels = [], items = [] } = dataSource;\n const hasItems = items.length > 0;\n\n return (\n <View\n row\n className={styles(style.header, style.blur, multiRoom && !isMobile && style.sticky, others.className)}\n style={{ backgroundColor: opacity(contentBackground, 0.66) }}\n >\n {children}\n\n {hasItems && <Hotelverse {...{ ...dataSource, items, multiRoom, onSelect, ...others }} />}\n\n {hotels.length > 1 && (\n <Button secondary wide={isMobile} onPress={() => onMapView(hotels)}>\n {translate(L10N.ACTION_SHOW_ON_MAP)}\n </Button>\n )}\n\n {!isMobile && hasItems && <Filters {...dataSource} {...{ priceFactor }} onSubmit={onFilters} />}\n </View>\n );\n};\n\nHeader.displayName = 'Mirai:Core:Rates:Header';\n\nHeader.propTypes = {\n children: PropTypes.node,\n dataSource: PropTypes.shape({}),\n features: PropTypes.shape({}),\n multiRoom: PropTypes.bool,\n nights: PropTypes.number,\n priceFactor: PropTypes.number,\n onFilters: PropTypes.func,\n onMapView: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Header };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.Header.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_components","_Rates","style","_interopRequireWildcard","_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","Header","_ref","children","dataSource","multiRoom","onMapView","onSelect","others","isMobile","useDevice","translate","useLocale","contentBackground","Theme","hotelverse","hash","token","hotels","items","hasHotelverse","undefined","createElement","View","row","className","styles","header","blur","sticky","backgroundColor","opacity","Hotelverse","Button","secondary","wide","onPress","L10N","ACTION_SHOW_ON_MAP","exports","displayName","propTypes","PropTypes","node","shape","features","bool","nights","number","func"],"sources":["../../../src/components/Rates/Rates.Header.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Button, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Hotelverse } from './components';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { opacity } from '../helpers';\n\nconst Header = ({ children, dataSource = {}, multiRoom, onMapView = () => {}, onSelect = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n\n const { contentBackground } = Theme.get();\n const { hotelverse: { hash, token } = {}, hotels = [], items = [] } = dataSource;\n const hasHotelverse = items.length > 0 && !multiRoom && hash !== undefined && token !== undefined;\n\n return children || hasHotelverse || hotels.length > 1 ? (\n <View\n row\n className={styles(style.header, style.blur, multiRoom && !isMobile && style.sticky, others.className)}\n style={{ backgroundColor: opacity(contentBackground, 0.66) }}\n >\n {children}\n\n {hasHotelverse && <Hotelverse {...{ ...dataSource, items, multiRoom, onSelect, ...others }} />}\n\n {hotels.length > 1 && (\n <Button secondary wide={isMobile} onPress={() => onMapView(hotels)}>\n {translate(L10N.ACTION_SHOW_ON_MAP)}\n </Button>\n )}\n </View>\n ) : null;\n};\n\nHeader.displayName = 'Mirai:Core:Rates:Header';\n\nHeader.propTypes = {\n children: PropTypes.node,\n dataSource: PropTypes.shape({}),\n features: PropTypes.shape({}),\n multiRoom: PropTypes.bool,\n nights: PropTypes.number,\n onMapView: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Header };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAC,uBAAA,CAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AAAqC,SAAAU,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;AAErC,MAAMK,MAAM,GAAGC,IAAA,IAAoG;EAAA,IAAnG;IAAEC,QAAQ;IAAEC,UAAU,GAAG,CAAC,CAAC;IAAEC,SAAS;IAAEC,SAAS,GAAGA,CAAA,KAAM,CAAC,CAAC;IAAEC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IAAE,GAAGC;EAAO,CAAC,GAAAN,IAAA;EAC5G,MAAM;IAAEO;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAEjC,MAAM;IAAEC;EAAkB,CAAC,GAAGC,SAAK,CAACpC,GAAG,CAAC,CAAC;EACzC,MAAM;IAAEqC,UAAU,EAAE;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAG,CAAC,CAAC;IAAEC,MAAM,GAAG,EAAE;IAAEC,KAAK,GAAG;EAAG,CAAC,GAAGf,UAAU;EAChF,MAAMgB,aAAa,GAAGD,KAAK,CAACtB,MAAM,GAAG,CAAC,IAAI,CAACQ,SAAS,IAAIW,IAAI,KAAKK,SAAS,IAAIJ,KAAK,KAAKI,SAAS;EAEjG,OAAOlB,QAAQ,IAAIiB,aAAa,IAAIF,MAAM,CAACrB,MAAM,GAAG,CAAC,gBACnDjC,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAC7D,GAAA,CAAA8D,IAAI;IACHC,GAAG;IACHC,SAAS,EAAE,IAAAC,UAAM,EAAC3D,KAAK,CAAC4D,MAAM,EAAE5D,KAAK,CAAC6D,IAAI,EAAEvB,SAAS,IAAI,CAACI,QAAQ,IAAI1C,KAAK,CAAC8D,MAAM,EAAErB,MAAM,CAACiB,SAAS,CAAE;IACtG1D,KAAK,EAAE;MAAE+D,eAAe,EAAE,IAAAC,gBAAO,EAAClB,iBAAiB,EAAE,IAAI;IAAE;EAAE,GAE5DV,QAAQ,EAERiB,aAAa,iBAAIxD,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAACzD,WAAA,CAAAmE,UAAU,EAAAxC,QAAA,KAAUY,UAAU;IAAEe,KAAK;IAAEd,SAAS;IAAEE;EAAQ,GAAKC,MAAM,CAAK,CAAC,EAE7FU,MAAM,CAACrB,MAAM,GAAG,CAAC,iBAChBjC,MAAA,CAAAY,OAAA,CAAA8C,aAAA,CAAC7D,GAAA,CAAAwE,MAAM;IAACC,SAAS;IAACC,IAAI,EAAE1B,QAAS;IAAC2B,OAAO,EAAEA,CAAA,KAAM9B,SAAS,CAACY,MAAM;EAAE,GAChEP,SAAS,CAAC0B,WAAI,CAACC,kBAAkB,CAC5B,CAEN,CAAC,GACL,IAAI;AACV,CAAC;AAACC,OAAA,CAAAtC,MAAA,GAAAA,MAAA;AAEFA,MAAM,CAACuC,WAAW,GAAG,yBAAyB;AAE9CvC,MAAM,CAACwC,SAAS,GAAG;EACjBtC,QAAQ,EAAEuC,kBAAS,CAACC,IAAI;EACxBvC,UAAU,EAAEsC,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC;EAC/BC,QAAQ,EAAEH,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7BvC,SAAS,EAAEqC,kBAAS,CAACI,IAAI;EACzBC,MAAM,EAAEL,kBAAS,CAACM,MAAM;EACxB1C,SAAS,EAAEoC,kBAAS,CAACO,IAAI;EACzB1C,QAAQ,EAAEmC,kBAAS,CAACO;AACtB,CAAC"}
@@ -85,8 +85,8 @@ const RoomSelector = _ref => {
85
85
  key: index,
86
86
  ref: el => itemsRef.current[index] = el
87
87
  }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
88
- secondary: hasCart && index !== roomIndex,
89
88
  disabled: !hasCart,
89
+ secondary: hasCart && index !== roomIndex,
90
90
  onPress: () => handlePress(index)
91
91
  }, "".concat(index === roomIndex && !cart[index] ? "".concat(translate(_Rates.L10N.LABEL_SELECT)) : '', " ").concat(translate(_Rates.L10N.LABEL_ACCOMMODATION_TYPE, {
92
92
  type: accommodationType
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.RoomSelector.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Rates","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","RoomSelector","_ref","cart","occupation","room","roomIndex","onPress","others","isMobile","useDevice","translate","useLocale","itemsRef","useRef","value","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","scrollTo","setScrollTo","useState","useEffect","_itemsRef$current$roo","next","current","offsetLeft","handlePress","index","Event","publish","EVENT","METRICS","id","place","isHotel","createElement","ScrollView","horizontal","snap","className","styles","roomSelector","map","items","undefined","guests","reduce","total","amount","hasCart","View","ref","el","Button","secondary","disabled","concat","L10N","LABEL_SELECT","LABEL_ACCOMMODATION_TYPE","type","trim","Text","headline","separator","active","Icon","level","ICON","PERSON","GROUP","GROUPS","exports","displayName","propTypes","PropTypes","arrayOf","shape","ages","number","func"],"sources":["../../../src/components/Rates/Rates.RoomSelector.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT, ICON } from '../helpers';\n\nconst RoomSelector = ({ cart = [], occupation = [], room: roomIndex, onPress = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const itemsRef = useRef([]);\n const {\n value: { finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} },\n } = useStore();\n\n const [scrollTo, setScrollTo] = useState();\n\n useEffect(() => {\n setScrollTo(0);\n }, []);\n\n useEffect(() => {\n const next = roomIndex === 0 ? 0 : itemsRef.current[roomIndex]?.offsetLeft;\n if (next) setScrollTo(next - (isMobile ? 8 : 0));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [roomIndex]);\n\n const handlePress = (index) => {\n onPress(index);\n Event.publish(EVENT.METRICS, { id: 'RATES:ROOM', index });\n };\n\n const { place: { id: [id] = [], isHotel = true } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n return isHotel && occupation.length >= 2 ? (\n <ScrollView\n {...others}\n horizontal\n scrollTo={scrollTo}\n snap={false}\n className={styles(style.roomSelector, others.className)}\n >\n {occupation.map((items = [], index) => {\n const guests = items.reduce((total, { amount } = {}) => total + amount, 0);\n const hasCart = index <= roomIndex || cart[index] !== undefined || cart[index - 1] !== undefined;\n\n return (\n <View key={index} ref={(el) => (itemsRef.current[index] = el)}>\n <Button secondary={hasCart && index !== roomIndex} disabled={!hasCart} onPress={() => handlePress(index)}>\n {`${index === roomIndex && !cart[index] ? `${translate(L10N.LABEL_SELECT)}` : ''} ${translate(\n L10N.LABEL_ACCOMMODATION_TYPE,\n { type: accommodationType },\n )} ${index + 1}`.trim()}\n\n <Text\n headline\n className={[\n style.separator,\n index === roomIndex ? style.active : hasCart ? style.secondary : style.disabled,\n ]}\n >\n |\n </Text>\n\n <Icon\n headline\n level={isMobile ? 3 : 2}\n value={guests === 1 || guests > 3 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS}\n />\n {guests}\n </Button>\n </View>\n );\n })}\n </ScrollView>\n ) : null;\n};\n\nRoomSelector.displayName = 'Mirai:Core:Rates:RoomSelector';\n\nRoomSelector.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n room: PropTypes.number,\n onPress: PropTypes.func,\n};\n\nexport { RoomSelector };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.RoomSelector.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Rates","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","RoomSelector","_ref","cart","occupation","room","roomIndex","onPress","others","isMobile","useDevice","translate","useLocale","itemsRef","useRef","value","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","scrollTo","setScrollTo","useState","useEffect","_itemsRef$current$roo","next","current","offsetLeft","handlePress","index","Event","publish","EVENT","METRICS","id","place","isHotel","createElement","ScrollView","horizontal","snap","className","styles","roomSelector","map","items","undefined","guests","reduce","total","amount","hasCart","View","ref","el","Button","disabled","secondary","concat","L10N","LABEL_SELECT","LABEL_ACCOMMODATION_TYPE","type","trim","Text","headline","separator","active","Icon","level","ICON","PERSON","GROUP","GROUPS","exports","displayName","propTypes","PropTypes","arrayOf","shape","ages","number","func"],"sources":["../../../src/components/Rates/Rates.RoomSelector.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, Icon, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT, ICON } from '../helpers';\n\nconst RoomSelector = ({ cart = [], occupation = [], room: roomIndex, onPress = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const itemsRef = useRef([]);\n const {\n value: { finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} },\n } = useStore();\n\n const [scrollTo, setScrollTo] = useState();\n\n useEffect(() => {\n setScrollTo(0);\n }, []);\n\n useEffect(() => {\n const next = roomIndex === 0 ? 0 : itemsRef.current[roomIndex]?.offsetLeft;\n if (next) setScrollTo(next - (isMobile ? 8 : 0));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [roomIndex]);\n\n const handlePress = (index) => {\n onPress(index);\n Event.publish(EVENT.METRICS, { id: 'RATES:ROOM', index });\n };\n\n const { place: { id: [id] = [], isHotel = true } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n return isHotel && occupation.length >= 2 ? (\n <ScrollView\n {...others}\n horizontal\n scrollTo={scrollTo}\n snap={false}\n className={styles(style.roomSelector, others.className)}\n >\n {occupation.map((items = [], index) => {\n const guests = items.reduce((total, { amount } = {}) => total + amount, 0);\n const hasCart = index <= roomIndex || cart[index] !== undefined || cart[index - 1] !== undefined;\n\n return (\n <View key={index} ref={(el) => (itemsRef.current[index] = el)}>\n <Button disabled={!hasCart} secondary={hasCart && index !== roomIndex} onPress={() => handlePress(index)}>\n {`${index === roomIndex && !cart[index] ? `${translate(L10N.LABEL_SELECT)}` : ''} ${translate(\n L10N.LABEL_ACCOMMODATION_TYPE,\n { type: accommodationType },\n )} ${index + 1}`.trim()}\n\n <Text\n headline\n className={[\n style.separator,\n index === roomIndex ? style.active : hasCart ? style.secondary : style.disabled,\n ]}\n >\n |\n </Text>\n\n <Icon\n headline\n level={isMobile ? 3 : 2}\n value={guests === 1 || guests > 3 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS}\n />\n {guests}\n </Button>\n </View>\n );\n })}\n </ScrollView>\n ) : null;\n};\n\nRoomSelector.displayName = 'Mirai:Core:Rates:RoomSelector';\n\nRoomSelector.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n room: PropTypes.number,\n onPress: PropTypes.func,\n};\n\nexport { RoomSelector };\n"],"mappings":"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"}
@@ -16,7 +16,7 @@ const RatesSkeleton = () => {
16
16
  isDesktop,
17
17
  isMobile,
18
18
  isPortrait,
19
- width
19
+ isTablet
20
20
  } = (0, _ui.useDevice)();
21
21
  const {
22
22
  value: {
@@ -26,7 +26,6 @@ const RatesSkeleton = () => {
26
26
  urlParams
27
27
  }
28
28
  } = (0, _dataSources.useStore)();
29
- const isTablet = !isMobile && width <= 1179;
30
29
  const props = {
31
30
  color: 'base'
32
31
  };
@@ -81,7 +80,7 @@ const RatesSkeleton = () => {
81
80
  flexWrap: 'wrap',
82
81
  gap: '1rem',
83
82
  justifyContent: 'space-between',
84
- marginTop: !isMobile ? '0.75rem' : undefined
83
+ marginTop: isMobile ? 0 : '1rem'
85
84
  }
86
85
  }, Array.from({
87
86
  length: isMobile ? 1 : isTablet ? 2 : 3