@mirai/core 0.3.60 → 0.3.61

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 (80) hide show
  1. package/build/components/Finder/helpers/getForwarderUrl.js +4 -2
  2. package/build/components/Finder/helpers/getForwarderUrl.js.map +1 -1
  3. package/build/components/Rates/Rates.Footer.js +65 -77
  4. package/build/components/Rates/Rates.Footer.js.map +1 -1
  5. package/build/components/Rates/{Rates.Filter.js → Rates.Header.js} +53 -80
  6. package/build/components/Rates/Rates.Header.js.map +1 -0
  7. package/build/components/Rates/Rates.RoomSelector.js +96 -0
  8. package/build/components/Rates/Rates.RoomSelector.js.map +1 -0
  9. package/build/components/Rates/Rates.Skeleton.js +116 -40
  10. package/build/components/Rates/Rates.Skeleton.js.map +1 -1
  11. package/build/components/Rates/Rates.constants.js +7 -1
  12. package/build/components/Rates/Rates.constants.js.map +1 -1
  13. package/build/components/Rates/Rates.js +90 -47
  14. package/build/components/Rates/Rates.js.map +1 -1
  15. package/build/components/Rates/Rates.l10n.js +16 -7
  16. package/build/components/Rates/Rates.l10n.js.map +1 -1
  17. package/build/components/Rates/Rates.module.css +149 -67
  18. package/build/components/Rates/components/Item/Item.Preview.js +46 -29
  19. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  20. package/build/components/Rates/components/Item/Item.Rates.js +112 -143
  21. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  22. package/build/components/Rates/components/Item/Item.Summary.js +141 -0
  23. package/build/components/Rates/components/Item/Item.Summary.js.map +1 -0
  24. package/build/components/Rates/components/Item/Item.js +67 -64
  25. package/build/components/Rates/components/Item/Item.js.map +1 -1
  26. package/build/components/Rates/components/Item/Item.l10n.js +22 -0
  27. package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
  28. package/build/components/Rates/components/Item/Item.module.css +80 -104
  29. package/build/components/Rates/components/Item/components/Amenities/Amenities.js +15 -9
  30. package/build/components/Rates/components/Item/components/Amenities/Amenities.js.map +1 -1
  31. package/build/components/Rates/components/Item/components/Amenities/Amenities.module.css +11 -3
  32. package/build/components/Rates/components/Item/components/Discount/Discount.js +14 -13
  33. package/build/components/Rates/components/Item/components/Discount/Discount.js.map +1 -1
  34. package/build/components/Rates/components/Item/components/Discount/Discount.module.css +4 -3
  35. package/build/components/Rates/components/Item/components/Features/Features.js +4 -10
  36. package/build/components/Rates/components/Item/components/Features/Features.js.map +1 -1
  37. package/build/components/Rates/components/Item/components/Features/Features.module.css +0 -5
  38. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +34 -6
  39. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
  40. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.module.css +7 -0
  41. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js +18 -9
  42. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js.map +1 -1
  43. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.module.css +17 -1
  44. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.module.css +1 -1
  45. package/build/components/Rates/components/Item/components/Option/Option.js +72 -0
  46. package/build/components/Rates/components/Item/components/Option/Option.js.map +1 -0
  47. package/build/components/Rates/components/Item/components/Option/Option.module.css +24 -0
  48. package/build/components/Rates/components/Item/components/Option/index.js +17 -0
  49. package/build/components/Rates/components/Item/components/Option/index.js.map +1 -0
  50. package/build/components/Rates/components/Item/components/index.js +11 -0
  51. package/build/components/Rates/components/Item/components/index.js.map +1 -1
  52. package/build/components/Rates/helpers/getForwarderUrl.js +23 -12
  53. package/build/components/Rates/helpers/getForwarderUrl.js.map +1 -1
  54. package/build/components/helpers/ICON.js +10 -2
  55. package/build/components/helpers/ICON.js.map +1 -1
  56. package/build/components/helpers/index.js +11 -0
  57. package/build/components/helpers/index.js.map +1 -1
  58. package/build/components/helpers/opacity.js +17 -0
  59. package/build/components/helpers/opacity.js.map +1 -0
  60. package/build/services/Rates/__tests__/__mocks__/rates-response-cancel-types.json +1662 -0
  61. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +296 -510
  62. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +895 -1795
  63. package/build/services/Rates/__tests__/__mocks__/rates-response.json +197 -369
  64. package/build/services/Rates/__tests__/__mocks__/rates-success-cancel-types.json +32481 -0
  65. package/build/services/Rates/constants.js +18 -1
  66. package/build/services/Rates/constants.js.map +1 -1
  67. package/build/services/Rates/get.js +41 -112
  68. package/build/services/Rates/get.js.map +1 -1
  69. package/build/services/Rates/helpers/getIncrements.js +69 -0
  70. package/build/services/Rates/helpers/getIncrements.js.map +1 -0
  71. package/build/services/Rates/helpers/index.js +22 -0
  72. package/build/services/Rates/helpers/index.js.map +1 -1
  73. package/build/services/Rates/helpers/parseBoards.js +156 -0
  74. package/build/services/Rates/helpers/parseBoards.js.map +1 -0
  75. package/build/services/Rates/helpers/parseExternalToken.js +24 -0
  76. package/build/services/Rates/helpers/parseExternalToken.js.map +1 -0
  77. package/package.json +1 -1
  78. package/public/App.module.css +5 -0
  79. package/public/themes/monalisa.theme.css +3 -0
  80. package/build/components/Rates/Rates.Filter.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseBoards.js","names":["_getIncrements","require","_getPrice","_normalizePrice","_parseDiscount","parseBoards","_ref","currency","hotelCurrency","rates","baseRates","taxes","cancellations","boards","Object","values","forEach","cancellationPolicyDeadline","cancelCaption","cancellationPolicyName","cancelName","cancellationPolicyText","cancelText","cancellationPolicyTooltip","cancelTitle","cancellationPolicyTypeEnum","cancelId","id","rateId","includedList","included","name","offer","paymentText","paymentConditions","restrictions","boardOptions","arguments","length","undefined","cancellation","find","concat","caption","title","text","push","cancellationId","_ref2","boardGroupName","detail","discountPricesBefore","discounts","offersApplied","deals","originalAvgPrice","totalLocalTaxes","localTaxes","totalPriceOriginal","totalPriceWithTaxes","totalPrice","withTaxesAvgPrice","clientCodeTotal","promoCode","clubTotal","club","offerTotal","deal","price","originalPrice","Math","max","withTaxes","original","Set","flat","slice","basePrice","normalizePrice","dayPrice","getPrice","days","map","dayStandardFormat","value","offerId","priceWithoutTaxes","priceWithTaxes","discount","parseDiscount","getIncrements","exports"],"sources":["../../../../src/services/Rates/helpers/parseBoards.js"],"sourcesContent":["import { getIncrements } from './getIncrements';\nimport { getPrice } from './getPrice';\nimport { normalizePrice } from './normalizePrice';\nimport { parseDiscount } from './parseDiscount';\n\nexport const parseBoards = ({ currency, hotelCurrency, rates: baseRates = {}, taxes }) => {\n const cancellations = [];\n const rates = [];\n const boards = [];\n\n Object.values(baseRates).forEach(\n ({\n // 1. cancellations\n cancellationPolicyDeadline: cancelCaption,\n cancellationPolicyName: cancelName,\n cancellationPolicyText: cancelText,\n cancellationPolicyTooltip: cancelTitle,\n cancellationPolicyTypeEnum: cancelId,\n // 2. rates\n id: rateId,\n includedList: included,\n name,\n offer = false,\n paymentText: paymentConditions,\n restrictions,\n // 3. boards\n boardOptions = {},\n } = {}) => {\n // 1. get cancellations\n let cancellation = cancellations.find(({ id } = {}) => id === `${cancelId}-${cancelTitle}`);\n if (!cancellation) {\n cancellation = {\n caption: cancelCaption,\n id: `${cancelId}-${cancelTitle}`,\n name: cancelName,\n title: cancelTitle,\n text: cancelText,\n };\n cancellations.push(cancellation);\n }\n\n // 2. get rates\n // ! TODO get the cheapeast board for current rate\n rates.push({ id: rateId, cancellationId: cancellation.id, name, offer });\n\n // 3. get boards\n Object.values(boardOptions).forEach(\n ({\n boardGroupName: name,\n detail,\n discountPricesBefore: discounts = {},\n id,\n offersApplied: deals,\n originalAvgPrice,\n totalLocalTaxes: localTaxes,\n totalPriceOriginal,\n totalPriceWithTaxes: totalPrice,\n withTaxesAvgPrice,\n }) => {\n const { clientCodeTotal: promoCode, clubTotal: club, offerTotal: deal } = discounts;\n const price = taxes ? totalPrice : totalPriceOriginal;\n const originalPrice =\n (taxes\n ? Math.max(deal?.withTaxes || 0, club?.withTaxes || 0, promoCode?.withTaxes || 0)\n : Math.max(deal?.original || 0, club?.original || 0, promoCode?.original || 0)) || price;\n\n boards.push({\n cancellationId: cancellation.id,\n rateId,\n // rate info\n included: [...new Set(Object.values(included).flat())].slice(0, 3),\n paymentConditions,\n restrictions,\n // board info\n basePrice: normalizePrice(totalPriceOriginal, currency),\n name,\n dayPrice: getPrice({ currency, hotelCurrency, price: taxes ? withTaxesAvgPrice : originalAvgPrice }),\n days: detail.map(\n ({\n dayStandardFormat: value,\n offerId: deal,\n priceWithoutTaxes: basePrice,\n priceWithTaxes: price,\n } = {}) => ({\n deal,\n price: getPrice({ currency, hotelCurrency, price: taxes ? price : basePrice }),\n value,\n }),\n ),\n deals,\n discount: parseDiscount({\n currency,\n hotelCurrency,\n ...discounts,\n originalPrice,\n taxes,\n totalPrice: price,\n }),\n id,\n originalPrice: getPrice({ currency, hotelCurrency, price: originalPrice }),\n price: getPrice({ currency, hotelCurrency, price: price + (taxes ? localTaxes : 0) }),\n taxes: !taxes\n ? getPrice({ currency, hotelCurrency, price: totalPrice - totalPriceOriginal + localTaxes })\n : undefined,\n });\n },\n );\n },\n );\n\n return { ...getIncrements({ cancellations, rates, boards }) };\n};\n"],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseExternalToken = void 0;
7
+ var _dataSources = require("@mirai/data-sources");
8
+ const JWT = '_jwt';
9
+ const parseExternalToken = function () {
10
+ var _JSON$parse;
11
+ let {
12
+ uid
13
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
14
+ const cookie = (0, _dataSources.getCookie)(JWT);
15
+ let result;
16
+ if (((cookie === null || cookie === void 0 ? void 0 : cookie.match(/\./g)) || []).length !== 2) result = {
17
+ uid
18
+ };else result = {
19
+ uid: ((_JSON$parse = JSON.parse(window.atob(cookie.slice(cookie.indexOf('.') + 1, cookie.lastIndexOf('.'))))) === null || _JSON$parse === void 0 ? void 0 : _JSON$parse.sub) || uid
20
+ };
21
+ return result;
22
+ };
23
+ exports.parseExternalToken = parseExternalToken;
24
+ //# sourceMappingURL=parseExternalToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseExternalToken.js","names":["_dataSources","require","JWT","parseExternalToken","_JSON$parse","uid","arguments","length","undefined","cookie","getCookie","result","match","JSON","parse","window","atob","slice","indexOf","lastIndexOf","sub","exports"],"sources":["../../../../src/services/Rates/helpers/parseExternalToken.js"],"sourcesContent":["import { getCookie } from '@mirai/data-sources';\n\nconst JWT = '_jwt';\n\nexport const parseExternalToken = ({ uid } = {}) => {\n const cookie = getCookie(JWT);\n let result;\n\n if ((cookie?.match(/\\./g) || []).length !== 2) result = { uid };\n else\n result = {\n uid: JSON.parse(window.atob(cookie.slice(cookie.indexOf('.') + 1, cookie.lastIndexOf('.'))))?.sub || uid,\n };\n\n return result;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,GAAG,GAAG,MAAM;AAEX,MAAMC,kBAAkB,GAAG,SAAAA,CAAA,EAAkB;EAAA,IAAAC,WAAA;EAAA,IAAjB;IAAEC;EAAI,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC7C,MAAMG,MAAM,GAAG,IAAAC,sBAAS,EAACR,GAAG,CAAC;EAC7B,IAAIS,MAAM;EAEV,IAAI,CAAC,CAAAF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEG,KAAK,CAAC,KAAK,CAAC,KAAI,EAAE,EAAEL,MAAM,KAAK,CAAC,EAAEI,MAAM,GAAG;IAAEN;EAAI,CAAC,CAAC,KAE9DM,MAAM,GAAG;IACPN,GAAG,EAAE,EAAAD,WAAA,GAAAS,IAAI,CAACC,KAAK,CAACC,MAAM,CAACC,IAAI,CAACP,MAAM,CAACQ,KAAK,CAACR,MAAM,CAACS,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAET,MAAM,CAACU,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAAf,WAAA,uBAAvFA,WAAA,CAAyFgB,GAAG,KAAIf;EACvG,CAAC;EAEH,OAAOM,MAAM;AACf,CAAC;AAACU,OAAA,CAAAlB,kBAAA,GAAAA,kBAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.3.60",
3
+ "version": "0.3.61",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",
@@ -29,6 +29,7 @@ body {
29
29
  .header,
30
30
  .footer {
31
31
  width: 100vw;
32
+ z-index: 0;
32
33
  }
33
34
 
34
35
  .header {
@@ -70,6 +71,10 @@ body {
70
71
  gap: var(--mirai-ui-space-L);
71
72
  }
72
73
 
74
+ .children > * {
75
+ z-index: 1;
76
+ }
77
+
73
78
  .footer {
74
79
  background-color: var(--mirai-ui-content);
75
80
  }
@@ -13,6 +13,9 @@
13
13
  /* palette */
14
14
  --mirai-ui-accent: #c5a880;
15
15
 
16
+ /* border */
17
+ --mirai-ui-border-radius: var(--mirai-ui-space-XS);
18
+
16
19
  /* Button */
17
20
  --mirai-ui-button-font-weight: 600;
18
21
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"Rates.Filter.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_Rates","style","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Filter","_ref","dataSource","items","value","onChange","onCurrency","isMobile","useDevice","translate","useLocale","club","discount","name","currency","locale","useStore","handleChange","board","clubDiscount","arguments","length","undefined","next","Boards","selectedBoard","boards","createElement","InputSelect","emptyOption","L10N","LABEL_SELECT_TYPE_ACCOMMODATION","options","className","input","Fragment","map","Pressable","key","onPress","tag","pressable","active","Text","action","bold","Currencies","View","position","currencyValue","CURRENCIES","concat","Intl","DisplayNames","type","of","values","selectCurrencies","Set","_ref2","rates","_ref3","boardName","flat","hasBoards","row","filter","fields","wide","LABEL_CLUB_DISCOUNT","Tooltip","Template","small","LABEL_CLUB_MEMBERS_EXCLUSIVE","LABEL_CLUB_BENEFITS","Icon","ICON","INFO","Switch","checked","nextValue","exports","propTypes","PropTypes","shape","string","bool","func","displayName"],"sources":["../../../src/components/Rates/Rates.Filter.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { CURRENCIES, useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Icon, ICON, InputSelect, Pressable, Switch, Text, Tooltip, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\n\nconst Filter = ({ dataSource: { items = [] } = {}, value = {}, onChange = () => {}, onCurrency = () => {} }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const { value: { club: { discount, name } = {}, currency, locale } = {} } = useStore();\n\n const handleChange = ({ board, clubDiscount } = {}) => {\n const next = { ...value };\n\n if (board !== undefined) next.board = value.board === board ? undefined : board;\n else if (clubDiscount !== undefined) next.clubDiscount = clubDiscount;\n\n onChange(next);\n };\n\n const Boards = () => {\n const { board: selectedBoard } = value;\n\n return isMobile || boards.length > 3 ? (\n <InputSelect\n name=\"boards\"\n emptyOption={translate(L10N.LABEL_SELECT_TYPE_ACCOMMODATION)}\n options={boards}\n value={selectedBoard}\n onChange={(board) => handleChange({ board })}\n className={style.input}\n />\n ) : (\n <>\n {boards.map((board) => (\n <Pressable\n key={board}\n onPress={() => handleChange({ board })}\n className={[style.tag, style.pressable, board === selectedBoard && style.active]}\n >\n <Text action bold={board === selectedBoard}>\n {board}\n </Text>\n </Pressable>\n ))}\n </>\n );\n };\n\n const Currencies = () => (\n <View style={{ position: 'relative' }}>\n <Text className={style.currencyValue}>{currency}</Text>\n <InputSelect\n name=\"currency\"\n options={CURRENCIES.map(\n (currency) => `${currency} - ${new Intl.DisplayNames(locale, { type: 'currency' }).of(currency)}`,\n )}\n values={CURRENCIES}\n value={currency}\n onChange={onCurrency}\n className={[style.input, style.selectCurrencies]}\n />\n </View>\n );\n\n const { clubDiscount = false } = value;\n const boards = [...new Set(items.map(({ rates = [] }) => rates.map(({ boardName: name }) => name)).flat())];\n const hasBoards = boards.length >= 2;\n\n return (\n <View row={!isMobile} className={style.filter}>\n <View row className={style.fields}>\n {hasBoards && <Boards />}\n {isMobile && hasBoards && <Currencies />}\n </View>\n\n <View row className={style.fields}>\n {discount !== undefined && (\n <View row wide={isMobile} className={[style.tag, clubDiscount && style.active]}>\n <View row className={style.clubDiscount}>\n <Text action bold={clubDiscount}>\n {translate(L10N.LABEL_CLUB_DISCOUNT)}\n </Text>\n <Tooltip\n pressable\n Template={() => (\n <>\n <Text bold small>\n {translate(L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE, { club: name })}\n </Text>\n <Text small>{translate(L10N.LABEL_CLUB_BENEFITS)}</Text>\n </>\n )}\n >\n <Icon value={ICON.INFO} />\n </Tooltip>\n </View>\n\n <Switch\n checked={clubDiscount}\n name=\"clubDiscount\"\n onChange={(nextValue) => handleChange({ clubDiscount: nextValue })}\n className={style.input}\n />\n </View>\n )}\n {(!isMobile || !hasBoards) && <Currencies />}\n </View>\n </View>\n );\n};\n\nFilter.propTypes = {\n dataSource: PropTypes.shape({}),\n value: PropTypes.shape({\n board: PropTypes.string,\n clubDiscount: PropTypes.bool,\n }),\n onChange: PropTypes.func,\n onCurrency: PropTypes.func,\n};\n\nFilter.displayName = 'Mirai:Core:Rates.Filter';\n\nexport { Filter };\n"],"mappings":"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"}