@mirai/core 0.4.243 → 0.4.245

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 (119) hide show
  1. package/build/Core.js +0 -8
  2. package/build/Core.js.map +1 -1
  3. package/build/components/Chat/Chat.constants.js +6 -3
  4. package/build/components/Chat/Chat.constants.js.map +1 -1
  5. package/build/components/Chat/Chat.js +48 -34
  6. package/build/components/Chat/Chat.js.map +1 -1
  7. package/build/components/Chat/Chat.l10n.js +2 -20
  8. package/build/components/Chat/Chat.l10n.js.map +1 -1
  9. package/build/components/Chat/Chat.module.css +14 -189
  10. package/build/components/Chat/components/Avatar/Avatar.module.css +3 -2
  11. package/build/components/Chat/{Chat.ButtonAvatar.js → components/ButtonDispatcher/ButtonDispatcher.js} +21 -18
  12. package/build/components/Chat/components/ButtonDispatcher/ButtonDispatcher.js.map +1 -0
  13. package/build/components/Chat/components/ButtonDispatcher/ButtonDispatcher.l10n.js +15 -0
  14. package/build/components/Chat/components/ButtonDispatcher/ButtonDispatcher.l10n.js.map +1 -0
  15. package/build/components/Chat/components/ButtonDispatcher/ButtonDispatcher.module.css +134 -0
  16. package/build/components/Chat/components/ButtonDispatcher/index.js +17 -0
  17. package/build/components/Chat/components/ButtonDispatcher/index.js.map +1 -0
  18. package/build/components/Chat/components/Header/Header.js +72 -0
  19. package/build/components/Chat/components/Header/Header.js.map +1 -0
  20. package/build/components/Chat/components/Header/Header.l10n.js +15 -0
  21. package/build/components/Chat/components/Header/Header.l10n.js.map +1 -0
  22. package/build/components/Chat/components/Header/Header.module.css +15 -0
  23. package/build/components/Chat/components/{InputRich → Header}/index.js +4 -4
  24. package/build/components/Chat/components/Header/index.js.map +1 -0
  25. package/build/components/Chat/components/Input/Input.Context.js +75 -0
  26. package/build/components/Chat/components/Input/Input.Context.js.map +1 -0
  27. package/build/components/Chat/components/Input/Input.js +42 -17
  28. package/build/components/Chat/components/Input/Input.js.map +1 -1
  29. package/build/components/Chat/components/Input/Input.module.css +46 -9
  30. package/build/components/Chat/components/Message/Message.Action.js +8 -65
  31. package/build/components/Chat/components/Message/Message.Action.js.map +1 -1
  32. package/build/components/Chat/components/Message/Message.Requirement.js +141 -0
  33. package/build/components/Chat/components/Message/Message.Requirement.js.map +1 -0
  34. package/build/components/Chat/components/Message/Message.constants.js +18 -2
  35. package/build/components/Chat/components/Message/Message.constants.js.map +1 -1
  36. package/build/components/Chat/components/Message/Message.js +35 -30
  37. package/build/components/Chat/components/Message/Message.js.map +1 -1
  38. package/build/components/Chat/components/{InputRich/InputRich.l10n.js → Message/Message.l10n.js} +4 -1
  39. package/build/components/Chat/components/Message/Message.l10n.js.map +1 -0
  40. package/build/components/Chat/components/Message/Message.module.css +66 -49
  41. package/build/components/Chat/components/Message/components/Card.js +8 -6
  42. package/build/components/Chat/components/Message/components/Card.js.map +1 -1
  43. package/build/components/Chat/components/Message/components/Card.module.css +25 -15
  44. package/build/components/Chat/components/Message/components/Environment.js +2 -3
  45. package/build/components/Chat/components/Message/components/Environment.js.map +1 -1
  46. package/build/components/Chat/components/Message/components/Environment.module.css +11 -5
  47. package/build/components/Chat/components/{InputRich/InputRich.List.js → Message/components/List/List.js} +2 -2
  48. package/build/components/Chat/components/Message/components/List/List.js.map +1 -0
  49. package/build/components/Chat/components/Message/components/List/List.module.css +44 -0
  50. package/build/components/Chat/components/Message/components/List/helpers/getVerboseList.js.map +1 -0
  51. package/build/components/Chat/components/{InputRich → Message/components/List}/helpers/index.js +0 -11
  52. package/build/components/Chat/components/Message/components/List/helpers/index.js.map +1 -0
  53. package/build/components/Chat/components/Message/components/List/index.js +17 -0
  54. package/build/components/Chat/components/Message/components/List/index.js.map +1 -0
  55. package/build/components/Chat/components/Message/components/Typewriter/Typewriter.js +74 -0
  56. package/build/components/Chat/components/Message/components/Typewriter/Typewriter.js.map +1 -0
  57. package/build/components/Chat/components/Message/components/Typewriter/Typewriter.module.css +17 -0
  58. package/build/components/Chat/components/Message/components/Typewriter/index.js +17 -0
  59. package/build/components/Chat/components/Message/components/Typewriter/index.js.map +1 -0
  60. package/build/components/Chat/components/Message/components/index.js +22 -0
  61. package/build/components/Chat/components/Message/components/index.js.map +1 -1
  62. package/build/components/Chat/components/Message/intents/BookingQuery.js +1 -3
  63. package/build/components/Chat/components/Message/intents/BookingQuery.js.map +1 -1
  64. package/build/components/Chat/components/Message/intents/HotelInfo.js +3 -4
  65. package/build/components/Chat/components/Message/intents/HotelInfo.js.map +1 -1
  66. package/build/components/Chat/components/Message/intents/Login/Login.js +123 -0
  67. package/build/components/Chat/components/Message/intents/Login/Login.js.map +1 -0
  68. package/build/components/Chat/components/Message/intents/Login/Login.l10n.js +24 -0
  69. package/build/components/Chat/components/Message/intents/Login/Login.l10n.js.map +1 -0
  70. package/build/components/Chat/components/Message/intents/Login/Login.module.css +12 -0
  71. package/build/components/Chat/components/Message/intents/Login/index.js +17 -0
  72. package/build/components/Chat/components/Message/intents/Login/index.js.map +1 -0
  73. package/build/components/Chat/components/Message/intents/index.js +11 -0
  74. package/build/components/Chat/components/Message/intents/index.js.map +1 -1
  75. package/build/components/Chat/components/Welcome/Welcome.constants.js +17 -0
  76. package/build/components/Chat/components/Welcome/Welcome.constants.js.map +1 -0
  77. package/build/components/Chat/components/Welcome/Welcome.js +128 -0
  78. package/build/components/Chat/components/Welcome/Welcome.js.map +1 -0
  79. package/build/components/Chat/components/Welcome/Welcome.l10n.js +15 -0
  80. package/build/components/Chat/components/Welcome/Welcome.l10n.js.map +1 -0
  81. package/build/components/Chat/components/Welcome/Welcome.module.css +127 -0
  82. package/build/components/Chat/components/Welcome/index.js +17 -0
  83. package/build/components/Chat/components/Welcome/index.js.map +1 -0
  84. package/build/components/Chat/components/index.js +30 -8
  85. package/build/components/Chat/components/index.js.map +1 -1
  86. package/build/components/Checkout/helpers/getFieldProps.js +3 -2
  87. package/build/components/Checkout/helpers/getFieldProps.js.map +1 -1
  88. package/build/components/Checkout/partials/Checkout.Form.js +3 -0
  89. package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
  90. package/build/components/Signup/Signup.js +9 -3
  91. package/build/components/Signup/Signup.js.map +1 -1
  92. package/build/components/__shared__/Footer/Footer.js +3 -1
  93. package/build/components/__shared__/Footer/Footer.js.map +1 -1
  94. package/build/components/helpers/ICON.js +6 -2
  95. package/build/components/helpers/ICON.js.map +1 -1
  96. package/build/helpers/getClub.js +1 -6
  97. package/build/helpers/getClub.js.map +1 -1
  98. package/build/helpers/index.js +0 -11
  99. package/build/helpers/index.js.map +1 -1
  100. package/build/theme.css +13 -28
  101. package/package.json +1 -1
  102. package/build/components/Chat/Chat.ButtonAvatar.js.map +0 -1
  103. package/build/components/Chat/Chat.Header.js +0 -144
  104. package/build/components/Chat/Chat.Header.js.map +0 -1
  105. package/build/components/Chat/components/InputRich/InputRich.List.js.map +0 -1
  106. package/build/components/Chat/components/InputRich/InputRich.js +0 -179
  107. package/build/components/Chat/components/InputRich/InputRich.js.map +0 -1
  108. package/build/components/Chat/components/InputRich/InputRich.l10n.js.map +0 -1
  109. package/build/components/Chat/components/InputRich/InputRich.module.css +0 -109
  110. package/build/components/Chat/components/InputRich/helpers/getVerboseList.js.map +0 -1
  111. package/build/components/Chat/components/InputRich/helpers/getVerboseOccupation.js +0 -27
  112. package/build/components/Chat/components/InputRich/helpers/getVerboseOccupation.js.map +0 -1
  113. package/build/components/Chat/components/InputRich/helpers/index.js.map +0 -1
  114. package/build/components/Chat/components/InputRich/index.js.map +0 -1
  115. package/build/components/Chat/components/Message/components/Typewriter.js +0 -47
  116. package/build/components/Chat/components/Message/components/Typewriter.js.map +0 -1
  117. package/build/helpers/getClubUrl.js +0 -26
  118. package/build/helpers/getClubUrl.js.map +0 -1
  119. /package/build/components/Chat/components/{InputRich → Message/components/List}/helpers/getVerboseList.js +0 -0
@@ -3,14 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _InputRich = require("./InputRich");
7
- Object.keys(_InputRich).forEach(function (key) {
6
+ var _Header = require("./Header");
7
+ Object.keys(_Header).forEach(function (key) {
8
8
  if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _InputRich[key]) return;
9
+ if (key in exports && exports[key] === _Header[key]) return;
10
10
  Object.defineProperty(exports, key, {
11
11
  enumerable: true,
12
12
  get: function () {
13
- return _InputRich[key];
13
+ return _Header[key];
14
14
  }
15
15
  });
16
16
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_Header","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../../src/components/Chat/components/Header/index.js"],"sourcesContent":["export * from './Header';\n"],"mappings":";;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Context = void 0;
7
+ var _locale = require("@mirai/locale");
8
+ var _ui = require("@mirai/ui");
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var style = _interopRequireWildcard(require("./Input.module.css"));
12
+ var _helpers = require("../../../helpers");
13
+ 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); }
14
+ 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; }
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ 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); }
17
+ const ICON_PROPS = {
18
+ className: style.icon
19
+ };
20
+ const TEXT_PROPS = {
21
+ action: true,
22
+ medium: true
23
+ };
24
+ const Context = _ref => {
25
+ let {
26
+ dates: [checkin, checkout] = [],
27
+ id,
28
+ occupation: [occupation = []] = []
29
+ } = _ref;
30
+ const {
31
+ isMobile
32
+ } = (0, _ui.useDevice)();
33
+ const {
34
+ dateFormat
35
+ } = (0, _locale.useLocale)();
36
+ const dateFormatCompact = {
37
+ day: 'numeric',
38
+ month: 'short',
39
+ weekday: !isMobile ? 'short' : undefined
40
+ };
41
+ const hasDates = !!checkin;
42
+ const hasOccupation = occupation.length > 0;
43
+ return id || hasDates || hasOccupation ? /*#__PURE__*/_react.default.createElement(_ui.View, {
44
+ row: true,
45
+ className: style.context
46
+ }, id && /*#__PURE__*/_react.default.createElement(_ui.View, {
47
+ row: true,
48
+ className: style.field
49
+ }, /*#__PURE__*/_react.default.createElement(_ui.Icon, _extends({}, ICON_PROPS, {
50
+ value: _helpers.ICON.ASSIGNMENT
51
+ })), /*#__PURE__*/_react.default.createElement(_ui.Text, TEXT_PROPS, id)), hasDates && /*#__PURE__*/_react.default.createElement(_ui.View, {
52
+ row: true,
53
+ className: style.field
54
+ }, /*#__PURE__*/_react.default.createElement(_ui.Icon, _extends({}, ICON_PROPS, {
55
+ value: _helpers.ICON.CALENDAR
56
+ })), /*#__PURE__*/_react.default.createElement(_ui.Text, TEXT_PROPS, dateFormat((0, _locale.parseDate)(checkin), dateFormatCompact)), checkout && /*#__PURE__*/_react.default.createElement(_ui.Text, TEXT_PROPS, " \u2014 ".concat(dateFormat((0, _locale.parseDate)(checkout), dateFormatCompact)))), hasOccupation && /*#__PURE__*/_react.default.createElement(_ui.View, {
57
+ row: true,
58
+ className: style.field
59
+ }, /*#__PURE__*/_react.default.createElement(_ui.Icon, _extends({}, ICON_PROPS, {
60
+ value: _helpers.ICON.PEOPLE
61
+ })), /*#__PURE__*/_react.default.createElement(_ui.Text, TEXT_PROPS, occupation.map(function () {
62
+ let {
63
+ amount,
64
+ ages = []
65
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
66
+ return amount || ages.length;
67
+ }).join(' + ')))) : null;
68
+ };
69
+ exports.Context = Context;
70
+ Context.propTypes = {
71
+ dates: _propTypes.default.arrayOf(_propTypes.default.string),
72
+ id: _propTypes.default.string,
73
+ occupation: _propTypes.default.arrayOf(_propTypes.default.any)
74
+ };
75
+ //# sourceMappingURL=Input.Context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.Context.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","ICON_PROPS","className","icon","TEXT_PROPS","action","medium","Context","_ref","dates","checkin","checkout","id","occupation","isMobile","useDevice","dateFormat","useLocale","dateFormatCompact","day","month","weekday","undefined","hasDates","hasOccupation","createElement","View","row","context","field","Icon","value","ICON","ASSIGNMENT","Text","CALENDAR","parseDate","concat","PEOPLE","map","amount","ages","join","exports","propTypes","PropTypes","arrayOf","string","any"],"sources":["../../../../../src/components/Chat/components/Input/Input.Context.jsx"],"sourcesContent":["import { parseDate, useLocale } from '@mirai/locale';\nimport { Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './Input.module.css';\nimport { ICON } from '../../../helpers';\n\nconst ICON_PROPS = { className: style.icon };\nconst TEXT_PROPS = { action: true, medium: true };\n\nconst Context = ({ dates: [checkin, checkout] = [], id, occupation: [occupation = []] = [] }) => {\n const { isMobile } = useDevice();\n const { dateFormat } = useLocale();\n\n const dateFormatCompact = { day: 'numeric', month: 'short', weekday: !isMobile ? 'short' : undefined };\n const hasDates = !!checkin;\n const hasOccupation = occupation.length > 0;\n\n return id || hasDates || hasOccupation ? (\n <View row className={style.context}>\n {id && (\n <View row className={style.field}>\n <Icon {...ICON_PROPS} value={ICON.ASSIGNMENT} />\n <Text {...TEXT_PROPS}>{id}</Text>\n </View>\n )}\n\n {hasDates && (\n <View row className={style.field}>\n <Icon {...ICON_PROPS} value={ICON.CALENDAR} />\n <Text {...TEXT_PROPS}>{dateFormat(parseDate(checkin), dateFormatCompact)}</Text>\n {checkout && <Text {...TEXT_PROPS}>{` — ${dateFormat(parseDate(checkout), dateFormatCompact)}`}</Text>}\n </View>\n )}\n\n {hasOccupation && (\n <View row className={style.field}>\n <Icon {...ICON_PROPS} value={ICON.PEOPLE} />\n <Text {...TEXT_PROPS}>\n {occupation.map(({ amount, ages = [] } = {}) => amount || ages.length).join(' + ')}\n </Text>\n </View>\n )}\n </View>\n ) : null;\n};\n\nContext.propTypes = {\n dates: PropTypes.arrayOf(PropTypes.string),\n id: PropTypes.string,\n occupation: PropTypes.arrayOf(PropTypes.any),\n};\n\nexport { Context };\n"],"mappings":"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"}
@@ -8,7 +8,8 @@ var _locale = require("@mirai/locale");
8
8
  var _ui = require("@mirai/ui");
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
- var _Input = require("./Input.l10n");
11
+ var _Input = require("./Input.Context");
12
+ var _Input2 = require("./Input.l10n");
12
13
  var style = _interopRequireWildcard(require("./Input.module.css"));
13
14
  var _helpers = require("../../../helpers");
14
15
  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); }
@@ -18,15 +19,29 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
18
19
  const Input = _ref => {
19
20
  let {
20
21
  disabled = false,
22
+ form = {},
23
+ value: propValue,
21
24
  onValue = () => {},
22
25
  ...others
23
26
  } = _ref;
27
+ const {
28
+ isDesktop
29
+ } = (0, _ui.useDevice)();
24
30
  const {
25
31
  translate
26
32
  } = (0, _locale.useLocale)();
27
- const [value, setValue] = (0, _react.useState)();
28
- const handleChange = value => {
29
- setValue(value);
33
+ const inputRef = (0, _react.useRef)(null);
34
+ const [focus, setFocus] = (0, _react.useState)(false);
35
+ const [value, setValue] = (0, _react.useState)(propValue);
36
+ (0, _react.useEffect)(() => {
37
+ var _inputRef$current;
38
+ setValue(propValue);
39
+ if (!propValue) return;
40
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
41
+ setFocus(true);
42
+ }, [propValue]);
43
+ const handleChange = event => {
44
+ setValue(event.target.value);
30
45
  };
31
46
  const handleKeyPress = function () {
32
47
  let {
@@ -35,38 +50,48 @@ const Input = _ref => {
35
50
  if (key === 'Enter') handlePress();
36
51
  };
37
52
  const handlePress = () => {
53
+ setValue('');
38
54
  if (isEmpty) return;
39
55
  onValue(value);
40
- setValue();
41
56
  };
42
57
  const isEmpty = !value || value.trim().length === 0;
43
58
  return /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
44
59
  row: true,
45
- className: style.container
46
- }), /*#__PURE__*/_react.default.createElement(_ui.Input, {
47
- autoResize: true,
48
- multiLine: true,
60
+ className: (0, _ui.styles)(style.container, focus && style.focus, others.className)
61
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, {
62
+ wide: true
63
+ }, /*#__PURE__*/_react.default.createElement(_ui.Primitive, {
64
+ autoFocus: isDesktop,
49
65
  name: "input",
50
- placeholder: translate(_Input.L10N.LABEL_SEND_MESSAGE),
66
+ placeholder: translate(_Input2.L10N.LABEL_SEND_MESSAGE),
67
+ ref: inputRef,
68
+ tag: "textarea",
51
69
  value: value,
70
+ onBlur: () => setFocus(false),
52
71
  onChange: handleChange,
72
+ onFocus: () => setFocus(true),
53
73
  onKeyPress: handleKeyPress,
54
74
  className: style.input
55
- }), /*#__PURE__*/_react.default.createElement(_ui.Button, {
56
- disabled: disabled,
57
- small: true,
75
+ }), /*#__PURE__*/_react.default.createElement(_Input.Context, form)), /*#__PURE__*/_react.default.createElement(_ui.Button, {
76
+ disabled: disabled || !value,
58
77
  squared: true,
59
- tooltip: translate(_Input.L10N.ACTION_SEND),
60
- transparent: true,
61
- onPress: handlePress
78
+ tooltip: translate(_Input2.L10N.ACTION_SEND),
79
+ top: true,
80
+ onPress: handlePress,
81
+ className: style.button
62
82
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
63
83
  light: isEmpty,
64
- value: _helpers.ICON.SEND
84
+ value: _helpers.ICON.ARROW_UP
65
85
  })));
66
86
  };
67
87
  exports.Input = Input;
68
88
  Input.propTypes = {
69
89
  disabled: _propTypes.default.bool,
90
+ form: _propTypes.default.shape({
91
+ dates: _propTypes.default.arrayOf(_propTypes.default.string),
92
+ occupation: _propTypes.default.arrayOf(_propTypes.default.any)
93
+ }),
94
+ value: _propTypes.default.any,
70
95
  onValue: _propTypes.default.func
71
96
  };
72
97
  //# sourceMappingURL=Input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Input","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Input","_ref","disabled","onValue","others","translate","useLocale","value","setValue","useState","handleChange","handleKeyPress","undefined","handlePress","isEmpty","trim","createElement","View","row","className","container","autoResize","multiLine","name","placeholder","L10N","LABEL_SEND_MESSAGE","onChange","onKeyPress","input","Button","small","squared","tooltip","ACTION_SEND","transparent","onPress","Icon","light","ICON","SEND","exports","propTypes","PropTypes","bool","func"],"sources":["../../../../../src/components/Chat/components/Input/Input.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Button, Icon, Input as InputBase, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { L10N } from './Input.l10n';\nimport * as style from './Input.module.css';\nimport { ICON } from '../../../helpers';\n\nconst Input = ({ disabled = false, onValue = () => {}, ...others }) => {\n const { translate } = useLocale();\n\n const [value, setValue] = useState();\n\n const handleChange = (value) => {\n setValue(value);\n };\n\n const handleKeyPress = ({ key } = {}) => {\n if (key === 'Enter') handlePress();\n };\n\n const handlePress = () => {\n if (isEmpty) return;\n\n onValue(value);\n setValue();\n };\n\n const isEmpty = !value || value.trim().length === 0;\n\n return (\n <View {...others} row className={style.container}>\n <InputBase\n autoResize\n multiLine\n name=\"input\"\n placeholder={translate(L10N.LABEL_SEND_MESSAGE)}\n value={value}\n onChange={handleChange}\n onKeyPress={handleKeyPress}\n className={style.input}\n />\n\n <Button disabled={disabled} small squared tooltip={translate(L10N.ACTION_SEND)} transparent onPress={handlePress}>\n <Icon light={isEmpty} value={ICON.SEND} />\n </Button>\n </View>\n );\n};\n\nInput.propTypes = {\n disabled: PropTypes.bool,\n onValue: PropTypes.func,\n};\n\nexport { Input };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Input","_Input2","style","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Input","_ref","disabled","form","value","propValue","onValue","others","isDesktop","useDevice","translate","useLocale","inputRef","useRef","focus","setFocus","useState","setValue","useEffect","_inputRef$current","current","handleChange","event","handleKeyPress","undefined","handlePress","isEmpty","trim","createElement","View","row","className","styles","container","wide","Primitive","autoFocus","name","placeholder","L10N","LABEL_SEND_MESSAGE","ref","tag","onBlur","onChange","onFocus","onKeyPress","input","Context","Button","squared","tooltip","ACTION_SEND","top","onPress","button","Icon","light","ICON","ARROW_UP","exports","propTypes","PropTypes","bool","shape","dates","arrayOf","string","occupation","any","func"],"sources":["../../../../../src/components/Chat/components/Input/Input.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Button, Icon, Primitive, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Context } from './Input.Context';\nimport { L10N } from './Input.l10n';\nimport * as style from './Input.module.css';\nimport { ICON } from '../../../helpers';\n\nconst Input = ({ disabled = false, form = {}, value: propValue, onValue = () => {}, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const inputRef = useRef(null);\n\n const [focus, setFocus] = useState(false);\n const [value, setValue] = useState(propValue);\n\n useEffect(() => {\n setValue(propValue);\n if (!propValue) return;\n\n inputRef.current?.focus();\n setFocus(true);\n }, [propValue]);\n\n const handleChange = (event) => {\n setValue(event.target.value);\n };\n\n const handleKeyPress = ({ key } = {}) => {\n if (key === 'Enter') handlePress();\n };\n\n const handlePress = () => {\n setValue('');\n if (isEmpty) return;\n\n onValue(value);\n };\n\n const isEmpty = !value || value.trim().length === 0;\n\n return (\n <View {...others} row className={styles(style.container, focus && style.focus, others.className)}>\n <View wide>\n <Primitive\n autoFocus={isDesktop}\n name=\"input\"\n placeholder={translate(L10N.LABEL_SEND_MESSAGE)}\n ref={inputRef}\n tag=\"textarea\"\n value={value}\n onBlur={() => setFocus(false)}\n onChange={handleChange}\n onFocus={() => setFocus(true)}\n onKeyPress={handleKeyPress}\n className={style.input}\n />\n <Context {...form} />\n </View>\n\n <Button\n disabled={disabled || !value}\n squared\n tooltip={translate(L10N.ACTION_SEND)}\n top\n onPress={handlePress}\n className={style.button}\n >\n <Icon light={isEmpty} value={ICON.ARROW_UP} />\n </Button>\n </View>\n );\n};\n\nInput.propTypes = {\n disabled: PropTypes.bool,\n form: PropTypes.shape({\n dates: PropTypes.arrayOf(PropTypes.string),\n occupation: PropTypes.arrayOf(PropTypes.any),\n }),\n value: PropTypes.any,\n onValue: PropTypes.func,\n};\n\nexport { Input };\n"],"mappings":"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"}
@@ -1,27 +1,64 @@
1
1
  .container {
2
+ align-items: flex-end;
2
3
  background-color: var(--mirai-chat-input-background);
4
+ border: solid var(--mirai-chat-border-size) var(--mirai-chat-input-background);
3
5
  border-radius: var(--mirai-chat-border-radius);
4
- box-shadow: 0 0 0 var(--mirai-chat-border-size) var(--mirai-chat-input-border-color);
6
+ gap: calc(var(--mirai-chat-space) / 2);
5
7
  justify-content: center;
6
- margin: calc(var(--mirai-chat-space) * -1) var(--mirai-chat-space) var(--mirai-chat-space) var(--mirai-chat-space);
7
- padding-right: calc(var(--mirai-chat-space) / 2);
8
+ padding: calc(var(--mirai-chat-space) / 1);
8
9
  z-index: 0;
10
+ transition: border var(--mirai-ui-motion-expand) var(--mirai-ui-motion-easing);
11
+ }
12
+
13
+ .container.focus {
14
+ border-color: var(--mirai-chat-border-color);
9
15
  }
10
16
 
11
17
  .input {
18
+ align-self: center;
12
19
  background-color: transparent;
13
- color: var(--mirai-chat-text-color);
20
+ border: none;
21
+ box-sizing: border-box;
22
+ color: var(--mirai-ui-input-color);
23
+ font-family: var(--mirai-ui-input-font);
14
24
  font-size: var(--mirai-chat-text-font-size);
15
25
  font-weight: var(--mirai-chat-text-font-weight);
16
- height: calc(var(--mirai-chat-text-line-height) + calc(var(--mirai-chat-space) * 2));
17
26
  line-height: var(--mirai-chat-text-line-height);
18
- padding: var(--mirai-chat-space);
27
+ margin: 0;
28
+ outline: none;
29
+ text-align: var(--mirai-ui-text-align);
30
+ user-select: none;
31
+ width: 100%;
32
+ /* autoresize */
33
+ min-height: auto;
34
+ overflow-y: hidden;
35
+ resize: none;
19
36
  }
20
37
 
38
+ .input:disabled,
21
39
  .input::placeholder {
22
- color: var(--mirai-chat-text-color-light);
23
- font-weight: var(--mirai-ui-font-weight);
24
- opacity: 0.5;
40
+ color: var(--mirai-ui-input-disabled);
41
+ opacity: 0.66;
42
+ }
43
+
44
+ .button {
45
+ border-radius: 50%;
46
+ }
47
+
48
+ .context {
49
+ flex-wrap: wrap;
50
+ gap: 0 calc(var(--mirai-chat-space) / 2);
51
+ }
52
+
53
+ .context .field {
54
+ background-color: var(--mirai-chat-background);
55
+ border: solid var(--mirai-chat-border-size) var(--mirai-chat-border-color);
56
+ border-radius: calc(var(--mirai-chat-space) * 2);
57
+ padding: calc(var(--mirai-chat-space) / 2) calc(var(--mirai-chat-space) / 1);
58
+ }
59
+
60
+ .context .field .icon {
61
+ margin-right: calc(var(--mirai-chat-space) / 2);
25
62
  }
26
63
 
27
64
  @media screen and (max-width: 1024px) and (-webkit-min-device-pixel-ratio: 0) {
@@ -5,76 +5,36 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.Action = void 0;
7
7
  var _dataSources = require("@mirai/data-sources");
8
- var _locale = require("@mirai/locale");
9
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
9
  var _react = _interopRequireDefault(require("react"));
11
10
  var _components = require("./components");
12
11
  var _helpers = require("./helpers");
13
- var _helpers2 = require("../../../helpers");
14
- var _Chat = require("../../Chat.constants");
15
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
- const DATE_FORMAT = {
17
- weekday: 'short',
18
- month: 'short',
19
- day: 'numeric'
20
- };
21
-
22
13
  // ! TODO: Refacto use of intent/response vs lisa.intent/response
23
14
  const Action = _ref => {
24
15
  let {
16
+ caption,
25
17
  disabled,
26
18
  intent,
27
19
  image,
28
- requirement,
20
+ text,
29
21
  type,
30
22
  url,
31
23
  value,
32
24
  onPress,
33
- onResponse,
34
- ...props
25
+ onResponse
35
26
  } = _ref;
36
- const {
37
- dateFormat,
38
- translate
39
- } = (0, _locale.useLocale)();
40
27
  const {
41
28
  value: {
42
- hotel: {
43
- accommodationType
44
- } = {},
45
29
  lisa
46
- }
30
+ } = {}
47
31
  } = (0, _dataSources.useStore)();
48
32
  const handlePress = () => {
49
- if (intent) return onPress({
50
- intent,
51
- context: value,
52
- text
53
- });else if (requirement) {
54
- const {
33
+ if (intent) {
34
+ onPress({
55
35
  intent,
56
- response: {
57
- form = {},
58
- value: context = {}
59
- } = {}
60
- } = lisa;
61
- if (requirement.value) {
62
- onResponse({
63
- text,
64
- value: requirement.value
65
- });
66
- onPress({
67
- context,
68
- intent,
69
- form: {
70
- ...form,
71
- [requirement.name]: requirement.value
72
- },
73
- text
74
- });
75
- } else _dataSources.Event.publish(_Chat.EVENT.INPUT_COMPONENT, {
76
- requirement,
77
- onSubmit: onResponse
36
+ context: value,
37
+ text
78
38
  });
79
39
  } else if (type && value) {
80
40
  const {
@@ -106,16 +66,6 @@ const Action = _ref => {
106
66
  });
107
67
  }
108
68
  };
109
- const caption = type === 'occupation' ? value.rooms.map(_ref3 => {
110
- let {
111
- name
112
- } = _ref3;
113
- return name;
114
- }).join(' + ') : props.caption;
115
- const text = type === 'calendar' ? "".concat(dateFormat((0, _locale.parseDate)(value.from), DATE_FORMAT), " \u2014 ").concat(dateFormat((0, _locale.parseDate)(value.to), DATE_FORMAT)) : type === 'occupation' ? "".concat(value.rooms.length, " ").concat((0, _helpers2.getAccommodationLabel)({
116
- plural: value.rooms.length > 1,
117
- type: accommodationType
118
- }, translate)) : props.text;
119
69
  return /*#__PURE__*/_react.default.createElement(_components.Card, {
120
70
  caption,
121
71
  disabled,
@@ -133,13 +83,6 @@ Action.propTypes = {
133
83
  disabled: _propTypes.default.bool,
134
84
  image: _propTypes.default.string,
135
85
  intent: _propTypes.default.string,
136
- requirement: _propTypes.default.shape({
137
- name: _propTypes.default.string,
138
- required: _propTypes.default.bool,
139
- text: _propTypes.default.string,
140
- type: _propTypes.default.oneOf(['calendar', 'list', 'occupation', 'offer', 'text']),
141
- value: _propTypes.default.any
142
- }),
143
86
  text: _propTypes.default.string,
144
87
  type: _propTypes.default.oneOf(['calendar', 'occupation', 'offer']),
145
88
  url: _propTypes.default.string,
@@ -1 +1 @@
1
- {"version":3,"file":"Message.Action.js","names":["_dataSources","require","_locale","_propTypes","_interopRequireDefault","_react","_components","_helpers","_helpers2","_Chat","obj","__esModule","default","DATE_FORMAT","weekday","month","day","Action","_ref","disabled","intent","image","requirement","type","url","value","onPress","onResponse","props","dateFormat","translate","useLocale","hotel","accommodationType","lisa","useStore","handlePress","context","text","response","form","name","Event","publish","EVENT","INPUT_COMPONENT","onSubmit","nextForm","dates","from","to","occupation","rooms","map","_ref2","offerId","caption","_ref3","join","concat","parseDate","length","getAccommodationLabel","plural","createElement","Card","href","icon","getActionIcon","option","undefined","exports","propTypes","PropTypes","string","bool","shape","required","oneOf","any","func"],"sources":["../../../../../src/components/Chat/components/Message/Message.Action.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Card } from './components';\nimport { getActionIcon } from './helpers';\nimport { getAccommodationLabel } from '../../../helpers';\nimport { EVENT } from '../../Chat.constants';\n\nconst DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\n// ! TODO: Refacto use of intent/response vs lisa.intent/response\nconst Action = ({ disabled, intent, image, requirement, type, url, value, onPress, onResponse, ...props }) => {\n const { dateFormat, translate } = useLocale();\n const {\n value: { hotel: { accommodationType } = {}, lisa },\n } = useStore();\n\n const handlePress = () => {\n if (intent) return onPress({ intent, context: value, text });\n else if (requirement) {\n const { intent, response: { form = {}, value: context = {} } = {} } = lisa;\n if (requirement.value) {\n onResponse({ text, value: requirement.value });\n onPress({\n context,\n intent,\n form: { ...form, [requirement.name]: requirement.value },\n text,\n });\n } else Event.publish(EVENT.INPUT_COMPONENT, { requirement, onSubmit: onResponse });\n } else if (type && value) {\n const { intent, response: { form = {}, value: context = {} } = {} } = lisa;\n\n const nextForm = { ...form };\n if (type === 'calendar') nextForm.dates = [value.from, value.to];\n else if (type === 'occupation') nextForm.occupation = value.rooms.map(({ occupation }) => occupation);\n else if (type === 'offer') nextForm.offerId = value;\n\n onResponse({ image, caption, text });\n onPress({ context, intent, form: nextForm, text });\n }\n };\n\n const caption = type === 'occupation' ? value.rooms.map(({ name }) => name).join(' + ') : props.caption;\n const text =\n type === 'calendar'\n ? `${dateFormat(parseDate(value.from), DATE_FORMAT)} — ${dateFormat(parseDate(value.to), DATE_FORMAT)}`\n : type === 'occupation'\n ? `${value.rooms.length} ${getAccommodationLabel(\n { plural: value.rooms.length > 1, type: accommodationType },\n translate,\n )}`\n : props.text;\n\n return (\n <Card\n {...{ caption, disabled, image, text }}\n href={url}\n icon={getActionIcon(url)}\n option={!image && !disabled && !url}\n onPress={!disabled ? handlePress : undefined}\n />\n );\n};\n\nAction.propTypes = {\n caption: PropTypes.string,\n disabled: PropTypes.bool,\n image: PropTypes.string,\n intent: PropTypes.string,\n requirement: PropTypes.shape({\n name: PropTypes.string,\n required: PropTypes.bool,\n text: PropTypes.string,\n type: PropTypes.oneOf(['calendar', 'list', 'occupation', 'offer', 'text']),\n value: PropTypes.any,\n }),\n text: PropTypes.string,\n type: PropTypes.oneOf(['calendar', 'occupation', 'offer']),\n url: PropTypes.string,\n value: PropTypes.any,\n onPress: PropTypes.func,\n onResponse: PropTypes.func,\n};\n\nexport { Action };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Message.Action.js","names":["_dataSources","require","_propTypes","_interopRequireDefault","_react","_components","_helpers","obj","__esModule","default","Action","_ref","caption","disabled","intent","image","text","type","url","value","onPress","onResponse","lisa","useStore","handlePress","context","response","form","nextForm","dates","from","to","occupation","rooms","map","_ref2","offerId","createElement","Card","href","icon","getActionIcon","option","undefined","exports","propTypes","PropTypes","string","bool","oneOf","any","func"],"sources":["../../../../../src/components/Chat/components/Message/Message.Action.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { Card } from './components';\nimport { getActionIcon } from './helpers';\n\n// ! TODO: Refacto use of intent/response vs lisa.intent/response\nconst Action = ({ caption, disabled, intent, image, text, type, url, value, onPress, onResponse }) => {\n const { value: { lisa } = {} } = useStore();\n\n const handlePress = () => {\n if (intent) {\n onPress({ intent, context: value, text });\n } else if (type && value) {\n const { intent, response: { form = {}, value: context = {} } = {} } = lisa;\n\n const nextForm = { ...form };\n if (type === 'calendar') nextForm.dates = [value.from, value.to];\n else if (type === 'occupation') nextForm.occupation = value.rooms.map(({ occupation }) => occupation);\n else if (type === 'offer') nextForm.offerId = value;\n\n onResponse({ image, caption, text });\n onPress({ context, intent, form: nextForm, text });\n }\n };\n\n return (\n <Card\n {...{ caption, disabled, image, text }}\n href={url}\n icon={getActionIcon(url)}\n option={!image && !disabled && !url}\n onPress={!disabled ? handlePress : undefined}\n />\n );\n};\n\nAction.propTypes = {\n caption: PropTypes.string,\n disabled: PropTypes.bool,\n image: PropTypes.string,\n intent: PropTypes.string,\n text: PropTypes.string,\n type: PropTypes.oneOf(['calendar', 'occupation', 'offer']),\n url: PropTypes.string,\n value: PropTypes.any,\n onPress: PropTypes.func,\n onResponse: PropTypes.func,\n};\n\nexport { Action };\n"],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Requirement = void 0;
7
+ var _dataSources = require("@mirai/data-sources");
8
+ var _locale = require("@mirai/locale");
9
+ var _ui = require("@mirai/ui");
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _components = require("./components");
13
+ var _Message = require("./Message.constants");
14
+ var _Message2 = require("./Message.l10n");
15
+ var style = _interopRequireWildcard(require("./Message.module.css"));
16
+ var _helpers = require("../../../helpers");
17
+ 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); }
18
+ 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; }
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+ 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); }
21
+ const Requirement = _ref => {
22
+ let {
23
+ disabled = false,
24
+ requirement: {
25
+ defaultValue,
26
+ name,
27
+ required,
28
+ type,
29
+ ...component
30
+ } = {},
31
+ onResponse = () => {},
32
+ onRetry = () => {},
33
+ onSubmit = () => {},
34
+ ...others
35
+ } = _ref;
36
+ const {
37
+ dateFormat,
38
+ translate
39
+ } = (0, _locale.useLocale)();
40
+ const {
41
+ value: {
42
+ lisa,
43
+ locale
44
+ } = {}
45
+ } = (0, _dataSources.useStore)();
46
+ const [value, setValue] = (0, _react.useState)();
47
+ const [valid, setValid] = (0, _react.useState)();
48
+ (0, _react.useEffect)(() => {
49
+ if (type !== 'login') return;
50
+ _dataSources.Event.subscribe(_helpers.EVENT.LOGGED, onRetry);
51
+ return () => _dataSources.Event.unsubscribe(_helpers.EVENT.LOGGED, onRetry);
52
+ }, [onRetry, type]);
53
+ const is = {
54
+ calendar: type === 'calendar',
55
+ list: type === 'list',
56
+ login: type === 'login',
57
+ occupation: type === 'occupation',
58
+ promocode: name === 'promocode',
59
+ signup: type === 'signup',
60
+ text: _Message.INPUT_TEXT_TYPES.includes(type)
61
+ };
62
+ const handleChange = value => {
63
+ let next = value;
64
+ if (is.calendar) {
65
+ const [from, to] = value || [];
66
+ const format = 'DD/MM/YYYY';
67
+ next = [from ? dateFormat(from, {
68
+ format
69
+ }) : undefined, to ? dateFormat(to, {
70
+ format
71
+ }) : undefined];
72
+ setValid(!!from && !!to);
73
+ }
74
+ setValue(next);
75
+ };
76
+ const handleKeyPress = event => {
77
+ if (event.key === _Message.KEY_ENTER) handleSubmit();
78
+ };
79
+ const handleSubmit = () => {
80
+ const {
81
+ intent,
82
+ response: {
83
+ form = {},
84
+ value: context = {}
85
+ } = {}
86
+ } = lisa;
87
+ onSubmit({
88
+ intent,
89
+ context,
90
+ form: {
91
+ ...form,
92
+ [name]: is.text && !required && !value ? ' ' : value
93
+ }
94
+ });
95
+ if (is.text) onResponse({
96
+ text: value
97
+ });
98
+ };
99
+ return /*#__PURE__*/_react.default.createElement(_components.Card, _extends({}, others, {
100
+ disabled: disabled,
101
+ offset: false,
102
+ className: style.requirement
103
+ }), /*#__PURE__*/_react.default.createElement(_ui.View, {
104
+ className: (0, _ui.styles)(style.component, is.text && style.inputText, disabled && style.disabled)
105
+ }, /*#__PURE__*/_react.default.createElement(_Message.REQUIREMENT_COMPONENT[type] || _ui.InputText, {
106
+ ...component,
107
+ ...(is.calendar ? {
108
+ format: 'DD/MM/YYYY',
109
+ range: true
110
+ } : {}),
111
+ ...(is.login ? {
112
+ showSignup: false
113
+ } : {}),
114
+ hint: is.promocode ? translate(_Message2.L10N.LABEL_PROMOCODE_HINT) : undefined,
115
+ locale,
116
+ placeholder: is.text ? translate(_Message2.L10N.LABEL_TYPE_HERE) : undefined,
117
+ text: translate(_Message2.L10N.ACTION_CONTINUE),
118
+ value: value || defaultValue,
119
+ onChange: handleChange,
120
+ onError: errors => setValid(!errors),
121
+ onKeyPress: !disabled && is.text ? handleKeyPress : undefined,
122
+ onSubmit: !disabled ? handleSubmit : undefined,
123
+ onValid: () => setValid(true)
124
+ })), !is.occupation && !is.login && !is.signup && !disabled && /*#__PURE__*/_react.default.createElement(_ui.View, {
125
+ row: true,
126
+ wide: true,
127
+ className: style.footer
128
+ }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
129
+ disabled: disabled || required && !valid,
130
+ onPress: handleSubmit
131
+ }, translate(_Message2.L10N.ACTION_CONTINUE))));
132
+ };
133
+ exports.Requirement = Requirement;
134
+ Requirement.propTypes = {
135
+ disabled: _propTypes.default.bool,
136
+ requirement: _propTypes.default.shape({}),
137
+ onResponse: _propTypes.default.func,
138
+ onRetry: _propTypes.default.func,
139
+ onSubmit: _propTypes.default.func
140
+ };
141
+ //# sourceMappingURL=Message.Requirement.js.map