@mirai/core 0.4.414 → 0.4.415

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 (90) hide show
  1. package/AGENTS.md +295 -0
  2. package/build/Core.provider.js +2 -6
  3. package/build/Core.provider.js.map +1 -1
  4. package/build/components/BannerLoyalty/BannerLoyalty.js +0 -16
  5. package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
  6. package/build/components/Booking/Booking.js +0 -5
  7. package/build/components/Booking/Booking.js.map +1 -1
  8. package/build/components/Chat/Chat.js +0 -4
  9. package/build/components/Chat/Chat.js.map +1 -1
  10. package/build/components/Checkout/Checkout.js +13 -53
  11. package/build/components/Checkout/Checkout.js.map +1 -1
  12. package/build/components/Checkout/helpers/getFieldProps.js +1 -10
  13. package/build/components/Checkout/helpers/getFieldProps.js.map +1 -1
  14. package/build/components/Checkout/partials/Checkout.Confirmation.js +4 -63
  15. package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
  16. package/build/components/Checkout/partials/Checkout.Form.js +0 -6
  17. package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
  18. package/build/components/Finder/Finder.js +1 -16
  19. package/build/components/Finder/Finder.js.map +1 -1
  20. package/build/components/Header/Header.js +0 -8
  21. package/build/components/Header/Header.js.map +1 -1
  22. package/build/components/Rates/Rates.Footer.js +0 -1
  23. package/build/components/Rates/Rates.Footer.js.map +1 -1
  24. package/build/components/Rates/Rates.RoomSelector.js +0 -4
  25. package/build/components/Rates/Rates.RoomSelector.js.map +1 -1
  26. package/build/components/Rates/Rates.Unavailability.js +0 -31
  27. package/build/components/Rates/Rates.Unavailability.js.map +1 -1
  28. package/build/components/Rates/Rates.js +13 -65
  29. package/build/components/Rates/Rates.js.map +1 -1
  30. package/build/components/Rates/components/CardHotel/CardHotel.js +1 -8
  31. package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
  32. package/build/components/Rates/components/Filters/Filters.js +0 -29
  33. package/build/components/Rates/components/Filters/Filters.js.map +1 -1
  34. package/build/components/Rates/components/Item/Item.Preview.js +0 -6
  35. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  36. package/build/components/Rates/components/Item/Item.js +2 -16
  37. package/build/components/Rates/components/Item/Item.js.map +1 -1
  38. package/build/components/Rates/components/Item/components/ModalCancellationInfo/ModalCancellationInfo.js +1 -8
  39. package/build/components/Rates/components/Item/components/ModalCancellationInfo/ModalCancellationInfo.js.map +1 -1
  40. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +0 -4
  41. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
  42. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js +0 -5
  43. package/build/components/Rates/components/Item/components/ModalOfferInfo/ModalOfferInfo.js.map +1 -1
  44. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js +1 -20
  45. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js.map +1 -1
  46. package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js +1 -7
  47. package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js.map +1 -1
  48. package/build/components/Rates/components/Item/components/Slider/Slider.js +1 -8
  49. package/build/components/Rates/components/Item/components/Slider/Slider.js.map +1 -1
  50. package/build/components/Rates/components/ModalClubRate/ModalClubRate.js +0 -11
  51. package/build/components/Rates/components/ModalClubRate/ModalClubRate.js.map +1 -1
  52. package/build/components/Rates/components/ModalExtras/Extras.js +0 -13
  53. package/build/components/Rates/components/ModalExtras/Extras.js.map +1 -1
  54. package/build/components/Rates/components/ModalExtras/ModalExtras.js +4 -21
  55. package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
  56. package/build/components/Rates/components/ModalMapView/ModalMapView.js +2 -9
  57. package/build/components/Rates/components/ModalMapView/ModalMapView.js.map +1 -1
  58. package/build/components/Rates/components/ModalTwin/ModalTwin.js +1 -28
  59. package/build/components/Rates/components/ModalTwin/ModalTwin.js.map +1 -1
  60. package/build/components/Rates/components/OTAPrices/OTAPrices.js +0 -21
  61. package/build/components/Rates/components/OTAPrices/OTAPrices.js.map +1 -1
  62. package/build/components/Rates/hooks/useRates.js +0 -37
  63. package/build/components/Rates/hooks/useRates.js.map +1 -1
  64. package/build/components/Session/Session.Login.Modal.js +0 -9
  65. package/build/components/Session/Session.Login.Modal.js.map +1 -1
  66. package/build/components/__shared__/BookingDetails/BookingDetails.js +0 -5
  67. package/build/components/__shared__/BookingDetails/BookingDetails.js.map +1 -1
  68. package/build/components/__shared__/BookingSummary/BookingSummary.js +0 -7
  69. package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
  70. package/build/components/__shared__/BookingTable/BookingTable.js +0 -11
  71. package/build/components/__shared__/BookingTable/BookingTable.js.map +1 -1
  72. package/build/components/__shared__/BookingTerms/BookingTerms.js +0 -17
  73. package/build/components/__shared__/BookingTerms/BookingTerms.js.map +1 -1
  74. package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js +1 -27
  75. package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js.map +1 -1
  76. package/build/components/__shared__/Payment/Payment.js +1 -18
  77. package/build/components/__shared__/Payment/Payment.js.map +1 -1
  78. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js +1 -7
  79. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js.map +1 -1
  80. package/build/components/helpers/getRatesUrl.js +4 -0
  81. package/build/components/helpers/getRatesUrl.js.map +1 -1
  82. package/build/contexts/PerformanceManager/PerformanceManager.js +16 -36
  83. package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
  84. package/build/index.js +6 -4
  85. package/build/index.js.map +1 -1
  86. package/package.json +1 -1
  87. package/build/services/AnnaService.js +0 -41
  88. package/build/services/AnnaService.js.map +0 -1
  89. package/build/services/index.js +0 -10
  90. package/build/services/index.js.map +0 -1
package/AGENTS.md ADDED
@@ -0,0 +1,295 @@
1
+ # AGENTS.md
2
+
3
+ ## Project Overview
4
+
5
+ @mirai/core is a React component library and provider system for hotel booking interfaces. It provides a complete suite of components for finding, booking, and managing hotel reservations including rates display, checkout flows, user sessions, and promotional deals. The library uses React hooks, CSS modules, and a centralized event system for component communication.
6
+
7
+ ## Architecture
8
+
9
+ ```
10
+ Core Provider → Event Manager → Components → Services → External APIs
11
+ ```
12
+
13
+ - Core provider wraps the application with shared context and configuration
14
+ - Event-driven architecture for component communication via EventManager
15
+ - Automatic performance monitoring and error tracking
16
+ - CSS modules for scoped styling with theming support
17
+ - PropTypes for runtime type checking
18
+
19
+ ## Build and Test Commands
20
+
21
+ ### Quick Start
22
+ ```bash
23
+ # Install dependencies
24
+ yarn install
25
+
26
+ # Start development environment
27
+ yarn start
28
+
29
+ # Run unit tests (Jest)
30
+ yarn test
31
+
32
+ # Run E2E tests (Playwright)
33
+ yarn test:e2e
34
+
35
+ # Build for production
36
+ yarn build:npm
37
+ ```
38
+
39
+ ### Development Commands
40
+
41
+ #### Testing
42
+ ```bash
43
+ yarn test # All unit tests with Jest
44
+ yarn test:watch # Watch mode for unit tests
45
+ yarn test:e2e # Playwright E2E tests with UI
46
+ yarn pipeline # Lint + test (CI pipeline)
47
+ ```
48
+
49
+ #### Linting & Validation
50
+ ```bash
51
+ yarn lint # ESLint check (MUST pass before commit)
52
+ yarn lint:fix # Auto-fix linting issues
53
+ ```
54
+
55
+ ## Code Style Guidelines
56
+
57
+ ### CRITICAL: No Comments Policy
58
+ **ABSOLUTE RULE**: This codebase uses @mirai/eslint which FORBIDS all comments. Write self-documenting code only.
59
+
60
+ ```javascript
61
+ // ❌ FORBIDDEN - Will fail ESLint
62
+ // This component renders booking rates
63
+
64
+ // ✅ REQUIRED - Self-documenting code
65
+ const BookingRatesDisplay = ({ rates, onRateSelect }) => {
66
+ return renderRateOptions({ rates, onRateSelect });
67
+ };
68
+ ```
69
+
70
+ ### Import Order
71
+ 1. External packages (npm dependencies)
72
+ 2. @mirai scoped packages
73
+ 3. Relative imports (../components, ../helpers)
74
+ 4. Local imports (./utils, ./constants)
75
+
76
+ Each group separated by newline and alphabetically sorted:
77
+
78
+ ```javascript
79
+ import React, { useState, useEffect } from 'react';
80
+ import PropTypes from 'prop-types';
81
+
82
+ import { Event } from '@mirai/event-manager';
83
+
84
+ import { fetchConfig } from '../helpers';
85
+
86
+ import { BOOKING_STATES } from './booking.constants';
87
+ ```
88
+
89
+ ### Component Standards
90
+ - **Functional Components**: Always use React hooks over class components
91
+ - **PropTypes**: Required for all props with detailed shape definitions
92
+ - **CSS Modules**: Use `.module.css` files for component-specific styles
93
+ - **Event Communication**: Use Event.publish/subscribe for component communication
94
+ - **Error Boundaries**: Wrap components that might fail in Core.Error
95
+ - **Performance**: Use React.memo for expensive components
96
+
97
+ ### File Naming Conventions
98
+ - Components: PascalCase directories with index files (`Finder/index.jsx`)
99
+ - Styles: `{Component}.module.css`
100
+ - Constants: `{component}.constants.js`
101
+ - Tests: `{Component}.test.jsx` (unit), `{component}.spec.js` (E2E)
102
+ - Workflows: `{action}.workflow.js` (Playwright helpers)
103
+
104
+ ### Formatting
105
+ - Prettier: 2 spaces, single quotes, trailing commas, 120 char width
106
+ - Destructure props and imports
107
+ - Early returns for validation
108
+ - Template literals over string concatenation
109
+
110
+ ## Testing Instructions
111
+
112
+ ### Unit Tests (Jest + React Testing Library)
113
+ - **Location**: `src/**/__tests__/*.test.jsx`
114
+ - **Dependencies**: Mock external services and APIs
115
+ - **Run**: `yarn test`
116
+ - **Coverage**: Maintain 80%+ coverage
117
+ - **Environment**: Uses test-specific mocks in `__mocks__/`
118
+
119
+ ### E2E Tests (Playwright)
120
+ - **Location**: `__tests__/*.spec.js`
121
+ - **Dependencies**: Full browser automation with real interactions
122
+ - **Run**: `yarn test:e2e`
123
+ - **Screenshots**: Automatic screenshot comparison in `__screenshots__/`
124
+ - **Workflows**: Reusable test helpers in `workflows/` directories
125
+
126
+ ### Test File Structure
127
+ ```
128
+ {Component}.test.jsx # Unit tests with RTL
129
+ {feature}.spec.js # E2E tests with Playwright
130
+ {feature}.workflow.js # Reusable E2E workflows
131
+ ```
132
+
133
+ ## Component Architecture
134
+
135
+ ### Core Provider System
136
+ The Core component wraps the entire application and provides:
137
+ - Global error handling via Core.Error
138
+ - Event management via EventManager context
139
+ - Performance monitoring via PerformanceManager
140
+ - Notification system via Core.Notifications
141
+ - Theme and locale configuration
142
+
143
+ ### Event-Driven Communication
144
+ ```javascript
145
+ // Publishing events
146
+ Event.publish('booking:rateSelected', { rateId, price });
147
+
148
+ // Subscribing to events
149
+ useEffect(() => {
150
+ const unsubscribe = Event.subscribe('booking:rateSelected', handleRateSelection);
151
+ return unsubscribe;
152
+ }, []);
153
+ ```
154
+
155
+ ### CSS Module Patterns
156
+ ```css
157
+ /* Component.module.css */
158
+ .container {
159
+ /* Base styles */
160
+ }
161
+
162
+ .container--loading {
163
+ /* Modifier styles using BEM-like naming */
164
+ }
165
+
166
+ .button {
167
+ /* Component-specific button styles */
168
+ }
169
+ ```
170
+
171
+ ## Security Considerations
172
+
173
+ - **Input Sanitization**: All user inputs sanitized before API calls
174
+ - **XSS Prevention**: Use dangerouslySetInnerHTML sparingly with sanitization
175
+ - **API Security**: Never expose API keys in client code
176
+ - **Session Management**: Secure cookie handling for user sessions
177
+ - **HTTPS Only**: All external API calls over HTTPS
178
+ - **Content Security Policy**: Strict CSP headers in production
179
+
180
+ ## Environment Configuration
181
+
182
+ ### Required Environment Variables
183
+ ```bash
184
+ NODE_ENV=development|production|test
185
+ REACT_APP_API_BASE_URL=https://api.example.com
186
+ REACT_APP_SENTRY_DSN=xxxxx # Error tracking
187
+ ```
188
+
189
+ ### Optional Configuration
190
+ ```bash
191
+ REACT_APP_PERFORMANCE_MONITORING=true # Enable performance tracking
192
+ REACT_APP_DEBUG_EVENTS=true # Log event communications
193
+ ```
194
+
195
+ Never commit `.env` files to repository.
196
+
197
+ ## Performance Guidelines
198
+
199
+ - **Bundle Size**: Keep individual components under 50KB
200
+ - **Lazy Loading**: Use React.lazy for route-level components
201
+ - **Memoization**: Implement React.memo for expensive renders
202
+ - **Event Cleanup**: Always unsubscribe from events in useEffect cleanup
203
+ - **Image Optimization**: Use appropriate formats and lazy loading
204
+ - **CSS**: Minimize unused styles, prefer CSS modules over global styles
205
+
206
+ ## Debugging
207
+
208
+ ### Common Issues
209
+
210
+ **Component Not Rendering:**
211
+ ```bash
212
+ # Check event subscriptions
213
+ REACT_APP_DEBUG_EVENTS=true yarn start
214
+
215
+ # Verify CSS modules import
216
+ import styles from './Component.module.css';
217
+ ```
218
+
219
+ **E2E Tests Failing:**
220
+ ```bash
221
+ # Run with UI for debugging
222
+ yarn test:e2e --ui
223
+
224
+ # Generate new screenshots
225
+ yarn test:e2e --update-snapshots
226
+ ```
227
+
228
+ **Build Issues:**
229
+ ```bash
230
+ # Clear cache and reinstall
231
+ rm -rf node_modules yarn.lock
232
+ yarn install
233
+
234
+ # Check for circular dependencies
235
+ yarn build:npm --verbose
236
+ ```
237
+
238
+ ## Project Structure
239
+
240
+ ```
241
+ src/
242
+ ├── Core.jsx # Main provider component
243
+ ├── Core.provider.jsx # Context providers
244
+ ├── Core.Error.jsx # Error boundary
245
+ ├── Core.Notifications.jsx # Global notifications
246
+ ├── components/ # All React components
247
+ │ ├── __shared__/ # Shared utilities and components
248
+ │ ├── Booking/ # Booking flow components
249
+ │ ├── Checkout/ # Payment and confirmation
250
+ │ ├── Finder/ # Search and filtering
251
+ │ ├── Rates/ # Rate display and selection
252
+ │ └── Session/ # User authentication
253
+ ├── contexts/ # React contexts
254
+ │ ├── EventManager/ # Event system
255
+ │ └── PerformanceManager/ # Performance monitoring
256
+ ├── helpers/ # Utility functions
257
+ └── services/ # External API services
258
+
259
+ __tests__/ # E2E test suites
260
+ ├── workflows/ # Reusable test workflows
261
+ ├── __screenshots__/ # Visual regression tests
262
+ └── *.spec.js # Test specifications
263
+
264
+ public/ # Static demo pages
265
+ ├── e2e/ # E2E test fixtures
266
+ └── routes/ # Demo application routes
267
+ ```
268
+
269
+ ## Contributing
270
+
271
+ 1. **ESLint Compliance**: All code must pass `yarn lint` with zero warnings
272
+ 2. **Test Coverage**: Maintain 80%+ unit test coverage
273
+ 3. **Visual Testing**: Update E2E screenshots when UI changes
274
+ 4. **Performance**: Monitor bundle size impact
275
+ 5. **Documentation**: Update component PropTypes and this AGENTS.md
276
+ 6. **Conventional Commits**: Use semantic commit messages
277
+
278
+ ### Pull Request Flow
279
+ ```bash
280
+ # Before commit
281
+ yarn lint # Must pass
282
+ yarn test # Must pass
283
+ yarn pipeline # Full validation
284
+
285
+ # PR title format
286
+ [core] Feature: Add new booking component
287
+ [core] Fix: Resolve checkout validation error
288
+ [core] Docs: Update component documentation
289
+ ```
290
+
291
+ ### Release Process
292
+ - Semantic versioning (semver)
293
+ - Automated builds on tag creation
294
+ - NPM package distribution
295
+ - Changelog generation from commits
@@ -24,7 +24,6 @@ const CoreProvider = _ref => {
24
24
  hotel,
25
25
  id,
26
26
  locale,
27
- metrics,
28
27
  type,
29
28
  value = {}
30
29
  } = _ref;
@@ -53,11 +52,9 @@ const CoreProvider = _ref => {
53
52
  })();
54
53
  // eslint-disable-next-line react-hooks/exhaustive-deps
55
54
  }, []);
56
- return store ? /*#__PURE__*/_react.default.createElement(_dataSources.MetricsProvider, {
57
- token: metrics || process.env.METRICS
58
- }, /*#__PURE__*/_react.default.createElement(_dataSources.StoreProvider, {
55
+ return store ? /*#__PURE__*/_react.default.createElement(_dataSources.StoreProvider, {
59
56
  value: _objectSpread(_objectSpread({}, store), value)
60
- }, /*#__PURE__*/_react.default.createElement(_Core.Core, null, children))) : null;
57
+ }, /*#__PURE__*/_react.default.createElement(_Core.Core, null, children)) : null;
61
58
  };
62
59
  exports.CoreProvider = CoreProvider;
63
60
  CoreProvider.propTypes = {
@@ -66,7 +63,6 @@ CoreProvider.propTypes = {
66
63
  hotel: _propTypes.default.string,
67
64
  id: _propTypes.default.string,
68
65
  locale: _propTypes.default.string,
69
- metrics: _propTypes.default.string,
70
66
  type: _propTypes.default.oneOf(Object.values(_Core2.TYPE)),
71
67
  value: _propTypes.default.shape({})
72
68
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Core.provider.js","names":["_dataSources","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Core","_Core2","_helpers","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","CoreProvider","_ref","children","currency","hotel","id","locale","metrics","type","store","setStore","useState","useLayoutEffect","urlParams","fetchUrlParams","location","search","cookies","fetchCookies","values","COOKIE","instance","config","fetchConfig","session","fetchSession","checkSession","undefined","consolidateStore","createElement","MetricsProvider","token","process","env","METRICS","StoreProvider","Core","exports","propTypes","PropTypes","node","isRequired","string","oneOf","TYPE","shape"],"sources":["../src/Core.provider.jsx"],"sourcesContent":["import { MetricsProvider, StoreProvider } from '@mirai/data-sources';\nimport PropTypes from 'prop-types';\nimport React, { useLayoutEffect, useState } from 'react';\n\nimport { Core } from './Core';\nimport { COOKIE, TYPE } from './Core.constants';\nimport { checkSession, consolidateStore, fetchConfig, fetchCookies, fetchSession, fetchUrlParams } from './helpers';\n\nconst CoreProvider = ({ children, currency, hotel, id, locale, metrics, type, value = {} }) => {\n const [store, setStore] = useState();\n\n useLayoutEffect(() => {\n (async () => {\n const urlParams = fetchUrlParams(location.search);\n const cookies = fetchCookies(Object.values(COOKIE));\n const instance = { currency, id, type, locale, hotel };\n const config = id ? await fetchConfig(instance) : {};\n\n let session = fetchSession(urlParams);\n if (session && id && !(await checkSession(id, config))) session = undefined;\n\n setStore(await consolidateStore({ config, cookies, instance, session, urlParams }));\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return store ? (\n <MetricsProvider token={metrics || process.env.METRICS}>\n <StoreProvider value={{ ...store, ...value }}>\n <Core>{children}</Core>\n </StoreProvider>\n </MetricsProvider>\n ) : null;\n};\n\nCoreProvider.propTypes = {\n children: PropTypes.node.isRequired,\n currency: PropTypes.string,\n hotel: PropTypes.string,\n id: PropTypes.string,\n locale: PropTypes.string,\n metrics: PropTypes.string,\n type: PropTypes.oneOf(Object.values(TYPE)),\n value: PropTypes.shape({}),\n};\n\nexport { CoreProvider };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Core.provider.js","names":["_dataSources","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Core","_Core2","_helpers","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","CoreProvider","_ref","children","currency","hotel","id","locale","type","store","setStore","useState","useLayoutEffect","urlParams","fetchUrlParams","location","search","cookies","fetchCookies","values","COOKIE","instance","config","fetchConfig","session","fetchSession","checkSession","undefined","consolidateStore","createElement","StoreProvider","Core","exports","propTypes","PropTypes","node","isRequired","string","oneOf","TYPE","shape"],"sources":["../src/Core.provider.jsx"],"sourcesContent":["import { StoreProvider } from '@mirai/data-sources';\nimport PropTypes from 'prop-types';\nimport React, { useLayoutEffect, useState } from 'react';\n\nimport { Core } from './Core';\nimport { COOKIE, TYPE } from './Core.constants';\nimport { checkSession, consolidateStore, fetchConfig, fetchCookies, fetchSession, fetchUrlParams } from './helpers';\n\nconst CoreProvider = ({ children, currency, hotel, id, locale, type, value = {} }) => {\n const [store, setStore] = useState();\n\n useLayoutEffect(() => {\n (async () => {\n const urlParams = fetchUrlParams(location.search);\n const cookies = fetchCookies(Object.values(COOKIE));\n const instance = { currency, id, type, locale, hotel };\n const config = id ? await fetchConfig(instance) : {};\n\n let session = fetchSession(urlParams);\n if (session && id && !(await checkSession(id, config))) session = undefined;\n\n setStore(await consolidateStore({ config, cookies, instance, session, urlParams }));\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return store ? (\n <StoreProvider value={{ ...store, ...value }}>\n <Core>{children}</Core>\n </StoreProvider>\n ) : null;\n};\n\nCoreProvider.propTypes = {\n children: PropTypes.node.isRequired,\n currency: PropTypes.string,\n hotel: PropTypes.string,\n id: PropTypes.string,\n locale: PropTypes.string,\n type: PropTypes.oneOf(Object.values(TYPE)),\n value: PropTypes.shape({}),\n};\n\nexport { CoreProvider };\n"],"mappings":"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","ignoreList":[]}
@@ -65,12 +65,6 @@ const BannerLoyalty = _ref => {
65
65
  _dataSources.Event.subscribe(_helpers.EVENT.RATES_FILTER_CLUB, callback);
66
66
  return () => _dataSources.Event.unsubscribe(_helpers.EVENT.RATES_FILTER_CLUB, callback);
67
67
  }, []);
68
- (0, _react.useEffect)(() => {
69
- if (!session && title && benefits.length > 0) _dataSources.Event.publish(_helpers.EVENT.METRICS, {
70
- id: 'BANNER_LOYALTY:RENDER'
71
- });
72
- // eslint-disable-next-line react-hooks/exhaustive-deps
73
- }, [session]);
74
68
  (0, _react.useEffect)(() => {
75
69
  if (!place) return;
76
70
  const {
@@ -95,23 +89,13 @@ const BannerLoyalty = _ref => {
95
89
  // eslint-disable-next-line react-hooks/exhaustive-deps
96
90
  }, [place]);
97
91
  const handleExpanded = () => {
98
- if (!expanded) _dataSources.Event.publish(_helpers.EVENT.METRICS, {
99
- id: 'BANNER_LOYALTY:EXPAND_BENEFITS'
100
- });
101
92
  setExpanded(!expanded);
102
93
  };
103
94
  const handlePressBenefit = index => {
104
95
  setScrollIndex(index);
105
- _dataSources.Event.publish(_helpers.EVENT.METRICS, {
106
- id: 'BANNER_LOYALTY:BUTTON_BENEFITS'
107
- });
108
96
  };
109
97
  const handlePressFilter = value => {
110
98
  _dataSources.Event.publish(_helpers.EVENT.RATES_FILTER_CLUB, value);
111
- _dataSources.Event.publish(_helpers.EVENT.METRICS, {
112
- id: 'BANNER_LOYALTY:CLUBDISCOUNT',
113
- value
114
- });
115
99
  };
116
100
  const Filter = () => /*#__PURE__*/_react.default.createElement(_ui.View, {
117
101
  row: true,
@@ -1 +1 @@
1
- {"version":3,"file":"BannerLoyalty.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BannerLoyalty","_BannerLoyalty2","style","_BannerLoyalty3","_helpers","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_extends","assign","bind","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","BannerLoyalty","_ref","_club$banner","_itemRef$current","clubConditions","others","isDesktop","isMobile","useDevice","locale","stateLocale","translate","useLocale","_useStore","useStore","club","variants","finder","place","session","skeleton","benefits","setBenefits","useState","banner","clubActive","setClubActive","active","clubDiscount","setClubDiscount","discount","expanded","setExpanded","scrollIndex","setScrollIndex","itemRef","useRef","useEffect","callback","nextClubDiscount","undefined","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","title","publish","METRICS","id","hotelId","isHotel","nextBenefits","find","toString","handleExpanded","handlePressBenefit","index","handlePressFilter","Filter","createElement","View","row","className","Text","action","medium","L10N","LABEL_ONLY_MEMBERS","Switch","checked","name","onChange","description","url","buttonProps","secondary","squared","rounded","lastBenefit","getNormalizedLocale","testId","container","highlight","bold","brand","headline","level","DEFAULT_LOCALE","small","Fragment","Action","href","target","underline","textInline","ACTION_MORE_INFO","LABEL_CLUB_CONDITIONS","conditions","ACTION_CLUB_VIEW_CONDITIONS","Button","transparent","onPress","Icon","ICON","EXPAND_LESS","EXPAND_MORE","wide","LEFT","React","ScrollView","horizontal","scrollTo","current","offsetWidth","BENEFIT_MIN_WIDTH","list","map","icon","ref","key","accent","AMENITY","REPLAY","RIGHT","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, ScrollView, Switch, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { DEFAULT_LOCALE, BENEFIT_MIN_WIDTH } from './BannerLoyalty.constants';\nimport { L10N } from './BannerLoyalty.l10n';\nimport * as style from './BannerLoyalty.module.css';\nimport Skeleton from './BannerLoyalty.skeleton';\nimport { EVENT, getNormalizedLocale, ICON } from '../helpers';\n\nconst BannerLoyalty = ({ clubConditions, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { locale: stateLocale, translate } = useLocale();\n const {\n value: { club: { variants, ...club } = {}, finder: { place } = {}, session, skeleton = false },\n } = useStore();\n\n const [benefits, setBenefits] = useState(club?.banner?.benefits || []);\n const [clubActive, setClubActive] = useState(club.active);\n const [clubDiscount, setClubDiscount] = useState(club.discount);\n const [expanded, setExpanded] = useState(false);\n const [scrollIndex, setScrollIndex] = useState(0);\n\n const itemRef = useRef();\n\n useEffect(() => {\n const callback = (nextClubDiscount) =>\n setClubDiscount(typeof nextClubDiscount !== 'object' ? nextClubDiscount : undefined);\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n }, []);\n\n useEffect(() => {\n if (!session && title && benefits.length > 0) Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:RENDER' });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n useEffect(() => {\n if (!place) return;\n\n const { id: [hotelId] = [], isHotel } = place || {};\n\n if (hotelId && isHotel && variants) {\n const { active, banner: { benefits: nextBenefits } = {} } =\n variants.find(({ id = '' } = {}) => id.toString() === hotelId.toString()) || club || {};\n nextBenefits && setBenefits(nextBenefits);\n setClubActive(active);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n const handleExpanded = () => {\n if (!expanded) Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:EXPAND_BENEFITS' });\n setExpanded(!expanded);\n };\n\n const handlePressBenefit = (index) => {\n setScrollIndex(index);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:BUTTON_BENEFITS' });\n };\n\n const handlePressFilter = (value) => {\n Event.publish(EVENT.RATES_FILTER_CLUB, value);\n Event.publish(EVENT.METRICS, { id: 'BANNER_LOYALTY:CLUBDISCOUNT', value });\n };\n\n const Filter = () => (\n <View row className={style.filter}>\n <Text action medium>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n <Switch\n checked={clubDiscount}\n name={`switch`}\n onChange={handlePressFilter}\n aria-label={translate(L10N.LABEL_ONLY_MEMBERS)}\n />\n </View>\n );\n\n const { banner: { description = {}, title, url } = {} } = club || {};\n const buttonProps = { secondary: true, squared: true, rounded: true };\n const lastBenefit = scrollIndex === benefits.length - 4;\n const locale = getNormalizedLocale(stateLocale);\n\n return clubActive && skeleton && !session ? (\n <Skeleton />\n ) : clubActive && !session && title ? (\n <View testId={others.testId} className={[style.container, others.className]}>\n <View row className={style.highlight}>\n <View>\n <Text bold brand headline level={isDesktop ? 2 : 3} className={style.title}>\n {title[locale] || title[DEFAULT_LOCALE]}\n </Text>\n <Text action={isDesktop} small={!isDesktop}>\n {description[locale] || description[DEFAULT_LOCALE]}\n {url && (\n <>\n {' '}\n <Action bold href={url} target=\"_blank\" underline className={style.textInline}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n )}\n </Text>\n {clubConditions && (\n <Text action={isDesktop} small={!isDesktop}>\n {translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action href={clubConditions} target=\"_blank\" underline className={style.textInline}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })}\n </Text>\n )}\n </View>\n\n {isMobile ? (\n <Button small squared transparent onPress={handleExpanded}>\n <Icon value={expanded ? ICON.EXPAND_LESS : ICON.EXPAND_MORE} />\n </Button>\n ) : (\n clubDiscount !== undefined && <Filter />\n )}\n </View>\n\n {(!isMobile || expanded) && benefits.length > 0 && (\n <View row wide>\n {!isMobile && scrollIndex !== 0 && (\n <Button {...buttonProps} onPress={() => handlePressBenefit(scrollIndex - 1)}>\n <Icon value={ICON.LEFT} />\n </Button>\n )}\n\n {React.createElement(\n isMobile ? View : ScrollView,\n {\n ...(!isMobile\n ? {\n horizontal: !isMobile,\n scrollTo: scrollIndex * (itemRef?.current?.offsetWidth || BENEFIT_MIN_WIDTH),\n }\n : {}),\n className: style.list,\n },\n benefits.map(({ description = {}, icon } = {}, index) => (\n <View ref={index === 0 ? itemRef : undefined} row key={index}>\n <Icon accent headline level={!isDesktop ? 3 : 2} value={ICON[icon] || ICON.AMENITY} />\n <Text action={isDesktop} small={!isDesktop}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n )),\n )}\n\n {!isMobile && benefits.length > 4 && (\n <Button {...buttonProps} onPress={() => handlePressBenefit(lastBenefit ? 0 : scrollIndex + 1)}>\n <Icon value={lastBenefit ? ICON.REPLAY : ICON.RIGHT} />\n </Button>\n )}\n </View>\n )}\n\n {isMobile && clubDiscount !== undefined && <Filter />}\n </View>\n ) : null;\n};\n\nBannerLoyalty.displayName = 'Mirai:Core:BannerLoyalty';\n\nBannerLoyalty.propTypes = {\n clubConditions: PropTypes.string,\n};\n\nexport { BannerLoyalty };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BannerLoyalty.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_BannerLoyalty","_BannerLoyalty2","style","_BannerLoyalty3","_helpers","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_extends","assign","bind","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","BannerLoyalty","_ref","_club$banner","_itemRef$current","clubConditions","others","isDesktop","isMobile","useDevice","locale","stateLocale","translate","useLocale","_useStore","useStore","club","variants","finder","place","session","skeleton","benefits","setBenefits","useState","banner","clubActive","setClubActive","active","clubDiscount","setClubDiscount","discount","expanded","setExpanded","scrollIndex","setScrollIndex","itemRef","useRef","useEffect","callback","nextClubDiscount","undefined","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","id","hotelId","isHotel","nextBenefits","find","toString","handleExpanded","handlePressBenefit","index","handlePressFilter","publish","Filter","createElement","View","row","className","Text","action","medium","L10N","LABEL_ONLY_MEMBERS","Switch","checked","name","onChange","description","title","url","buttonProps","secondary","squared","rounded","lastBenefit","getNormalizedLocale","testId","container","highlight","bold","brand","headline","level","DEFAULT_LOCALE","small","Fragment","Action","href","target","underline","textInline","ACTION_MORE_INFO","LABEL_CLUB_CONDITIONS","conditions","ACTION_CLUB_VIEW_CONDITIONS","Button","transparent","onPress","Icon","ICON","EXPAND_LESS","EXPAND_MORE","wide","LEFT","React","ScrollView","horizontal","scrollTo","current","offsetWidth","BENEFIT_MIN_WIDTH","list","map","icon","ref","key","accent","AMENITY","REPLAY","RIGHT","exports","displayName","propTypes","PropTypes","string"],"sources":["../../../src/components/BannerLoyalty/BannerLoyalty.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, ScrollView, Switch, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { DEFAULT_LOCALE, BENEFIT_MIN_WIDTH } from './BannerLoyalty.constants';\nimport { L10N } from './BannerLoyalty.l10n';\nimport * as style from './BannerLoyalty.module.css';\nimport Skeleton from './BannerLoyalty.skeleton';\nimport { EVENT, getNormalizedLocale, ICON } from '../helpers';\n\nconst BannerLoyalty = ({ clubConditions, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { locale: stateLocale, translate } = useLocale();\n const {\n value: { club: { variants, ...club } = {}, finder: { place } = {}, session, skeleton = false },\n } = useStore();\n\n const [benefits, setBenefits] = useState(club?.banner?.benefits || []);\n const [clubActive, setClubActive] = useState(club.active);\n const [clubDiscount, setClubDiscount] = useState(club.discount);\n const [expanded, setExpanded] = useState(false);\n const [scrollIndex, setScrollIndex] = useState(0);\n\n const itemRef = useRef();\n\n useEffect(() => {\n const callback = (nextClubDiscount) =>\n setClubDiscount(typeof nextClubDiscount !== 'object' ? nextClubDiscount : undefined);\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n }, []);\n\n useEffect(() => {\n if (!place) return;\n\n const { id: [hotelId] = [], isHotel } = place || {};\n\n if (hotelId && isHotel && variants) {\n const { active, banner: { benefits: nextBenefits } = {} } =\n variants.find(({ id = '' } = {}) => id.toString() === hotelId.toString()) || club || {};\n nextBenefits && setBenefits(nextBenefits);\n setClubActive(active);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [place]);\n\n const handleExpanded = () => {\n setExpanded(!expanded);\n };\n\n const handlePressBenefit = (index) => {\n setScrollIndex(index);\n };\n\n const handlePressFilter = (value) => {\n Event.publish(EVENT.RATES_FILTER_CLUB, value);\n };\n\n const Filter = () => (\n <View row className={style.filter}>\n <Text action medium>\n {translate(L10N.LABEL_ONLY_MEMBERS)}\n </Text>\n <Switch\n checked={clubDiscount}\n name={`switch`}\n onChange={handlePressFilter}\n aria-label={translate(L10N.LABEL_ONLY_MEMBERS)}\n />\n </View>\n );\n\n const { banner: { description = {}, title, url } = {} } = club || {};\n const buttonProps = { secondary: true, squared: true, rounded: true };\n const lastBenefit = scrollIndex === benefits.length - 4;\n const locale = getNormalizedLocale(stateLocale);\n\n return clubActive && skeleton && !session ? (\n <Skeleton />\n ) : clubActive && !session && title ? (\n <View testId={others.testId} className={[style.container, others.className]}>\n <View row className={style.highlight}>\n <View>\n <Text bold brand headline level={isDesktop ? 2 : 3} className={style.title}>\n {title[locale] || title[DEFAULT_LOCALE]}\n </Text>\n <Text action={isDesktop} small={!isDesktop}>\n {description[locale] || description[DEFAULT_LOCALE]}\n {url && (\n <>\n {' '}\n <Action bold href={url} target=\"_blank\" underline className={style.textInline}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n )}\n </Text>\n {clubConditions && (\n <Text action={isDesktop} small={!isDesktop}>\n {translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action href={clubConditions} target=\"_blank\" underline className={style.textInline}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })}\n </Text>\n )}\n </View>\n\n {isMobile ? (\n <Button small squared transparent onPress={handleExpanded}>\n <Icon value={expanded ? ICON.EXPAND_LESS : ICON.EXPAND_MORE} />\n </Button>\n ) : (\n clubDiscount !== undefined && <Filter />\n )}\n </View>\n\n {(!isMobile || expanded) && benefits.length > 0 && (\n <View row wide>\n {!isMobile && scrollIndex !== 0 && (\n <Button {...buttonProps} onPress={() => handlePressBenefit(scrollIndex - 1)}>\n <Icon value={ICON.LEFT} />\n </Button>\n )}\n\n {React.createElement(\n isMobile ? View : ScrollView,\n {\n ...(!isMobile\n ? {\n horizontal: !isMobile,\n scrollTo: scrollIndex * (itemRef?.current?.offsetWidth || BENEFIT_MIN_WIDTH),\n }\n : {}),\n className: style.list,\n },\n benefits.map(({ description = {}, icon } = {}, index) => (\n <View ref={index === 0 ? itemRef : undefined} row key={index}>\n <Icon accent headline level={!isDesktop ? 3 : 2} value={ICON[icon] || ICON.AMENITY} />\n <Text action={isDesktop} small={!isDesktop}>\n {description[locale] || description[DEFAULT_LOCALE]}\n </Text>\n </View>\n )),\n )}\n\n {!isMobile && benefits.length > 4 && (\n <Button {...buttonProps} onPress={() => handlePressBenefit(lastBenefit ? 0 : scrollIndex + 1)}>\n <Icon value={lastBenefit ? ICON.REPLAY : ICON.RIGHT} />\n </Button>\n )}\n </View>\n )}\n\n {isMobile && clubDiscount !== undefined && <Filter />}\n </View>\n ) : null;\n};\n\nBannerLoyalty.displayName = 'Mirai:Core:BannerLoyalty';\n\nBannerLoyalty.propTypes = {\n clubConditions: PropTypes.string,\n};\n\nexport { BannerLoyalty };\n"],"mappings":"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","ignoreList":[]}
@@ -55,11 +55,6 @@ const Booking = _ref => {
55
55
  const [dataSource, setDataSource] = (0, _react.useState)();
56
56
  const [expanded, setExpanded] = (0, _react.useState)(false);
57
57
  const [responseError, setResponseError] = (0, _react.useState)();
58
- (0, _react.useEffect)(() => {
59
- _dataSources.Event.publish(_helpers.EVENT.METRICS, {
60
- id: 'BOOKING:RENDER'
61
- });
62
- }, []);
63
58
  (0, _react.useEffect)(() => {
64
59
  if (skeleton || !id || !token) return;
65
60
  (async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"Booking.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Booking","_Booking2","style","_Booking3","_interopRequireDefault","_components","_partials","_Booking4","_shared__","_Header","_helpers","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectDestructuringEmpty","_extends","assign","bind","Booking","_ref","others","isDesktop","isMobile","useDevice","locale","translate","useLocale","hotel","url","skeleton","urlParams","code","token","reservationCode","id","hasToTracking","tracking","useStore","action","setAction","useState","dataSource","setDataSource","expanded","setExpanded","responseError","setResponseError","useEffect","Event","publish","EVENT","METRICS","ServiceBooking","catch","error","event","state","STATE","CANCELLED","BOOKING_CANCEL","BOOKING_RESPONSE","response","handleMenuPress","ACTION","PRINT","setTimeout","window","print","handleBackHome","payload","location","href","hotelUrl","origin","payment","undefined","isCancelled","createElement","Fragment","Header","View","role","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","POS_ERROR","Notification","info","COMPLETED","success","CONFIRMED","warning","POSTPONED","wide","L10N","NOTIFICATION","Hotelverse","BookingPayment","onError","BookingSummary","box","showBasePrice","Information","BookingDetails","BookingTerms","small","side","noPrint","Menu","onPress","Modal","onChange","_ref2","onClose","large","NOTIFICATION_ERROR","ERROR","GENERIC","Action","paragraph","underline","ACTION_BACK_HOME","Footer","exports","displayName","propTypes"],"sources":["../../../src/components/Booking/Booking.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { ACTION, ERROR, STATE } from './Booking.constants';\nimport { L10N } from './Booking.l10n';\nimport * as style from './Booking.module.css';\nimport Skeleton from './Booking.skeleton';\nimport { Hotelverse } from './components';\nimport { Information, Menu, Modal } from './partials';\nimport { BookingPayment } from './partials/Booking.Payment';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer } from '../__shared__';\nimport { Header } from '../Header';\nimport { EVENT } from '../helpers';\n\nconst Booking = ({ ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { locale, translate } = useLocale();\n const {\n value: {\n hotel: { url } = {},\n skeleton = false,\n urlParams: { code: token, reservationCode: id, hasToTracking: tracking } = {},\n },\n } = useStore();\n\n const [action, setAction] = useState();\n const [dataSource, setDataSource] = useState();\n const [expanded, setExpanded] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n Event.publish(EVENT.METRICS, { id: 'BOOKING:RENDER' });\n }, []);\n\n useEffect(() => {\n if (skeleton || !id || !token) return;\n\n (async () => {\n setDataSource(\n await ServiceBooking.get({ id, locale, token, tracking, url }).catch((error) => setResponseError(error)),\n );\n setAction();\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id, locale]);\n\n useEffect(() => {\n if (!dataSource || !dataSource.tracking) return;\n\n const event = dataSource.state === STATE.CANCELLED ? EVENT.BOOKING_CANCEL : EVENT.BOOKING_RESPONSE;\n Event.publish(event, { event, response: { ...dataSource } });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource?.state]);\n\n const handleMenuPress = (action) => {\n if (action === ACTION.PRINT) {\n setExpanded(true);\n setTimeout(window.print, 10);\n } else {\n setAction(action);\n }\n };\n\n const handleBackHome = () => {\n const { payload } = responseError;\n\n window.location.href = payload?.hotelUrl || window.location.origin;\n };\n\n const { payment, state } = dataSource || {};\n const response = dataSource !== undefined;\n const isCancelled = state === STATE.CANCELLED;\n\n return (\n <>\n <Header />\n\n <View role=\"booking\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <View row={isDesktop} className={style.content}>\n <View>\n {state !== STATE.POS_ERROR && (\n <Notification\n error={isCancelled}\n info={state === STATE.COMPLETED}\n success={state === STATE.CONFIRMED}\n warning={state === STATE.POSTPONED}\n wide\n >\n {translate(L10N.NOTIFICATION[state])}\n <Hotelverse {...dataSource} />\n </Notification>\n )}\n\n {payment && !isCancelled && <BookingPayment {...{ dataSource, onError: setResponseError }} />}\n\n <BookingSummary\n box={!isDesktop}\n dataSource={{ ...dataSource, showBasePrice: true }}\n className={styles(isDesktop && style.print)}\n />\n\n <Information dataSource={dataSource} />\n <BookingDetails {...{ dataSource, expanded }} expanded={isMobile} className={style.box} />\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <View className={style.side}>\n {isDesktop && (\n <BookingSummary box dataSource={{ ...dataSource, showBasePrice: true }} className={style.noPrint} />\n )}\n\n <Menu dataSource={dataSource} onPress={handleMenuPress} />\n </View>\n </View>\n\n <Modal\n {...{ action, dataSource: { ...dataSource, token } }}\n onChange={({ response: { tracking } = {}, state }) =>\n state && setDataSource({ ...dataSource, tracking, state })\n }\n onClose={() => setAction()}\n />\n </>\n ) : responseError ? (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code] || L10N.NOTIFICATION_ERROR[ERROR.GENERIC])}\n <Action paragraph underline wide onPress={handleBackHome}>\n {translate(L10N.ACTION_BACK_HOME)}\n </Action>\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n\n <Footer />\n </>\n );\n};\n\nBooking.displayName = 'Mirai:Core:Booking';\n\nBooking.propTypes = {};\n\nexport { Booking };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Booking.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Booking","_Booking2","style","_Booking3","_interopRequireDefault","_components","_partials","_Booking4","_shared__","_Header","_helpers","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectDestructuringEmpty","_extends","assign","bind","Booking","_ref","others","isDesktop","isMobile","useDevice","locale","translate","useLocale","hotel","url","skeleton","urlParams","code","token","reservationCode","id","hasToTracking","tracking","useStore","action","setAction","useState","dataSource","setDataSource","expanded","setExpanded","responseError","setResponseError","useEffect","ServiceBooking","catch","error","event","state","STATE","CANCELLED","EVENT","BOOKING_CANCEL","BOOKING_RESPONSE","Event","publish","response","handleMenuPress","ACTION","PRINT","setTimeout","window","print","handleBackHome","payload","location","href","hotelUrl","origin","payment","undefined","isCancelled","createElement","Fragment","Header","View","role","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","POS_ERROR","Notification","info","COMPLETED","success","CONFIRMED","warning","POSTPONED","wide","L10N","NOTIFICATION","Hotelverse","BookingPayment","onError","BookingSummary","box","showBasePrice","Information","BookingDetails","BookingTerms","small","side","noPrint","Menu","onPress","Modal","onChange","_ref2","onClose","large","NOTIFICATION_ERROR","ERROR","GENERIC","Action","paragraph","underline","ACTION_BACK_HOME","Footer","exports","displayName","propTypes"],"sources":["../../../src/components/Booking/Booking.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { ACTION, ERROR, STATE } from './Booking.constants';\nimport { L10N } from './Booking.l10n';\nimport * as style from './Booking.module.css';\nimport Skeleton from './Booking.skeleton';\nimport { Hotelverse } from './components';\nimport { Information, Menu, Modal } from './partials';\nimport { BookingPayment } from './partials/Booking.Payment';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer } from '../__shared__';\nimport { Header } from '../Header';\nimport { EVENT } from '../helpers';\n\nconst Booking = ({ ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { locale, translate } = useLocale();\n const {\n value: {\n hotel: { url } = {},\n skeleton = false,\n urlParams: { code: token, reservationCode: id, hasToTracking: tracking } = {},\n },\n } = useStore();\n\n const [action, setAction] = useState();\n const [dataSource, setDataSource] = useState();\n const [expanded, setExpanded] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n if (skeleton || !id || !token) return;\n\n (async () => {\n setDataSource(\n await ServiceBooking.get({ id, locale, token, tracking, url }).catch((error) => setResponseError(error)),\n );\n setAction();\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id, locale]);\n\n useEffect(() => {\n if (!dataSource || !dataSource.tracking) return;\n\n const event = dataSource.state === STATE.CANCELLED ? EVENT.BOOKING_CANCEL : EVENT.BOOKING_RESPONSE;\n Event.publish(event, { event, response: { ...dataSource } });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource?.state]);\n\n const handleMenuPress = (action) => {\n if (action === ACTION.PRINT) {\n setExpanded(true);\n setTimeout(window.print, 10);\n } else {\n setAction(action);\n }\n };\n\n const handleBackHome = () => {\n const { payload } = responseError;\n\n window.location.href = payload?.hotelUrl || window.location.origin;\n };\n\n const { payment, state } = dataSource || {};\n const response = dataSource !== undefined;\n const isCancelled = state === STATE.CANCELLED;\n\n return (\n <>\n <Header />\n\n <View role=\"booking\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <View row={isDesktop} className={style.content}>\n <View>\n {state !== STATE.POS_ERROR && (\n <Notification\n error={isCancelled}\n info={state === STATE.COMPLETED}\n success={state === STATE.CONFIRMED}\n warning={state === STATE.POSTPONED}\n wide\n >\n {translate(L10N.NOTIFICATION[state])}\n <Hotelverse {...dataSource} />\n </Notification>\n )}\n\n {payment && !isCancelled && <BookingPayment {...{ dataSource, onError: setResponseError }} />}\n\n <BookingSummary\n box={!isDesktop}\n dataSource={{ ...dataSource, showBasePrice: true }}\n className={styles(isDesktop && style.print)}\n />\n\n <Information dataSource={dataSource} />\n <BookingDetails {...{ dataSource, expanded }} expanded={isMobile} className={style.box} />\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <View className={style.side}>\n {isDesktop && (\n <BookingSummary box dataSource={{ ...dataSource, showBasePrice: true }} className={style.noPrint} />\n )}\n\n <Menu dataSource={dataSource} onPress={handleMenuPress} />\n </View>\n </View>\n\n <Modal\n {...{ action, dataSource: { ...dataSource, token } }}\n onChange={({ response: { tracking } = {}, state }) =>\n state && setDataSource({ ...dataSource, tracking, state })\n }\n onClose={() => setAction()}\n />\n </>\n ) : responseError ? (\n <Notification error large className={style.error}>\n {translate(L10N.NOTIFICATION_ERROR[responseError.code] || L10N.NOTIFICATION_ERROR[ERROR.GENERIC])}\n <Action paragraph underline wide onPress={handleBackHome}>\n {translate(L10N.ACTION_BACK_HOME)}\n </Action>\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n\n <Footer />\n </>\n );\n};\n\nBooking.displayName = 'Mirai:Core:Booking';\n\nBooking.propTypes = {};\n\nexport { Booking };\n"],"mappings":"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","ignoreList":[]}
@@ -14,7 +14,6 @@ var _Chat2 = require("./Chat.l10n");
14
14
  var style = _interopRequireWildcard(require("./Chat.module.css"));
15
15
  var _components = require("./components");
16
16
  var _helpers = require("./helpers");
17
- var _helpers2 = require("../helpers");
18
17
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
19
18
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20
19
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -55,9 +54,6 @@ const Chat = _ref => {
55
54
  }, [skeleton]);
56
55
  (0, _react.useEffect)(() => {
57
56
  if (!visible) return;
58
- _dataSources.Event.publish(_helpers2.EVENT.METRICS, {
59
- id: 'CHAT:OPEN'
60
- });
61
57
  }, [visible]);
62
58
  const handleInput = function (input) {
63
59
  let shortcutMessage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;