@megafon/ui-core 2.3.0 → 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 (54) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/es/colors/Colors.d.ts +2 -2
  3. package/dist/es/components/Accordion/Accordion.js +1 -1
  4. package/dist/es/components/Banner/Banner.css +28 -0
  5. package/dist/es/components/Banner/Banner.d.ts +2 -0
  6. package/dist/es/components/Banner/Banner.js +15 -10
  7. package/dist/es/components/Button/Button.js +2 -2
  8. package/dist/es/components/Calendar/Calendar.js +3 -2
  9. package/dist/es/components/Calendar/components/Day/Day.js +1 -1
  10. package/dist/es/components/Carousel/Carousel.js +17 -14
  11. package/dist/es/components/Checkbox/Checkbox.d.ts +1 -1
  12. package/dist/es/components/Checkbox/Checkbox.js +1 -1
  13. package/dist/es/components/Counter/Counter.js +3 -3
  14. package/dist/es/components/Header/Header.d.ts +1 -1
  15. package/dist/es/components/Link/Link.d.ts +7 -3
  16. package/dist/es/components/Link/Link.js +21 -8
  17. package/dist/es/components/Pagination/components/PaginationButton/PaginationButton.js +1 -1
  18. package/dist/es/components/Pagination/helpers.d.ts +1 -1
  19. package/dist/es/components/RadioButton/RadioButton.js +1 -1
  20. package/dist/es/components/Search/Search.js +3 -3
  21. package/dist/es/components/Select/Select.d.ts +3 -3
  22. package/dist/es/components/Select/Select.js +5 -5
  23. package/dist/es/components/Switcher/Switcher.js +1 -1
  24. package/dist/es/components/Tabs/Tabs.js +10 -9
  25. package/dist/es/components/TextField/TextField.js +9 -9
  26. package/dist/es/components/Tile/Tile.js +1 -1
  27. package/dist/es/components/Tooltip/Tooltip.js +17 -17
  28. package/dist/lib/colors/Colors.d.ts +2 -2
  29. package/dist/lib/components/Accordion/Accordion.js +1 -1
  30. package/dist/lib/components/Banner/Banner.css +28 -0
  31. package/dist/lib/components/Banner/Banner.d.ts +2 -0
  32. package/dist/lib/components/Banner/Banner.js +15 -10
  33. package/dist/lib/components/Button/Button.js +2 -2
  34. package/dist/lib/components/Calendar/Calendar.js +3 -3
  35. package/dist/lib/components/Calendar/components/Day/Day.js +1 -1
  36. package/dist/lib/components/Carousel/Carousel.js +15 -12
  37. package/dist/lib/components/Checkbox/Checkbox.d.ts +1 -1
  38. package/dist/lib/components/Checkbox/Checkbox.js +1 -1
  39. package/dist/lib/components/Counter/Counter.js +3 -3
  40. package/dist/lib/components/Header/Header.d.ts +1 -1
  41. package/dist/lib/components/Link/Link.d.ts +7 -3
  42. package/dist/lib/components/Link/Link.js +34 -23
  43. package/dist/lib/components/Pagination/components/PaginationButton/PaginationButton.js +1 -1
  44. package/dist/lib/components/Pagination/helpers.d.ts +1 -1
  45. package/dist/lib/components/RadioButton/RadioButton.js +1 -1
  46. package/dist/lib/components/Search/Search.js +3 -3
  47. package/dist/lib/components/Select/Select.d.ts +3 -3
  48. package/dist/lib/components/Select/Select.js +5 -5
  49. package/dist/lib/components/Switcher/Switcher.js +1 -1
  50. package/dist/lib/components/Tabs/Tabs.js +10 -9
  51. package/dist/lib/components/TextField/TextField.js +9 -9
  52. package/dist/lib/components/Tile/Tile.js +1 -1
  53. package/dist/lib/components/Tooltip/Tooltip.js +17 -17
  54. package/package.json +2 -2
@@ -36,7 +36,7 @@ var Tile = function Tile(_ref) {
36
36
  dataAttrs = _ref.dataAttrs;
37
37
 
38
38
  var handleClick = function handleClick(e) {
39
- onClick && onClick(e);
39
+ onClick === null || onClick === void 0 ? void 0 : onClick(e);
40
40
  };
41
41
 
42
42
  var isPointer = !!href || isInteractive;
@@ -82,7 +82,7 @@ var Tooltip = function Tooltip(_ref) {
82
82
 
83
83
  useEffect(function () {
84
84
  return setIsOpen(isOpened);
85
- }, [isOpened, setIsOpen]);
85
+ }, [isOpened]);
86
86
  var options = useMemo(function () {
87
87
  return {
88
88
  placement: placement,
@@ -110,7 +110,7 @@ var Tooltip = function Tooltip(_ref) {
110
110
  }
111
111
  }]
112
112
  };
113
- }, [placement, arrowElement, currentBoundary, isOpen]);
113
+ }, [placement, arrowElement, currentBoundary, isOpen, fallbackPlacements]);
114
114
 
115
115
  var _usePopper = usePopper(currentTarget, popperElement, options),
116
116
  styles = _usePopper.styles,
@@ -118,7 +118,7 @@ var Tooltip = function Tooltip(_ref) {
118
118
  update = _usePopper.update;
119
119
 
120
120
  useEffect(function () {
121
- update && update();
121
+ update === null || update === void 0 ? void 0 : update();
122
122
  }, [children, update]);
123
123
 
124
124
  var _useState7 = useState(false),
@@ -128,7 +128,7 @@ var Tooltip = function Tooltip(_ref) {
128
128
 
129
129
  useEffect(function () {
130
130
  return setIsTouchDevice(detectTouch());
131
- }, [detectTouch, setIsTouchDevice]);
131
+ }, []);
132
132
  var clickEvent = useMemo(function () {
133
133
  return isTouchDevice ? TOUCH_KEY : MOUSE_KEY;
134
134
  }, [isTouchDevice]);
@@ -138,9 +138,9 @@ var Tooltip = function Tooltip(_ref) {
138
138
  var handleMouseEnter = useCallback(function (e) {
139
139
  if (!isOpen) {
140
140
  setIsOpen(true);
141
- onOpen && onOpen(e);
141
+ onOpen === null || onOpen === void 0 ? void 0 : onOpen(e);
142
142
  }
143
- }, [isOpen, onOpen, setIsOpen]);
143
+ }, [isOpen, onOpen]);
144
144
  var handleClick = useCallback(function (e) {
145
145
  if (!checkEventIsClickOrEnterPress(e)) {
146
146
  return;
@@ -151,24 +151,24 @@ var Tooltip = function Tooltip(_ref) {
151
151
  });
152
152
 
153
153
  if (!isOpen) {
154
- onOpen && onOpen(e);
154
+ onOpen === null || onOpen === void 0 ? void 0 : onOpen(e);
155
155
  } else {
156
- onClose && onClose(e);
156
+ onClose === null || onClose === void 0 ? void 0 : onClose(e);
157
157
  }
158
- }, [isOpen, onOpen, onClose, setIsOpen]);
158
+ }, [isOpen, onOpen, onClose]);
159
159
  var handleOutsideEvent = useCallback(function (e) {
160
160
  var isTargetInPopper = e.target instanceof Element && popperElement && popperElement.contains(e.target);
161
161
  var isTargetInTrigger = e.target instanceof Element && currentTrigger && currentTrigger.contains(e.target);
162
162
 
163
163
  if (!isTargetInPopper && !isTargetInTrigger) {
164
164
  setIsOpen(false);
165
- onClose && onClose(e);
165
+ onClose === null || onClose === void 0 ? void 0 : onClose(e);
166
166
  }
167
- }, [onClose, currentTrigger, popperElement, setIsOpen]);
167
+ }, [onClose, currentTrigger, popperElement]);
168
168
  var handleBlurEvent = useCallback(function (e) {
169
169
  setIsOpen(false);
170
- onClose && onClose(e);
171
- }, [onClose, setIsOpen]);
170
+ onClose === null || onClose === void 0 ? void 0 : onClose(e);
171
+ }, [onClose]);
172
172
  useEffect(function () {
173
173
  if (triggerEventName === TriggerEvent.HOVER) {
174
174
  if (currentTrigger) {
@@ -178,10 +178,10 @@ var Tooltip = function Tooltip(_ref) {
178
178
 
179
179
  if (isOpen) {
180
180
  document.addEventListener('mouseover', handleOutsideEvent);
181
- currentTrigger && currentTrigger.addEventListener('blur', handleBlurEvent);
181
+ currentTrigger === null || currentTrigger === void 0 ? void 0 : currentTrigger.addEventListener('blur', handleBlurEvent);
182
182
  } else {
183
183
  document.removeEventListener('mouseover', handleOutsideEvent);
184
- currentTrigger && currentTrigger.removeEventListener('blur', handleBlurEvent);
184
+ currentTrigger === null || currentTrigger === void 0 ? void 0 : currentTrigger.removeEventListener('blur', handleBlurEvent);
185
185
  }
186
186
 
187
187
  return function () {
@@ -195,7 +195,7 @@ var Tooltip = function Tooltip(_ref) {
195
195
  }
196
196
 
197
197
  return undefined;
198
- }, [triggerEventName, isOpen, currentTrigger, handleOutsideEvent, handleMouseEnter]);
198
+ }, [triggerEventName, isOpen, currentTrigger, handleOutsideEvent, handleMouseEnter, handleBlurEvent]);
199
199
  useEffect(function () {
200
200
  if (triggerEventName === TriggerEvent.CLICK) {
201
201
  if (currentTrigger) {
@@ -220,7 +220,7 @@ var Tooltip = function Tooltip(_ref) {
220
220
  }
221
221
 
222
222
  return undefined;
223
- }, [triggerEventName, isOpen, currentTrigger, handleOutsideEvent, handleClick]);
223
+ }, [triggerEventName, isOpen, currentTrigger, handleOutsideEvent, handleClick, clickEvent]);
224
224
  return /*#__PURE__*/React.createElement("div", _extends({
225
225
  className: cn({
226
226
  paddings: paddings,
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import * as React from 'react';
2
2
  import './Colors.less';
3
- declare const Colors: () => JSX.Element;
3
+ declare const Colors: React.FC;
4
4
  export default Colors;
@@ -73,7 +73,7 @@ var Accordion = function Accordion(_ref) {
73
73
  }, [isOpened]);
74
74
 
75
75
  var handleClickTitle = function handleClickTitle() {
76
- onClickAccordion && onClickAccordion(!isOpenedState, title);
76
+ onClickAccordion === null || onClickAccordion === void 0 ? void 0 : onClickAccordion(!isOpenedState, title);
77
77
  setIsOpenedState(!isOpenedState);
78
78
  };
79
79
 
@@ -41,6 +41,11 @@ h5 {
41
41
  -webkit-transform: translateY(-50%);
42
42
  transform: translateY(-50%);
43
43
  }
44
+ @media screen and (max-width: 767px) {
45
+ .mfui-banner__arrow {
46
+ display: none;
47
+ }
48
+ }
44
49
  .mfui-banner__arrow_prev {
45
50
  left: 12px;
46
51
  }
@@ -105,6 +110,29 @@ h5 {
105
110
  .mfui-banner__pagination_theme_dark {
106
111
  background-color: rgba(0, 0, 0, 0.25);
107
112
  }
113
+ .mfui-banner__pagination_bottom-offset {
114
+ bottom: 60px;
115
+ }
116
+ @media screen and (min-width: 768px) and (max-width: 1023px) {
117
+ .mfui-banner__pagination_bottom-offset {
118
+ bottom: 89px;
119
+ }
120
+ }
121
+ @media screen and (min-width: 1024px) and (max-width: 1279px) {
122
+ .mfui-banner__pagination_bottom-offset {
123
+ bottom: 90px;
124
+ }
125
+ }
126
+ @media screen and (min-width: 1280px) and (max-width: 1439px) {
127
+ .mfui-banner__pagination_bottom-offset {
128
+ bottom: 65px;
129
+ }
130
+ }
131
+ @media screen and (min-width: 1440px) {
132
+ .mfui-banner__pagination_bottom-offset {
133
+ bottom: 72px;
134
+ }
135
+ }
108
136
  .mfui-banner__dot {
109
137
  width: 12px;
110
138
  height: 12px;
@@ -16,6 +16,8 @@ export interface IBannerProps {
16
16
  slide?: string;
17
17
  arrow?: string;
18
18
  };
19
+ /** Предполагается использование с наезжанием на баннер следующего за баннером элемента */
20
+ withPaginationBottomOffset?: boolean;
19
21
  /** Автоматическая прокрутка */
20
22
  autoPlay?: boolean;
21
23
  /** Задержка автоматической прокрутки */
@@ -59,6 +59,8 @@ var Banner = function Banner(_ref) {
59
59
  var className = _ref.className,
60
60
  _ref$classes = _ref.classes,
61
61
  classes = _ref$classes === void 0 ? {} : _ref$classes,
62
+ _ref$withPaginationBo = _ref.withPaginationBottomOffset,
63
+ withPaginationBottomOffset = _ref$withPaginationBo === void 0 ? false : _ref$withPaginationBo,
62
64
  _ref$autoPlay = _ref.autoPlay,
63
65
  autoPlay = _ref$autoPlay === void 0 ? false : _ref$autoPlay,
64
66
  _ref$autoPlayDelay = _ref.autoPlayDelay,
@@ -110,7 +112,8 @@ var Banner = function Banner(_ref) {
110
112
  return;
111
113
  }
112
114
 
113
- autoplay.stop();
115
+ autoplay.stop(); // eslint-disable-next-line no-param-reassign
116
+
114
117
  params.autoplay.delay = autoPlayDelay * 3;
115
118
  autoplay.start();
116
119
  }, [autoPlayDelay]);
@@ -120,18 +123,18 @@ var Banner = function Banner(_ref) {
120
123
  }
121
124
 
122
125
  swiperInstance.slidePrev();
123
- onPrevClick && onPrevClick(swiperInstance.realIndex);
126
+ onPrevClick === null || onPrevClick === void 0 ? void 0 : onPrevClick(swiperInstance.realIndex);
124
127
  increaseAutoplayDelay(swiperInstance);
125
- }, [swiperInstance, onPrevClick]);
128
+ }, [swiperInstance, onPrevClick, increaseAutoplayDelay]);
126
129
  var handleNextClick = React.useCallback(function () {
127
130
  if (!swiperInstance) {
128
131
  return;
129
132
  }
130
133
 
131
134
  swiperInstance.slideNext();
132
- onNextClick && onNextClick(swiperInstance.realIndex);
135
+ onNextClick === null || onNextClick === void 0 ? void 0 : onNextClick(swiperInstance.realIndex);
133
136
  increaseAutoplayDelay(swiperInstance);
134
- }, [swiperInstance, onNextClick]);
137
+ }, [swiperInstance, onNextClick, increaseAutoplayDelay]);
135
138
  var handleDotClick = React.useCallback(function (index) {
136
139
  if (!swiperInstance) {
137
140
  return;
@@ -143,9 +146,9 @@ var Banner = function Banner(_ref) {
143
146
  swiperInstance.slideTo(index);
144
147
  }
145
148
 
146
- onDotClick && onDotClick(swiperInstance.realIndex);
149
+ onDotClick === null || onDotClick === void 0 ? void 0 : onDotClick(swiperInstance.realIndex);
147
150
  increaseAutoplayDelay(swiperInstance);
148
- }, [swiperInstance, loop, onDotClick]);
151
+ }, [swiperInstance, loop, onDotClick, increaseAutoplayDelay]);
149
152
  var handleSwiper = React.useCallback(function (swiper) {
150
153
  setSwiperInstance(swiper);
151
154
  }, []);
@@ -168,8 +171,8 @@ var Banner = function Banner(_ref) {
168
171
  var handleSlideChange = React.useCallback(function (_ref4) {
169
172
  var realIndex = _ref4.realIndex;
170
173
  setActiveIndex(realIndex);
171
- onChange && onChange(realIndex);
172
- }, []);
174
+ onChange === null || onChange === void 0 ? void 0 : onChange(realIndex);
175
+ }, [onChange]);
173
176
  var handleAutoplayStop = React.useCallback(function () {
174
177
  setAutoPlayning(false);
175
178
  }, []);
@@ -210,7 +213,8 @@ var Banner = function Banner(_ref) {
210
213
  theme: navArrowTheme
211
214
  }), /*#__PURE__*/React.createElement("div", {
212
215
  className: cn('pagination', {
213
- theme: navTheme
216
+ theme: navTheme,
217
+ 'bottom-offset': withPaginationBottomOffset
214
218
  })
215
219
  }, React.Children.map(children, function (_, i) {
216
220
  return /*#__PURE__*/React.createElement(_BannerDot["default"], {
@@ -231,6 +235,7 @@ Banner.propTypes = {
231
235
  classes: PropTypes.shape({
232
236
  slide: PropTypes.string
233
237
  }),
238
+ withPaginationBottomOffset: PropTypes.bool,
234
239
  autoPlay: PropTypes.bool,
235
240
  autoPlayDelay: PropTypes.number,
236
241
  navTheme: PropTypes.oneOf(Object.values(NavTheme)),
@@ -123,7 +123,7 @@ var Button = function Button(_ref) {
123
123
  return;
124
124
  }
125
125
 
126
- onClick && onClick(e);
126
+ onClick === null || onClick === void 0 ? void 0 : onClick(e);
127
127
  }, [disabled, onClick]);
128
128
 
129
129
  var currentTheme = _react["default"].useMemo(function () {
@@ -185,7 +185,7 @@ var Button = function Button(_ref) {
185
185
  sizeTablet: sizeTablet && getLoaderSize(sizeTablet),
186
186
  sizeMobile: sizeMobile && getLoaderSize(sizeMobile)
187
187
  });
188
- }, [sizeAll, sizeWide, sizeDesktop, sizeTablet, sizeMobile]);
188
+ }, [sizeAll, sizeWide, sizeDesktop, sizeTablet, sizeMobile, loaderColor]);
189
189
 
190
190
  var setRelAttribute = function setRelAttribute() {
191
191
  if (ElementType !== 'a') {
@@ -146,7 +146,7 @@ var Calendar = function Calendar(_ref) {
146
146
  (0, _react.useEffect)(function () {
147
147
  var propsStartDate = calendarStateFromProps.startDate;
148
148
  setCalendarState(calendarStateFromProps);
149
- propsStartDate && goToDate(propsStartDate);
149
+ propsStartDate && goToDate(propsStartDate); // eslint-disable-next-line react-hooks/exhaustive-deps
150
150
  }, [calendarStateFromProps]);
151
151
 
152
152
  var getCalendarState = function getCalendarState(date) {
@@ -211,7 +211,7 @@ var Calendar = function Calendar(_ref) {
211
211
  var nextStartDate = nextState.startDate,
212
212
  nextEndDate = nextState.endDate;
213
213
  setCalendarState(nextState);
214
- onChange && onChange(nextStartDate, nextEndDate);
214
+ onChange === null || onChange === void 0 ? void 0 : onChange(nextStartDate, nextEndDate);
215
215
  };
216
216
 
217
217
  var handleDateHover = function handleDateHover(date) {
@@ -255,7 +255,7 @@ var Calendar = function Calendar(_ref) {
255
255
  var renderMonths = function renderMonths() {
256
256
  return activeMonths.map(function (_ref2) {
257
257
  var month = _ref2.month,
258
- year = _ref2.year;
258
+ year = _ref2.year; // eslint-disable-next-line react-hooks/rules-of-hooks
259
259
 
260
260
  var _useMonth = (0, _hooks.useMonth)({
261
261
  year: year,
@@ -79,7 +79,7 @@ var Day = function Day(_a) {
79
79
  };
80
80
 
81
81
  var handleMouseLeave = function handleMouseLeave() {
82
- onMouseLeave && onMouseLeave();
82
+ onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave();
83
83
  };
84
84
 
85
85
  return /*#__PURE__*/_react["default"].createElement("button", {
@@ -154,7 +154,8 @@ var Carousel = function Carousel(_ref) {
154
154
  return;
155
155
  }
156
156
 
157
- autoplay.stop();
157
+ autoplay.stop(); // eslint-disable-next-line no-param-reassign
158
+
158
159
  params.autoplay.delay = autoPlayDelay * 3;
159
160
  autoplay.start();
160
161
  }, [autoPlayDelay]);
@@ -164,7 +165,7 @@ var Carousel = function Carousel(_ref) {
164
165
  }
165
166
 
166
167
  swiperInstance.slidePrev();
167
- onPrevClick && onPrevClick(swiperInstance.realIndex);
168
+ onPrevClick === null || onPrevClick === void 0 ? void 0 : onPrevClick(swiperInstance.realIndex);
168
169
  increaseAutoplayDelay(swiperInstance);
169
170
  }, [swiperInstance, onPrevClick, increaseAutoplayDelay]);
170
171
  var handleNextClick = React.useCallback(function () {
@@ -173,14 +174,14 @@ var Carousel = function Carousel(_ref) {
173
174
  }
174
175
 
175
176
  swiperInstance.slideNext();
176
- onNextClick && onNextClick(swiperInstance.realIndex);
177
+ onNextClick === null || onNextClick === void 0 ? void 0 : onNextClick(swiperInstance.realIndex);
177
178
  increaseAutoplayDelay(swiperInstance);
178
179
  }, [swiperInstance, onNextClick, increaseAutoplayDelay]);
179
180
  var handleSwiper = React.useCallback(function (swiper) {
180
181
  setSwiperInstance(swiper);
181
182
  setLocked(swiper.isBeginning && swiper.isEnd);
182
- getSwiper && getSwiper(swiper);
183
- }, []);
183
+ getSwiper === null || getSwiper === void 0 ? void 0 : getSwiper(swiper);
184
+ }, [getSwiper]);
184
185
  var handleReachBeginnig = React.useCallback(function () {
185
186
  setBeginning(true);
186
187
  }, []);
@@ -201,7 +202,7 @@ var Carousel = function Carousel(_ref) {
201
202
  var realIndex = _ref4.realIndex,
202
203
  previousIndex = _ref4.previousIndex,
203
204
  params = _ref4.params;
204
- onChange && onChange(realIndex, previousIndex, params.slidesPerView);
205
+ onChange === null || onChange === void 0 ? void 0 : onChange(realIndex, previousIndex, params.slidesPerView);
205
206
  }, [onChange]);
206
207
 
207
208
  var handleRootClick = function handleRootClick(e) {
@@ -214,13 +215,15 @@ var Carousel = function Carousel(_ref) {
214
215
  }; // https://github.com/nolimits4web/Swiper/issues/2346
215
216
 
216
217
 
217
- var handleSwiperResize = React.useCallback((0, _lodash["default"])(function (swiper) {
218
- setBeginning(swiper.isBeginning);
219
- setEnd(swiper.isEnd);
220
- setLocked(swiper.isBeginning && swiper.isEnd);
218
+ var handleSwiperResize = React.useCallback(function () {
219
+ (0, _lodash["default"])(function (swiper) {
220
+ setBeginning(swiper.isBeginning);
221
+ setEnd(swiper.isEnd);
222
+ setLocked(swiper.isBeginning && swiper.isEnd);
221
223
 
222
- if (swiper.params.slidesPerView === SlidesPerView.AUTO) {}
223
- }, _throttleTime["default"].resize), []);
224
+ if (swiper.params.slidesPerView === SlidesPerView.AUTO) {}
225
+ }, _throttleTime["default"].resize);
226
+ }, []);
224
227
 
225
228
  var handleSlideFocus = function handleSlideFocus(index) {
226
229
  return function (e) {
@@ -30,7 +30,7 @@ export interface ICheckboxProps extends IFilterDataAttrs {
30
30
  /** Обработчик изменения значения */
31
31
  onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
32
32
  }
33
- declare class Checkbox extends React.Component<ICheckboxProps, {}> {
33
+ declare class Checkbox extends React.Component<ICheckboxProps> {
34
34
  static propTypes: {
35
35
  className: PropTypes.Requireable<string>;
36
36
  fontSize: PropTypes.Requireable<string>;
@@ -94,7 +94,7 @@ var Checkbox = /*#__PURE__*/function (_React$Component) {
94
94
 
95
95
  _this.handleChange = function (e) {
96
96
  var onChange = _this.props.onChange;
97
- onChange && onChange(e);
97
+ onChange === null || onChange === void 0 ? void 0 : onChange(e);
98
98
  };
99
99
 
100
100
  return _this;
@@ -75,15 +75,15 @@ var Counter = function Counter(_ref) {
75
75
  }
76
76
 
77
77
  if (inputValue < min) {
78
- onChange && onChange(min);
78
+ onChange === null || onChange === void 0 ? void 0 : onChange(min);
79
79
  }
80
80
 
81
81
  if (inputValue > max) {
82
- onChange && onChange(max);
82
+ onChange === null || onChange === void 0 ? void 0 : onChange(max);
83
83
  }
84
84
 
85
85
  if (inputValue >= min && inputValue <= max) {
86
- onChange && onChange(inputValue);
86
+ onChange === null || onChange === void 0 ? void 0 : onChange(inputValue);
87
87
  }
88
88
  }, [min, max, onChange, isControlled]);
89
89
  var handleMinusClick = React.useCallback(function () {
@@ -18,7 +18,7 @@ interface IHeaderProps extends IFilterDataAttrs {
18
18
  /** Обработчик клика */
19
19
  onClick?: (e: React.SyntheticEvent<EventTarget>) => void;
20
20
  }
21
- declare class Header extends React.Component<IHeaderProps, {}> {
21
+ declare class Header extends React.Component<IHeaderProps> {
22
22
  static propTypes: {
23
23
  as: PropTypes.Requireable<string>;
24
24
  color: PropTypes.Requireable<string>;
@@ -1,4 +1,4 @@
1
- import * as React from 'react';
1
+ import React from 'react';
2
2
  export interface ILinkProps {
3
3
  /** Дополнительный класс корневого элемента */
4
4
  className?: string;
@@ -8,10 +8,14 @@ export interface ILinkProps {
8
8
  target?: '_self' | '_blank' | '_parent' | '_top';
9
9
  /** rel - аргумент тега <a> */
10
10
  rel?: string;
11
- /** Обработчик клика */
12
- onClick?: (e: React.MouseEvent<EventTarget>) => void;
13
11
  /** Добавление атрибута download */
14
12
  download?: boolean;
13
+ /** Дата атрибуты для элемента */
14
+ dataAttrs?: {
15
+ root?: Record<string, string>;
16
+ };
17
+ /** Обработчик клика */
18
+ onClick?: (e: React.MouseEvent<EventTarget>) => void;
15
19
  children?: JSX.Element[] | Element[] | JSX.Element | string | Element | React.ReactNode;
16
20
  }
17
21
  declare const Link: React.FC<ILinkProps>;
@@ -1,36 +1,47 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports["default"] = void 0;
9
7
 
10
- var React = _interopRequireWildcard(require("react"));
11
-
12
- var PropTypes = _interopRequireWildcard(require("prop-types"));
13
-
14
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
15
-
16
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
-
18
- var Link = function Link(props) {
19
- return (
20
- /*#__PURE__*/
21
- // eslint-disable-next-line jsx-a11y/anchor-has-content
22
- React.createElement("a", props)
23
- );
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _uiHelpers = require("@megafon/ui-helpers");
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ var Link = function Link(_ref) {
19
+ var target = _ref.target,
20
+ href = _ref.href,
21
+ rel = _ref.rel,
22
+ onClick = _ref.onClick,
23
+ className = _ref.className,
24
+ download = _ref.download,
25
+ children = _ref.children,
26
+ dataAttrs = _ref.dataAttrs;
27
+ return /*#__PURE__*/_react["default"].createElement("a", (0, _extends2["default"])({
28
+ className: className,
29
+ href: href,
30
+ target: target,
31
+ rel: rel,
32
+ download: download,
33
+ onClick: onClick
34
+ }, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root)), children);
24
35
  };
25
36
 
26
37
  Link.propTypes = {
27
- href: PropTypes.string,
28
- children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.element), PropTypes.element, PropTypes.string, PropTypes.node]),
29
- target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),
30
- className: PropTypes.string,
31
- rel: PropTypes.string,
32
- onClick: PropTypes.func,
33
- download: PropTypes.bool
38
+ href: _propTypes["default"].string,
39
+ children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].element), _propTypes["default"].element, _propTypes["default"].string, _propTypes["default"].node]),
40
+ target: _propTypes["default"].oneOf(['_self', '_blank', '_parent', '_top']),
41
+ className: _propTypes["default"].string,
42
+ rel: _propTypes["default"].string,
43
+ onClick: _propTypes["default"].func,
44
+ download: _propTypes["default"].bool
34
45
  };
35
46
  var _default = Link;
36
47
  exports["default"] = _default;
@@ -28,7 +28,7 @@ var PaginationButton = function PaginationButton(_ref) {
28
28
  value = _ref.value;
29
29
 
30
30
  var handleClick = function handleClick() {
31
- onClick && onClick(value);
31
+ onClick === null || onClick === void 0 ? void 0 : onClick(value);
32
32
  };
33
33
 
34
34
  return /*#__PURE__*/_react["default"].createElement("button", {
@@ -1,2 +1,2 @@
1
- declare const getRange: (from: any, to: any, step?: number) => number[];
1
+ declare const getRange: (from: number, to: number, step?: number) => number[];
2
2
  export default getRange;
@@ -93,7 +93,7 @@ var RadioButton = /*#__PURE__*/function (_React$Component) {
93
93
  var _this$props = _this.props,
94
94
  onChange = _this$props.onChange,
95
95
  value = _this$props.value;
96
- onChange && onChange(value);
96
+ onChange === null || onChange === void 0 ? void 0 : onChange(value);
97
97
  };
98
98
 
99
99
  return _this;
@@ -100,7 +100,7 @@ var Search = function Search(_ref) {
100
100
  setActiveIndex(-1);
101
101
 
102
102
  if (changeDelay === 0) {
103
- onChange && onChange(inputValue);
103
+ onChange === null || onChange === void 0 ? void 0 : onChange(inputValue);
104
104
  } else {
105
105
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
106
106
  // @ts-ignore
@@ -124,7 +124,7 @@ var Search = function Search(_ref) {
124
124
  }
125
125
 
126
126
  var chosenValue = items[index].value;
127
- onSubmit && onSubmit(chosenValue);
127
+ onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(chosenValue);
128
128
  }, [disabled, items, onSubmit]);
129
129
 
130
130
  var handleSelectSubmit = _react["default"].useCallback(function () {
@@ -139,7 +139,7 @@ var Search = function Search(_ref) {
139
139
 
140
140
  var handleBlur = _react["default"].useCallback(function (e) {
141
141
  setFocus(false);
142
- onBlur && onBlur(e);
142
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
143
143
  }, [onBlur]);
144
144
 
145
145
  var handleClick = _react["default"].useCallback(function () {
@@ -138,9 +138,9 @@ declare class Select<T extends SelectItemValueType> extends React.Component<ISel
138
138
  handleChangeCombobox: (e: React.ChangeEvent<HTMLInputElement>) => void;
139
139
  handleKeyDown: (e: React.KeyboardEvent<HTMLDivElement>) => boolean;
140
140
  highlightString: (title: string, view?: string | Element | JSX.Element | JSX.Element[] | Element[] | ((data: ViewCallbackArguments) => ElementOrString) | undefined) => ElementOrString;
141
- getItemWrapper: (node: any) => void;
142
- getSelectNode: (node: any) => void;
143
- getNodeList: (node: any) => number;
141
+ getItemWrapper: (node: HTMLDivElement) => void;
142
+ getSelectNode: (node: HTMLDivElement) => void;
143
+ getNodeList: (node: HTMLDivElement) => void;
144
144
  scrollList(activeIndex: number): void;
145
145
  renderTitle(): JSX.Element;
146
146
  renderCombobox(): JSX.Element;
@@ -154,12 +154,12 @@ var Select = /*#__PURE__*/function (_React$Component) {
154
154
 
155
155
  _this.handleOpened = function () {
156
156
  var onOpened = _this.props.onOpened;
157
- onOpened && onOpened();
157
+ onOpened === null || onOpened === void 0 ? void 0 : onOpened();
158
158
  };
159
159
 
160
160
  _this.handleClosed = function () {
161
161
  var onClosed = _this.props.onClosed;
162
- onClosed && onClosed();
162
+ onClosed === null || onClosed === void 0 ? void 0 : onClosed();
163
163
  };
164
164
 
165
165
  _this.handleClickOutside = function (e) {
@@ -218,7 +218,7 @@ var Select = /*#__PURE__*/function (_React$Component) {
218
218
  isChoosenItem: true
219
219
  });
220
220
 
221
- onSelect && onSelect(e, item);
221
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(e, item);
222
222
 
223
223
  _this.handleClosed();
224
224
  };
@@ -258,7 +258,7 @@ var Select = /*#__PURE__*/function (_React$Component) {
258
258
  var filterValue = e.target.value;
259
259
 
260
260
  if (isChoosenItem) {
261
- onSelect && onSelect(null);
261
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(null);
262
262
  }
263
263
 
264
264
  _this.setState({
@@ -376,7 +376,7 @@ var Select = /*#__PURE__*/function (_React$Component) {
376
376
  };
377
377
 
378
378
  _this.getNodeList = function (node) {
379
- return _this.itemsNodeList.push(node);
379
+ _this.itemsNodeList.push(node);
380
380
  };
381
381
 
382
382
  _this.state = {