@telefonica/mistica 10.16.0 → 10.17.0

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 (48) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/credit-card-expiration-field.js +2 -7
  3. package/dist/credit-card-number-field.js +2 -2
  4. package/dist/cvv-field.js +2 -2
  5. package/dist/date-field.js +2 -2
  6. package/dist/date-time-field.js +2 -2
  7. package/dist/date-time-picker.js +2 -2
  8. package/dist/decimal-field.js +2 -7
  9. package/dist/email-field.js +2 -7
  10. package/dist/feedback.js +5 -8
  11. package/dist/iban-field.js +2 -7
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.js +7 -0
  14. package/dist/index.js.flow +1 -0
  15. package/dist/integer-field.js +2 -7
  16. package/dist/menu.js +34 -27
  17. package/dist/month-field.js +2 -2
  18. package/dist/package-version.js +1 -1
  19. package/dist/password-field.js +2 -2
  20. package/dist/phone-number-field.js +2 -7
  21. package/dist/search-field.js +2 -2
  22. package/dist/select.js +2 -2
  23. package/dist/text-field-base.d.ts +3 -2
  24. package/dist/text-field-base.js +8 -8
  25. package/dist/text-field-base.js.flow +6 -2
  26. package/dist/text-field.js +2 -7
  27. package/dist-es/credit-card-expiration-field.js +2 -2
  28. package/dist-es/credit-card-number-field.js +2 -2
  29. package/dist-es/cvv-field.js +2 -2
  30. package/dist-es/date-field.js +2 -2
  31. package/dist-es/date-time-field.js +2 -2
  32. package/dist-es/date-time-picker.js +2 -2
  33. package/dist-es/decimal-field.js +2 -2
  34. package/dist-es/email-field.js +2 -2
  35. package/dist-es/feedback.js +5 -8
  36. package/dist-es/iban-field.js +2 -2
  37. package/dist-es/index.js +1 -0
  38. package/dist-es/integer-field.js +2 -2
  39. package/dist-es/menu.js +35 -28
  40. package/dist-es/month-field.js +2 -2
  41. package/dist-es/package-version.js +1 -1
  42. package/dist-es/password-field.js +2 -2
  43. package/dist-es/phone-number-field.js +2 -2
  44. package/dist-es/search-field.js +2 -2
  45. package/dist-es/select.js +2 -2
  46. package/dist-es/text-field-base.js +7 -6
  47. package/dist-es/text-field.js +2 -2
  48. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ # [10.17.0](https://github.com/Telefonica/mistica-web/compare/v10.16.0...v10.17.0) (2022-01-18)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **Menu:** Menu component improvements ([#392](https://github.com/Telefonica/mistica-web/issues/392)) ([d8f1098](https://github.com/Telefonica/mistica-web/commit/d8f10988c7273da71645768c22d3a106dae0f15e))
7
+
8
+
9
+ ### Features
10
+
11
+ * **Feedback:** show info/error icons in vivo ([c60e3a3](https://github.com/Telefonica/mistica-web/commit/c60e3a391174f0f6ff6e40c5bd795f2f950b5d69))
12
+ * **TextFieldBase:** expose internal TextFieldBase component for advanced usage ([e917a99](https://github.com/Telefonica/mistica-web/commit/e917a99379d5f7fedddb0d5727cffd88af5a1d0f))
13
+
1
14
  # [10.16.0](https://github.com/Telefonica/mistica-web/compare/v10.15.0...v10.16.0) (2022-01-17)
2
15
 
3
16
 
@@ -7,12 +7,7 @@ var _jsxRuntime = require("react/jsx-runtime");
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _formContext = require("./form-context");
9
9
  var _hooks = require("./hooks");
10
- var _textFieldBase = _interopRequireDefault(require("./text-field-base"));
11
- function _interopRequireDefault(obj) {
12
- return obj && obj.__esModule ? obj : {
13
- default: obj
14
- };
15
- }
10
+ var _textFieldBase = require("./text-field-base");
16
11
  function _interopRequireWildcard(obj) {
17
12
  if (obj && obj.__esModule) {
18
13
  return obj;
@@ -243,7 +238,7 @@ var CreditCardExpirationField = function CreditCardExpirationField(_param) {
243
238
  onChange: onChange,
244
239
  onChangeValue: onChangeValue
245
240
  });
246
- return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.default, _objectSpread({
241
+ return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.TextFieldBaseAutosuggest, _objectSpread({
247
242
  }, rest, fieldProps, {
248
243
  onChange: function onChange(event) {
249
244
  fieldProps.onChange(event);
@@ -8,7 +8,7 @@ var React = _interopRequireWildcard(require("react"));
8
8
  var _formContext = require("./form-context");
9
9
  var _hooks = require("./hooks");
10
10
  var _creditCard = require("./utils/credit-card");
11
- var _textFieldBase = _interopRequireDefault(require("./text-field-base"));
11
+ var _textFieldBase = require("./text-field-base");
12
12
  var _iconCreditcard = _interopRequireDefault(require("./icons/icon-creditcard"));
13
13
  var _iconVisa = _interopRequireDefault(require("./icons/icon-visa"));
14
14
  var _iconMastercard = _interopRequireDefault(require("./icons/icon-mastercard"));
@@ -358,7 +358,7 @@ var CreditCardNumberField = function CreditCardNumberField(_param) {
358
358
  onChangeValue: onChangeValue
359
359
  });
360
360
  var ref2;
361
- return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.default, _objectSpread({
361
+ return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.TextFieldBaseAutosuggest, _objectSpread({
362
362
  }, rest, fieldProps, {
363
363
  onChange: function onChange(event) {
364
364
  fieldProps.onChange(event);
package/dist/cvv-field.js CHANGED
@@ -12,7 +12,7 @@ var _tooltip = _interopRequireDefault(require("./tooltip"));
12
12
  var _iconButton = _interopRequireDefault(require("./icon-button"));
13
13
  var _iconInfoCvv = _interopRequireDefault(require("./icons/icon-info-cvv"));
14
14
  var _formContext = require("./form-context");
15
- var _textFieldBase = _interopRequireDefault(require("./text-field-base"));
15
+ var _textFieldBase = require("./text-field-base");
16
16
  var _integerField = require("./integer-field");
17
17
  function _interopRequireDefault(obj) {
18
18
  return obj && obj.__esModule ? obj : {
@@ -178,7 +178,7 @@ var CvvField = function CvvField(_param) {
178
178
  onChange: onChange,
179
179
  onChangeValue: onChangeValue
180
180
  });
181
- return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.default, _objectSpread({
181
+ return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.TextFieldBaseAutosuggest, _objectSpread({
182
182
  }, rest, fieldProps, {
183
183
  maxLength: maxLength,
184
184
  onChange: function onChange(event) {
@@ -6,7 +6,7 @@ exports.default = void 0;
6
6
  var _jsxRuntime = require("react/jsx-runtime");
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _formContext = require("./form-context");
9
- var _textFieldBase = _interopRequireDefault(require("./text-field-base"));
9
+ var _textFieldBase = require("./text-field-base");
10
10
  var _dom = require("./utils/dom");
11
11
  var _environment = require("./utils/environment");
12
12
  var _iconCalendarRegular = _interopRequireDefault(require("./generated/mistica-icons/icon-calendar-regular"));
@@ -168,7 +168,7 @@ var DateField = function DateField(_param) {
168
168
  onChange: onChange,
169
169
  onChangeValue: onChangeValue
170
170
  });
171
- var nativePicker = /*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.default, _objectSpread({
171
+ var nativePicker = /*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.TextFieldBaseAutosuggest, _objectSpread({
172
172
  }, rest, fieldProps, {
173
173
  min: min ? (0, _time).getLocalDateString(min) : undefined,
174
174
  max: max ? (0, _time).getLocalDateString(max) : undefined,
@@ -6,7 +6,7 @@ exports.default = void 0;
6
6
  var _jsxRuntime = require("react/jsx-runtime");
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _formContext = require("./form-context");
9
- var _textFieldBase = _interopRequireDefault(require("./text-field-base"));
9
+ var _textFieldBase = require("./text-field-base");
10
10
  var _dom = require("./utils/dom");
11
11
  var _environment = require("./utils/environment");
12
12
  var _time = require("./utils/time");
@@ -169,7 +169,7 @@ var FormDateField = function FormDateField(_param) {
169
169
  onChange: onChange,
170
170
  onChangeValue: onChangeValue
171
171
  });
172
- var nativePicker = /*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.default, _objectSpread({
172
+ var nativePicker = /*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.TextFieldBaseAutosuggest, _objectSpread({
173
173
  }, rest, fieldProps, {
174
174
  min: min ? (0, _time).getLocalDateTimeString(min) : undefined,
175
175
  max: max ? (0, _time).getLocalDateTimeString(max) : undefined,
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  exports.default = void 0;
6
6
  var _jsxRuntime = require("react/jsx-runtime");
7
7
  var React = _interopRequireWildcard(require("react"));
8
- var _textFieldBase = _interopRequireDefault(require("./text-field-base"));
8
+ var _textFieldBase = require("./text-field-base");
9
9
  var _iconCalendarRegular = _interopRequireDefault(require("./generated/mistica-icons/icon-calendar-regular"));
10
10
  var _reactDatetime = _interopRequireDefault(require("react-datetime"));
11
11
  var _overlay = _interopRequireDefault(require("./overlay"));
@@ -408,7 +408,7 @@ var DateTimePicker = function DateTimePicker(_param) {
408
408
  };
409
409
  return(/*#__PURE__*/ (0, _jsxRuntime).jsxs(_jsxRuntime.Fragment, {
410
410
  children: [
411
- /*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.default, _objectSpread({
411
+ /*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.TextFieldBaseAutosuggest, _objectSpread({
412
412
  }, rest, {
413
413
  style: {
414
414
  cursor: 'default'
@@ -7,15 +7,10 @@ var _jsxRuntime = require("react/jsx-runtime");
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _formContext = require("./form-context");
9
9
  var _hooks = require("./hooks");
10
- var _textFieldBase = _interopRequireDefault(require("./text-field-base"));
10
+ var _textFieldBase = require("./text-field-base");
11
11
  var _dom = require("./utils/dom");
12
12
  var _rifm = require("rifm");
13
13
  var _common = require("./utils/common");
14
- function _interopRequireDefault(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
14
  function _interopRequireWildcard(obj) {
20
15
  if (obj && obj.__esModule) {
21
16
  return obj;
@@ -244,7 +239,7 @@ var DecimalField = function DecimalField(_param) {
244
239
  onChange: onChange,
245
240
  onChangeValue: onChangeValue
246
241
  });
247
- return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.default, _objectSpread({
242
+ return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.TextFieldBaseAutosuggest, _objectSpread({
248
243
  }, rest, fieldProps, {
249
244
  inputComponent: DecimalInput,
250
245
  inputProps: {
@@ -6,12 +6,7 @@ exports.default = void 0;
6
6
  var _jsxRuntime = require("react/jsx-runtime");
7
7
  var _formContext = require("./form-context");
8
8
  var _hooks = require("./hooks");
9
- var _textFieldBase = _interopRequireDefault(require("./text-field-base"));
10
- function _interopRequireDefault(obj) {
11
- return obj && obj.__esModule ? obj : {
12
- default: obj
13
- };
14
- }
9
+ var _textFieldBase = require("./text-field-base");
15
10
  function _defineProperty(obj, key, value) {
16
11
  if (key in obj) {
17
12
  Object.defineProperty(obj, key, {
@@ -116,7 +111,7 @@ var EmailField = function EmailField(_param) {
116
111
  onChange: onChange,
117
112
  onChangeValue: onChangeValue
118
113
  });
119
- return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.default, _objectSpread({
114
+ return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.TextFieldBaseAutosuggest, _objectSpread({
120
115
  }, rest, fieldProps, {
121
116
  type: "email",
122
117
  inputMode: "email",
package/dist/feedback.js CHANGED
@@ -459,13 +459,12 @@ var ErrorFeedbackScreen = function ErrorFeedbackScreen(_param) {
459
459
  "children",
460
460
  "errorReference"
461
461
  ]);
462
- var ref = (0, _hooks).useTheme(), skinName = ref.skinName, colors = ref.colors;
463
- var hasIcon = skinName !== _constants.VIVO_SKIN;
462
+ var ref = (0, _hooks).useTheme(), colors = ref.colors;
464
463
  return(/*#__PURE__*/ (0, _jsxRuntime).jsxs(FeedbackScreen, _objectSpread({
465
464
  }, otherProps, {
466
465
  hapticFeedback: "error",
467
- icon: hasIcon ? /*#__PURE__*/ (0, _jsxRuntime).jsx(_iconError.default, {
468
- }) : undefined,
466
+ icon: /*#__PURE__*/ (0, _jsxRuntime).jsx(_iconError.default, {
467
+ }),
469
468
  animateText: true,
470
469
  children: [
471
470
  children,
@@ -479,12 +478,10 @@ var ErrorFeedbackScreen = function ErrorFeedbackScreen(_param) {
479
478
  };
480
479
  exports.ErrorFeedbackScreen = ErrorFeedbackScreen;
481
480
  var InfoFeedbackScreen = function InfoFeedbackScreen(props) {
482
- var ref = (0, _hooks).useTheme(), skinName = ref.skinName;
483
- var hasIcon = skinName !== _constants.VIVO_SKIN;
484
481
  return(/*#__PURE__*/ (0, _jsxRuntime).jsx(FeedbackScreen, _objectSpread({
485
482
  }, props, {
486
- icon: hasIcon ? /*#__PURE__*/ (0, _jsxRuntime).jsx(_iconInfo.default, {
487
- }) : undefined
483
+ icon: /*#__PURE__*/ (0, _jsxRuntime).jsx(_iconInfo.default, {
484
+ })
488
485
  })));
489
486
  };
490
487
  exports.InfoFeedbackScreen = InfoFeedbackScreen;
@@ -7,15 +7,10 @@ var _jsxRuntime = require("react/jsx-runtime");
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _rifm = require("rifm");
9
9
  var _formContext = require("./form-context");
10
- var _textFieldBase = _interopRequireDefault(require("./text-field-base"));
10
+ var _textFieldBase = require("./text-field-base");
11
11
  var _dom = require("./utils/dom");
12
12
  var _common = require("./utils/common");
13
13
  var _hooks = require("./hooks");
14
- function _interopRequireDefault(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
14
  function _interopRequireWildcard(obj) {
20
15
  if (obj && obj.__esModule) {
21
16
  return obj;
@@ -297,7 +292,7 @@ var IbanField = function IbanField(_param) {
297
292
  onChange: onChange,
298
293
  onChangeValue: onChangeValue
299
294
  });
300
- return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.default, _objectSpread({
295
+ return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.TextFieldBaseAutosuggest, _objectSpread({
301
296
  }, rest, fieldProps, {
302
297
  inputComponent: IbanInput
303
298
  })));
package/dist/index.d.ts CHANGED
@@ -58,6 +58,7 @@ export { default as Image } from './image';
58
58
  export { default as Form } from './form';
59
59
  export { default as Select } from './select';
60
60
  export { default as TextField } from './text-field';
61
+ export { TextFieldBase } from './text-field-base';
61
62
  export { default as SearchField } from './search-field';
62
63
  export { default as EmailField } from './email-field';
63
64
  export { default as PhoneNumberField } from './phone-number-field';
package/dist/index.js CHANGED
@@ -584,6 +584,12 @@ Object.defineProperty(exports, "TextField", {
584
584
  return _textField.default;
585
585
  }
586
586
  });
587
+ Object.defineProperty(exports, "TextFieldBase", {
588
+ enumerable: true,
589
+ get: function() {
590
+ return _textFieldBase.TextFieldBase;
591
+ }
592
+ });
587
593
  Object.defineProperty(exports, "SearchField", {
588
594
  enumerable: true,
589
595
  get: function() {
@@ -8295,6 +8301,7 @@ var _image = _interopRequireDefault(require("./image"));
8295
8301
  var _form = _interopRequireDefault(require("./form"));
8296
8302
  var _select = _interopRequireDefault(require("./select"));
8297
8303
  var _textField = _interopRequireDefault(require("./text-field"));
8304
+ var _textFieldBase = require("./text-field-base");
8298
8305
  var _searchField = _interopRequireDefault(require("./search-field"));
8299
8306
  var _emailField = _interopRequireDefault(require("./email-field"));
8300
8307
  var _phoneNumberField = _interopRequireDefault(require("./phone-number-field"));
@@ -101,6 +101,7 @@ declare export { default as Image } from "./image";
101
101
  declare export { default as Form } from "./form";
102
102
  declare export { default as Select } from "./select";
103
103
  declare export { default as TextField } from "./text-field";
104
+ declare export { TextFieldBase } from "./text-field-base";
104
105
  declare export { default as SearchField } from "./search-field";
105
106
  declare export { default as EmailField } from "./email-field";
106
107
  declare export { default as PhoneNumberField } from "./phone-number-field";
@@ -6,12 +6,7 @@ exports.default = exports.IntegerInput = void 0;
6
6
  var _jsxRuntime = require("react/jsx-runtime");
7
7
  var _formContext = require("./form-context");
8
8
  var _hooks = require("./hooks");
9
- var _textFieldBase = _interopRequireDefault(require("./text-field-base"));
10
- function _interopRequireDefault(obj) {
11
- return obj && obj.__esModule ? obj : {
12
- default: obj
13
- };
14
- }
9
+ var _textFieldBase = require("./text-field-base");
15
10
  function _defineProperty(obj, key, value) {
16
11
  if (key in obj) {
17
12
  Object.defineProperty(obj, key, {
@@ -137,7 +132,7 @@ var IntegerField = function IntegerField(_param) {
137
132
  onChange: onChange,
138
133
  onChangeValue: onChangeValue
139
134
  });
140
- return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.default, _objectSpread({
135
+ return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.TextFieldBaseAutosuggest, _objectSpread({
141
136
  }, rest, fieldProps, {
142
137
  inputComponent: IntegerInput
143
138
  })));
package/dist/menu.js CHANGED
@@ -6,9 +6,9 @@ exports.default = void 0;
6
6
  var _jsxRuntime = require("react/jsx-runtime");
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _keyCodes = require("./utils/key-codes");
9
- var _overlay = _interopRequireDefault(require("./overlay"));
10
9
  var _jss = require("./jss");
11
10
  var _dom = require("./utils/dom");
11
+ var _overlay = _interopRequireDefault(require("./overlay"));
12
12
  function _interopRequireDefault(obj) {
13
13
  return obj && obj.__esModule ? obj : {
14
14
  default: obj
@@ -103,6 +103,7 @@ var useStyles = (0, _jss).createUseStyles(function(param) {
103
103
  var colors = param.colors;
104
104
  return {
105
105
  menuContainer: {
106
+ zIndex: 12,
106
107
  margin: 0,
107
108
  padding: 0,
108
109
  listStyleType: 'none',
@@ -111,13 +112,17 @@ var useStyles = (0, _jss).createUseStyles(function(param) {
111
112
  var itemsComputedProps = param.itemsComputedProps;
112
113
  return itemsComputedProps.top;
113
114
  },
114
- left: function left(param) {
115
+ bottom: function bottom(param) {
116
+ var itemsComputedProps = param.itemsComputedProps;
117
+ return itemsComputedProps.bottom;
118
+ },
119
+ right: function right(param) {
115
120
  var itemsComputedProps = param.itemsComputedProps;
116
- return itemsComputedProps.left;
121
+ return itemsComputedProps.right;
117
122
  },
118
123
  width: function width(param) {
119
- var itemsComputedProps = param.itemsComputedProps, width1 = param.width;
120
- return width1 !== null && width1 !== void 0 ? width1 : itemsComputedProps.width;
124
+ var width1 = param.width;
125
+ return width1 !== null && width1 !== void 0 ? width1 : '100%';
121
126
  },
122
127
  borderRadius: 4,
123
128
  boxShadow: '0px 5px 5px -3px rgba(0,0,0,0.2), 0px 8px 10px 1px rgba(0,0,0,0.14), 0px 3px 14px 2px rgba(0,0,0,0.12)',
@@ -158,28 +163,27 @@ var Menu = function Menu(param) {
158
163
  return;
159
164
  }
160
165
  var MARGIN_THRESHOLD = 12;
161
- var topTarget = targetRect.top, widthTarget = targetRect.width, left = targetRect.left, right = targetRect.right, height = targetRect.height;
166
+ var topTarget = targetRect.top, widthTarget = targetRect.width, height = targetRect.height;
162
167
  var top = topTarget + height;
163
168
  var ref;
164
169
  var spaceTaken = (ref = parseInt(window.getComputedStyle(menu).getPropertyValue('height'))) !== null && ref !== void 0 ? ref : 0;
165
- var leftDirection = position === 'left' ? left : right - (width !== null && width !== void 0 ? width : widthTarget);
170
+ var rightDirection = position === 'left' ? 'auto' : "calc(100% - ".concat(widthTarget, "px)");
166
171
  // if it doesn't fit on bottom
167
172
  if (top + spaceTaken + MARGIN_THRESHOLD > window.innerHeight) {
168
173
  var availableSpaceBottom = window.innerHeight - top;
169
174
  if (topTarget /* this is the available space on top */ > availableSpaceBottom) {
170
- var newTop = topTarget - spaceTaken;
171
175
  setItemsComputedProps({
172
- width: widthTarget,
173
- left: leftDirection,
174
- top: Math.max(newTop, MARGIN_THRESHOLD),
175
- maxHeight: topTarget - MARGIN_THRESHOLD,
176
+ right: rightDirection,
177
+ bottom: '100%',
178
+ top: 'auto',
179
+ maxHeight: Math.min(topTarget, MAX_HEIGHT_DEFAULT),
176
180
  transformOrigin: 'center bottom'
177
181
  });
178
182
  } else {
179
183
  setItemsComputedProps({
180
- width: widthTarget,
181
- top: top,
182
- left: leftDirection,
184
+ top: '100%',
185
+ bottom: 'auto',
186
+ right: rightDirection,
183
187
  maxHeight: Math.min(window.innerHeight - top - MARGIN_THRESHOLD, MAX_HEIGHT_DEFAULT),
184
188
  transformOrigin: 'center top'
185
189
  });
@@ -187,9 +191,9 @@ var Menu = function Menu(param) {
187
191
  } else {
188
192
  // if it fits on bottom
189
193
  setItemsComputedProps({
190
- width: widthTarget,
191
- top: top,
192
- left: leftDirection,
194
+ top: '100%',
195
+ bottom: 'auto',
196
+ right: rightDirection,
193
197
  maxHeight: Math.min(window.innerHeight - top - MARGIN_THRESHOLD, MAX_HEIGHT_DEFAULT),
194
198
  transformOrigin: 'center top'
195
199
  });
@@ -257,20 +261,23 @@ var Menu = function Menu(param) {
257
261
  document.removeEventListener('keydown', handleKeyDown, false);
258
262
  };
259
263
  });
260
- return(/*#__PURE__*/ (0, _jsxRuntime).jsxs(_jsxRuntime.Fragment, {
264
+ return(/*#__PURE__*/ (0, _jsxRuntime).jsxs("div", {
265
+ style: {
266
+ position: 'relative'
267
+ },
261
268
  children: [
262
- renderTarget(_objectSpread({
263
- }, targetProps, {
264
- isMenuOpen: isMenuOpen
265
- })),
266
269
  isMenuOpen ? /*#__PURE__*/ (0, _jsxRuntime).jsx(_overlay.default, {
267
270
  onPress: function onPress(e) {
268
- setIsMenuOpen(false);
269
271
  (0, _dom).cancelEvent(e);
272
+ setIsMenuOpen(false);
270
273
  },
271
- disableScroll: true,
272
- children: renderMenu(menuProps)
273
- }) : null
274
+ disableScroll: true
275
+ }) : null,
276
+ renderTarget(_objectSpread({
277
+ }, targetProps, {
278
+ isMenuOpen: isMenuOpen
279
+ })),
280
+ isMenuOpen ? renderMenu(menuProps) : null
274
281
  ]
275
282
  }));
276
283
  };
@@ -6,7 +6,7 @@ exports.default = void 0;
6
6
  var _jsxRuntime = require("react/jsx-runtime");
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _formContext = require("./form-context");
9
- var _textFieldBase = _interopRequireDefault(require("./text-field-base"));
9
+ var _textFieldBase = require("./text-field-base");
10
10
  var _dom = require("./utils/dom");
11
11
  var _environment = require("./utils/environment");
12
12
  var _iconCalendarRegular = _interopRequireDefault(require("./generated/mistica-icons/icon-calendar-regular"));
@@ -163,7 +163,7 @@ var DateField = function DateField(_param) {
163
163
  onChange: onChange,
164
164
  onChangeValue: onChangeValue
165
165
  });
166
- var nativePicker = /*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.default, _objectSpread({
166
+ var nativePicker = /*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.TextFieldBaseAutosuggest, _objectSpread({
167
167
  }, rest, fieldProps, {
168
168
  min: min ? (0, _time).getLocalYearMonthString(min) : undefined,
169
169
  max: max ? (0, _time).getLocalYearMonthString(max) : undefined,
@@ -3,5 +3,5 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
  exports.PACKAGE_VERSION = void 0;
6
- var PACKAGE_VERSION = '10.16.0';
6
+ var PACKAGE_VERSION = '10.17.0';
7
7
  exports.PACKAGE_VERSION = PACKAGE_VERSION;
@@ -6,7 +6,7 @@ exports.default = void 0;
6
6
  var _jsxRuntime = require("react/jsx-runtime");
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _formContext = require("./form-context");
9
- var _textFieldBase = _interopRequireDefault(require("./text-field-base"));
9
+ var _textFieldBase = require("./text-field-base");
10
10
  var _hooks = require("./hooks");
11
11
  var _iconButton = _interopRequireDefault(require("./icon-button"));
12
12
  var _iconVisibility = _interopRequireDefault(require("./icons/icon-visibility"));
@@ -221,7 +221,7 @@ var PasswordField = function PasswordField(_param) {
221
221
  onChange: onChange,
222
222
  onChangeValue: onChangeValue
223
223
  });
224
- return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.default, _objectSpread({
224
+ return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.TextFieldBaseAutosuggest, _objectSpread({
225
225
  }, rest, fieldProps, {
226
226
  type: isVisible ? 'text' : 'password',
227
227
  inputRef: function inputRef1(field) {
@@ -8,15 +8,10 @@ var React = _interopRequireWildcard(require("react"));
8
8
  var _rifm = require("rifm");
9
9
  var _libphonenumber = require("@telefonica/libphonenumber");
10
10
  var _formContext = require("./form-context");
11
- var _textFieldBase = _interopRequireDefault(require("./text-field-base"));
11
+ var _textFieldBase = require("./text-field-base");
12
12
  var _hooks = require("./hooks");
13
13
  var _dom = require("./utils/dom");
14
14
  var _common = require("./utils/common");
15
- function _interopRequireDefault(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
18
- };
19
- }
20
15
  function _interopRequireWildcard(obj) {
21
16
  if (obj && obj.__esModule) {
22
17
  return obj;
@@ -252,7 +247,7 @@ var PhoneNumberField = function PhoneNumberField(_param) {
252
247
  onChange: onChange,
253
248
  onChangeValue: onChangeValue
254
249
  });
255
- return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.default, _objectSpread({
250
+ return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.TextFieldBaseAutosuggest, _objectSpread({
256
251
  }, rest, fieldProps, {
257
252
  type: "phone",
258
253
  inputProps: {
@@ -6,7 +6,7 @@ exports.default = void 0;
6
6
  var _jsxRuntime = require("react/jsx-runtime");
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _formContext = require("./form-context");
9
- var _textFieldBase = _interopRequireDefault(require("./text-field-base"));
9
+ var _textFieldBase = require("./text-field-base");
10
10
  var _iconSearch = _interopRequireDefault(require("./icons/icon-search"));
11
11
  var _iconCloseRegular = _interopRequireDefault(require("./generated/mistica-icons/icon-close-regular"));
12
12
  var _iconButton = _interopRequireDefault(require("./icon-button"));
@@ -185,7 +185,7 @@ var SearchField = function SearchField(_param) {
185
185
  onChange: onChange,
186
186
  onChangeValue: handleChangeValue
187
187
  });
188
- return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.default, _objectSpread({
188
+ return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.TextFieldBaseAutosuggest, _objectSpread({
189
189
  ref: inputRef,
190
190
  startIcon: /*#__PURE__*/ (0, _jsxRuntime).jsx(_iconSearch.default, {
191
191
  }),
package/dist/select.js CHANGED
@@ -10,7 +10,7 @@ var _hooks = require("./hooks");
10
10
  var _keyCodes = require("./utils/key-codes");
11
11
  var _textFieldComponents = require("./text-field-components");
12
12
  var _iconChevronDownRegular = _interopRequireDefault(require("./generated/mistica-icons/icon-chevron-down-regular"));
13
- var _textFieldBase = _interopRequireDefault(require("./text-field-base"));
13
+ var _textFieldBase = require("./text-field-base");
14
14
  var _overlay = _interopRequireDefault(require("./overlay"));
15
15
  var _classnames = _interopRequireDefault(require("classnames"));
16
16
  var _platform = require("./utils/platform");
@@ -548,7 +548,7 @@ var Select = function Select(param) {
548
548
  ref: focusableRef
549
549
  }, !disabled && containerActiveProps, {
550
550
  children: [
551
- /*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.default, {
551
+ /*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.TextFieldBaseAutosuggest, {
552
552
  style: {
553
553
  visibility: 'hidden'
554
554
  },
@@ -71,5 +71,6 @@ interface TextFieldBaseProps {
71
71
  min?: string;
72
72
  max?: string;
73
73
  }
74
- declare const TextFieldBase: React.ForwardRefExoticComponent<TextFieldBaseProps & React.RefAttributes<any>>;
75
- export default TextFieldBase;
74
+ export declare const TextFieldBase: React.ForwardRefExoticComponent<TextFieldBaseProps & React.RefAttributes<any>>;
75
+ export declare const TextFieldBaseAutosuggest: React.ForwardRefExoticComponent<TextFieldBaseProps & React.RefAttributes<any>>;
76
+ export {};
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.default = void 0;
5
+ exports.TextFieldBase = exports.TextFieldBaseAutosuggest = void 0;
6
6
  var _jsxRuntime = require("react/jsx-runtime");
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _jss = require("./jss");
@@ -315,7 +315,7 @@ var useStyles = (0, _jss).createUseStyles(function(theme) {
315
315
  }), _defineProperty(_obj2, "transition", 'opacity 150ms cubic-bezier(0.0, 0, 0.2, 1) 0ms'), _obj2)
316
316
  };
317
317
  });
318
- var TextFieldBaseComponent = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
318
+ var TextFieldBase = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
319
319
  var error = _param.error, helperText = _param.helperText, label = _param.label, inputProps = _param.inputProps, inputRef = _param.inputRef, defaultValue = _param.defaultValue, value = _param.value, onFocus = _param.onFocus, onBlur = _param.onBlur, inputComponent = _param.inputComponent, prefix = _param.prefix, startIcon = _param.startIcon, endIcon = _param.endIcon, endIconOverlay = _param.endIconOverlay, shrinkLabelProp = _param.shrinkLabel, _multiline = _param.multiline, multiline = _multiline === void 0 ? false : _multiline, focus = _param.focus, fieldRef = _param.fieldRef, maxLength = _param.maxLength, idProp = _param.id, autoCompleteProp = _param.autoComplete, fullWidth = _param.fullWidth, rest = _objectWithoutProperties(_param, [
320
320
  "error",
321
321
  "helperText",
@@ -489,6 +489,7 @@ var TextFieldBaseComponent = /*#__PURE__*/ React.forwardRef(function(_param, ref
489
489
  ]
490
490
  }));
491
491
  });
492
+ exports.TextFieldBase = TextFieldBase;
492
493
  var useSuggestionsStyles = (0, _jss).createUseStyles(function() {
493
494
  return {
494
495
  menuItem: {
@@ -523,7 +524,7 @@ var Autosuggest = /*#__PURE__*/ React.lazy(function() {
523
524
  return _interopRequireWildcard(require(/* webpackChunkName: "react-autosuggest" */ 'react-autosuggest'));
524
525
  });
525
526
  });
526
- var TextFieldBase = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
527
+ var TextFieldBaseAutosuggest = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
527
528
  var getSuggestions = _param.getSuggestions, idProp = _param.id, props = _objectWithoutProperties(_param, [
528
529
  "getSuggestions",
529
530
  "id"
@@ -538,7 +539,7 @@ var TextFieldBase = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
538
539
  throw Error('Fields with suggestions must be used in controlled mode');
539
540
  }
540
541
  return getSuggestions ? /*#__PURE__*/ (0, _jsxRuntime).jsx(React.Suspense, {
541
- fallback: /*#__PURE__*/ (0, _jsxRuntime).jsx(TextFieldBaseComponent, _objectSpread({
542
+ fallback: /*#__PURE__*/ (0, _jsxRuntime).jsx(TextFieldBase, _objectSpread({
542
543
  }, props, {
543
544
  // This label override while loading is needed in acceptance tests because
544
545
  // while the test is typing, the component could be remounted.
@@ -571,7 +572,7 @@ var TextFieldBase = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
571
572
  }
572
573
  }),
573
574
  renderInputComponent: function renderInputComponent(inputProps) {
574
- /*#__PURE__*/ return (0, _jsxRuntime).jsx(TextFieldBaseComponent, _objectSpread({
575
+ /*#__PURE__*/ return (0, _jsxRuntime).jsx(TextFieldBase, _objectSpread({
575
576
  }, inputProps, {
576
577
  inputRef: (0, _common).combineRefs(inputRef, props.inputRef, ref)
577
578
  }));
@@ -611,11 +612,10 @@ var TextFieldBase = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
611
612
  }));
612
613
  }
613
614
  })
614
- }) : /*#__PURE__*/ (0, _jsxRuntime).jsx(TextFieldBaseComponent, _objectSpread({
615
+ }) : /*#__PURE__*/ (0, _jsxRuntime).jsx(TextFieldBase, _objectSpread({
615
616
  }, props, {
616
617
  id: id,
617
618
  ref: ref
618
619
  }));
619
620
  });
620
- var _default = TextFieldBase;
621
- exports.default = _default;
621
+ exports.TextFieldBaseAutosuggest = TextFieldBaseAutosuggest;
@@ -97,10 +97,14 @@ declare type TextFieldBaseProps = {
97
97
  min?: string,
98
98
  max?: string,
99
99
  };
100
- declare var TextFieldBase: React.ComponentType<{
100
+ declare export var TextFieldBase: React.ComponentType<{
101
101
  ...TextFieldBaseProps,
102
102
  ...{},
103
103
  }>;
104
- declare export default typeof TextFieldBase;
104
+ declare export var TextFieldBaseAutosuggest: React.ComponentType<{
105
+ ...TextFieldBaseProps,
106
+ ...{},
107
+ }>;
108
+ declare export {};
105
109
 
106
110
  import { type CssStyle } from "./__types__.js.flow";
@@ -6,13 +6,8 @@ exports.default = void 0;
6
6
  var _jsxRuntime = require("react/jsx-runtime");
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _formContext = require("./form-context");
9
- var _textFieldBase = _interopRequireDefault(require("./text-field-base"));
9
+ var _textFieldBase = require("./text-field-base");
10
10
  var _common = require("./utils/common");
11
- function _interopRequireDefault(obj) {
12
- return obj && obj.__esModule ? obj : {
13
- default: obj
14
- };
15
- }
16
11
  function _interopRequireWildcard(obj) {
17
12
  if (obj && obj.__esModule) {
18
13
  return obj;
@@ -152,7 +147,7 @@ var TextField = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
152
147
  onChange: onChange,
153
148
  onChangeValue: onChangeValue
154
149
  });
155
- return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.default, _objectSpread({
150
+ return(/*#__PURE__*/ (0, _jsxRuntime).jsx(_textFieldBase.TextFieldBaseAutosuggest, _objectSpread({
156
151
  }, rest, fieldProps, {
157
152
  onClick: onPress,
158
153
  inputRef: (0, _common).combineRefs(inputRef, fieldProps.inputRef, ref),
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { useForm, useFieldProps } from './form-context';
4
4
  import { useTheme } from './hooks';
5
- import TextFieldBase from './text-field-base';
5
+ import { TextFieldBaseAutosuggest } from './text-field-base';
6
6
  function _arrayWithHoles(arr) {
7
7
  if (Array.isArray(arr)) return arr;
8
8
  }
@@ -192,7 +192,7 @@ var CreditCardExpirationField = function(_param) {
192
192
  onChange: onChange,
193
193
  onChangeValue: onChangeValue
194
194
  });
195
- return(/*#__PURE__*/ _jsx(TextFieldBase, _objectSpread({
195
+ return(/*#__PURE__*/ _jsx(TextFieldBaseAutosuggest, _objectSpread({
196
196
  }, rest, fieldProps, {
197
197
  onChange: function(event) {
198
198
  fieldProps.onChange(event);
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { useForm, useFieldProps } from './form-context';
4
4
  import { useTheme } from './hooks';
5
5
  import { getCreditCardNumberLength, isAmericanExpress, isVisa, isMasterCard, isValidCreditCardNumber } from './utils/credit-card';
6
- import TextFieldBase from './text-field-base';
6
+ import { TextFieldBaseAutosuggest } from './text-field-base';
7
7
  import IconCreditcard from './icons/icon-creditcard';
8
8
  import IconVisa from './icons/icon-visa';
9
9
  import IconMastercard from './icons/icon-mastercard';
@@ -305,7 +305,7 @@ var CreditCardNumberField = function(_param) {
305
305
  onChangeValue: onChangeValue
306
306
  });
307
307
  var ref2;
308
- return(/*#__PURE__*/ _jsx(TextFieldBase, _objectSpread({
308
+ return(/*#__PURE__*/ _jsx(TextFieldBaseAutosuggest, _objectSpread({
309
309
  }, rest, fieldProps, {
310
310
  onChange: function(event) {
311
311
  fieldProps.onChange(event);
@@ -7,7 +7,7 @@ import Tooltip from './tooltip';
7
7
  import IconButton from './icon-button';
8
8
  import IcnInfo from './icons/icon-info-cvv';
9
9
  import { useFieldProps, useForm } from './form-context';
10
- import TextFieldBase from './text-field-base';
10
+ import { TextFieldBaseAutosuggest } from './text-field-base';
11
11
  import { IntegerInput } from './integer-field';
12
12
  function _defineProperty(obj, key, value) {
13
13
  if (key in obj) {
@@ -152,7 +152,7 @@ var CvvField = function(_param) {
152
152
  onChange: onChange,
153
153
  onChangeValue: onChangeValue
154
154
  });
155
- return(/*#__PURE__*/ _jsx(TextFieldBase, _objectSpread({
155
+ return(/*#__PURE__*/ _jsx(TextFieldBaseAutosuggest, _objectSpread({
156
156
  }, rest, fieldProps, {
157
157
  maxLength: maxLength,
158
158
  onChange: function(event) {
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { useFieldProps } from './form-context';
4
- import TextFieldBase from './text-field-base';
4
+ import { TextFieldBaseAutosuggest } from './text-field-base';
5
5
  import { isInputTypeSupported } from './utils/dom';
6
6
  import { isServerSide } from './utils/environment';
7
7
  import IconCalendarRegular from './generated/mistica-icons/icon-calendar-regular';
@@ -118,7 +118,7 @@ var DateField = function(_param) {
118
118
  onChange: onChange,
119
119
  onChangeValue: onChangeValue
120
120
  });
121
- var nativePicker = /*#__PURE__*/ _jsx(TextFieldBase, _objectSpread({
121
+ var nativePicker = /*#__PURE__*/ _jsx(TextFieldBaseAutosuggest, _objectSpread({
122
122
  }, rest, fieldProps, {
123
123
  min: min ? getLocalDateString(min) : undefined,
124
124
  max: max ? getLocalDateString(max) : undefined,
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { useFieldProps } from './form-context';
4
- import TextFieldBase from './text-field-base';
4
+ import { TextFieldBaseAutosuggest } from './text-field-base';
5
5
  import { isInputTypeSupported } from './utils/dom';
6
6
  import { isServerSide } from './utils/environment';
7
7
  import { getLocalDateTimeString } from './utils/time';
@@ -119,7 +119,7 @@ var FormDateField = function(_param) {
119
119
  onChange: onChange,
120
120
  onChangeValue: onChangeValue
121
121
  });
122
- var nativePicker = /*#__PURE__*/ _jsx(TextFieldBase, _objectSpread({
122
+ var nativePicker = /*#__PURE__*/ _jsx(TextFieldBaseAutosuggest, _objectSpread({
123
123
  }, rest, fieldProps, {
124
124
  min: min ? getLocalDateTimeString(min) : undefined,
125
125
  max: max ? getLocalDateTimeString(max) : undefined,
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
- import TextFieldBase from './text-field-base';
3
+ import { TextFieldBaseAutosuggest } from './text-field-base';
4
4
  import IconCalendarRegular from './generated/mistica-icons/icon-calendar-regular';
5
5
  import Datetime from 'react-datetime';
6
6
  import Overlay from './overlay';
@@ -367,7 +367,7 @@ var DateTimePicker = function(_param) {
367
367
  };
368
368
  return(/*#__PURE__*/ _jsxs(_Fragment, {
369
369
  children: [
370
- /*#__PURE__*/ _jsx(TextFieldBase, _objectSpread({
370
+ /*#__PURE__*/ _jsx(TextFieldBaseAutosuggest, _objectSpread({
371
371
  }, rest, {
372
372
  style: {
373
373
  cursor: 'default'
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { useFieldProps } from './form-context';
4
4
  import { useTheme } from './hooks';
5
- import TextFieldBase from './text-field-base';
5
+ import { TextFieldBaseAutosuggest } from './text-field-base';
6
6
  import { createChangeEvent } from './utils/dom';
7
7
  import { useRifm } from 'rifm';
8
8
  import { combineRefs } from './utils/common';
@@ -191,7 +191,7 @@ var DecimalField = function(_param) {
191
191
  onChange: onChange,
192
192
  onChangeValue: onChangeValue
193
193
  });
194
- return(/*#__PURE__*/ _jsx(TextFieldBase, _objectSpread({
194
+ return(/*#__PURE__*/ _jsx(TextFieldBaseAutosuggest, _objectSpread({
195
195
  }, rest, fieldProps, {
196
196
  inputComponent: DecimalInput,
197
197
  inputProps: {
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useFieldProps } from './form-context';
3
3
  import { useTheme } from './hooks';
4
- import TextFieldBase from './text-field-base';
4
+ import { TextFieldBaseAutosuggest } from './text-field-base';
5
5
  function _defineProperty(obj, key, value) {
6
6
  if (key in obj) {
7
7
  Object.defineProperty(obj, key, {
@@ -92,7 +92,7 @@ var EmailField = function(_param) {
92
92
  onChange: onChange,
93
93
  onChangeValue: onChangeValue
94
94
  });
95
- return(/*#__PURE__*/ _jsx(TextFieldBase, _objectSpread({
95
+ return(/*#__PURE__*/ _jsx(TextFieldBaseAutosuggest, _objectSpread({
96
96
  }, rest, fieldProps, {
97
97
  type: "email",
98
98
  inputMode: "email",
@@ -420,13 +420,12 @@ export var SuccessFeedbackScreen = function(props) {
420
420
  };
421
421
  var ErrorFeedbackScreen = function(_param) {
422
422
  var children = _param.children, errorReference = _param.errorReference, otherProps = _objectWithoutProperties(_param, ["children", "errorReference"]);
423
- var ref = useTheme(), skinName = ref.skinName, colors = ref.colors;
424
- var hasIcon = skinName !== VIVO_SKIN;
423
+ var ref = useTheme(), colors = ref.colors;
425
424
  return(/*#__PURE__*/ _jsxs(FeedbackScreen, _objectSpread({
426
425
  }, otherProps, {
427
426
  hapticFeedback: "error",
428
- icon: hasIcon ? /*#__PURE__*/ _jsx(IcnError, {
429
- }) : undefined,
427
+ icon: /*#__PURE__*/ _jsx(IcnError, {
428
+ }),
430
429
  animateText: true,
431
430
  children: [
432
431
  children,
@@ -440,12 +439,10 @@ var ErrorFeedbackScreen = function(_param) {
440
439
  };
441
440
  export { ErrorFeedbackScreen };
442
441
  export var InfoFeedbackScreen = function(props) {
443
- var ref = useTheme(), skinName = ref.skinName;
444
- var hasIcon = skinName !== VIVO_SKIN;
445
442
  return(/*#__PURE__*/ _jsx(FeedbackScreen, _objectSpread({
446
443
  }, props, {
447
- icon: hasIcon ? /*#__PURE__*/ _jsx(IcnInfo, {
448
- }) : undefined
444
+ icon: /*#__PURE__*/ _jsx(IcnInfo, {
445
+ })
449
446
  })));
450
447
  };
451
448
  export var SuccessFeedback = function(param) {
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { useRifm } from 'rifm';
4
4
  import { useFieldProps } from './form-context';
5
- import TextFieldBase from './text-field-base';
5
+ import { TextFieldBaseAutosuggest } from './text-field-base';
6
6
  import { createChangeEvent } from './utils/dom';
7
7
  import { combineRefs } from './utils/common';
8
8
  import { useTheme } from './hooks';
@@ -246,7 +246,7 @@ var IbanField = function(_param) {
246
246
  onChange: onChange,
247
247
  onChangeValue: onChangeValue
248
248
  });
249
- return(/*#__PURE__*/ _jsx(TextFieldBase, _objectSpread({
249
+ return(/*#__PURE__*/ _jsx(TextFieldBaseAutosuggest, _objectSpread({
250
250
  }, rest, fieldProps, {
251
251
  inputComponent: IbanInput
252
252
  })));
package/dist-es/index.js CHANGED
@@ -60,6 +60,7 @@ export { default as Image } from './image';
60
60
  export { default as Form } from './form';
61
61
  export { default as Select } from './select';
62
62
  export { default as TextField } from './text-field';
63
+ export { TextFieldBase } from './text-field-base';
63
64
  export { default as SearchField } from './search-field';
64
65
  export { default as EmailField } from './email-field';
65
66
  export { default as PhoneNumberField } from './phone-number-field';
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useFieldProps } from './form-context';
3
3
  import { useTheme } from './hooks';
4
- import TextFieldBase from './text-field-base';
4
+ import { TextFieldBaseAutosuggest } from './text-field-base';
5
5
  function _defineProperty(obj, key, value) {
6
6
  if (key in obj) {
7
7
  Object.defineProperty(obj, key, {
@@ -110,7 +110,7 @@ var IntegerField = function(_param) {
110
110
  onChange: onChange,
111
111
  onChangeValue: onChangeValue
112
112
  });
113
- return(/*#__PURE__*/ _jsx(TextFieldBase, _objectSpread({
113
+ return(/*#__PURE__*/ _jsx(TextFieldBaseAutosuggest, _objectSpread({
114
114
  }, rest, fieldProps, {
115
115
  inputComponent: IntegerInput
116
116
  })));
package/dist-es/menu.js CHANGED
@@ -1,9 +1,9 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { ESC, TAB } from './utils/key-codes';
4
- import Overlay from './overlay';
5
4
  import { createUseStyles } from './jss';
6
5
  import { cancelEvent } from './utils/dom';
6
+ import Overlay from './overlay';
7
7
  function _arrayWithHoles(arr) {
8
8
  if (Array.isArray(arr)) return arr;
9
9
  }
@@ -69,6 +69,7 @@ var useStyles = createUseStyles(function(param) {
69
69
  var colors = param.colors;
70
70
  return {
71
71
  menuContainer: {
72
+ zIndex: 12,
72
73
  margin: 0,
73
74
  padding: 0,
74
75
  listStyleType: 'none',
@@ -77,13 +78,17 @@ var useStyles = createUseStyles(function(param) {
77
78
  var itemsComputedProps = param.itemsComputedProps;
78
79
  return itemsComputedProps.top;
79
80
  },
80
- left: function(param) {
81
+ bottom: function(param) {
82
+ var itemsComputedProps = param.itemsComputedProps;
83
+ return itemsComputedProps.bottom;
84
+ },
85
+ right: function(param) {
81
86
  var itemsComputedProps = param.itemsComputedProps;
82
- return itemsComputedProps.left;
87
+ return itemsComputedProps.right;
83
88
  },
84
89
  width: function(param) {
85
- var itemsComputedProps = param.itemsComputedProps, width = param.width;
86
- return width !== null && width !== void 0 ? width : itemsComputedProps.width;
90
+ var width = param.width;
91
+ return width !== null && width !== void 0 ? width : '100%';
87
92
  },
88
93
  borderRadius: 4,
89
94
  boxShadow: '0px 5px 5px -3px rgba(0,0,0,0.2), 0px 8px 10px 1px rgba(0,0,0,0.14), 0px 3px 14px 2px rgba(0,0,0,0.12)',
@@ -124,28 +129,27 @@ var Menu = function(param) {
124
129
  return;
125
130
  }
126
131
  var MARGIN_THRESHOLD = 12;
127
- var topTarget = targetRect.top, widthTarget = targetRect.width, left = targetRect.left, right = targetRect.right, height = targetRect.height;
132
+ var topTarget = targetRect.top, widthTarget = targetRect.width, height = targetRect.height;
128
133
  var top = topTarget + height;
129
134
  var ref;
130
135
  var spaceTaken = (ref = parseInt(window.getComputedStyle(menu).getPropertyValue('height'))) !== null && ref !== void 0 ? ref : 0;
131
- var leftDirection = position === 'left' ? left : right - (width !== null && width !== void 0 ? width : widthTarget);
136
+ var rightDirection = position === 'left' ? 'auto' : "calc(100% - ".concat(widthTarget, "px)");
132
137
  // if it doesn't fit on bottom
133
138
  if (top + spaceTaken + MARGIN_THRESHOLD > window.innerHeight) {
134
139
  var availableSpaceBottom = window.innerHeight - top;
135
140
  if (topTarget /* this is the available space on top */ > availableSpaceBottom) {
136
- var newTop = topTarget - spaceTaken;
137
141
  setItemsComputedProps({
138
- width: widthTarget,
139
- left: leftDirection,
140
- top: Math.max(newTop, MARGIN_THRESHOLD),
141
- maxHeight: topTarget - MARGIN_THRESHOLD,
142
+ right: rightDirection,
143
+ bottom: '100%',
144
+ top: 'auto',
145
+ maxHeight: Math.min(topTarget, MAX_HEIGHT_DEFAULT),
142
146
  transformOrigin: 'center bottom'
143
147
  });
144
148
  } else {
145
149
  setItemsComputedProps({
146
- width: widthTarget,
147
- top: top,
148
- left: leftDirection,
150
+ top: '100%',
151
+ bottom: 'auto',
152
+ right: rightDirection,
149
153
  maxHeight: Math.min(window.innerHeight - top - MARGIN_THRESHOLD, MAX_HEIGHT_DEFAULT),
150
154
  transformOrigin: 'center top'
151
155
  });
@@ -153,9 +157,9 @@ var Menu = function(param) {
153
157
  } else {
154
158
  // if it fits on bottom
155
159
  setItemsComputedProps({
156
- width: widthTarget,
157
- top: top,
158
- left: leftDirection,
160
+ top: '100%',
161
+ bottom: 'auto',
162
+ right: rightDirection,
159
163
  maxHeight: Math.min(window.innerHeight - top - MARGIN_THRESHOLD, MAX_HEIGHT_DEFAULT),
160
164
  transformOrigin: 'center top'
161
165
  });
@@ -223,20 +227,23 @@ var Menu = function(param) {
223
227
  document.removeEventListener('keydown', handleKeyDown, false);
224
228
  };
225
229
  });
226
- return(/*#__PURE__*/ _jsxs(_Fragment, {
230
+ return(/*#__PURE__*/ _jsxs("div", {
231
+ style: {
232
+ position: 'relative'
233
+ },
227
234
  children: [
228
- renderTarget(_objectSpread({
229
- }, targetProps, {
230
- isMenuOpen: isMenuOpen
231
- })),
232
235
  isMenuOpen ? /*#__PURE__*/ _jsx(Overlay, {
233
236
  onPress: function(e) {
234
- setIsMenuOpen(false);
235
237
  cancelEvent(e);
238
+ setIsMenuOpen(false);
236
239
  },
237
- disableScroll: true,
238
- children: renderMenu(menuProps)
239
- }) : null
240
+ disableScroll: true
241
+ }) : null,
242
+ renderTarget(_objectSpread({
243
+ }, targetProps, {
244
+ isMenuOpen: isMenuOpen
245
+ })),
246
+ isMenuOpen ? renderMenu(menuProps) : null
240
247
  ]
241
248
  }));
242
249
  };
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { useFieldProps } from './form-context';
4
- import TextFieldBase from './text-field-base';
4
+ import { TextFieldBaseAutosuggest } from './text-field-base';
5
5
  import { isInputTypeSupported } from './utils/dom';
6
6
  import { isServerSide } from './utils/environment';
7
7
  import IconCalendarRegular from './generated/mistica-icons/icon-calendar-regular';
@@ -113,7 +113,7 @@ var DateField = function(_param) {
113
113
  onChange: onChange,
114
114
  onChangeValue: onChangeValue
115
115
  });
116
- var nativePicker = /*#__PURE__*/ _jsx(TextFieldBase, _objectSpread({
116
+ var nativePicker = /*#__PURE__*/ _jsx(TextFieldBaseAutosuggest, _objectSpread({
117
117
  }, rest, fieldProps, {
118
118
  min: min ? getLocalYearMonthString(min) : undefined,
119
119
  max: max ? getLocalYearMonthString(max) : undefined,
@@ -1,2 +1,2 @@
1
1
  // DO NOT EDIT THIS FILE. It's autogenerated by set-version.js
2
- export var PACKAGE_VERSION = '10.16.0';
2
+ export var PACKAGE_VERSION = '10.17.0';
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { useFieldProps } from './form-context';
4
- import TextFieldBase from './text-field-base';
4
+ import { TextFieldBaseAutosuggest } from './text-field-base';
5
5
  import { useTheme } from './hooks';
6
6
  import IconButton from './icon-button';
7
7
  import Visibility from './icons/icon-visibility';
@@ -174,7 +174,7 @@ var PasswordField = function(_param) {
174
174
  onChange: onChange,
175
175
  onChangeValue: onChangeValue
176
176
  });
177
- return(/*#__PURE__*/ _jsx(TextFieldBase, _objectSpread({
177
+ return(/*#__PURE__*/ _jsx(TextFieldBaseAutosuggest, _objectSpread({
178
178
  }, rest, fieldProps, {
179
179
  type: isVisible ? 'text' : 'password',
180
180
  inputRef: function(field) {
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { useRifm } from 'rifm';
4
4
  import { formatAsYouType, formatToE164, parse, getRegionCodeForCountryCode } from '@telefonica/libphonenumber';
5
5
  import { useFieldProps } from './form-context';
6
- import TextFieldBase from './text-field-base';
6
+ import { TextFieldBaseAutosuggest } from './text-field-base';
7
7
  import { useTheme } from './hooks';
8
8
  import { createChangeEvent } from './utils/dom';
9
9
  import { combineRefs } from './utils/common';
@@ -199,7 +199,7 @@ var PhoneNumberField = function(_param) {
199
199
  onChange: onChange,
200
200
  onChangeValue: onChangeValue
201
201
  });
202
- return(/*#__PURE__*/ _jsx(TextFieldBase, _objectSpread({
202
+ return(/*#__PURE__*/ _jsx(TextFieldBaseAutosuggest, _objectSpread({
203
203
  }, rest, fieldProps, {
204
204
  type: "phone",
205
205
  inputProps: {
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { useFieldProps } from './form-context';
4
- import TextFieldBase from './text-field-base';
4
+ import { TextFieldBaseAutosuggest } from './text-field-base';
5
5
  import IconSearch from './icons/icon-search';
6
6
  import IconCloseRegular from './generated/mistica-icons/icon-close-regular';
7
7
  import IconButton from './icon-button';
@@ -139,7 +139,7 @@ var SearchField = function(_param) {
139
139
  onChange: onChange,
140
140
  onChangeValue: handleChangeValue
141
141
  });
142
- return(/*#__PURE__*/ _jsx(TextFieldBase, _objectSpread({
142
+ return(/*#__PURE__*/ _jsx(TextFieldBaseAutosuggest, _objectSpread({
143
143
  ref: inputRef,
144
144
  startIcon: /*#__PURE__*/ _jsx(IconSearch, {
145
145
  }),
package/dist-es/select.js CHANGED
@@ -5,7 +5,7 @@ import { useAriaId, useTheme } from './hooks';
5
5
  import { DOWN, ENTER, ESC, SPACE, TAB, UP } from './utils/key-codes';
6
6
  import { FieldContainer, HelperText, Label } from './text-field-components';
7
7
  import ChevronDownRegular from './generated/mistica-icons/icon-chevron-down-regular';
8
- import TextFieldBase from './text-field-base';
8
+ import { TextFieldBaseAutosuggest } from './text-field-base';
9
9
  import Overlay from './overlay';
10
10
  import classNames from 'classnames';
11
11
  import { isAndroid, isIos } from './utils/platform';
@@ -515,7 +515,7 @@ var Select = function(param) {
515
515
  ref: focusableRef
516
516
  }, !disabled && containerActiveProps, {
517
517
  children: [
518
- /*#__PURE__*/ _jsx(TextFieldBase, {
518
+ /*#__PURE__*/ _jsx(TextFieldBaseAutosuggest, {
519
519
  style: {
520
520
  visibility: 'hidden'
521
521
  },
@@ -281,7 +281,7 @@ var useStyles = createUseStyles(function(theme) {
281
281
  }), _defineProperty(_obj2, "transition", 'opacity 150ms cubic-bezier(0.0, 0, 0.2, 1) 0ms'), _obj2)
282
282
  };
283
283
  });
284
- var TextFieldBaseComponent = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
284
+ var TextFieldBase = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
285
285
  var error = _param.error, helperText = _param.helperText, label = _param.label, inputProps = _param.inputProps, inputRef = _param.inputRef, defaultValue = _param.defaultValue, value = _param.value, onFocus = _param.onFocus, onBlur = _param.onBlur, inputComponent = _param.inputComponent, prefix = _param.prefix, startIcon = _param.startIcon, endIcon = _param.endIcon, endIconOverlay = _param.endIconOverlay, shrinkLabelProp = _param.shrinkLabel, _multiline = _param.multiline, multiline = _multiline === void 0 ? false : _multiline, focus = _param.focus, fieldRef = _param.fieldRef, maxLength = _param.maxLength, idProp = _param.id, autoCompleteProp = _param.autoComplete, fullWidth = _param.fullWidth, rest = _objectWithoutProperties(_param, ["error", "helperText", "label", "inputProps", "inputRef", "defaultValue", "value", "onFocus", "onBlur", "inputComponent", "prefix", "startIcon", "endIcon", "endIconOverlay", "shrinkLabel", "multiline", "focus", "fieldRef", "maxLength", "id",
286
286
  "autoComplete", "fullWidth"]);
287
287
  var id = useAriaId(idProp);
@@ -433,6 +433,7 @@ var TextFieldBaseComponent = /*#__PURE__*/ React.forwardRef(function(_param, ref
433
433
  ]
434
434
  }));
435
435
  });
436
+ export { TextFieldBase };
436
437
  var useSuggestionsStyles = createUseStyles(function() {
437
438
  return {
438
439
  menuItem: {
@@ -465,7 +466,7 @@ var useSuggestionsStyles = createUseStyles(function() {
465
466
  var Autosuggest = /*#__PURE__*/ React.lazy(function() {
466
467
  return import(/* webpackChunkName: "react-autosuggest" */ 'react-autosuggest');
467
468
  });
468
- var TextFieldBase = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
469
+ var TextFieldBaseAutosuggest = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
469
470
  var getSuggestions = _param.getSuggestions, idProp = _param.id, props = _objectWithoutProperties(_param, ["getSuggestions", "id"
470
471
  ]);
471
472
  var ref1 = _slicedToArray(React.useState([]), 2), suggestions = ref1[0], setSuggestions = ref1[1];
@@ -478,7 +479,7 @@ var TextFieldBase = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
478
479
  throw Error('Fields with suggestions must be used in controlled mode');
479
480
  }
480
481
  return getSuggestions ? /*#__PURE__*/ _jsx(React.Suspense, {
481
- fallback: /*#__PURE__*/ _jsx(TextFieldBaseComponent, _objectSpread({
482
+ fallback: /*#__PURE__*/ _jsx(TextFieldBase, _objectSpread({
482
483
  }, props, {
483
484
  // This label override while loading is needed in acceptance tests because
484
485
  // while the test is typing, the component could be remounted.
@@ -511,7 +512,7 @@ var TextFieldBase = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
511
512
  }
512
513
  }),
513
514
  renderInputComponent: function(inputProps) {
514
- /*#__PURE__*/ return _jsx(TextFieldBaseComponent, _objectSpread({
515
+ /*#__PURE__*/ return _jsx(TextFieldBase, _objectSpread({
515
516
  }, inputProps, {
516
517
  inputRef: combineRefs(inputRef, props.inputRef, ref)
517
518
  }));
@@ -551,10 +552,10 @@ var TextFieldBase = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
551
552
  }));
552
553
  }
553
554
  })
554
- }) : /*#__PURE__*/ _jsx(TextFieldBaseComponent, _objectSpread({
555
+ }) : /*#__PURE__*/ _jsx(TextFieldBase, _objectSpread({
555
556
  }, props, {
556
557
  id: id,
557
558
  ref: ref
558
559
  }));
559
560
  });
560
- export default TextFieldBase;
561
+ export { TextFieldBaseAutosuggest };
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { useFieldProps } from './form-context';
4
- import TextFieldBase from './text-field-base';
4
+ import { TextFieldBaseAutosuggest } from './text-field-base';
5
5
  import { combineRefs } from './utils/common';
6
6
  function _defineProperty(obj, key, value) {
7
7
  if (key in obj) {
@@ -105,7 +105,7 @@ var TextField = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
105
105
  onChange: onChange,
106
106
  onChangeValue: onChangeValue
107
107
  });
108
- return(/*#__PURE__*/ _jsx(TextFieldBase, _objectSpread({
108
+ return(/*#__PURE__*/ _jsx(TextFieldBaseAutosuggest, _objectSpread({
109
109
  }, rest, fieldProps, {
110
110
  onClick: onPress,
111
111
  inputRef: combineRefs(inputRef, fieldProps.inputRef, ref),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telefonica/mistica",
3
- "version": "10.16.0",
3
+ "version": "10.17.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",