@mirai/core 0.3.51 → 0.3.53

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 (49) hide show
  1. package/build/components/Checkout/Checkout.js +2 -2
  2. package/build/components/Checkout/Checkout.js.map +1 -1
  3. package/build/components/Checkout/__tests__/__snapshots__/Checkout.test.js.snap +241 -13
  4. package/build/components/Checkout/helpers/index.js +0 -11
  5. package/build/components/Checkout/helpers/index.js.map +1 -1
  6. package/build/components/Checkout/partials/Checkout.Form.js +1 -1
  7. package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
  8. package/build/components/Rates/Rates.Footer.js +23 -18
  9. package/build/components/Rates/Rates.Footer.js.map +1 -1
  10. package/build/components/Rates/Rates.constants.js +8 -0
  11. package/build/components/Rates/Rates.constants.js.map +1 -1
  12. package/build/components/Rates/Rates.js +35 -14
  13. package/build/components/Rates/Rates.js.map +1 -1
  14. package/build/components/Rates/Rates.l10n.js +9 -4
  15. package/build/components/Rates/Rates.l10n.js.map +1 -1
  16. package/build/components/Rates/Rates.module.css +15 -7
  17. package/build/components/Rates/components/Item/Item.Preview.js +127 -0
  18. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -0
  19. package/build/components/Rates/components/Item/Item.Rates.js +185 -0
  20. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -0
  21. package/build/components/Rates/components/Item/Item.js +10 -188
  22. package/build/components/Rates/components/Item/Item.js.map +1 -1
  23. package/build/components/Rates/components/Item/Item.l10n.js +6 -0
  24. package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
  25. package/build/components/Rates/components/Item/Item.module.css +21 -0
  26. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +1 -4
  27. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
  28. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js +38 -0
  29. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.js.map +1 -0
  30. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.module.css +20 -0
  31. package/build/components/Rates/components/Item/components/ModalUrl/index.js +17 -0
  32. package/build/components/Rates/components/Item/components/ModalUrl/index.js.map +1 -0
  33. package/build/components/Rates/components/Item/components/index.js +11 -0
  34. package/build/components/Rates/components/Item/components/index.js.map +1 -1
  35. package/build/components/Rates/components/Item/index.js +8 -1
  36. package/build/components/Rates/components/Item/index.js.map +1 -1
  37. package/build/components/helpers/ICON.js +4 -0
  38. package/build/components/helpers/ICON.js.map +1 -1
  39. package/build/components/helpers/generateId.js.map +1 -0
  40. package/build/components/helpers/index.js +11 -0
  41. package/build/components/helpers/index.js.map +1 -1
  42. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +0 -18
  43. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +0 -12
  44. package/build/services/Rates/__tests__/__mocks__/rates-response.json +0 -6
  45. package/build/services/Rates/get.js +7 -4
  46. package/build/services/Rates/get.js.map +1 -1
  47. package/package.json +1 -1
  48. package/build/components/Checkout/helpers/generateId.js.map +0 -1
  49. /package/build/components/{Checkout/helpers → helpers}/generateId.js +0 -0
@@ -13,6 +13,7 @@ var _react = _interopRequireWildcard(require("react"));
13
13
  var _Checkout = require("./Checkout.constants");
14
14
  var _Checkout2 = require("./Checkout.l10n");
15
15
  var style = _interopRequireWildcard(require("./Checkout.module.css"));
16
+ var _Checkout3 = _interopRequireDefault(require("./Checkout.skeleton"));
16
17
  var _helpers = require("./helpers");
17
18
  var _partials = require("./partials");
18
19
  var _partials2 = require("../Booking/partials");
@@ -25,7 +26,6 @@ let hasTracking = false;
25
26
  const Checkout = _ref => {
26
27
  let {
27
28
  session: showSession = 'true',
28
- skeleton,
29
29
  ...others
30
30
  } = _ref;
31
31
  const {
@@ -164,7 +164,7 @@ const Checkout = _ref => {
164
164
  }))) : responseError ? /*#__PURE__*/_react.default.createElement(_ui.Notification, {
165
165
  error: true,
166
166
  large: true
167
- }, translate(_Checkout2.L10N.NOTIFICATION_ERROR[(responseError === null || responseError === void 0 ? void 0 : responseError.code) || _Checkout.ERROR.UNKNOWN])) : skeleton || null), (agency === null || agency === void 0 ? void 0 : agency.name) && /*#__PURE__*/_react.default.createElement(_Booking.ModalAgency, _extends({}, agency, {
167
+ }, translate(_Checkout2.L10N.NOTIFICATION_ERROR[(responseError === null || responseError === void 0 ? void 0 : responseError.code) || _Checkout.ERROR.UNKNOWN])) : /*#__PURE__*/_react.default.createElement(_Checkout3.default, null)), (agency === null || agency === void 0 ? void 0 : agency.name) && /*#__PURE__*/_react.default.createElement(_Booking.ModalAgency, _extends({}, agency, {
168
168
  visible: modalAgency,
169
169
  onClose: () => setModalAgency(false)
170
170
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_helpers","_partials","_partials2","_Booking","_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","hasTracking","Checkout","_ref","session","showSession","skeleton","others","isDesktop","isMobile","useDevice","translate","useLocale","track","trackRender","useMetrics","value","currency","hotel","id","language","locale","urlParams","useStore","dataSource","setDataSource","useState","error","setError","modalAgency","setModalAgency","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","concat","TRACKING","response","ServiceBooking","checkout","catch","service","method","trackDataSource","window","addEventListener","innerHeight","scrollY","documentElement","scrollHeight","document","handleModalAgency","agency","image","undefined","variant","getVariant","createElement","Fragment","View","role","className","styles","container","Progress","indeterminate","visible","progress","src","logo","row","content","main","Summary","box","Details","Session","name","Notification","small","info","wide","L10N","NOTIFICATION_AGENCY","link","Action","inline","underline","onPress","action","ACTION_MORE_INFO","Form","onError","Others","tracking","Confirmation","disabled","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","exports","propTypes","PropTypes","bool","node"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ERROR, FEATURE_CHECKOUT_TRACKING, TRACKING } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport { getVariant, trackDataSource } from './helpers';\nimport { Confirmation, Details, Form, Session, Summary } from './partials';\nimport { Others } from '../Booking/partials';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\n\nlet hasTracking = false;\n\nconst Checkout = ({ session: showSession = 'true', skeleton, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const { track, trackRender } = useMetrics();\n const {\n value: { currency, hotel, id, language, locale, session, urlParams },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n hasTracking && trackRender(`${TRACKING}:RENDER`, { locale });\n\n (async () => {\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n }).catch((error) => {\n setResponseError(error);\n hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'checkout', error });\n });\n setDataSource(response);\n trackDataSource({ ...response, ...urlParams, isMobile });\n })();\n\n window.addEventListener('scroll', () => {\n if (!hasTracking) return;\n const { innerHeight = 0, scrollY } = window;\n const { documentElement: { scrollHeight = 0 } = {} } = document;\n\n if (scrollY >= scrollHeight - innerHeight) track(`${TRACKING}:SCROLL:BOTTOM`);\n else if (scrollY === 0) track(`${TRACKING}:SCROLL:TOP`);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const { agency = {}, hotel: { image } = {} } = dataSource || {};\n const response = dataSource !== undefined;\n const variant = getVariant({ id, isMobile, urlParams });\n\n return (\n <>\n <View {...others} role=\"checkout\" className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <img src={image} className={style.logo} />\n\n <View row={isDesktop} className={style.content}>\n <View className={style.main}>\n {variant === 'B' && <Summary dataSource={dataSource} className={style.box} />}\n\n {isMobile && <Details dataSource={dataSource} variant={variant} />}\n {!session && showSession === 'true' && <Session />}\n {agency.name && (\n <Notification {...others} small info wide className={styles(style.agency, others.className)}>\n {translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action inline underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n </Notification>\n )}\n <Form dataSource={dataSource} onError={setError} />\n {!isMobile && <Details dataSource={dataSource} variant={variant} />}\n <Others dataSource={dataSource} small tracking={TRACKING} />\n </View>\n\n <Confirmation dataSource={dataSource} disabled={error} variant={variant} />\n </View>\n </>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n skeleton || null\n )}\n </View>\n {agency?.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n </>\n );\n};\n\nCheckout.propTypes = {\n session: PropTypes.bool,\n skeleton: PropTypes.node,\n};\n\nexport { Checkout };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_helpers","_partials","_partials2","_Booking","_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","hasTracking","Checkout","_ref","session","showSession","others","isDesktop","isMobile","useDevice","translate","useLocale","track","trackRender","useMetrics","value","currency","hotel","id","language","locale","urlParams","useStore","dataSource","setDataSource","useState","error","setError","modalAgency","setModalAgency","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","concat","TRACKING","response","ServiceBooking","checkout","catch","service","method","trackDataSource","window","addEventListener","innerHeight","scrollY","documentElement","scrollHeight","document","handleModalAgency","agency","image","undefined","variant","getVariant","createElement","Fragment","View","role","className","styles","container","Progress","indeterminate","visible","progress","src","logo","row","content","main","Summary","box","Details","Session","name","Notification","small","info","wide","L10N","NOTIFICATION_AGENCY","link","Action","inline","underline","onPress","action","ACTION_MORE_INFO","Form","onError","Others","tracking","Confirmation","disabled","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","exports","propTypes","PropTypes","bool","skeleton","node"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ERROR, FEATURE_CHECKOUT_TRACKING, TRACKING } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { getVariant, trackDataSource } from './helpers';\nimport { Confirmation, Details, Form, Session, Summary } from './partials';\nimport { Others } from '../Booking/partials';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\n\nlet hasTracking = false;\n\nconst Checkout = ({ session: showSession = 'true', ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const { track, trackRender } = useMetrics();\n const {\n value: { currency, hotel, id, language, locale, session, urlParams },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n hasTracking && trackRender(`${TRACKING}:RENDER`, { locale });\n\n (async () => {\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n }).catch((error) => {\n setResponseError(error);\n hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'checkout', error });\n });\n setDataSource(response);\n trackDataSource({ ...response, ...urlParams, isMobile });\n })();\n\n window.addEventListener('scroll', () => {\n if (!hasTracking) return;\n const { innerHeight = 0, scrollY } = window;\n const { documentElement: { scrollHeight = 0 } = {} } = document;\n\n if (scrollY >= scrollHeight - innerHeight) track(`${TRACKING}:SCROLL:BOTTOM`);\n else if (scrollY === 0) track(`${TRACKING}:SCROLL:TOP`);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const { agency = {}, hotel: { image } = {} } = dataSource || {};\n const response = dataSource !== undefined;\n const variant = getVariant({ id, isMobile, urlParams });\n\n return (\n <>\n <View {...others} role=\"checkout\" className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <img src={image} className={style.logo} />\n\n <View row={isDesktop} className={style.content}>\n <View className={style.main}>\n {variant === 'B' && <Summary dataSource={dataSource} className={style.box} />}\n\n {isMobile && <Details dataSource={dataSource} variant={variant} />}\n {!session && showSession === 'true' && <Session />}\n {agency.name && (\n <Notification {...others} small info wide className={styles(style.agency, others.className)}>\n {translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action inline underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n </Notification>\n )}\n <Form dataSource={dataSource} onError={setError} />\n {!isMobile && <Details dataSource={dataSource} variant={variant} />}\n <Others dataSource={dataSource} small tracking={TRACKING} />\n </View>\n\n <Confirmation dataSource={dataSource} disabled={error} variant={variant} />\n </View>\n </>\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 );\n};\n\nCheckout.propTypes = {\n session: PropTypes.bool,\n skeleton: PropTypes.node,\n};\n\nexport { Checkout };\n"],"mappings":"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"}
@@ -13,6 +13,41 @@ exports[`component:<Checkout> Test A/B variant A 1`] = `
13
13
  class="view value indeterminate"
14
14
  />
15
15
  </div>
16
+ <div
17
+ class="view wide"
18
+ style="align-items: start;"
19
+ >
20
+ <div
21
+ class="view row wide"
22
+ style="align-items: start; align-self: center; gap: 1rem; max-width: 1024px; margin-top: 2rem;"
23
+ >
24
+ <div
25
+ class="view"
26
+ style="flex: 1; gap: 1rem;"
27
+ >
28
+ <div
29
+ class="view"
30
+ style="height: 32rem;"
31
+ />
32
+ <div
33
+ class="view"
34
+ style="height: 16rem;"
35
+ />
36
+ <div
37
+ class="view"
38
+ style="height: 16rem;"
39
+ />
40
+ <div
41
+ class="view"
42
+ style="height: 12rem;"
43
+ />
44
+ </div>
45
+ <div
46
+ class="view"
47
+ style="flex: 1; max-width: 400px; height: 36rem;"
48
+ />
49
+ </div>
50
+ </div>
16
51
  </div>
17
52
  </DocumentFragment>
18
53
  `;
@@ -30,6 +65,41 @@ exports[`component:<Checkout> Test A/B variant B 1`] = `
30
65
  class="view value indeterminate"
31
66
  />
32
67
  </div>
68
+ <div
69
+ class="view wide"
70
+ style="align-items: start;"
71
+ >
72
+ <div
73
+ class="view row wide"
74
+ style="align-items: start; align-self: center; gap: 1rem; max-width: 1024px; margin-top: 2rem;"
75
+ >
76
+ <div
77
+ class="view"
78
+ style="flex: 1; gap: 1rem;"
79
+ >
80
+ <div
81
+ class="view"
82
+ style="height: 32rem;"
83
+ />
84
+ <div
85
+ class="view"
86
+ style="height: 16rem;"
87
+ />
88
+ <div
89
+ class="view"
90
+ style="height: 16rem;"
91
+ />
92
+ <div
93
+ class="view"
94
+ style="height: 12rem;"
95
+ />
96
+ </div>
97
+ <div
98
+ class="view"
99
+ style="flex: 1; max-width: 400px; height: 36rem;"
100
+ />
101
+ </div>
102
+ </div>
33
103
  </div>
34
104
  </DocumentFragment>
35
105
  `;
@@ -46,6 +116,41 @@ exports[`component:<Checkout> inherit:className 1`] = `
46
116
  class="view value indeterminate"
47
117
  />
48
118
  </div>
119
+ <div
120
+ class="view wide"
121
+ style="align-items: start;"
122
+ >
123
+ <div
124
+ class="view row wide"
125
+ style="align-items: start; align-self: center; gap: 1rem; max-width: 1024px; margin-top: 2rem;"
126
+ >
127
+ <div
128
+ class="view"
129
+ style="flex: 1; gap: 1rem;"
130
+ >
131
+ <div
132
+ class="view"
133
+ style="height: 32rem;"
134
+ />
135
+ <div
136
+ class="view"
137
+ style="height: 16rem;"
138
+ />
139
+ <div
140
+ class="view"
141
+ style="height: 16rem;"
142
+ />
143
+ <div
144
+ class="view"
145
+ style="height: 12rem;"
146
+ />
147
+ </div>
148
+ <div
149
+ class="view"
150
+ style="flex: 1; max-width: 400px; height: 36rem;"
151
+ />
152
+ </div>
153
+ </div>
49
154
  </div>
50
155
  </DocumentFragment>
51
156
  `;
@@ -62,23 +167,41 @@ exports[`component:<Checkout> prop:session (false) 1`] = `
62
167
  class="view value indeterminate"
63
168
  />
64
169
  </div>
65
- </div>
66
- </DocumentFragment>
67
- `;
68
-
69
- exports[`component:<Checkout> prop:skeleton 1`] = `
70
- <DocumentFragment>
71
- <div
72
- class="view"
73
- >
74
170
  <div
75
- class="view progress visible"
171
+ class="view wide"
172
+ style="align-items: start;"
76
173
  >
77
174
  <div
78
- class="view value indeterminate"
79
- />
175
+ class="view row wide"
176
+ style="align-items: start; align-self: center; gap: 1rem; max-width: 1024px; margin-top: 2rem;"
177
+ >
178
+ <div
179
+ class="view"
180
+ style="flex: 1; gap: 1rem;"
181
+ >
182
+ <div
183
+ class="view"
184
+ style="height: 32rem;"
185
+ />
186
+ <div
187
+ class="view"
188
+ style="height: 16rem;"
189
+ />
190
+ <div
191
+ class="view"
192
+ style="height: 16rem;"
193
+ />
194
+ <div
195
+ class="view"
196
+ style="height: 12rem;"
197
+ />
198
+ </div>
199
+ <div
200
+ class="view"
201
+ style="flex: 1; max-width: 400px; height: 36rem;"
202
+ />
203
+ </div>
80
204
  </div>
81
- Skeleton
82
205
  </div>
83
206
  </DocumentFragment>
84
207
  `;
@@ -95,6 +218,41 @@ exports[`component:<Checkout> renders 1`] = `
95
218
  class="view value indeterminate"
96
219
  />
97
220
  </div>
221
+ <div
222
+ class="view wide"
223
+ style="align-items: start;"
224
+ >
225
+ <div
226
+ class="view row wide"
227
+ style="align-items: start; align-self: center; gap: 1rem; max-width: 1024px; margin-top: 2rem;"
228
+ >
229
+ <div
230
+ class="view"
231
+ style="flex: 1; gap: 1rem;"
232
+ >
233
+ <div
234
+ class="view"
235
+ style="height: 32rem;"
236
+ />
237
+ <div
238
+ class="view"
239
+ style="height: 16rem;"
240
+ />
241
+ <div
242
+ class="view"
243
+ style="height: 16rem;"
244
+ />
245
+ <div
246
+ class="view"
247
+ style="height: 12rem;"
248
+ />
249
+ </div>
250
+ <div
251
+ class="view"
252
+ style="flex: 1; max-width: 400px; height: 36rem;"
253
+ />
254
+ </div>
255
+ </div>
98
256
  </div>
99
257
  </DocumentFragment>
100
258
  `;
@@ -112,6 +270,41 @@ exports[`component:<Checkout> testID 1`] = `
112
270
  class="view value indeterminate"
113
271
  />
114
272
  </div>
273
+ <div
274
+ class="view wide"
275
+ style="align-items: start;"
276
+ >
277
+ <div
278
+ class="view row wide"
279
+ style="align-items: start; align-self: center; gap: 1rem; max-width: 1024px; margin-top: 2rem;"
280
+ >
281
+ <div
282
+ class="view"
283
+ style="flex: 1; gap: 1rem;"
284
+ >
285
+ <div
286
+ class="view"
287
+ style="height: 32rem;"
288
+ />
289
+ <div
290
+ class="view"
291
+ style="height: 16rem;"
292
+ />
293
+ <div
294
+ class="view"
295
+ style="height: 16rem;"
296
+ />
297
+ <div
298
+ class="view"
299
+ style="height: 12rem;"
300
+ />
301
+ </div>
302
+ <div
303
+ class="view"
304
+ style="flex: 1; max-width: 400px; height: 36rem;"
305
+ />
306
+ </div>
307
+ </div>
115
308
  </div>
116
309
  </DocumentFragment>
117
310
  `;
@@ -128,6 +321,41 @@ exports[`component:<Checkout> with a store 1`] = `
128
321
  class="view value indeterminate"
129
322
  />
130
323
  </div>
324
+ <div
325
+ class="view wide"
326
+ style="align-items: start;"
327
+ >
328
+ <div
329
+ class="view row wide"
330
+ style="align-items: start; align-self: center; gap: 1rem; max-width: 1024px; margin-top: 2rem;"
331
+ >
332
+ <div
333
+ class="view"
334
+ style="flex: 1; gap: 1rem;"
335
+ >
336
+ <div
337
+ class="view"
338
+ style="height: 32rem;"
339
+ />
340
+ <div
341
+ class="view"
342
+ style="height: 16rem;"
343
+ />
344
+ <div
345
+ class="view"
346
+ style="height: 16rem;"
347
+ />
348
+ <div
349
+ class="view"
350
+ style="height: 12rem;"
351
+ />
352
+ </div>
353
+ <div
354
+ class="view"
355
+ style="flex: 1; max-width: 400px; height: 36rem;"
356
+ />
357
+ </div>
358
+ </div>
131
359
  </div>
132
360
  </DocumentFragment>
133
361
  `;
@@ -3,17 +3,6 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _generateId = require("./generateId");
7
- Object.keys(_generateId).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _generateId[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _generateId[key];
14
- }
15
- });
16
- });
17
6
  var _getFieldProps = require("./getFieldProps");
18
7
  Object.keys(_getFieldProps).forEach(function (key) {
19
8
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_generateId","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_getFieldProps","_getVariant","_trackDataSource","_trackForm"],"sources":["../../../../src/components/Checkout/helpers/index.js"],"sourcesContent":["export * from './generateId';\nexport * from './getFieldProps';\nexport * from './getVariant';\nexport * from './trackDataSource';\nexport * from './trackForm';\n"],"mappings":";;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,WAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,WAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,WAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,cAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,cAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,cAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,cAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,WAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,WAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,WAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,WAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,gBAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,gBAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,gBAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,gBAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,UAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,UAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,UAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,UAAA,CAAAR,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_getFieldProps","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_getVariant","_trackDataSource","_trackForm"],"sources":["../../../../src/components/Checkout/helpers/index.js"],"sourcesContent":["export * from './getFieldProps';\nexport * from './getVariant';\nexport * from './trackDataSource';\nexport * from './trackForm';\n"],"mappings":";;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,cAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,WAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,WAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,WAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,WAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,gBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,gBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,gBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,gBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,UAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,UAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,UAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,UAAA,CAAAP,GAAA;IAAA;EAAA;AAAA"}
@@ -25,7 +25,7 @@ const storage = new _dataSources.Storage({
25
25
  adapter: _dataSources.LocalAdapter,
26
26
  cache: _Checkout.FORM_STORAGE_CACHE
27
27
  });
28
- const key = dataSource => "".concat(_Checkout.FORM_STORAGE_KEY, ":").concat((0, _helpers2.generateId)(JSON.stringify(dataSource)));
28
+ const key = dataSource => "".concat(_Checkout.FORM_STORAGE_KEY, ":").concat((0, _helpers.generateId)(JSON.stringify(dataSource)));
29
29
  const Form = _ref => {
30
30
  let {
31
31
  dataSource: {
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.Form.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_shared__","_helpers","_Checkout","_Checkout2","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","hasTracking","storage","Storage","adapter","LocalAdapter","cache","FORM_STORAGE_CACHE","dataSource","concat","FORM_STORAGE_KEY","generateId","JSON","stringify","Form","_ref","currency","repositories","countries","form","schema","variant","onError","others","isDesktop","useDevice","translate","useLocale","track","useMetrics","value","club","id","locale","payment","session","useStore","errorForm","setErrorForm","useState","errorPayment","setErrorPayment","setForm","fromEntries","entries","map","_ref2","formTracked","setFormTracked","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","useLayoutEffect","keys","checkout","handleChange","next","country","phone","code","ServiceCountry","info","getCountryCode","handleEnter","field","TRACKING","handleLeave","email","firstName","lastName","trackForm","config","publicKey","createElement","Fragment","autoComplete","validateOnMount","onChange","onEnter","onLeave","className","styles","box","Text","bold","headline","wide","L10N","LABEL_PERSONAL_INFORMATION","TextRequiredFields","filter","_ref3","_ref4","visible","_ref5","React","FIELD","input","InputText","getFieldProps","error","Payment","method","exports","displayName","propTypes","PropTypes","shape","string","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Form.jsx"],"sourcesContent":["import { LocalAdapter, Storage, useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceCountry, ServiceFeatures } from '@mirai/services';\nimport { InputText, Form as FormBase, styles, Text, useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useLayoutEffect, useState } from 'react';\n\nimport { Payment, TextRequiredFields } from '../../__shared__';\nimport { getCountryCode } from '../../helpers';\nimport {\n FEATURE_CHECKOUT_TRACKING,\n FIELD,\n FORM_STORAGE_CACHE,\n FORM_STORAGE_KEY,\n TRACKING,\n} from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { generateId, getFieldProps, trackForm } from '../helpers';\n\nlet hasTracking = false;\n\nconst storage = new Storage({ adapter: LocalAdapter, cache: FORM_STORAGE_CACHE });\n\nconst key = (dataSource) => `${FORM_STORAGE_KEY}:${generateId(JSON.stringify(dataSource))}`;\n\nconst Form = ({\n dataSource: { currency, repositories: { countries } = {}, form: schema = {}, ...dataSource } = {},\n variant,\n onError = () => {},\n ...others\n}) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const {\n set,\n value: { club, id, locale, payment, session },\n } = useStore();\n\n const [errorForm, setErrorForm] = useState({});\n const [errorPayment, setErrorPayment] = useState({});\n const [form, setForm] = useState(\n storage.get(key(dataSource)) || Object.fromEntries(Object.entries(schema).map(([key, { value }]) => [key, value])),\n );\n const [formTracked, setFormTracked] = useState();\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setForm({ ...form, ...session });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n useLayoutEffect(() => {\n if (Object.keys(form).length) storage.set(key(dataSource), form);\n set({ checkout: form });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n useEffect(() => {\n onError(Object.keys({ ...errorForm, ...errorPayment }).length > 0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errorForm, errorPayment]);\n\n const handleChange = async (next) => {\n if (!!schema.country && next.country && !next.phone) {\n const { code } = await ServiceCountry.info(getCountryCode(next.country, countries));\n if (code) next.phone = code;\n }\n\n setForm(next);\n };\n\n const handleEnter = (field) => hasTracking && track(`${TRACKING}:INPUT:${field}`, { field, locale, variant });\n\n const handleLeave = () => {\n const { email, firstName, lastName, phone } = errorForm;\n if (!formTracked && !email && !firstName && !lastName && !phone) {\n trackForm(form);\n setFormTracked(true);\n }\n };\n\n const { payment: { config: { publicKey = {}, ...config } = {} } = {} } = dataSource || {};\n\n return (\n <>\n <FormBase\n {...others}\n autoComplete=\"off\"\n validateOnMount\n onChange={handleChange}\n onEnter={handleEnter}\n onError={setErrorForm}\n onLeave={handleLeave}\n className={styles(style.form, style.box)}\n >\n <Text bold headline={isDesktop} wide>\n {translate(L10N.LABEL_PERSONAL_INFORMATION)}\n </Text>\n <TextRequiredFields wide />\n\n {Object.entries(schema)\n .filter(([key]) => !!schema[key])\n .filter(([, { visible }]) => !visible || visible(form))\n .map(([key, field = {}]) =>\n React.createElement(\n FIELD[field.input] || InputText,\n getFieldProps(key, field, { value: form[key], error: errorForm[key], session, translate }, club),\n ),\n )}\n </FormBase>\n\n <Payment\n {...{ ...dataSource?.payment, config: { ...config, publicKey: publicKey[payment?.method] } }}\n currency={currency}\n onError={setErrorPayment}\n />\n </>\n );\n};\n\nForm.displayName = 'Mirai:User:Checkout.Form';\n\nForm.propTypes = {\n dataSource: PropTypes.shape({\n form: PropTypes.shape({}),\n }),\n variant: PropTypes.string,\n onError: PropTypes.func,\n};\n\nexport { Form };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Checkout.Form.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_shared__","_helpers","_Checkout","_Checkout2","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","hasTracking","storage","Storage","adapter","LocalAdapter","cache","FORM_STORAGE_CACHE","dataSource","concat","FORM_STORAGE_KEY","generateId","JSON","stringify","Form","_ref","currency","repositories","countries","form","schema","variant","onError","others","isDesktop","useDevice","translate","useLocale","track","useMetrics","value","club","id","locale","payment","session","useStore","errorForm","setErrorForm","useState","errorPayment","setErrorPayment","setForm","fromEntries","entries","map","_ref2","formTracked","setFormTracked","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","useLayoutEffect","keys","checkout","handleChange","next","country","phone","code","ServiceCountry","info","getCountryCode","handleEnter","field","TRACKING","handleLeave","email","firstName","lastName","trackForm","config","publicKey","createElement","Fragment","autoComplete","validateOnMount","onChange","onEnter","onLeave","className","styles","box","Text","bold","headline","wide","L10N","LABEL_PERSONAL_INFORMATION","TextRequiredFields","filter","_ref3","_ref4","visible","_ref5","React","FIELD","input","InputText","getFieldProps","error","Payment","method","exports","displayName","propTypes","PropTypes","shape","string","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Form.jsx"],"sourcesContent":["import { LocalAdapter, Storage, useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceCountry, ServiceFeatures } from '@mirai/services';\nimport { InputText, Form as FormBase, styles, Text, useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useLayoutEffect, useState } from 'react';\n\nimport { Payment, TextRequiredFields } from '../../__shared__';\nimport { generateId, getCountryCode } from '../../helpers';\nimport {\n FEATURE_CHECKOUT_TRACKING,\n FIELD,\n FORM_STORAGE_CACHE,\n FORM_STORAGE_KEY,\n TRACKING,\n} from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getFieldProps, trackForm } from '../helpers';\n\nlet hasTracking = false;\n\nconst storage = new Storage({ adapter: LocalAdapter, cache: FORM_STORAGE_CACHE });\n\nconst key = (dataSource) => `${FORM_STORAGE_KEY}:${generateId(JSON.stringify(dataSource))}`;\n\nconst Form = ({\n dataSource: { currency, repositories: { countries } = {}, form: schema = {}, ...dataSource } = {},\n variant,\n onError = () => {},\n ...others\n}) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const {\n set,\n value: { club, id, locale, payment, session },\n } = useStore();\n\n const [errorForm, setErrorForm] = useState({});\n const [errorPayment, setErrorPayment] = useState({});\n const [form, setForm] = useState(\n storage.get(key(dataSource)) || Object.fromEntries(Object.entries(schema).map(([key, { value }]) => [key, value])),\n );\n const [formTracked, setFormTracked] = useState();\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setForm({ ...form, ...session });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n useLayoutEffect(() => {\n if (Object.keys(form).length) storage.set(key(dataSource), form);\n set({ checkout: form });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n useEffect(() => {\n onError(Object.keys({ ...errorForm, ...errorPayment }).length > 0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errorForm, errorPayment]);\n\n const handleChange = async (next) => {\n if (!!schema.country && next.country && !next.phone) {\n const { code } = await ServiceCountry.info(getCountryCode(next.country, countries));\n if (code) next.phone = code;\n }\n\n setForm(next);\n };\n\n const handleEnter = (field) => hasTracking && track(`${TRACKING}:INPUT:${field}`, { field, locale, variant });\n\n const handleLeave = () => {\n const { email, firstName, lastName, phone } = errorForm;\n if (!formTracked && !email && !firstName && !lastName && !phone) {\n trackForm(form);\n setFormTracked(true);\n }\n };\n\n const { payment: { config: { publicKey = {}, ...config } = {} } = {} } = dataSource || {};\n\n return (\n <>\n <FormBase\n {...others}\n autoComplete=\"off\"\n validateOnMount\n onChange={handleChange}\n onEnter={handleEnter}\n onError={setErrorForm}\n onLeave={handleLeave}\n className={styles(style.form, style.box)}\n >\n <Text bold headline={isDesktop} wide>\n {translate(L10N.LABEL_PERSONAL_INFORMATION)}\n </Text>\n <TextRequiredFields wide />\n\n {Object.entries(schema)\n .filter(([key]) => !!schema[key])\n .filter(([, { visible }]) => !visible || visible(form))\n .map(([key, field = {}]) =>\n React.createElement(\n FIELD[field.input] || InputText,\n getFieldProps(key, field, { value: form[key], error: errorForm[key], session, translate }, club),\n ),\n )}\n </FormBase>\n\n <Payment\n {...{ ...dataSource?.payment, config: { ...config, publicKey: publicKey[payment?.method] } }}\n currency={currency}\n onError={setErrorPayment}\n />\n </>\n );\n};\n\nForm.displayName = 'Mirai:User:Checkout.Form';\n\nForm.propTypes = {\n dataSource: PropTypes.shape({\n form: PropTypes.shape({}),\n }),\n variant: PropTypes.string,\n onError: PropTypes.func,\n};\n\nexport { Form };\n"],"mappings":"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"}
@@ -24,6 +24,7 @@ const Footer = _ref => {
24
24
  filter: {
25
25
  clubDiscount = false
26
26
  } = {},
27
+ occupation = [],
27
28
  selected = {},
28
29
  taxes,
29
30
  onChange = () => {}
@@ -52,6 +53,8 @@ const Footer = _ref => {
52
53
  urlParams
53
54
  });
54
55
  };
56
+
57
+ // ! Should know if didnt expire the storage
55
58
  const {
56
59
  length: options
57
60
  } = Object.keys(selected);
@@ -75,9 +78,17 @@ const Footer = _ref => {
75
78
  };
76
79
  });
77
80
  }).flat();
81
+ const ViewCart = () => !soloRoom ? /*#__PURE__*/_react.default.createElement(_ui.Action, {
82
+ inline: true,
83
+ small: isMobile,
84
+ onPress: () => setExpanded(!expanded)
85
+ }, translate(expanded ? _Rates.L10N.ACTION_HIDE_CART : _Rates.L10N.ACTION_VIEW_CART, {
86
+ amount: options
87
+ })) : null;
88
+ const soloRoom = occupation.length === 1;
78
89
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.View, {
79
90
  className: (0, _ui.styles)(style.footer, options && style.visible)
80
- }, expanded && /*#__PURE__*/_react.default.createElement(_ui.View, {
91
+ }, (expanded || soloRoom) && /*#__PURE__*/_react.default.createElement(_ui.View, {
81
92
  className: [style.wrapper, style.expanded],
82
93
  wide: true
83
94
  }, Object.entries(selected).map(_ref3 => {
@@ -94,12 +105,14 @@ const Footer = _ref => {
94
105
  key: id,
95
106
  className: style.item
96
107
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
108
+ bold: true,
97
109
  small: true,
98
110
  className: style.amount
99
111
  }, "".concat(amount, "x")), /*#__PURE__*/_react.default.createElement(_ui.Text, {
100
112
  small: true,
101
113
  className: style.description
102
114
  }, "".concat(title, " (").concat(name, ")")), /*#__PURE__*/_react.default.createElement(_ui.Text, {
115
+ bold: true,
103
116
  small: true
104
117
  }, (0, _locale.currencyFormat)({
105
118
  currency,
@@ -120,6 +133,10 @@ const Footer = _ref => {
120
133
  className: style.wrapper
121
134
  }, /*#__PURE__*/_react.default.createElement(_ui.View, {
122
135
  className: style.price
136
+ }, /*#__PURE__*/_react.default.createElement(_ui.View, {
137
+ row: true,
138
+ wide: true,
139
+ className: style.line
123
140
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
124
141
  bold: true,
125
142
  headline: true,
@@ -127,23 +144,11 @@ const Footer = _ref => {
127
144
  }, (0, _locale.currencyFormat)({
128
145
  currency,
129
146
  value
130
- })), /*#__PURE__*/_react.default.createElement(_ui.View, {
131
- row: true,
132
- className: style.line
133
- }, taxes && /*#__PURE__*/_react.default.createElement(_ui.Text, {
134
- lighten: true,
135
- small: true
136
- }, taxes), /*#__PURE__*/_react.default.createElement(_ui.Text, {
147
+ })), isMobile && /*#__PURE__*/_react.default.createElement(ViewCart, null)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
137
148
  lighten: true,
138
- small: true,
139
- className: style.line
140
- }, translate(_Rates.L10N.LABEL_SELECTED_NUMBER_OPTIONS, {
141
- number: /*#__PURE__*/_react.default.createElement(_ui.Action, {
142
- inline: true,
143
- small: true,
144
- onPress: () => setExpanded(!expanded)
145
- }, " ".concat(options, " options "))
146
- })))), /*#__PURE__*/_react.default.createElement(_ui.Button, {
149
+ small: !isMobile || !taxes,
150
+ tiny: isMobile
151
+ }, taxes || translate(_Rates.L10N.LABEL_INCLUDES_TAXES_FEES))), !isMobile && /*#__PURE__*/_react.default.createElement(ViewCart, null), /*#__PURE__*/_react.default.createElement(_ui.Button, {
147
152
  large: !isMobile,
148
153
  onPress: handlePress
149
154
  }, translate(_Rates.L10N.ACTION_NEXT)))));
@@ -152,9 +157,9 @@ exports.Footer = Footer;
152
157
  Footer.propTypes = {
153
158
  dataSource: _propTypes.default.shape({}),
154
159
  filter: _propTypes.default.shape({}),
160
+ occupation: _propTypes.default.arrayOf(_propTypes.default.array),
155
161
  selected: _propTypes.default.shape({}),
156
162
  taxes: _propTypes.default.string,
157
163
  onChange: _propTypes.default.func
158
164
  };
159
- Footer.displayName = 'Mirai:Core:Rates.Footer';
160
165
  //# sourceMappingURL=Rates.Footer.js.map