@mirai/core 0.3.155 → 0.3.157

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 (51) hide show
  1. package/README.md +50 -4
  2. package/build/Core.constants.js +8 -4
  3. package/build/Core.constants.js.map +1 -1
  4. package/build/components/Rates/Rates.Footer.js +1 -1
  5. package/build/components/Rates/Rates.Footer.js.map +1 -1
  6. package/build/components/Rates/Rates.Header.js +11 -10
  7. package/build/components/Rates/Rates.Header.js.map +1 -1
  8. package/build/components/Rates/Rates.Unavailability.js +1 -1
  9. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  10. package/build/components/Rates/Rates.constants.js +9 -5
  11. package/build/components/Rates/Rates.constants.js.map +1 -1
  12. package/build/components/Rates/Rates.js +7 -8
  13. package/build/components/Rates/Rates.js.map +1 -1
  14. package/build/components/Rates/Rates.l10n.js +16 -4
  15. package/build/components/Rates/Rates.l10n.js.map +1 -1
  16. package/build/components/Rates/components/Item/Item.Rates.js +24 -13
  17. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  18. package/build/components/Rates/components/Item/Item.Summary.js +1 -1
  19. package/build/components/Rates/components/Item/Item.Summary.js.map +1 -1
  20. package/build/components/Rates/components/Item/Item.js +45 -18
  21. package/build/components/Rates/components/Item/Item.js.map +1 -1
  22. package/build/components/Rates/components/Item/components/Option/Option.js +2 -2
  23. package/build/components/Rates/components/Item/components/Option/Option.js.map +1 -1
  24. package/build/components/Rates/components/Item/components/PriceDetails/helpers/getPrices.js +2 -2
  25. package/build/components/Rates/components/Item/components/PriceDetails/helpers/getPrices.js.map +1 -1
  26. package/build/components/Rates/components/ModalExtras/ModalExtras.js +4 -2
  27. package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
  28. package/build/components/Rates/components/ModalExtras/ModalExtras.module.css +4 -0
  29. package/build/components/Rates/helpers/getFeatures.js +19 -0
  30. package/build/components/Rates/helpers/getFeatures.js.map +1 -0
  31. package/build/components/Rates/helpers/index.js +11 -0
  32. package/build/components/Rates/helpers/index.js.map +1 -1
  33. package/build/services/Rates/__tests__/__mocks__/rates-response-cancel-types.json +3 -3
  34. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +3 -3
  35. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +3 -3
  36. package/build/services/Rates/__tests__/__mocks__/rates-response.json +3 -3
  37. package/build/services/Rates/helpers/getItems.js +113 -0
  38. package/build/services/Rates/helpers/getItems.js.map +1 -0
  39. package/build/services/Rates/helpers/getOccupationSuggestions.js +6 -0
  40. package/build/services/Rates/helpers/getOccupationSuggestions.js.map +1 -1
  41. package/build/services/Rates/helpers/getRooms.js +17 -9
  42. package/build/services/Rates/helpers/getRooms.js.map +1 -1
  43. package/build/services/Rates/helpers/getTaxesType.js +13 -3
  44. package/build/services/Rates/helpers/getTaxesType.js.map +1 -1
  45. package/build/services/Rates/helpers/index.js +11 -0
  46. package/build/services/Rates/helpers/index.js.map +1 -1
  47. package/build/services/Rates/helpers/parseUnavailability.js +12 -1
  48. package/build/services/Rates/helpers/parseUnavailability.js.map +1 -1
  49. package/build/services/Rates/rates.js +16 -95
  50. package/build/services/Rates/rates.js.map +1 -1
  51. package/package.json +1 -1
package/README.md CHANGED
@@ -82,7 +82,15 @@ It should also be noted that some components may offer the _ghosting_ system. Th
82
82
  For that purpose, the `data-ghost` attribute must be set.
83
83
  Css class must be added as well to style the ghost system.
84
84
 
85
- ## 2.1 `<BookingQuery>`
85
+ ## 2.1 `<BannerLoyalty>`
86
+
87
+ @todo
88
+
89
+ ## 2.2 `<Booking>`
90
+
91
+ @todo
92
+
93
+ ## 2.3 `<BookingQuery>`
86
94
 
87
95
  This component shows a modal in which it asks the user for the `bookingId` and `pinCode` if both fields are correct, it redirects to the page to manage the reservation.
88
96
 
@@ -100,7 +108,11 @@ Let's see a naive example:
100
108
  </div>
101
109
  ```
102
110
 
103
- ## 2.2 `<Deals>`
111
+ ## 2.4 `<Checkout>`
112
+
113
+ @todo
114
+
115
+ ## 2.5 `<Deals>`
104
116
 
105
117
  This component displays a form to be able to search for rooms with a certain offer. This form contains 3 fields:
106
118
 
@@ -114,7 +126,19 @@ This component displays a form to be able to search for rooms with a certain off
114
126
 
115
127
  This component needs a `data-id` property that will contain the `id` of the offer to display.
116
128
 
117
- ## 2.3 `<Profile>`
129
+ ## 2.6 `<Environment>`
130
+
131
+ @todo
132
+
133
+ ## 2.7 `<Finder>`
134
+
135
+ @todo
136
+
137
+ ## 2.8 `<Header>`
138
+
139
+ @todo
140
+
141
+ ## 2.9 `<Profile>`
118
142
 
119
143
  This component shows two tabs, Personal information and My bookings:
120
144
 
@@ -125,7 +149,25 @@ This component shows two tabs, Personal information and My bookings:
125
149
  <div data-mirai-component="profile"></div>
126
150
  ```
127
151
 
128
- ## 2.4 `<Session>`
152
+ ## 2.10 `<Rates>`
153
+
154
+ @todo
155
+
156
+ Currently, it is in a state of WIP (Work In Progress), so a mechanism for customizing rate results via URL has been implemented. To do this, we will need to use the `features` URL parameter. The possible values it can receive are:
157
+
158
+ - `showAllBoards`: Displays all available boards (only those belonging to the active rate are active).
159
+ - `showAllOffers`: Displays all available offers (only those belonging to the active cancellation are active).
160
+ - `showClubDiscount`: Shows the loyalty tooltip information on the first render.
161
+ - `showOffersFirst`: This feature completely changes the functionality of the card. We change the selection order to offer + board. Let's remember that the default selection process is cancellation + offer + board.
162
+ - `showRateIncluded`: This feature allows displaying the inclusions of each rate without needing to be encapsulated in a tooltip.
163
+
164
+ Here's a usage example:
165
+
166
+ ```http://....&features=showOffersFirst,showClubDiscount```
167
+
168
+ > Note that you can combine multiple features by simply separating them within the `features` URL parameter using the comma character `,`.
169
+
170
+ ## 2.11 `<Session>`
129
171
 
130
172
  This component has two behaviors. If the user is not logged in, show an action button that displays a modal for login. If the user is logged show a menu with two options: Personal information, and My bookings.
131
173
 
@@ -166,3 +208,7 @@ We can also bind the elements of the session. Example:
166
208
  </div>
167
209
  </div>
168
210
  ```
211
+
212
+ ## 2.12 `<Signup>`
213
+
214
+ @todo
@@ -48,9 +48,13 @@ const TAX_FREE = 2;
48
48
  const TAX_PARTIAL = 3;
49
49
  const TAXES = exports.TAXES = [TAX_DEFAULT, TAX_FREE, TAX_PARTIAL];
50
50
  const TAXES_TYPE = exports.TAXES_TYPE = {
51
- ALL_EXCLUDED: 0,
52
- ALL_INCLUDED: 1,
53
- FEES_INCLUDED: 2,
54
- TAXES_INCLUDED: 3
51
+ ALL_EXCLUDED: 1,
52
+ ALL_INCLUDED: 2,
53
+ FEES_INCLUDED: 3,
54
+ FEES_EXCLUDED: 4,
55
+ FEES_INCLUDED_TAXES_EXCLUDED: 5,
56
+ TAXES_INCLUDED: 6,
57
+ TAXES_EXCLUDED: 7,
58
+ TAXES_INCLUDED_FEES_EXCLUDED: 8
55
59
  };
56
60
  //# sourceMappingURL=Core.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Core.constants.js","names":["ACCOMMODATION_TYPE","exports","DEFAULT","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","AUTH_TYPE","MIRAI","PESTANA","CALENDAR_FORMAT","ERROR","NOT_AVAILABLE","PARAMETER_ERROR","UNKNOWN","TYPE","CHAIN","HOTEL","GUEST","ADULT","CHILD","COMMISSION_TYPE","MIN_STAY_TYPE","CHECK_IN","STAY","TAX_DEFAULT","TAX_FREE","TAX_PARTIAL","TAXES","TAXES_TYPE","ALL_EXCLUDED","ALL_INCLUDED","FEES_INCLUDED","TAXES_INCLUDED"],"sources":["../src/Core.constants.js"],"sourcesContent":["const ACCOMMODATION_TYPE = {\n DEFAULT: 0,\n ROOM: 1, // \"ROOM\"\n APARTMENT: 2, // \"APARTMENT\"\n PITCH: 3, // \"PITCH\"\n ACCOMMODATION: 4, // \"ACCOMMODATION\"\n VILLA: 5, // \"VILLA\"\n};\n\nconst AUTH_TYPE = {\n MIRAI: 1,\n PESTANA: 3,\n};\n\nconst CALENDAR_FORMAT = 'DD/MM/YYYY';\n\nconst ERROR = {\n NOT_AVAILABLE: 4,\n PARAMETER_ERROR: 3,\n UNKNOWN: 1,\n};\n\nconst TYPE = {\n // -- place\n CHAIN: 'chain',\n HOTEL: 'hotel',\n // -- person\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n};\n\nconst COMMISSION_TYPE = {\n [TYPE.HOTEL]: '02040',\n [TYPE.CHAIN]: '02080',\n};\n\nconst MIN_STAY_TYPE = { CHECK_IN: 0, STAY: 1 };\n\nconst TAX_DEFAULT = 1;\nconst TAX_FREE = 2;\nconst TAX_PARTIAL = 3;\n\nconst TAXES = [TAX_DEFAULT, TAX_FREE, TAX_PARTIAL];\n\nconst TAXES_TYPE = {\n ALL_EXCLUDED: 0,\n ALL_INCLUDED: 1,\n FEES_INCLUDED: 2,\n TAXES_INCLUDED: 3,\n};\n\nexport {\n ACCOMMODATION_TYPE,\n AUTH_TYPE,\n CALENDAR_FORMAT,\n COMMISSION_TYPE,\n ERROR,\n MIN_STAY_TYPE,\n TAX_DEFAULT,\n TAXES,\n TAXES_TYPE,\n TYPE,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG;EACzBE,OAAO,EAAE,CAAC;EACVC,IAAI,EAAE,CAAC;EAAE;EACTC,SAAS,EAAE,CAAC;EAAE;EACdC,KAAK,EAAE,CAAC;EAAE;EACVC,aAAa,EAAE,CAAC;EAAE;EAClBC,KAAK,EAAE,CAAC,CAAE;AACZ,CAAC;AAED,MAAMC,SAAS,GAAAP,OAAA,CAAAO,SAAA,GAAG;EAChBC,KAAK,EAAE,CAAC;EACRC,OAAO,EAAE;AACX,CAAC;AAED,MAAMC,eAAe,GAAAV,OAAA,CAAAU,eAAA,GAAG,YAAY;AAEpC,MAAMC,KAAK,GAAAX,OAAA,CAAAW,KAAA,GAAG;EACZC,aAAa,EAAE,CAAC;EAChBC,eAAe,EAAE,CAAC;EAClBC,OAAO,EAAE;AACX,CAAC;AAED,MAAMC,IAAI,GAAAf,OAAA,CAAAe,IAAA,GAAG;EACX;EACAC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACd;EACAC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,eAAe,GAAArB,OAAA,CAAAqB,eAAA,GAAG;EACtB,CAACN,IAAI,CAACE,KAAK,GAAG,OAAO;EACrB,CAACF,IAAI,CAACC,KAAK,GAAG;AAChB,CAAC;AAED,MAAMM,aAAa,GAAAtB,OAAA,CAAAsB,aAAA,GAAG;EAAEC,QAAQ,EAAE,CAAC;EAAEC,IAAI,EAAE;AAAE,CAAC;AAE9C,MAAMC,WAAW,GAAAzB,OAAA,CAAAyB,WAAA,GAAG,CAAC;AACrB,MAAMC,QAAQ,GAAG,CAAC;AAClB,MAAMC,WAAW,GAAG,CAAC;AAErB,MAAMC,KAAK,GAAA5B,OAAA,CAAA4B,KAAA,GAAG,CAACH,WAAW,EAAEC,QAAQ,EAAEC,WAAW,CAAC;AAElD,MAAME,UAAU,GAAA7B,OAAA,CAAA6B,UAAA,GAAG;EACjBC,YAAY,EAAE,CAAC;EACfC,YAAY,EAAE,CAAC;EACfC,aAAa,EAAE,CAAC;EAChBC,cAAc,EAAE;AAClB,CAAC"}
1
+ {"version":3,"file":"Core.constants.js","names":["ACCOMMODATION_TYPE","exports","DEFAULT","ROOM","APARTMENT","PITCH","ACCOMMODATION","VILLA","AUTH_TYPE","MIRAI","PESTANA","CALENDAR_FORMAT","ERROR","NOT_AVAILABLE","PARAMETER_ERROR","UNKNOWN","TYPE","CHAIN","HOTEL","GUEST","ADULT","CHILD","COMMISSION_TYPE","MIN_STAY_TYPE","CHECK_IN","STAY","TAX_DEFAULT","TAX_FREE","TAX_PARTIAL","TAXES","TAXES_TYPE","ALL_EXCLUDED","ALL_INCLUDED","FEES_INCLUDED","FEES_EXCLUDED","FEES_INCLUDED_TAXES_EXCLUDED","TAXES_INCLUDED","TAXES_EXCLUDED","TAXES_INCLUDED_FEES_EXCLUDED"],"sources":["../src/Core.constants.js"],"sourcesContent":["const ACCOMMODATION_TYPE = {\n DEFAULT: 0,\n ROOM: 1, // \"ROOM\"\n APARTMENT: 2, // \"APARTMENT\"\n PITCH: 3, // \"PITCH\"\n ACCOMMODATION: 4, // \"ACCOMMODATION\"\n VILLA: 5, // \"VILLA\"\n};\n\nconst AUTH_TYPE = {\n MIRAI: 1,\n PESTANA: 3,\n};\n\nconst CALENDAR_FORMAT = 'DD/MM/YYYY';\n\nconst ERROR = {\n NOT_AVAILABLE: 4,\n PARAMETER_ERROR: 3,\n UNKNOWN: 1,\n};\n\nconst TYPE = {\n // -- place\n CHAIN: 'chain',\n HOTEL: 'hotel',\n // -- person\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n};\n\nconst COMMISSION_TYPE = {\n [TYPE.HOTEL]: '02040',\n [TYPE.CHAIN]: '02080',\n};\n\nconst MIN_STAY_TYPE = { CHECK_IN: 0, STAY: 1 };\n\nconst TAX_DEFAULT = 1;\nconst TAX_FREE = 2;\nconst TAX_PARTIAL = 3;\n\nconst TAXES = [TAX_DEFAULT, TAX_FREE, TAX_PARTIAL];\n\nconst TAXES_TYPE = {\n ALL_EXCLUDED: 1,\n ALL_INCLUDED: 2,\n FEES_INCLUDED: 3,\n FEES_EXCLUDED: 4,\n FEES_INCLUDED_TAXES_EXCLUDED: 5,\n TAXES_INCLUDED: 6,\n TAXES_EXCLUDED: 7,\n TAXES_INCLUDED_FEES_EXCLUDED: 8,\n};\n\nexport {\n ACCOMMODATION_TYPE,\n AUTH_TYPE,\n CALENDAR_FORMAT,\n COMMISSION_TYPE,\n ERROR,\n MIN_STAY_TYPE,\n TAX_DEFAULT,\n TAXES,\n TAXES_TYPE,\n TYPE,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG;EACzBE,OAAO,EAAE,CAAC;EACVC,IAAI,EAAE,CAAC;EAAE;EACTC,SAAS,EAAE,CAAC;EAAE;EACdC,KAAK,EAAE,CAAC;EAAE;EACVC,aAAa,EAAE,CAAC;EAAE;EAClBC,KAAK,EAAE,CAAC,CAAE;AACZ,CAAC;AAED,MAAMC,SAAS,GAAAP,OAAA,CAAAO,SAAA,GAAG;EAChBC,KAAK,EAAE,CAAC;EACRC,OAAO,EAAE;AACX,CAAC;AAED,MAAMC,eAAe,GAAAV,OAAA,CAAAU,eAAA,GAAG,YAAY;AAEpC,MAAMC,KAAK,GAAAX,OAAA,CAAAW,KAAA,GAAG;EACZC,aAAa,EAAE,CAAC;EAChBC,eAAe,EAAE,CAAC;EAClBC,OAAO,EAAE;AACX,CAAC;AAED,MAAMC,IAAI,GAAAf,OAAA,CAAAe,IAAA,GAAG;EACX;EACAC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACd;EACAC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,eAAe,GAAArB,OAAA,CAAAqB,eAAA,GAAG;EACtB,CAACN,IAAI,CAACE,KAAK,GAAG,OAAO;EACrB,CAACF,IAAI,CAACC,KAAK,GAAG;AAChB,CAAC;AAED,MAAMM,aAAa,GAAAtB,OAAA,CAAAsB,aAAA,GAAG;EAAEC,QAAQ,EAAE,CAAC;EAAEC,IAAI,EAAE;AAAE,CAAC;AAE9C,MAAMC,WAAW,GAAAzB,OAAA,CAAAyB,WAAA,GAAG,CAAC;AACrB,MAAMC,QAAQ,GAAG,CAAC;AAClB,MAAMC,WAAW,GAAG,CAAC;AAErB,MAAMC,KAAK,GAAA5B,OAAA,CAAA4B,KAAA,GAAG,CAACH,WAAW,EAAEC,QAAQ,EAAEC,WAAW,CAAC;AAElD,MAAME,UAAU,GAAA7B,OAAA,CAAA6B,UAAA,GAAG;EACjBC,YAAY,EAAE,CAAC;EACfC,YAAY,EAAE,CAAC;EACfC,aAAa,EAAE,CAAC;EAChBC,aAAa,EAAE,CAAC;EAChBC,4BAA4B,EAAE,CAAC;EAC/BC,cAAc,EAAE,CAAC;EACjBC,cAAc,EAAE,CAAC;EACjBC,4BAA4B,EAAE;AAChC,CAAC"}
@@ -110,7 +110,7 @@ const Footer = _ref => {
110
110
  }, (0, _locale.currencyFormat)({
111
111
  currency,
112
112
  value: totalPrice
113
- })), /*#__PURE__*/_react.default.createElement(_ui.Text, {
113
+ })), !!taxesType && /*#__PURE__*/_react.default.createElement(_ui.Text, {
114
114
  lighten: true,
115
115
  small: !isMobile,
116
116
  tiny: isMobile
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Rates","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Footer","_ref","cart","dataSource","taxesType","extras","occupation","onSubmit","isMobile","useDevice","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","items","filter","item","undefined","totalPrice","reduce","price","arguments","length","valid","handleSubmit","createElement","View","className","styles","footer","visible","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","key","cartItem","room","Icon","ICON","PERSON","GROUP","GROUPS","Text","small","bold","action","description","concat","lighten","currencyFormat","summary","headline","level","tiny","getLabelTaxes","Button","disabled","large","onPress","L10N","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","arrayOf","shape","ages","number","type","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getLabelTaxes } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON } from '../helpers';\n\nconst Footer = ({ cart = [], dataSource: { taxesType } = {}, extras, occupation = [], onSubmit = () => {} }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => !extras && setBusy(false), [extras]);\n\n const items = cart.filter((item) => item !== undefined);\n const totalPrice = cart.reduce((value, { price } = {}) => value + price, 0);\n const valid = items.length === occupation.length;\n\n const handleSubmit = () => {\n setBusy(true);\n onSubmit();\n };\n\n return (\n <View className={styles(style.footer, items.length && style.visible)}>\n <View>\n <View className={style.wrapper} wide>\n {items.map(({ amount = 1, id, name: boardName, price, roomName } = {}, index) => {\n const guests = occupation[index].reduce((total, { amount } = {}) => total + amount, 0);\n\n return (\n <View row key={id} className={style.cartItem}>\n <View row className={style.room}>\n <Icon value={guests === 1 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS} />\n <Text small>{guests}</Text>\n </View>\n\n <Text bold action={!isMobile} small={isMobile} className={style.description}>\n {`${roomName} `}\n <Text lighten small>{`| ${boardName}`}</Text>\n </Text>\n\n <Text bold action={!isMobile} small={isMobile}>\n {currencyFormat({ currency, value: amount * price })}\n </Text>\n </View>\n );\n })}\n </View>\n </View>\n\n <View row className={[style.wrapper, style.summary]}>\n <View className={style.totalPrice}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, value: totalPrice })}\n </Text>\n\n <Text lighten small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n </View>\n\n <Button busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Rates:Footer';\n\nFooter.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n dataSource: PropTypes.shape({}),\n extras: 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 onSubmit: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Rates","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Footer","_ref","cart","dataSource","taxesType","extras","occupation","onSubmit","isMobile","useDevice","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","items","filter","item","undefined","totalPrice","reduce","price","arguments","length","valid","handleSubmit","createElement","View","className","styles","footer","visible","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","key","cartItem","room","Icon","ICON","PERSON","GROUP","GROUPS","Text","small","bold","action","description","concat","lighten","currencyFormat","summary","headline","level","tiny","getLabelTaxes","Button","disabled","large","onPress","L10N","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","arrayOf","shape","ages","number","type","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getLabelTaxes } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON } from '../helpers';\n\nconst Footer = ({ cart = [], dataSource: { taxesType } = {}, extras, occupation = [], onSubmit = () => {} }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => !extras && setBusy(false), [extras]);\n\n const items = cart.filter((item) => item !== undefined);\n const totalPrice = cart.reduce((value, { price } = {}) => value + price, 0);\n const valid = items.length === occupation.length;\n\n const handleSubmit = () => {\n setBusy(true);\n onSubmit();\n };\n\n return (\n <View className={styles(style.footer, items.length && style.visible)}>\n <View>\n <View className={style.wrapper} wide>\n {items.map(({ amount = 1, id, name: boardName, price, roomName } = {}, index) => {\n const guests = occupation[index].reduce((total, { amount } = {}) => total + amount, 0);\n\n return (\n <View row key={id} className={style.cartItem}>\n <View row className={style.room}>\n <Icon value={guests === 1 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS} />\n <Text small>{guests}</Text>\n </View>\n\n <Text bold action={!isMobile} small={isMobile} className={style.description}>\n {`${roomName} `}\n <Text lighten small>{`| ${boardName}`}</Text>\n </Text>\n\n <Text bold action={!isMobile} small={isMobile}>\n {currencyFormat({ currency, value: amount * price })}\n </Text>\n </View>\n );\n })}\n </View>\n </View>\n\n <View row className={[style.wrapper, style.summary]}>\n <View className={style.totalPrice}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, value: totalPrice })}\n </Text>\n\n {!!taxesType && (\n <Text lighten small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Rates:Footer';\n\nFooter.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n dataSource: PropTypes.shape({}),\n extras: 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 onSubmit: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":"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"}
@@ -6,13 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Header = void 0;
7
7
  var _dataSources = require("@mirai/data-sources");
8
8
  var _locale = require("@mirai/locale");
9
- var _services = require("@mirai/services");
10
9
  var _ui = require("@mirai/ui");
11
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
11
  var _react = _interopRequireDefault(require("react"));
13
12
  var _components = require("./components");
14
- var _Rates = require("./Rates.constants");
15
- var _Rates2 = require("./Rates.l10n");
13
+ var _Rates = require("./Rates.l10n");
16
14
  var style = _interopRequireWildcard(require("./Rates.module.css"));
17
15
  var _helpers = require("../helpers");
18
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -28,6 +26,9 @@ const Header = _ref => {
28
26
  items = [],
29
27
  ...dataSource
30
28
  } = {},
29
+ features: {
30
+ showClubDiscount = false
31
+ } = {},
31
32
  multiRoom,
32
33
  onClubDiscount = () => {},
33
34
  onSelect = () => {},
@@ -45,7 +46,6 @@ const Header = _ref => {
45
46
  discount,
46
47
  name
47
48
  } = {},
48
- id,
49
49
  session
50
50
  } = {}
51
51
  } = (0, _dataSources.useStore)();
@@ -53,7 +53,7 @@ const Header = _ref => {
53
53
  contentBackground
54
54
  } = _ui.Theme.get();
55
55
  const hasItems = items.length > 0;
56
- const expandClubDiscount = clubConditions !== undefined || _services.ServiceFeatures.get(_Rates.FEATURE_SHOW_CLUB_DISCOUNT, id) || clubDiscount === false || false;
56
+ const expandClubDiscount = clubConditions !== undefined || showClubDiscount || clubDiscount === false || false;
57
57
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
58
58
  row: true,
59
59
  className: (0, _ui.styles)(style.header, style.blur, multiRoom && !isMobile && style.sticky, others.className),
@@ -74,25 +74,25 @@ const Header = _ref => {
74
74
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
75
75
  action: true,
76
76
  bold: true
77
- }, translate(_Rates2.L10N.LABEL_APPLY_DISCOUNTS)), /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
77
+ }, translate(_Rates.L10N.LABEL_APPLY_DISCOUNTS)), /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
78
78
  pressable: true,
79
79
  Template: () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
80
80
  bold: true,
81
81
  action: true
82
- }, translate(_Rates2.L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE, {
82
+ }, translate(_Rates.L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE, {
83
83
  club: name
84
84
  })), clubConditions ? /*#__PURE__*/_react.default.createElement(_ui.Text, {
85
85
  small: true
86
- }, translate(_Rates2.L10N.LABEL_CLUB_CONDITIONS, {
86
+ }, translate(_Rates.L10N.LABEL_CLUB_CONDITIONS, {
87
87
  conditions: /*#__PURE__*/_react.default.createElement(_ui.Action, {
88
88
  href: clubConditions,
89
89
  inline: true,
90
90
  target: "_blank",
91
91
  className: style.action
92
- }, translate(_Rates2.L10N.ACTION_CLUB_VIEW_CONDITIONS))
92
+ }, translate(_Rates.L10N.ACTION_CLUB_VIEW_CONDITIONS))
93
93
  })) : /*#__PURE__*/_react.default.createElement(_ui.Text, {
94
94
  small: true
95
- }, translate(_Rates2.L10N.LABEL_CLUB_BENEFITS))),
95
+ }, translate(_Rates.L10N.LABEL_CLUB_BENEFITS))),
96
96
  visible: expandClubDiscount,
97
97
  className: style.tooltip
98
98
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
@@ -110,6 +110,7 @@ Header.propTypes = {
110
110
  children: _propTypes.default.node,
111
111
  clubDiscount: _propTypes.default.bool,
112
112
  dataSource: _propTypes.default.shape({}),
113
+ features: _propTypes.default.shape({}),
113
114
  multiRoom: _propTypes.default.bool,
114
115
  onClubDiscount: _propTypes.default.func,
115
116
  onSelect: _propTypes.default.func
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.Header.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_components","_Rates","_Rates2","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","clubDiscount","dataSource","clubConditions","items","multiRoom","onClubDiscount","onSelect","others","isMobile","useDevice","translate","useLocale","value","club","discount","name","id","session","useStore","contentBackground","Theme","hasItems","expandClubDiscount","undefined","ServiceFeatures","FEATURE_SHOW_CLUB_DISCOUNT","createElement","View","row","className","styles","header","blur","sticky","backgroundColor","opacity","Hotelverse","tag","highlight","Text","action","bold","L10N","LABEL_APPLY_DISCOUNTS","Tooltip","pressable","Template","Fragment","LABEL_CLUB_MEMBERS_EXCLUSIVE","small","LABEL_CLUB_CONDITIONS","conditions","Action","href","inline","ACTION_CLUB_VIEW_CONDITIONS","LABEL_CLUB_BENEFITS","visible","tooltip","Icon","ICON","INFO","Switch","checked","onChange","switch","exports","displayName","propTypes","PropTypes","node","bool","shape","func"],"sources":["../../../src/components/Rates/Rates.Header.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Action, Icon, styles, Switch, Text, Theme, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Hotelverse } from './components';\nimport { FEATURE_SHOW_CLUB_DISCOUNT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON, opacity } from '../helpers';\n\nconst Header = ({\n children,\n clubDiscount = false,\n dataSource: { clubConditions, items = [], ...dataSource } = {},\n multiRoom,\n onClubDiscount = () => {},\n onSelect = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { club: { discount, name } = {}, id, session } = {} } = useStore();\n\n const { contentBackground } = Theme.get();\n const hasItems = items.length > 0;\n const expandClubDiscount =\n clubConditions !== undefined ||\n ServiceFeatures.get(FEATURE_SHOW_CLUB_DISCOUNT, id) ||\n clubDiscount === false ||\n false;\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 && (\n <Hotelverse\n {...{ ...dataSource, items, multiRoom, onSelect, ...others }}\n className={[style.tag, style.highlight]}\n />\n )}\n\n {discount !== undefined && !session && hasItems && (\n <View row className={[style.tag, style.clubDiscount, clubDiscount && style.highlight]}>\n <View row>\n <Text action bold>\n {translate(L10N.LABEL_APPLY_DISCOUNTS)}\n </Text>\n\n <Tooltip\n pressable\n Template={() => (\n <>\n <Text bold action>\n {translate(L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE, { club: name })}\n </Text>\n\n {clubConditions ? (\n <Text small>\n {translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action href={clubConditions} inline target=\"_blank\" className={style.action}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })}\n </Text>\n ) : (\n <Text small>{translate(L10N.LABEL_CLUB_BENEFITS)}</Text>\n )}\n </>\n )}\n visible={expandClubDiscount}\n className={style.tooltip}\n >\n <Icon value={ICON.INFO} />\n </Tooltip>\n </View>\n\n <Switch checked={clubDiscount} name=\"clubDiscount\" onChange={onClubDiscount} className={style.switch} />\n </View>\n )}\n </View>\n );\n};\n\nHeader.displayName = 'Mirai:Core:Rates:Header';\n\nHeader.propTypes = {\n children: PropTypes.node,\n clubDiscount: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n multiRoom: PropTypes.bool,\n onClubDiscount: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Header };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.Header.js","names":["_dataSources","require","_locale","_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","clubDiscount","dataSource","clubConditions","items","features","showClubDiscount","multiRoom","onClubDiscount","onSelect","others","isMobile","useDevice","translate","useLocale","value","club","discount","name","session","useStore","contentBackground","Theme","hasItems","expandClubDiscount","undefined","createElement","View","row","className","styles","header","blur","sticky","backgroundColor","opacity","Hotelverse","tag","highlight","Text","action","bold","L10N","LABEL_APPLY_DISCOUNTS","Tooltip","pressable","Template","Fragment","LABEL_CLUB_MEMBERS_EXCLUSIVE","small","LABEL_CLUB_CONDITIONS","conditions","Action","href","inline","ACTION_CLUB_VIEW_CONDITIONS","LABEL_CLUB_BENEFITS","visible","tooltip","Icon","ICON","INFO","Switch","checked","onChange","switch","exports","displayName","propTypes","PropTypes","node","bool","shape","func"],"sources":["../../../src/components/Rates/Rates.Header.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Icon, styles, Switch, Text, Theme, Tooltip, 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 { ICON, opacity } from '../helpers';\n\nconst Header = ({\n children,\n clubDiscount = false,\n dataSource: { clubConditions, items = [], ...dataSource } = {},\n features: { showClubDiscount = false } = {},\n multiRoom,\n onClubDiscount = () => {},\n onSelect = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { club: { discount, name } = {}, session } = {} } = useStore();\n\n const { contentBackground } = Theme.get();\n const hasItems = items.length > 0;\n const expandClubDiscount = clubConditions !== undefined || showClubDiscount || clubDiscount === false || false;\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 && (\n <Hotelverse\n {...{ ...dataSource, items, multiRoom, onSelect, ...others }}\n className={[style.tag, style.highlight]}\n />\n )}\n\n {discount !== undefined && !session && hasItems && (\n <View row className={[style.tag, style.clubDiscount, clubDiscount && style.highlight]}>\n <View row>\n <Text action bold>\n {translate(L10N.LABEL_APPLY_DISCOUNTS)}\n </Text>\n\n <Tooltip\n pressable\n Template={() => (\n <>\n <Text bold action>\n {translate(L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE, { club: name })}\n </Text>\n\n {clubConditions ? (\n <Text small>\n {translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action href={clubConditions} inline target=\"_blank\" className={style.action}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })}\n </Text>\n ) : (\n <Text small>{translate(L10N.LABEL_CLUB_BENEFITS)}</Text>\n )}\n </>\n )}\n visible={expandClubDiscount}\n className={style.tooltip}\n >\n <Icon value={ICON.INFO} />\n </Tooltip>\n </View>\n\n <Switch checked={clubDiscount} name=\"clubDiscount\" onChange={onClubDiscount} className={style.switch} />\n </View>\n )}\n </View>\n );\n};\n\nHeader.displayName = 'Mirai:Core:Rates:Header';\n\nHeader.propTypes = {\n children: PropTypes.node,\n clubDiscount: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n features: PropTypes.shape({}),\n multiRoom: PropTypes.bool,\n onClubDiscount: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Header };\n"],"mappings":"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"}
@@ -100,7 +100,7 @@ const Unavailability = _ref => {
100
100
  locale,
101
101
  maximumFractionDigits: 0,
102
102
  value: price
103
- })), /*#__PURE__*/_react.default.createElement(_ui.Text, {
103
+ })), !!taxesType && /*#__PURE__*/_react.default.createElement(_ui.Text, {
104
104
  lighten: true,
105
105
  small: true
106
106
  }, translate((0, _helpers.getLabelTaxes)(taxesType)))), /*#__PURE__*/_react.default.createElement(_ui.Button, {
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_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","Unavailability","_ref","calendar","hotels","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","club","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","handleFinder","isCalendar","focus","renderPrice","price","onPress","undefined","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","lighten","getLabelTaxes","Button","ACTION_VIEW_MORE","place","id","accommodation","getAccommodationLabel","type","hasSuggestions","unavailability","banner","Icon","ICON","CALENDAR_BUSY","PERSON_OFF","wide","texts","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_REFINE_SEARCH_CLUB","LABEL_REFINE_SEARCH","name","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","items","map","taxes","index","concat","card","dateFormat","DATE_FORMAT","anchorDates","action","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","plural","distribution","roomIndex","room","typeIndex","getOccupationLabel","item","CardHotel","exports","displayName","propTypes","PropTypes","shape","arrayOf","number"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, useLocale } from '@mirai/locale';\nimport { Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotels = [],\n suggestions: { calendar: calendarSuggestions = [], description, occupation: occupationSuggestions = [] } = {},\n taxesType,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { set, value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {\n club = {},\n currency,\n finder = {},\n hotel: { accommodationType: hotelAccommodationType, variants = {} } = {},\n } = store;\n\n const handleCalendar = (from, to) => {\n set({ finder: { ...finder, calendar: [from, to] } });\n };\n\n const handleOccupation = (occupation) => {\n set({ finder: { ...finder, occupation } });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, isCalendar ? { calendar, focus: 'calendar' } : { focus: 'occupation' });\n };\n\n const renderPrice = ({ price, onPress } = {}) => (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n <Text lighten small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const accommodation = getAccommodationLabel({ type: accommodationType }, translate);\n const hasSuggestions = calendarSuggestions.length > 0 || occupationSuggestions.length > 0;\n const isCalendar = calendarSuggestions.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon value={isCalendar ? ICON.CALENDAR_BUSY : ICON.PERSON_OFF} />\n <View wide className={style.texts}>\n <Text headline level={isMobile ? 3 : 2}>\n {isCalendar\n ? description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)\n : translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)}\n </Text>\n <Text small={isMobile}>\n {translate(hotels.length ? L10N.LABEL_REFINE_SEARCH_CLUB : L10N.LABEL_REFINE_SEARCH, {\n club: club.name,\n })}\n </Text>\n {/* ! TODO: Should render restrictions */}\n {/* <Text small>\n Lorem, ipsum dolor sit amet consectetur adipisicing elit. Quidem voluptatibus earum repellendus tempore,\n numquam, natus quibusdam cupiditate, iusto ab quos odio culpa laboriosam vitae sed sit deserunt molestiae\n quia! Tenetur?\n </Text> */}\n </View>\n <Button wide={isMobile} onPress={handleFinder}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {isCalendar && (\n <View row={!isMobile} className={style.items}>\n {calendarSuggestions.map(({ from, to, price = 0, taxes } = {}, index) => (\n <View key={`calendar:${index}`} className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n ))}\n </View>\n )}\n\n {occupationSuggestions.length > 0 && (\n <View row={!isMobile} className={style.items}>\n {occupationSuggestions.map(({ occupation = [], price = 0, taxes }, index) => (\n <View key={`occupation:${index}`} className={style.card}>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${occupation.length} ${getAccommodationLabel(\n { plural: occupation.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {occupation.map((distribution = [], roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>{`${accommodation} ${roomIndex + 1}`}</Text>\n {distribution.map((type = {}, typeIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${typeIndex}`} lighten small>\n {getOccupationLabel(type, translate)}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(occupation) })}\n </View>\n ))}\n </View>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <Text bold headline>\n {club.name}\n </Text>\n )}\n <View row={!isMobile} className={style.items}>\n {hotels.map((item, index) => (\n <CardHotel key={`${item.index || index}:${width}`} {...item} />\n ))}\n </View>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n};\n\nexport { Unavailability };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_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","Unavailability","_ref","calendar","hotels","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","isMobile","width","useDevice","locale","translate","useLocale","value","store","useStore","useEffect","Event","publish","EVENT","FINDER","club","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","handleCalendar","from","to","handleOccupation","handleFinder","isCalendar","focus","renderPrice","price","onPress","undefined","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","lighten","getLabelTaxes","Button","ACTION_VIEW_MORE","place","id","accommodation","getAccommodationLabel","type","hasSuggestions","unavailability","banner","Icon","ICON","CALENDAR_BUSY","PERSON_OFF","wide","texts","LABEL_NO_AVAILABILITY_CALENDAR","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_REFINE_SEARCH_CLUB","LABEL_REFINE_SEARCH","name","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","items","map","taxes","index","concat","card","dateFormat","DATE_FORMAT","anchorDates","action","dateDiff","days","LABEL_NIGHTS","_ref2","capitalize","plural","distribution","roomIndex","room","typeIndex","getOccupationLabel","item","CardHotel","exports","displayName","propTypes","PropTypes","shape","arrayOf","number"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, useLocale } from '@mirai/locale';\nimport { Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { EVENT } from '../helpers';\nimport { getAccommodationLabel, getOccupationLabel, ICON } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotels = [],\n suggestions: { calendar: calendarSuggestions = [], description, occupation: occupationSuggestions = [] } = {},\n taxesType,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { set, value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {\n club = {},\n currency,\n finder = {},\n hotel: { accommodationType: hotelAccommodationType, variants = {} } = {},\n } = store;\n\n const handleCalendar = (from, to) => {\n set({ finder: { ...finder, calendar: [from, to] } });\n };\n\n const handleOccupation = (occupation) => {\n set({ finder: { ...finder, occupation } });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, isCalendar ? { calendar, focus: 'calendar' } : { focus: 'occupation' });\n };\n\n const renderPrice = ({ price, onPress } = {}) => (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n {!!taxesType && (\n <Text lighten small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const accommodation = getAccommodationLabel({ type: accommodationType }, translate);\n const hasSuggestions = calendarSuggestions.length > 0 || occupationSuggestions.length > 0;\n const isCalendar = calendarSuggestions.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon value={isCalendar ? ICON.CALENDAR_BUSY : ICON.PERSON_OFF} />\n <View wide className={style.texts}>\n <Text headline level={isMobile ? 3 : 2}>\n {isCalendar\n ? description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)\n : translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)}\n </Text>\n <Text small={isMobile}>\n {translate(hotels.length ? L10N.LABEL_REFINE_SEARCH_CLUB : L10N.LABEL_REFINE_SEARCH, {\n club: club.name,\n })}\n </Text>\n {/* ! TODO: Should render restrictions */}\n {/* <Text small>\n Lorem, ipsum dolor sit amet consectetur adipisicing elit. Quidem voluptatibus earum repellendus tempore,\n numquam, natus quibusdam cupiditate, iusto ab quos odio culpa laboriosam vitae sed sit deserunt molestiae\n quia! Tenetur?\n </Text> */}\n </View>\n <Button wide={isMobile} onPress={handleFinder}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {isCalendar && (\n <View row={!isMobile} className={style.items}>\n {calendarSuggestions.map(({ from, to, price = 0, taxes } = {}, index) => (\n <View key={`calendar:${index}`} className={style.card}>\n <View>\n <View row>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>─</Text>\n <Text bold headline={!isMobile} level={3}>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action={!isMobile} small={isMobile}>{`${dateDiff(from, to).days} ${translate(\n L10N.LABEL_NIGHTS,\n )}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n ))}\n </View>\n )}\n\n {occupationSuggestions.length > 0 && (\n <View row={!isMobile} className={style.items}>\n {occupationSuggestions.map(({ occupation = [], price = 0, taxes }, index) => (\n <View key={`occupation:${index}`} className={style.card}>\n <Text bold capitalize headline={!isMobile} level={3}>\n {`${occupation.length} ${getAccommodationLabel(\n { plural: occupation.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {occupation.map((distribution = [], roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>{`${accommodation} ${roomIndex + 1}`}</Text>\n {distribution.map((type = {}, typeIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${typeIndex}`} lighten small>\n {getOccupationLabel(type, translate)}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(occupation) })}\n </View>\n ))}\n </View>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <Text bold headline>\n {club.name}\n </Text>\n )}\n <View row={!isMobile} className={style.items}>\n {hotels.map((item, index) => (\n <CardHotel key={`${item.index || index}:${width}`} {...item} />\n ))}\n </View>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n};\n\nexport { Unavailability };\n"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.FEATURE_SHOW_RATE_INCLUDED = exports.FEATURE_SHOW_CLUB_DISCOUNT = exports.FEATURE_SHOW_ALL_OFFERS = exports.FEATURE_PESTANA = exports.DISCOUNT_TYPE = exports.DATE_FORMAT = void 0;
6
+ exports.FEATURES = exports.DISCOUNT_TYPE = exports.DATE_FORMAT = void 0;
7
7
  const DATE_FORMAT = exports.DATE_FORMAT = {
8
8
  weekday: 'short',
9
9
  month: 'short',
@@ -14,8 +14,12 @@ const DISCOUNT_TYPE = exports.DISCOUNT_TYPE = {
14
14
  DEAL: 1,
15
15
  PROMOTION: 2
16
16
  };
17
- const FEATURE_PESTANA = exports.FEATURE_PESTANA = 'pestana';
18
- const FEATURE_SHOW_ALL_OFFERS = exports.FEATURE_SHOW_ALL_OFFERS = 'showAllOffers';
19
- const FEATURE_SHOW_CLUB_DISCOUNT = exports.FEATURE_SHOW_CLUB_DISCOUNT = 'showClubDiscount';
20
- const FEATURE_SHOW_RATE_INCLUDED = exports.FEATURE_SHOW_RATE_INCLUDED = 'showRateIncluded';
17
+ const FEATURES = exports.FEATURES = {
18
+ PESTANA: 'pestana',
19
+ SHOW_ALL_BOARDS: 'showAllBoards',
20
+ SHOW_ALL_OFFERS: 'showAllOffers',
21
+ SHOW_CLUB_DISCOUNT: 'showClubDiscount',
22
+ SHOW_OFFERS_FIRST: 'showOffersFirst',
23
+ SHOW_RATE_INCLUDED: 'showRateIncluded'
24
+ };
21
25
  //# sourceMappingURL=Rates.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Rates.constants.js","names":["DATE_FORMAT","exports","weekday","month","day","DISCOUNT_TYPE","CLUB","DEAL","PROMOTION","FEATURE_PESTANA","FEATURE_SHOW_ALL_OFFERS","FEATURE_SHOW_CLUB_DISCOUNT","FEATURE_SHOW_RATE_INCLUDED"],"sources":["../../../src/components/Rates/Rates.constants.js"],"sourcesContent":["const DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nconst DISCOUNT_TYPE = {\n CLUB: 0,\n DEAL: 1,\n PROMOTION: 2,\n};\n\nconst FEATURE_PESTANA = 'pestana';\nconst FEATURE_SHOW_ALL_OFFERS = 'showAllOffers';\nconst FEATURE_SHOW_CLUB_DISCOUNT = 'showClubDiscount';\nconst FEATURE_SHOW_RATE_INCLUDED = 'showRateIncluded';\n\nexport {\n DATE_FORMAT,\n DISCOUNT_TYPE,\n FEATURE_PESTANA,\n FEATURE_SHOW_ALL_OFFERS,\n FEATURE_SHOW_CLUB_DISCOUNT,\n FEATURE_SHOW_RATE_INCLUDED,\n};\n"],"mappings":";;;;;;AAAA,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG;EAAEE,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAExE,MAAMC,aAAa,GAAAJ,OAAA,CAAAI,aAAA,GAAG;EACpBC,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,eAAe,GAAAR,OAAA,CAAAQ,eAAA,GAAG,SAAS;AACjC,MAAMC,uBAAuB,GAAAT,OAAA,CAAAS,uBAAA,GAAG,eAAe;AAC/C,MAAMC,0BAA0B,GAAAV,OAAA,CAAAU,0BAAA,GAAG,kBAAkB;AACrD,MAAMC,0BAA0B,GAAAX,OAAA,CAAAW,0BAAA,GAAG,kBAAkB"}
1
+ {"version":3,"file":"Rates.constants.js","names":["DATE_FORMAT","exports","weekday","month","day","DISCOUNT_TYPE","CLUB","DEAL","PROMOTION","FEATURES","PESTANA","SHOW_ALL_BOARDS","SHOW_ALL_OFFERS","SHOW_CLUB_DISCOUNT","SHOW_OFFERS_FIRST","SHOW_RATE_INCLUDED"],"sources":["../../../src/components/Rates/Rates.constants.js"],"sourcesContent":["const DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nconst DISCOUNT_TYPE = {\n CLUB: 0,\n DEAL: 1,\n PROMOTION: 2,\n};\n\nconst FEATURES = {\n PESTANA: 'pestana',\n SHOW_ALL_BOARDS: 'showAllBoards',\n SHOW_ALL_OFFERS: 'showAllOffers',\n SHOW_CLUB_DISCOUNT: 'showClubDiscount',\n SHOW_OFFERS_FIRST: 'showOffersFirst',\n SHOW_RATE_INCLUDED: 'showRateIncluded',\n};\n\nexport { DATE_FORMAT, DISCOUNT_TYPE, FEATURES };\n"],"mappings":";;;;;;AAAA,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG;EAAEE,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAExE,MAAMC,aAAa,GAAAJ,OAAA,CAAAI,aAAA,GAAG;EACpBC,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,QAAQ,GAAAR,OAAA,CAAAQ,QAAA,GAAG;EACfC,OAAO,EAAE,SAAS;EAClBC,eAAe,EAAE,eAAe;EAChCC,eAAe,EAAE,eAAe;EAChCC,kBAAkB,EAAE,kBAAkB;EACtCC,iBAAiB,EAAE,iBAAiB;EACpCC,kBAAkB,EAAE;AACtB,CAAC"}
@@ -241,7 +241,7 @@ const Rates = _ref => {
241
241
 
242
242
  // eslint-disable-next-line no-unused-vars
243
243
  const handleSubmit = async cart => {
244
- const isPestana = _services.ServiceFeatures.get(_Rates.FEATURE_PESTANA, id) || false;
244
+ const isPestana = _services.ServiceFeatures.get(_Rates.FEATURES.PESTANA, id) || false;
245
245
  setLogin(false);
246
246
  if (!isPestana && clubDiscount && !session && !loginShown) {
247
247
  loginShown = true;
@@ -283,6 +283,10 @@ const Rates = _ref => {
283
283
  urlParams
284
284
  });
285
285
  };
286
+ const {
287
+ contentBackground
288
+ } = _ui.Theme.get();
289
+ const features = (0, _helpers.getFeatures)(id, urlParams);
286
290
  const multiRoom = (occupation === null || occupation === void 0 ? void 0 : occupation.length) > 1;
287
291
  const nights = (0, _locale.dateDiff)(calendar[0], calendar[1]).days;
288
292
  const response = dataSource !== undefined;
@@ -292,11 +296,6 @@ const Rates = _ref => {
292
296
  room,
293
297
  onPress: setRoom
294
298
  };
295
- const showIncluded = _services.ServiceFeatures.get(_Rates.FEATURE_SHOW_RATE_INCLUDED, id) || false;
296
- const showAllOffers = _services.ServiceFeatures.get(_Rates.FEATURE_SHOW_ALL_OFFERS, id) || false;
297
- const {
298
- contentBackground
299
- } = _ui.Theme.get();
300
299
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
301
300
  ref: refRoomSelector,
302
301
  className: (0, _ui.styles)(style.finder, style.blur, (!multiRoom || responseError) && style.sticky),
@@ -321,6 +320,7 @@ const Rates = _ref => {
321
320
  }, response && !responseError && /*#__PURE__*/_react.default.createElement(_Rates2.Content, others), (response || multiRoom && !responseError) && /*#__PURE__*/_react.default.createElement(_Rates4.Header, {
322
321
  clubDiscount,
323
322
  dataSource,
323
+ features,
324
324
  multiRoom,
325
325
  onClubDiscount: handleClubDiscount,
326
326
  onSelect: handleSelect
@@ -336,10 +336,9 @@ const Rates = _ref => {
336
336
  key: "".concat(id || index, ":").concat(fetching, ":").concat(width),
337
337
  id
338
338
  }, item, {
339
+ features,
339
340
  multiRoom,
340
341
  nights,
341
- showAllOffers,
342
- showIncluded,
343
342
  taxesType: dataSource.taxesType,
344
343
  cart: cart[room || 0],
345
344
  onMoreInfo: () => setItemInfo(item),