@megafon/ui-core 2.1.3 → 2.4.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 (67) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/es/colors/Colors.css +3 -3
  3. package/dist/es/colors/Colors.d.ts +2 -2
  4. package/dist/es/colors/Colors.js +2 -2
  5. package/dist/es/colors/colorsData.js +9 -0
  6. package/dist/es/components/Accordion/Accordion.d.ts +1 -0
  7. package/dist/es/components/Accordion/Accordion.js +4 -2
  8. package/dist/es/components/Banner/Banner.css +28 -0
  9. package/dist/es/components/Banner/Banner.d.ts +2 -0
  10. package/dist/es/components/Banner/Banner.js +15 -10
  11. package/dist/es/components/Button/Button.js +2 -2
  12. package/dist/es/components/Calendar/Calendar.js +3 -2
  13. package/dist/es/components/Calendar/components/Day/Day.js +1 -1
  14. package/dist/es/components/Carousel/Carousel.js +17 -14
  15. package/dist/es/components/Checkbox/Checkbox.d.ts +1 -1
  16. package/dist/es/components/Checkbox/Checkbox.js +1 -1
  17. package/dist/es/components/Counter/Counter.js +3 -3
  18. package/dist/es/components/Header/Header.d.ts +1 -1
  19. package/dist/es/components/Link/Link.d.ts +7 -3
  20. package/dist/es/components/Link/Link.js +21 -8
  21. package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.js +1 -1
  22. package/dist/es/components/Pagination/helpers.d.ts +1 -1
  23. package/dist/es/components/RadioButton/RadioButton.d.ts +5 -1
  24. package/dist/es/components/RadioButton/RadioButton.js +8 -6
  25. package/dist/es/components/Search/Search.js +4 -3
  26. package/dist/es/components/Select/Select.d.ts +3 -3
  27. package/dist/es/components/Select/Select.js +5 -5
  28. package/dist/es/components/Switcher/Switcher.js +1 -1
  29. package/dist/es/components/Tabs/Tabs.js +52 -42
  30. package/dist/es/components/TextField/TextField.d.ts +3 -1
  31. package/dist/es/components/TextField/TextField.js +14 -10
  32. package/dist/es/components/Tile/Tile.js +1 -1
  33. package/dist/es/components/Tooltip/Tooltip.js +17 -17
  34. package/dist/lib/colors/Colors.css +3 -3
  35. package/dist/lib/colors/Colors.d.ts +2 -2
  36. package/dist/lib/colors/Colors.js +2 -2
  37. package/dist/lib/colors/colorsData.js +9 -0
  38. package/dist/lib/components/Accordion/Accordion.d.ts +1 -0
  39. package/dist/lib/components/Accordion/Accordion.js +4 -2
  40. package/dist/lib/components/Banner/Banner.css +28 -0
  41. package/dist/lib/components/Banner/Banner.d.ts +2 -0
  42. package/dist/lib/components/Banner/Banner.js +15 -10
  43. package/dist/lib/components/Button/Button.js +2 -2
  44. package/dist/lib/components/Calendar/Calendar.js +3 -3
  45. package/dist/lib/components/Calendar/components/Day/Day.js +1 -1
  46. package/dist/lib/components/Carousel/Carousel.js +15 -12
  47. package/dist/lib/components/Checkbox/Checkbox.d.ts +1 -1
  48. package/dist/lib/components/Checkbox/Checkbox.js +1 -1
  49. package/dist/lib/components/Counter/Counter.js +3 -3
  50. package/dist/lib/components/Header/Header.d.ts +1 -1
  51. package/dist/lib/components/Link/Link.d.ts +7 -3
  52. package/dist/lib/components/Link/Link.js +34 -23
  53. package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.js +1 -1
  54. package/dist/lib/components/Pagination/helpers.d.ts +1 -1
  55. package/dist/lib/components/RadioButton/RadioButton.d.ts +5 -1
  56. package/dist/lib/components/RadioButton/RadioButton.js +7 -5
  57. package/dist/lib/components/Search/Search.js +4 -3
  58. package/dist/lib/components/Select/Select.d.ts +3 -3
  59. package/dist/lib/components/Select/Select.js +5 -5
  60. package/dist/lib/components/Switcher/Switcher.js +1 -1
  61. package/dist/lib/components/Tabs/Tabs.js +52 -42
  62. package/dist/lib/components/TextField/TextField.d.ts +3 -1
  63. package/dist/lib/components/TextField/TextField.js +14 -10
  64. package/dist/lib/components/Tile/Tile.js +1 -1
  65. package/dist/lib/components/Tooltip/Tooltip.js +17 -17
  66. package/package.json +2 -2
  67. package/styles/base.less +3 -5
@@ -121,6 +121,7 @@ var TextField = function TextField(_ref) {
121
121
  noticeText = _ref.noticeText,
122
122
  inputRef = _ref.inputRef,
123
123
  inputMode = _ref.inputMode,
124
+ autoComplete = _ref.autoComplete,
124
125
  _ref$classes = _ref.classes;
125
126
  _ref$classes = _ref$classes === void 0 ? {} : _ref$classes;
126
127
  var input = _ref$classes.input;
@@ -174,7 +175,7 @@ var TextField = function TextField(_ref) {
174
175
  (0, React.useEffect)(function () {
175
176
  !isControlled && setInputValue(value);
176
177
  checkSymbolMaxLimit(value);
177
- }, [value, checkSymbolMaxLimit]);
178
+ }, [value, checkSymbolMaxLimit, isControlled]);
178
179
  (0, React.useEffect)(function () {
179
180
  setTouch((0, _uiHelpers.detectTouch)());
180
181
  }, []);
@@ -182,7 +183,7 @@ var TextField = function TextField(_ref) {
182
183
  return setPasswordHidden(function (prevPassState) {
183
184
  return !prevPassState;
184
185
  });
185
- }, [isPasswordHidden]);
186
+ }, []);
186
187
 
187
188
  var setTextareaHeight = function setTextareaHeight() {
188
189
  if (!(fieldNode === null || fieldNode === void 0 ? void 0 : fieldNode.current)) {
@@ -205,7 +206,7 @@ var TextField = function TextField(_ref) {
205
206
 
206
207
  !isControlled && setInputValue(e.target.value);
207
208
  checkSymbolMaxLimit(e.target.value);
208
- onChange && onChange(e);
209
+ onChange === null || onChange === void 0 ? void 0 : onChange(e);
209
210
  };
210
211
 
211
212
  var handleTextareaClick = function handleTextareaClick() {
@@ -222,18 +223,18 @@ var TextField = function TextField(_ref) {
222
223
  var isClearFuncAvailable = !customIcon && !onCustomIconClick && verification === ERROR;
223
224
  var field = fieldNode.current;
224
225
  isPasswordType && togglePasswordHiding();
225
- onCustomIconClick && onCustomIconClick(e);
226
+ onCustomIconClick === null || onCustomIconClick === void 0 ? void 0 : onCustomIconClick(e);
226
227
 
227
228
  if (!isControlled && isClearFuncAvailable) {
228
229
  setInputValue('');
229
- field && field.focus();
230
+ field === null || field === void 0 ? void 0 : field.focus();
230
231
  }
231
- }, [isPasswordType, togglePasswordHiding, onCustomIconClick, verification, setInputValue]);
232
+ }, [isPasswordType, togglePasswordHiding, onCustomIconClick, verification, customIcon, isControlled]);
232
233
  var handleFocus = (0, React.useCallback)(function (e) {
233
- onFocus && onFocus(e);
234
+ onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);
234
235
  }, [onFocus]);
235
236
  var handleBlur = (0, React.useCallback)(function (e) {
236
- onBlur && onBlur(e);
237
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
237
238
  }, [onBlur]);
238
239
  var handleBeforeMaskChange = (0, React.useCallback)(function (newState, oldState, inputedValue) {
239
240
  return onBeforeMaskChange && onBeforeMaskChange(inputedValue, newState, oldState);
@@ -256,7 +257,8 @@ var TextField = function TextField(_ref) {
256
257
  };
257
258
  var inputParams = (0, _extends2["default"])((0, _extends2["default"])({}, commonParams), {
258
259
  className: cn('field', input),
259
- type: isVisiblePassword ? 'text' : type
260
+ type: isVisiblePassword ? 'text' : type,
261
+ autoComplete: autoComplete
260
262
  });
261
263
  var inputMaskParams = {
262
264
  mask: mask,
@@ -276,7 +278,7 @@ var TextField = function TextField(_ref) {
276
278
  }
277
279
 
278
280
  fieldNode.current = node;
279
- inputRef && inputRef(node);
281
+ inputRef === null || inputRef === void 0 ? void 0 : inputRef(node);
280
282
  };
281
283
 
282
284
  var getIcon = function getIcon() {
@@ -392,6 +394,8 @@ TextField.propTypes = {
392
394
  disabled: PropTypes.bool,
393
395
  required: PropTypes.bool,
394
396
  type: PropTypes.oneOf(['text', 'password', 'tel', 'email']),
397
+ inputMode: PropTypes.oneOf(['numeric', 'tel', 'decimal', 'email', 'url', 'search', 'none']),
398
+ autoComplete: PropTypes.string,
395
399
  name: PropTypes.string,
396
400
  placeholder: PropTypes.string,
397
401
  id: PropTypes.string,
@@ -52,7 +52,7 @@ var Tile = function Tile(_ref) {
52
52
  dataAttrs = _ref.dataAttrs;
53
53
 
54
54
  var handleClick = function handleClick(e) {
55
- onClick && onClick(e);
55
+ onClick === null || onClick === void 0 ? void 0 : onClick(e);
56
56
  };
57
57
 
58
58
  var isPointer = !!href || isInteractive;
@@ -109,7 +109,7 @@ var Tooltip = function Tooltip(_ref) {
109
109
 
110
110
  (0, _react.useEffect)(function () {
111
111
  return setIsOpen(isOpened);
112
- }, [isOpened, setIsOpen]);
112
+ }, [isOpened]);
113
113
  var options = (0, _react.useMemo)(function () {
114
114
  return {
115
115
  placement: placement,
@@ -137,7 +137,7 @@ var Tooltip = function Tooltip(_ref) {
137
137
  }
138
138
  }]
139
139
  };
140
- }, [placement, arrowElement, currentBoundary, isOpen]);
140
+ }, [placement, arrowElement, currentBoundary, isOpen, fallbackPlacements]);
141
141
 
142
142
  var _usePopper = (0, _reactPopper.usePopper)(currentTarget, popperElement, options),
143
143
  styles = _usePopper.styles,
@@ -145,7 +145,7 @@ var Tooltip = function Tooltip(_ref) {
145
145
  update = _usePopper.update;
146
146
 
147
147
  (0, _react.useEffect)(function () {
148
- update && update();
148
+ update === null || update === void 0 ? void 0 : update();
149
149
  }, [children, update]);
150
150
 
151
151
  var _useState7 = (0, _react.useState)(false),
@@ -155,7 +155,7 @@ var Tooltip = function Tooltip(_ref) {
155
155
 
156
156
  (0, _react.useEffect)(function () {
157
157
  return setIsTouchDevice((0, _uiHelpers.detectTouch)());
158
- }, [_uiHelpers.detectTouch, setIsTouchDevice]);
158
+ }, []);
159
159
  var clickEvent = (0, _react.useMemo)(function () {
160
160
  return isTouchDevice ? TOUCH_KEY : MOUSE_KEY;
161
161
  }, [isTouchDevice]);
@@ -165,9 +165,9 @@ var Tooltip = function Tooltip(_ref) {
165
165
  var handleMouseEnter = (0, _react.useCallback)(function (e) {
166
166
  if (!isOpen) {
167
167
  setIsOpen(true);
168
- onOpen && onOpen(e);
168
+ onOpen === null || onOpen === void 0 ? void 0 : onOpen(e);
169
169
  }
170
- }, [isOpen, onOpen, setIsOpen]);
170
+ }, [isOpen, onOpen]);
171
171
  var handleClick = (0, _react.useCallback)(function (e) {
172
172
  if (!checkEventIsClickOrEnterPress(e)) {
173
173
  return;
@@ -178,24 +178,24 @@ var Tooltip = function Tooltip(_ref) {
178
178
  });
179
179
 
180
180
  if (!isOpen) {
181
- onOpen && onOpen(e);
181
+ onOpen === null || onOpen === void 0 ? void 0 : onOpen(e);
182
182
  } else {
183
- onClose && onClose(e);
183
+ onClose === null || onClose === void 0 ? void 0 : onClose(e);
184
184
  }
185
- }, [isOpen, onOpen, onClose, setIsOpen]);
185
+ }, [isOpen, onOpen, onClose]);
186
186
  var handleOutsideEvent = (0, _react.useCallback)(function (e) {
187
187
  var isTargetInPopper = e.target instanceof Element && popperElement && popperElement.contains(e.target);
188
188
  var isTargetInTrigger = e.target instanceof Element && currentTrigger && currentTrigger.contains(e.target);
189
189
 
190
190
  if (!isTargetInPopper && !isTargetInTrigger) {
191
191
  setIsOpen(false);
192
- onClose && onClose(e);
192
+ onClose === null || onClose === void 0 ? void 0 : onClose(e);
193
193
  }
194
- }, [onClose, currentTrigger, popperElement, setIsOpen]);
194
+ }, [onClose, currentTrigger, popperElement]);
195
195
  var handleBlurEvent = (0, _react.useCallback)(function (e) {
196
196
  setIsOpen(false);
197
- onClose && onClose(e);
198
- }, [onClose, setIsOpen]);
197
+ onClose === null || onClose === void 0 ? void 0 : onClose(e);
198
+ }, [onClose]);
199
199
  (0, _react.useEffect)(function () {
200
200
  if (triggerEventName === TriggerEvent.HOVER) {
201
201
  if (currentTrigger) {
@@ -205,10 +205,10 @@ var Tooltip = function Tooltip(_ref) {
205
205
 
206
206
  if (isOpen) {
207
207
  document.addEventListener('mouseover', handleOutsideEvent);
208
- currentTrigger && currentTrigger.addEventListener('blur', handleBlurEvent);
208
+ currentTrigger === null || currentTrigger === void 0 ? void 0 : currentTrigger.addEventListener('blur', handleBlurEvent);
209
209
  } else {
210
210
  document.removeEventListener('mouseover', handleOutsideEvent);
211
- currentTrigger && currentTrigger.removeEventListener('blur', handleBlurEvent);
211
+ currentTrigger === null || currentTrigger === void 0 ? void 0 : currentTrigger.removeEventListener('blur', handleBlurEvent);
212
212
  }
213
213
 
214
214
  return function () {
@@ -222,7 +222,7 @@ var Tooltip = function Tooltip(_ref) {
222
222
  }
223
223
 
224
224
  return undefined;
225
- }, [triggerEventName, isOpen, currentTrigger, handleOutsideEvent, handleMouseEnter]);
225
+ }, [triggerEventName, isOpen, currentTrigger, handleOutsideEvent, handleMouseEnter, handleBlurEvent]);
226
226
  (0, _react.useEffect)(function () {
227
227
  if (triggerEventName === TriggerEvent.CLICK) {
228
228
  if (currentTrigger) {
@@ -247,7 +247,7 @@ var Tooltip = function Tooltip(_ref) {
247
247
  }
248
248
 
249
249
  return undefined;
250
- }, [triggerEventName, isOpen, currentTrigger, handleOutsideEvent, handleClick]);
250
+ }, [triggerEventName, isOpen, currentTrigger, handleOutsideEvent, handleClick, clickEvent]);
251
251
  return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
252
252
  className: cn({
253
253
  paddings: paddings,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@megafon/ui-core",
3
- "version": "2.1.3",
3
+ "version": "2.4.0",
4
4
  "files": [
5
5
  "dist",
6
6
  "styles"
@@ -96,5 +96,5 @@
96
96
  "react-popper": "^2.2.3",
97
97
  "swiper": "^6.5.6"
98
98
  },
99
- "gitHead": "884922566102445160ff8cbc20f6d54142b621e5"
99
+ "gitHead": "1c92184284a8224e5832b4c2218231edfcbb4d5f"
100
100
  }
package/styles/base.less CHANGED
@@ -19,6 +19,9 @@
19
19
  @fury: #F62434;
20
20
  @systemBlue: #34AAF2;
21
21
  @background: #FFFFFF;
22
+ @buttonHoverGreen: #10E272;
23
+ @buttonhoverPurple: #534455;
24
+ @buttonDown: #404D46;
22
25
 
23
26
  // Gradients
24
27
  @basic: linear-gradient(90deg, #01873F 0%, #00B956 74%, #14CD6A 100%);
@@ -56,11 +59,6 @@
56
59
  @fury80: #F8505D;
57
60
  @fury20: #FFC5C9;
58
61
 
59
- // old colors
60
- @buttonHoverGreen: #10E272;
61
- @buttonhoverPurple: #534455;
62
- @buttonDown: #404D46;
63
-
64
62
  // Notification Colors
65
63
  // TODO: будут отрефакторены после обновления дизайном Notification по новой палитре
66
64
  @error: #FFC4C9;