@mirai/core 0.4.103 → 0.4.105

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 (65) hide show
  1. package/build/Core.js +3 -5
  2. package/build/Core.js.map +1 -1
  3. package/build/components/BannerLoyalty/BannerLoyalty.js +3 -4
  4. package/build/components/BannerLoyalty/BannerLoyalty.js.map +1 -1
  5. package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js +28 -28
  6. package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js.map +1 -1
  7. package/build/components/Booking/Booking.js +3 -6
  8. package/build/components/Booking/Booking.js.map +1 -1
  9. package/build/components/Booking/Booking.skeleton.js +219 -27
  10. package/build/components/Booking/Booking.skeleton.js.map +1 -1
  11. package/build/components/Chat/Chat.js +2 -3
  12. package/build/components/Chat/Chat.js.map +1 -1
  13. package/build/components/Checkout/Checkout.js +3 -6
  14. package/build/components/Checkout/Checkout.js.map +1 -1
  15. package/build/components/Checkout/Checkout.skeleton.js +175 -25
  16. package/build/components/Checkout/Checkout.skeleton.js.map +1 -1
  17. package/build/components/Deals/Deals.js +17 -6
  18. package/build/components/Deals/Deals.js.map +1 -1
  19. package/build/components/Deals/Deals.skeleton.js +7 -7
  20. package/build/components/Deals/Deals.skeleton.js.map +1 -1
  21. package/build/components/Finder/Finder.compact.js +30 -13
  22. package/build/components/Finder/Finder.compact.js.map +1 -1
  23. package/build/components/Finder/Finder.js +18 -11
  24. package/build/components/Finder/Finder.js.map +1 -1
  25. package/build/components/Finder/Finder.l10n.js +4 -3
  26. package/build/components/Finder/Finder.l10n.js.map +1 -1
  27. package/build/components/Finder/Finder.module.css +7 -2
  28. package/build/components/Finder/components/Calendar/Calendar.js +4 -3
  29. package/build/components/Finder/components/Calendar/Calendar.js.map +1 -1
  30. package/build/components/Header/Header.js +8 -4
  31. package/build/components/Header/Header.js.map +1 -1
  32. package/build/components/Header/components/BookingProcess/BookingProcess.js +4 -2
  33. package/build/components/Header/components/BookingProcess/BookingProcess.js.map +1 -1
  34. package/build/components/Header/components/BookingProcess/BookingProcess.skeleton.js +52 -0
  35. package/build/components/Header/components/BookingProcess/BookingProcess.skeleton.js.map +1 -0
  36. package/build/components/Profile/components/Settings/Settings.Password.js +2 -6
  37. package/build/components/Profile/components/Settings/Settings.Password.js.map +1 -1
  38. package/build/components/Rates/Rates.Skeleton.js +92 -77
  39. package/build/components/Rates/Rates.Skeleton.js.map +1 -1
  40. package/build/components/Rates/Rates.js +3 -3
  41. package/build/components/Rates/Rates.js.map +1 -1
  42. package/build/components/Rates/components/Filters/Filters.Button.js +13 -1
  43. package/build/components/Rates/components/Filters/Filters.Button.js.map +1 -1
  44. package/build/components/Session/Session.Login.js +3 -4
  45. package/build/components/Session/Session.Login.js.map +1 -1
  46. package/build/components/__shared__/BookingDates/BookingDates.l10n.js +2 -2
  47. package/build/components/__shared__/BookingDates/BookingDates.l10n.js.map +1 -1
  48. package/build/components/__shared__/Field/Field.js +25 -7
  49. package/build/components/__shared__/Field/Field.js.map +1 -1
  50. package/build/components/__shared__/Field/Field.module.css +4 -0
  51. package/build/components/__shared__/Footer/Footer.js +7 -2
  52. package/build/components/__shared__/Footer/Footer.js.map +1 -1
  53. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js +11 -5
  54. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.js.map +1 -1
  55. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.module.css +4 -0
  56. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.skeleton.js +30 -0
  57. package/build/components/__shared__/SelectEnvironment/SelectEnvironment.skeleton.js.map +1 -0
  58. package/build/components/__shared__/Skeleton/Skeleton.js +18 -6
  59. package/build/components/__shared__/Skeleton/Skeleton.js.map +1 -1
  60. package/build/components/__shared__/Skeleton/Skeleton.module.css +36 -19
  61. package/build/components/helpers/getAccommodationLabel.js +1 -1
  62. package/build/components/helpers/getAccommodationLabel.js.map +1 -1
  63. package/build/index.js +3 -2
  64. package/build/index.js.map +1 -1
  65. package/package.json +1 -1
@@ -9,13 +9,133 @@ var _react = _interopRequireDefault(require("react"));
9
9
  var _shared__ = require("../__shared__");
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
12
+ const SPACE = 'var(--mirai-ui-space-M)';
12
13
  var _default = () => {
13
14
  const {
14
- isDesktop
15
+ isDesktop,
16
+ isMobile
15
17
  } = (0, _ui.useDevice)();
16
- const props = {
17
- color: 'base'
18
+ const sectionProps = {
19
+ base: true,
20
+ style: {
21
+ gap: SPACE,
22
+ padding: SPACE
23
+ }
18
24
  };
25
+ const renderSummary = () => /*#__PURE__*/_react.default.createElement(_ui.View, {
26
+ style: {
27
+ flex: 1,
28
+ gap: SPACE,
29
+ maxWidth: 'calc(var(--mirai-ui-breakpoint-S) - var(--mirai-ui-space-M) * 4)'
30
+ }
31
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
32
+ base: true
33
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, sectionProps, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
34
+ headline: isDesktop,
35
+ words: 2
36
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, {
37
+ row: true
38
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, {
39
+ wide: true
40
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
41
+ action: isMobile,
42
+ words: 1
43
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
44
+ action: true,
45
+ words: 3
46
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
47
+ small: true,
48
+ words: 2
49
+ })), /*#__PURE__*/_react.default.createElement(_ui.View, {
50
+ wide: true
51
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
52
+ action: isMobile,
53
+ words: 1
54
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
55
+ action: true,
56
+ words: 3
57
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
58
+ small: true,
59
+ words: 2
60
+ }))), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
61
+ action: isMobile,
62
+ words: 2
63
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
64
+ action: true,
65
+ words: 4
66
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
67
+ small: true,
68
+ words: 2
69
+ })), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
70
+ action: isMobile,
71
+ words: 1
72
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
73
+ action: true,
74
+ words: 3
75
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
76
+ small: true,
77
+ words: 8
78
+ })), /*#__PURE__*/_react.default.createElement(_ui.View, {
79
+ row: true,
80
+ style: {
81
+ justifyContent: 'space-between'
82
+ }
83
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
84
+ small: true,
85
+ words: 2
86
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
87
+ small: true,
88
+ words: 2
89
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
90
+ small: true,
91
+ words: 2
92
+ }))), /*#__PURE__*/_react.default.createElement(_ui.View, {
93
+ style: {
94
+ backgroundColor: 'var(--mirai-ui-content-background)',
95
+ height: 'var(--mirai-ui-border-width)'
96
+ }
97
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, sectionProps, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
98
+ headline: isDesktop,
99
+ words: 2
100
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, {
101
+ style: {
102
+ gap: 'var(--mirai-ui-space-S)'
103
+ }
104
+ }, Array.from({
105
+ length: 4
106
+ }).map((_, index) => /*#__PURE__*/_react.default.createElement(_ui.View, {
107
+ key: index,
108
+ row: true,
109
+ style: {
110
+ justifyContent: 'space-between'
111
+ }
112
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
113
+ action: index < 3,
114
+ words: 2
115
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
116
+ action: index < 3,
117
+ words: 1
118
+ })))), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
119
+ small: true,
120
+ words: 10
121
+ }))), isDesktop && /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
122
+ base: true
123
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
124
+ button: true,
125
+ large: true,
126
+ wide: true,
127
+ words: 1
128
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
129
+ button: true,
130
+ large: true,
131
+ wide: true,
132
+ words: 2
133
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
134
+ button: true,
135
+ large: true,
136
+ wide: true,
137
+ words: 2
138
+ })));
19
139
  return /*#__PURE__*/_react.default.createElement(_ui.View, {
20
140
  wide: true,
21
141
  style: {
@@ -28,53 +148,125 @@ var _default = () => {
28
148
  style: {
29
149
  alignItems: 'start',
30
150
  alignSelf: 'center',
31
- gap: '1rem',
151
+ gap: SPACE,
32
152
  maxWidth: 'var(--mirai-ui-breakpoint-content)'
33
153
  }
34
154
  }, /*#__PURE__*/_react.default.createElement(_ui.View, {
35
155
  style: {
36
156
  flex: 1,
37
- gap: '1rem'
157
+ gap: SPACE
38
158
  }
39
- }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({}, props, {
159
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({}, sectionProps, {
160
+ row: true
161
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
162
+ icon: true
163
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
164
+ action: true,
165
+ words: 12
166
+ })), !isDesktop && renderSummary(), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, sectionProps, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
167
+ headline: isDesktop,
168
+ words: 2
169
+ }), Array.from({
170
+ length: 6
171
+ }).map((_, index) => /*#__PURE__*/_react.default.createElement(_ui.View, {
172
+ key: index,
173
+ row: !isMobile
174
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, {
40
175
  style: {
41
- height: '3rem'
176
+ minWidth: '10vw'
42
177
  }
43
- })), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({}, props, {
178
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
179
+ words: 1
180
+ })), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
181
+ words: 2
182
+ })))), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, sectionProps, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
183
+ headline: isDesktop,
184
+ words: 2
185
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, {
186
+ row: true,
44
187
  style: {
45
- height: '7rem'
188
+ gap: SPACE
46
189
  }
47
- })), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({}, props, {
190
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
48
191
  style: {
49
- height: '12rem'
192
+ height: 'var(--mirai-ui-space-XXL)',
193
+ width: 'var(--mirai-ui-space-XXL)'
50
194
  }
51
- })), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({}, props, {
195
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
196
+ words: 2
197
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
198
+ action: true,
199
+ words: 2
200
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
201
+ small: true,
202
+ words: 5
203
+ }))), /*#__PURE__*/_react.default.createElement(_ui.View, null, Array.from({
204
+ length: 2
205
+ }).map((_, index) => /*#__PURE__*/_react.default.createElement(_ui.View, {
206
+ key: index,
207
+ row: true,
52
208
  style: {
53
- height: '10rem'
209
+ borderBottom: 'solid var(--mirai-ui-border-width) var(--mirai-ui-content-background)',
210
+ padding: "".concat(SPACE, " 0")
54
211
  }
55
- })), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({}, props, {
212
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, {
56
213
  style: {
57
- height: '28rem'
214
+ width: '40%'
58
215
  }
59
- })), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({}, props, {
216
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
217
+ action: true,
218
+ words: 4
219
+ })), /*#__PURE__*/_react.default.createElement(_ui.View, {
60
220
  style: {
61
- height: '28rem'
221
+ width: '30%'
62
222
  }
63
- }))), isDesktop && /*#__PURE__*/_react.default.createElement(_ui.View, {
223
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
224
+ action: true,
225
+ words: 2
226
+ })), /*#__PURE__*/_react.default.createElement(_ui.View, {
64
227
  style: {
65
228
  flex: 1,
66
- gap: '1rem',
67
- maxWidth: 'calc(var(--mirai-ui-breakpoint-S) - var(--mirai-ui-space-M) * 2)'
229
+ alignItems: 'flex-end'
68
230
  }
69
- }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({}, props, {
70
- style: {
71
- height: '16rem'
72
- }
73
- })), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, _extends({}, props, {
231
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
232
+ action: true,
233
+ words: 1
234
+ }))))), /*#__PURE__*/_react.default.createElement(_ui.View, {
235
+ row: true,
74
236
  style: {
75
- height: '8rem'
237
+ justifyContent: 'center',
238
+ gap: SPACE
76
239
  }
77
- })))));
240
+ }, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
241
+ icon: true
242
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
243
+ action: true,
244
+ words: 2
245
+ }))), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, sectionProps, /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
246
+ small: true,
247
+ words: 6
248
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
249
+ small: true,
250
+ words: 24
251
+ })), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
252
+ small: true,
253
+ words: 2
254
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
255
+ small: true,
256
+ words: 32
257
+ })), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
258
+ small: true,
259
+ words: 2
260
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
261
+ small: true,
262
+ words: 8
263
+ })), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
264
+ small: true,
265
+ words: 2
266
+ }), /*#__PURE__*/_react.default.createElement(_shared__.Skeleton, {
267
+ small: true,
268
+ words: 6
269
+ })))), isDesktop && renderSummary()));
78
270
  };
79
271
  exports.default = _default;
80
272
  //# sourceMappingURL=Booking.skeleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Booking.skeleton.js","names":["_ui","require","_react","_interopRequireDefault","_shared__","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_default","isDesktop","useDevice","props","color","createElement","View","wide","style","alignItems","gap","row","alignSelf","maxWidth","flex","Skeleton","height","exports"],"sources":["../../../src/components/Booking/Booking.skeleton.jsx"],"sourcesContent":["import { useDevice } from '@mirai/ui';\nimport { View } from '@mirai/ui';\nimport React from 'react';\n\nimport { Skeleton } from '../__shared__';\n\nexport default () => {\n const { isDesktop } = useDevice();\n\n const props = { color: 'base' };\n\n return (\n <View wide style={{ alignItems: 'center', gap: '2rem' }}>\n <View\n row\n wide\n style={{\n alignItems: 'start',\n alignSelf: 'center',\n gap: '1rem',\n maxWidth: 'var(--mirai-ui-breakpoint-content)',\n }}\n >\n <View style={{ flex: 1, gap: '1rem' }}>\n <Skeleton {...props} style={{ height: '3rem' }} />\n <Skeleton {...props} style={{ height: '7rem' }} />\n <Skeleton {...props} style={{ height: '12rem' }} />\n <Skeleton {...props} style={{ height: '10rem' }} />\n <Skeleton {...props} style={{ height: '28rem' }} />\n <Skeleton {...props} style={{ height: '28rem' }} />\n </View>\n\n {isDesktop && (\n <View\n style={{\n flex: 1,\n gap: '1rem',\n maxWidth: 'calc(var(--mirai-ui-breakpoint-S) - var(--mirai-ui-space-M) * 2)',\n }}\n >\n <Skeleton {...props} style={{ height: '16rem' }} />\n <Skeleton {...props} style={{ height: '8rem' }} />\n </View>\n )}\n </View>\n </View>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Booking.skeleton.js","names":["_ui","require","_react","_interopRequireDefault","_shared__","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","SPACE","_default","isDesktop","isMobile","useDevice","sectionProps","base","style","gap","padding","renderSummary","createElement","View","flex","maxWidth","Skeleton","headline","words","row","wide","action","small","justifyContent","backgroundColor","height","Array","from","map","_","index","button","large","alignItems","alignSelf","icon","minWidth","width","borderBottom","concat","exports"],"sources":["../../../src/components/Booking/Booking.skeleton.jsx"],"sourcesContent":["import { useDevice } from '@mirai/ui';\nimport { View } from '@mirai/ui';\nimport React from 'react';\n\nimport { Skeleton } from '../__shared__';\n\nconst SPACE = 'var(--mirai-ui-space-M)';\n\nexport default () => {\n const { isDesktop, isMobile } = useDevice();\n\n const sectionProps = { base: true, style: { gap: SPACE, padding: SPACE } };\n\n const renderSummary = () => (\n <View\n style={{\n flex: 1,\n gap: SPACE,\n maxWidth: 'calc(var(--mirai-ui-breakpoint-S) - var(--mirai-ui-space-M) * 4)',\n }}\n >\n <Skeleton base>\n <View {...sectionProps}>\n <Skeleton headline={isDesktop} words={2} />\n <View row>\n <View wide>\n <Skeleton action={isMobile} words={1} />\n <Skeleton action words={3} />\n <Skeleton small words={2} />\n </View>\n\n <View wide>\n <Skeleton action={isMobile} words={1} />\n <Skeleton action words={3} />\n <Skeleton small words={2} />\n </View>\n </View>\n\n <View>\n <Skeleton action={isMobile} words={2} />\n <Skeleton action words={4} />\n <Skeleton small words={2} />\n </View>\n\n <View>\n <Skeleton action={isMobile} words={1} />\n <Skeleton action words={3} />\n <Skeleton small words={8} />\n </View>\n\n <View row style={{ justifyContent: 'space-between' }}>\n <Skeleton small words={2} />\n <Skeleton small words={2} />\n <Skeleton small words={2} />\n </View>\n </View>\n\n <View\n style={{\n backgroundColor: 'var(--mirai-ui-content-background)',\n height: 'var(--mirai-ui-border-width)',\n }}\n />\n\n <View {...sectionProps}>\n <Skeleton headline={isDesktop} words={2} />\n <View style={{ gap: 'var(--mirai-ui-space-S)' }}>\n {Array.from({ length: 4 }).map((_, index) => (\n <View key={index} row style={{ justifyContent: 'space-between' }}>\n <Skeleton action={index < 3} words={2} />\n <Skeleton action={index < 3} words={1} />\n </View>\n ))}\n </View>\n <Skeleton small words={10} />\n </View>\n </Skeleton>\n\n {isDesktop && (\n <Skeleton base>\n <Skeleton button large wide words={1} />\n <Skeleton button large wide words={2} />\n <Skeleton button large wide words={2} />\n </Skeleton>\n )}\n </View>\n );\n\n return (\n <View wide style={{ alignItems: 'center', gap: '2rem' }}>\n <View\n row\n wide\n style={{ alignItems: 'start', alignSelf: 'center', gap: SPACE, maxWidth: 'var(--mirai-ui-breakpoint-content)' }}\n >\n <View style={{ flex: 1, gap: SPACE }}>\n <Skeleton {...sectionProps} row>\n <Skeleton icon />\n <Skeleton action words={12} />\n </Skeleton>\n\n {!isDesktop && renderSummary()}\n\n <Skeleton {...sectionProps}>\n <Skeleton headline={isDesktop} words={2} />\n {Array.from({ length: 6 }).map((_, index) => (\n <View key={index} row={!isMobile}>\n <View style={{ minWidth: '10vw' }}>\n <Skeleton words={1} />\n </View>\n <Skeleton words={2} />\n </View>\n ))}\n </Skeleton>\n\n <Skeleton {...sectionProps}>\n <Skeleton headline={isDesktop} words={2} />\n\n <View row style={{ gap: SPACE }}>\n <Skeleton style={{ height: 'var(--mirai-ui-space-XXL)', width: 'var(--mirai-ui-space-XXL)' }} />\n <View>\n <Skeleton words={2} />\n <Skeleton action words={2} />\n <Skeleton small words={5} />\n </View>\n </View>\n <View>\n {Array.from({ length: 2 }).map((_, index) => (\n <View\n key={index}\n row\n style={{\n borderBottom: 'solid var(--mirai-ui-border-width) var(--mirai-ui-content-background)',\n padding: `${SPACE} 0`,\n }}\n >\n <View style={{ width: '40%' }}>\n <Skeleton action words={4} />\n </View>\n <View style={{ width: '30%' }}>\n <Skeleton action words={2} />\n </View>\n <View style={{ flex: 1, alignItems: 'flex-end' }}>\n <Skeleton action words={1} />\n </View>\n </View>\n ))}\n </View>\n\n <View row style={{ justifyContent: 'center', gap: SPACE }}>\n <Skeleton icon />\n <Skeleton action words={2} />\n </View>\n </Skeleton>\n\n <Skeleton {...sectionProps}>\n <View>\n <Skeleton small words={6} />\n <Skeleton small words={24} />\n </View>\n\n <View>\n <Skeleton small words={2} />\n <Skeleton small words={32} />\n </View>\n\n <View>\n <Skeleton small words={2} />\n <Skeleton small words={8} />\n </View>\n\n <View>\n <Skeleton small words={2} />\n <Skeleton small words={6} />\n </View>\n </Skeleton>\n </View>\n\n {isDesktop && renderSummary()}\n </View>\n </View>\n );\n};\n"],"mappings":"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"}
@@ -23,7 +23,6 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
23
23
  let connectionInterval;
24
24
  const Chat = _ref => {
25
25
  let {
26
- skeleton,
27
26
  ...others
28
27
  } = _ref;
29
28
  const {
@@ -40,6 +39,7 @@ const Chat = _ref => {
40
39
  occupation,
41
40
  origin,
42
41
  session,
42
+ skeleton = false,
43
43
  tags,
44
44
  type
45
45
  }
@@ -220,7 +220,6 @@ const Chat = _ref => {
220
220
  exports.Chat = Chat;
221
221
  Chat.displayName = 'Mirai:Core:Chat';
222
222
  Chat.propTypes = {
223
- name: _propTypes.default.string,
224
- skeleton: _propTypes.default.bool
223
+ name: _propTypes.default.string
225
224
  };
226
225
  //# sourceMappingURL=Chat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.js","names":["_dataSources","require","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","_Chat3","style","_components","_helpers","_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","connectionInterval","Chat","_ref","skeleton","others","isMobile","useDevice","value","calendar","components","currency","hotel","locale","occupation","origin","session","tags","type","useStore","busy","setBusy","useState","messages","setMessages","online","setOnline","scrollTo","setScrollTo","visible","setVisible","useEffect","handleOnline","response","ServiceLisa","welcome","context","catch","handleError","addMessage","Date","getTime","clearInterval","setInterval","storeContext","filter","_ref2","intent","text","map","_ref3","finder","rates","next","status","handleInput","input","nextMessages","timestamp","setTimeout","message","audioNotification","DELAY_RESPONSE","handleAction","form","undefined","Event","publish","EVENT","LOGIN","action","lisa","auto","error","console","INTENT_LOCALE","createElement","Fragment","React","Modal","View","className","styles","container","Header","onClose","ScrollView","snap","index","Message","concat","disabled","onAction","Input","onValue","InputRich","ButtonAvatar","onPress","exports","displayName","propTypes","name","PropTypes","string","bool"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { ServiceLisa } from '@mirai/services';\nimport { Modal, ScrollView, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ButtonAvatar } from './Chat.ButtonAvatar';\nimport { DELAY_RESPONSE } from './Chat.constants';\nimport { Header } from './Chat.Header';\nimport * as style from './Chat.module.css';\nimport { Input, InputRich, Message } from './components';\nimport { audioNotification } from './helpers';\nimport { EVENT } from '../helpers';\n\nlet connectionInterval;\n\nconst Chat = ({ skeleton, ...others }) => {\n const { isMobile } = useDevice();\n const {\n set,\n value: { calendar, components, currency, hotel, locale, occupation, origin, session, tags, type },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [messages, setMessages] = useState([]);\n const [online, setOnline] = useState(false);\n const [scrollTo, setScrollTo] = useState();\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n if (!(await handleOnline())) return;\n const response = await ServiceLisa.welcome({ context: { hotel }, locale, session }).catch(handleError);\n if (response) addMessage(response, messages);\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n if (visible) setScrollTo(new Date().getTime());\n }, [busy, messages, visible]);\n\n useEffect(() => {\n // // ! TODO: It's just a demo\n // if (visible && !messages.length) handleInput('I would like to see all my reservations.');\n if (!visible) return clearInterval(connectionInterval);\n\n connectionInterval = setInterval(handleOnline, online ? 60000 : 10000);\n return () => clearInterval(connectionInterval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [online, visible]);\n\n const storeContext = {\n calendar,\n currency,\n hotel,\n messages: messages.filter(({ intent, text }) => !!intent || !!text).map(({ intent, text }) => ({ intent, text })),\n occupation,\n origin,\n tags,\n type,\n };\n\n const handleOnline = async () => {\n if (!(components.finder || components.rates)) return;\n\n let next = false;\n const response = await ServiceLisa.status().catch(() => setOnline(next));\n if (response && !online) {\n next = true;\n setOnline(next);\n }\n\n return next;\n };\n\n const handleInput = (input) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const response = await ServiceLisa.message({ context: storeContext, input, locale, session }).catch(handleError);\n if (response) {\n addMessage(response, nextMessages);\n audioNotification();\n }\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent } = {}) => {\n if (intent === 'ACTION_LOGIN') return Event.publish(EVENT.LOGIN, { visible: true });\n setBusy(true);\n\n setTimeout(async () => {\n const response = await ServiceLisa.action({\n context: { ...storeContext, ...context, form },\n intent,\n locale,\n session,\n }).catch(handleError);\n\n if (response) {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n audioNotification();\n }\n\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleError = (error) => {\n // eslint-disable-next-line no-console\n console.error('::handleError::', error);\n setOnline(false);\n };\n\n const addMessage = (response = {}, messages = []) => {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n };\n\n return !skeleton ? (\n <>\n {React.createElement(\n isMobile ? Modal : View,\n isMobile\n ? { ...others, visible, className: styles(style.container, others.className) }\n : {\n ...others,\n className: styles(style.container, visible && style.visible, others.className),\n 'aria-hidden': visible ? 'false' : 'true',\n },\n <>\n <Header {...{ online }} onClose={() => setVisible(false)} />\n\n <ScrollView scrollTo={scrollTo} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < messages.length - 1}\n onAction={handleAction}\n />\n ))}\n {busy && <Message auto busy />}\n </ScrollView>\n\n {online && (\n <>\n <Input disabled={busy} onValue={handleInput} />\n <InputRich onValue={handleAction} />\n </>\n )}\n </>,\n )}\n\n <ButtonAvatar message={messages[0]} visible={visible} onPress={() => setVisible(true)} />\n </>\n ) : null;\n};\n\nChat.displayName = 'Mirai:Core:Chat';\n\nChat.propTypes = {\n name: PropTypes.string,\n skeleton: PropTypes.bool,\n};\n\nexport { Chat };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Chat.js","names":["_dataSources","require","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Chat","_Chat2","_Chat3","style","_components","_helpers","_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","connectionInterval","Chat","_ref","others","isMobile","useDevice","value","calendar","components","currency","hotel","locale","occupation","origin","session","skeleton","tags","type","useStore","busy","setBusy","useState","messages","setMessages","online","setOnline","scrollTo","setScrollTo","visible","setVisible","useEffect","handleOnline","response","ServiceLisa","welcome","context","catch","handleError","addMessage","Date","getTime","clearInterval","setInterval","storeContext","filter","_ref2","intent","text","map","_ref3","finder","rates","next","status","handleInput","input","nextMessages","timestamp","setTimeout","message","audioNotification","DELAY_RESPONSE","handleAction","form","undefined","Event","publish","EVENT","LOGIN","action","lisa","auto","error","console","INTENT_LOCALE","createElement","Fragment","React","Modal","View","className","styles","container","Header","onClose","ScrollView","snap","index","Message","concat","disabled","onAction","Input","onValue","InputRich","ButtonAvatar","onPress","exports","displayName","propTypes","name","PropTypes","string"],"sources":["../../../src/components/Chat/Chat.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { ServiceLisa } from '@mirai/services';\nimport { Modal, ScrollView, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ButtonAvatar } from './Chat.ButtonAvatar';\nimport { DELAY_RESPONSE } from './Chat.constants';\nimport { Header } from './Chat.Header';\nimport * as style from './Chat.module.css';\nimport { Input, InputRich, Message } from './components';\nimport { audioNotification } from './helpers';\nimport { EVENT } from '../helpers';\n\nlet connectionInterval;\n\nconst Chat = ({ ...others }) => {\n const { isMobile } = useDevice();\n const {\n set,\n value: { calendar, components, currency, hotel, locale, occupation, origin, session, skeleton = false, tags, type },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [messages, setMessages] = useState([]);\n const [online, setOnline] = useState(false);\n const [scrollTo, setScrollTo] = useState();\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n if (!(await handleOnline())) return;\n const response = await ServiceLisa.welcome({ context: { hotel }, locale, session }).catch(handleError);\n if (response) addMessage(response, messages);\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [skeleton]);\n\n useEffect(() => {\n if (visible) setScrollTo(new Date().getTime());\n }, [busy, messages, visible]);\n\n useEffect(() => {\n // // ! TODO: It's just a demo\n // if (visible && !messages.length) handleInput('I would like to see all my reservations.');\n if (!visible) return clearInterval(connectionInterval);\n\n connectionInterval = setInterval(handleOnline, online ? 60000 : 10000);\n return () => clearInterval(connectionInterval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [online, visible]);\n\n const storeContext = {\n calendar,\n currency,\n hotel,\n messages: messages.filter(({ intent, text }) => !!intent || !!text).map(({ intent, text }) => ({ intent, text })),\n occupation,\n origin,\n tags,\n type,\n };\n\n const handleOnline = async () => {\n if (!(components.finder || components.rates)) return;\n\n let next = false;\n const response = await ServiceLisa.status().catch(() => setOnline(next));\n if (response && !online) {\n next = true;\n setOnline(next);\n }\n\n return next;\n };\n\n const handleInput = (input) => {\n const nextMessages = [...messages, { text: input, timestamp: new Date().getTime() }];\n setMessages(nextMessages);\n\n setTimeout(async () => {\n setBusy(true);\n const response = await ServiceLisa.message({ context: storeContext, input, locale, session }).catch(handleError);\n if (response) {\n addMessage(response, nextMessages);\n audioNotification();\n }\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleAction = ({ context, form, intent } = {}) => {\n if (intent === 'ACTION_LOGIN') return Event.publish(EVENT.LOGIN, { visible: true });\n setBusy(true);\n\n setTimeout(async () => {\n const response = await ServiceLisa.action({\n context: { ...storeContext, ...context, form },\n intent,\n locale,\n session,\n }).catch(handleError);\n\n if (response) {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n audioNotification();\n }\n\n setBusy(false);\n }, DELAY_RESPONSE);\n };\n\n const handleError = (error) => {\n // eslint-disable-next-line no-console\n console.error('::handleError::', error);\n setOnline(false);\n };\n\n const addMessage = (response = {}, messages = []) => {\n set({ lisa: response });\n setMessages([...messages, { auto: true, ...response }]);\n if (response.locale !== locale) Event.publish(EVENT.INTENT_LOCALE, { locale: response.locale });\n };\n\n return !skeleton ? (\n <>\n {React.createElement(\n isMobile ? Modal : View,\n isMobile\n ? { ...others, visible, className: styles(style.container, others.className) }\n : {\n ...others,\n className: styles(style.container, visible && style.visible, others.className),\n 'aria-hidden': visible ? 'false' : 'true',\n },\n <>\n <Header {...{ online }} onClose={() => setVisible(false)} />\n\n <ScrollView scrollTo={scrollTo} snap={false} className={style.messages}>\n {messages.map((message, index) => (\n <Message\n {...message}\n key={`message:${index}`}\n disabled={busy || index < messages.length - 1}\n onAction={handleAction}\n />\n ))}\n {busy && <Message auto busy />}\n </ScrollView>\n\n {online && (\n <>\n <Input disabled={busy} onValue={handleInput} />\n <InputRich onValue={handleAction} />\n </>\n )}\n </>,\n )}\n\n <ButtonAvatar message={messages[0]} visible={visible} onPress={() => setVisible(true)} />\n </>\n ) : null;\n};\n\nChat.displayName = 'Mirai:Core:Chat';\n\nChat.propTypes = {\n name: PropTypes.string,\n};\n\nexport { Chat };\n"],"mappings":"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"}
@@ -8,7 +8,6 @@ var _dataSources = require("@mirai/data-sources");
8
8
  var _locale = require("@mirai/locale");
9
9
  var _services = require("@mirai/services");
10
10
  var _ui = require("@mirai/ui");
11
- var _propTypes = _interopRequireDefault(require("prop-types"));
12
11
  var _react = _interopRequireWildcard(require("react"));
13
12
  var _Checkout = require("./Checkout.l10n");
14
13
  var style = _interopRequireWildcard(require("./Checkout.module.css"));
@@ -20,13 +19,12 @@ var _shared__ = require("../__shared__");
20
19
  var _Booking = require("../Booking/partials/Booking.ModalAgency");
21
20
  var _Header = require("../Header");
22
21
  var _helpers2 = require("../helpers");
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
23
  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); }
24
24
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
25
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
25
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
26
  const Checkout = _ref => {
28
27
  let {
29
- skeleton,
30
28
  ...others
31
29
  } = _ref;
32
30
  const {
@@ -43,6 +41,7 @@ const Checkout = _ref => {
43
41
  language,
44
42
  locale,
45
43
  session,
44
+ skeleton = false,
46
45
  urlParams: {
47
46
  posError: tpvError,
48
47
  ...urlParams
@@ -201,7 +200,5 @@ const Checkout = _ref => {
201
200
  };
202
201
  exports.Checkout = Checkout;
203
202
  Checkout.displayName = 'Mirai:Core:Checkout';
204
- Checkout.propTypes = {
205
- skeleton: _propTypes.default.bool
206
- };
203
+ Checkout.propTypes = {};
207
204
  //# sourceMappingURL=Checkout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","style","_Checkout2","_helpers","_partials","_Core","_shared__","_Booking","_Header","_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","Checkout","_ref","skeleton","others","isDesktop","isMobile","useDevice","translate","useLocale","value","currency","hotel","language","locale","session","urlParams","posError","tpvError","variant","useStore","busy","setBusy","useState","dataSource","setDataSource","dataSourceExtras","setDataSourceExtras","error","setError","selectedExtras","setSelectedExtras","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","useEffect","Event","publish","EVENT","METRICS","id","response","ServiceBooking","checkout","getParamsFromExtras","catch","CHECKOUT_RESPONSE","event","handleModalAgency","handleErrorConfirmation","window","scrollTo","top","behavior","handleScrollToExtras","agency","payment","undefined","hasRequiredFields","keys","createElement","Fragment","Header","View","role","tag","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","wide","main","NotificationRequiredFields","form","schema","values","name","Notification","small","info","concat","L10N","NOTIFICATION_NO_CARD","NOTIFICATION_AGENCY","link","Action","underline","onPress","action","ACTION_MORE_INFO","NOTIFICATION_UNKNOWN_POS_ERROR","notificationExtras","Text","bold","LABEL_ENHANCED_YOUR_STAY","LABEL_DISCOVER_EXTRAS","href","ACTION_VIEW_EXTRAS","BookingSummary","box","BookingDetails","expanded","Form","showErrors","onError","Extras","onChange","onDatasource","BookingTerms","Confirmation","onValid","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","Footer","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Notification, Progress, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { getParamsFromExtras } from './helpers';\nimport { Confirmation, Extras, Form } from './partials';\nimport { ERROR } from '../../Core.constants';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer, NotificationRequiredFields } from '../__shared__';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { Header } from '../Header';\nimport { EVENT } from '../helpers';\n\nconst Checkout = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n currency,\n hotel,\n language,\n locale,\n session,\n urlParams: { posError: tpvError, ...urlParams } = {},\n variant,\n },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [dataSourceExtras, setDataSourceExtras] = useState(false);\n const [error, setError] = useState();\n const [selectedExtras, setSelectedExtras] = useState([]);\n const [requiredFields, setRequiredFields] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => Event.publish(EVENT.METRICS, { id: 'CHECKOUT:RENDER' }), []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n setBusy(true);\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n ...getParamsFromExtras({ selectedExtras, urlParams, variant }),\n }).catch((error) => {\n setResponseError(error);\n });\n setBusy(false);\n\n setDataSource(response);\n if (response) Event.publish(EVENT.CHECKOUT_RESPONSE, { event: EVENT.CHECKOUT_RESPONSE, response });\n })();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, session, selectedExtras]);\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const handleErrorConfirmation = () => {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n setRequiredFields(error);\n };\n\n const handleScrollToExtras = () => {\n Event.publish(EVENT.METRICS, { id: 'RATES:EXTRAS:DISCOVER' });\n };\n\n const { agency = {}, payment } = dataSource || {};\n const response = dataSource !== undefined;\n const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;\n\n return (\n <>\n <Header />\n\n <View role=\"checkout\" tag=\"checkout\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={busy || (!response && !responseError)} className={style.progress} />\n {response ? (\n <View row={isDesktop} className={style.content}>\n <View wide className={style.main}>\n {hasRequiredFields && (\n <NotificationRequiredFields form=\"checkout\" schema={dataSource?.form} values={requiredFields} />\n )}\n\n {(agency.name || !payment || tpvError) && (\n <Notification error={tpvError} small info wide className={styles(style.agency, others.className)}>\n {!tpvError && !payment && `${translate(L10N.NOTIFICATION_NO_CARD)} `}\n {!tpvError &&\n agency.name &&\n translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n {tpvError && translate(L10N.NOTIFICATION_UNKNOWN_POS_ERROR)}\n </Notification>\n )}\n\n {dataSourceExtras && (\n <Notification small info wide>\n <View row className={style.notificationExtras}>\n <View>\n {!isMobile && (\n <Text action={!isMobile} bold small={isMobile}>\n {translate(L10N.LABEL_ENHANCED_YOUR_STAY)}\n </Text>\n )}\n <Text small>{translate(L10N.LABEL_DISCOVER_EXTRAS)}</Text>\n </View>\n <Action href=\"#extras\" underline small={isMobile} onPress={handleScrollToExtras}>\n {translate(L10N.ACTION_VIEW_EXTRAS)}\n </Action>\n </View>\n </Notification>\n )}\n\n {!isDesktop && (\n <BookingSummary box dataSource={dataSource}>\n {<BookingDetails dataSource={dataSource} expanded />}\n </BookingSummary>\n )}\n\n <Form dataSource={dataSource} showErrors={hasRequiredFields} onError={setError} />\n\n {variant === 'B' && (\n <Extras hotel={dataSource.hotel} onChange={setSelectedExtras} onDatasource={setDataSourceExtras} />\n )}\n\n {isDesktop && <BookingDetails dataSource={dataSource} className={style.box} />}\n\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <Confirmation\n busy={busy}\n dataSource={dataSource}\n error={Object.keys(error || {}).length > 0}\n selectedExtras={selectedExtras}\n onError={handleErrorConfirmation}\n onValid={() => setRequiredFields()}\n />\n </View>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n\n <Footer />\n </>\n );\n};\n\nCheckout.displayName = 'Mirai:Core:Checkout';\n\nCheckout.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Checkout };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_react","_interopRequireWildcard","_Checkout","style","_Checkout2","_interopRequireDefault","_helpers","_partials","_Core","_shared__","_Booking","_Header","_helpers2","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","Checkout","_ref","others","isDesktop","isMobile","useDevice","translate","useLocale","value","currency","hotel","language","locale","session","skeleton","urlParams","posError","tpvError","variant","useStore","busy","setBusy","useState","dataSource","setDataSource","dataSourceExtras","setDataSourceExtras","error","setError","selectedExtras","setSelectedExtras","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","useEffect","Event","publish","EVENT","METRICS","id","response","ServiceBooking","checkout","getParamsFromExtras","catch","CHECKOUT_RESPONSE","event","handleModalAgency","handleErrorConfirmation","window","scrollTo","top","behavior","handleScrollToExtras","agency","payment","undefined","hasRequiredFields","keys","createElement","Fragment","Header","View","role","tag","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","wide","main","NotificationRequiredFields","form","schema","values","name","Notification","small","info","concat","L10N","NOTIFICATION_NO_CARD","NOTIFICATION_AGENCY","link","Action","underline","onPress","action","ACTION_MORE_INFO","NOTIFICATION_UNKNOWN_POS_ERROR","notificationExtras","Text","bold","LABEL_ENHANCED_YOUR_STAY","LABEL_DISCOVER_EXTRAS","href","ACTION_VIEW_EXTRAS","BookingSummary","box","BookingDetails","expanded","Form","showErrors","onError","Extras","onChange","onDatasource","BookingTerms","Confirmation","onValid","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","Footer","exports","displayName","propTypes"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Notification, Progress, styles, Text, useDevice, View } from '@mirai/ui';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { getParamsFromExtras } from './helpers';\nimport { Confirmation, Extras, Form } from './partials';\nimport { ERROR } from '../../Core.constants';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer, NotificationRequiredFields } from '../__shared__';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { Header } from '../Header';\nimport { EVENT } from '../helpers';\n\nconst Checkout = ({ ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n currency,\n hotel,\n language,\n locale,\n session,\n skeleton = false,\n urlParams: { posError: tpvError, ...urlParams } = {},\n variant,\n },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [dataSourceExtras, setDataSourceExtras] = useState(false);\n const [error, setError] = useState();\n const [selectedExtras, setSelectedExtras] = useState([]);\n const [requiredFields, setRequiredFields] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => Event.publish(EVENT.METRICS, { id: 'CHECKOUT:RENDER' }), []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n setBusy(true);\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n ...getParamsFromExtras({ selectedExtras, urlParams, variant }),\n }).catch((error) => {\n setResponseError(error);\n });\n setBusy(false);\n\n setDataSource(response);\n if (response) Event.publish(EVENT.CHECKOUT_RESPONSE, { event: EVENT.CHECKOUT_RESPONSE, response });\n })();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, session, selectedExtras]);\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const handleErrorConfirmation = () => {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n setRequiredFields(error);\n };\n\n const handleScrollToExtras = () => {\n Event.publish(EVENT.METRICS, { id: 'RATES:EXTRAS:DISCOVER' });\n };\n\n const { agency = {}, payment } = dataSource || {};\n const response = dataSource !== undefined;\n const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;\n\n return (\n <>\n <Header />\n\n <View role=\"checkout\" tag=\"checkout\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={busy || (!response && !responseError)} className={style.progress} />\n {response ? (\n <View row={isDesktop} className={style.content}>\n <View wide className={style.main}>\n {hasRequiredFields && (\n <NotificationRequiredFields form=\"checkout\" schema={dataSource?.form} values={requiredFields} />\n )}\n\n {(agency.name || !payment || tpvError) && (\n <Notification error={tpvError} small info wide className={styles(style.agency, others.className)}>\n {!tpvError && !payment && `${translate(L10N.NOTIFICATION_NO_CARD)} `}\n {!tpvError &&\n agency.name &&\n translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n {tpvError && translate(L10N.NOTIFICATION_UNKNOWN_POS_ERROR)}\n </Notification>\n )}\n\n {dataSourceExtras && (\n <Notification small info wide>\n <View row className={style.notificationExtras}>\n <View>\n {!isMobile && (\n <Text action={!isMobile} bold small={isMobile}>\n {translate(L10N.LABEL_ENHANCED_YOUR_STAY)}\n </Text>\n )}\n <Text small>{translate(L10N.LABEL_DISCOVER_EXTRAS)}</Text>\n </View>\n <Action href=\"#extras\" underline small={isMobile} onPress={handleScrollToExtras}>\n {translate(L10N.ACTION_VIEW_EXTRAS)}\n </Action>\n </View>\n </Notification>\n )}\n\n {!isDesktop && (\n <BookingSummary box dataSource={dataSource}>\n {<BookingDetails dataSource={dataSource} expanded />}\n </BookingSummary>\n )}\n\n <Form dataSource={dataSource} showErrors={hasRequiredFields} onError={setError} />\n\n {variant === 'B' && (\n <Extras hotel={dataSource.hotel} onChange={setSelectedExtras} onDatasource={setDataSourceExtras} />\n )}\n\n {isDesktop && <BookingDetails dataSource={dataSource} className={style.box} />}\n\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <Confirmation\n busy={busy}\n dataSource={dataSource}\n error={Object.keys(error || {}).length > 0}\n selectedExtras={selectedExtras}\n onError={handleErrorConfirmation}\n onValid={() => setRequiredFields()}\n />\n </View>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n\n <Footer />\n </>\n );\n};\n\nCheckout.displayName = 'Mirai:Core:Checkout';\n\nCheckout.propTypes = {};\n\nexport { Checkout };\n"],"mappings":"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"}