@jetbrains/ring-ui-built 6.0.32 → 6.0.34

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 (226) hide show
  1. package/components/_helpers/_rollupPluginBabelHelpers.js +567 -1
  2. package/components/_helpers/anchor.js +6 -7
  3. package/components/_helpers/button__classes.js +14 -16
  4. package/components/_helpers/caption.js +20 -14
  5. package/components/_helpers/card.js +105 -95
  6. package/components/_helpers/dialog__body-scroll-preventer.js +19 -11
  7. package/components/_helpers/icon__svg.js +25 -22
  8. package/components/_helpers/input.js +176 -146
  9. package/components/_helpers/query-assist__suggestions.js +90 -74
  10. package/components/_helpers/select__filter.js +69 -48
  11. package/components/_helpers/services-link.js +37 -29
  12. package/components/_helpers/sidebar.js +107 -99
  13. package/components/_helpers/tab-link.js +7 -7
  14. package/components/_helpers/theme.js +40 -31
  15. package/components/_helpers/title.js +72 -57
  16. package/components/alert/alert.js +202 -150
  17. package/components/alert/container.js +41 -32
  18. package/components/alert-service/alert-service.js +170 -105
  19. package/components/analytics/analytics.js +22 -12
  20. package/components/analytics/analytics__custom-plugin.js +75 -54
  21. package/components/auth/auth.js +36 -4
  22. package/components/auth/auth__core.js +1471 -746
  23. package/components/auth/background-flow.js +127 -87
  24. package/components/auth/down-notification.js +73 -30
  25. package/components/auth/iframe-flow.js +133 -75
  26. package/components/auth/request-builder.js +82 -46
  27. package/components/auth/response-parser.js +116 -86
  28. package/components/auth/storage.js +334 -171
  29. package/components/auth/token-validator.js +242 -137
  30. package/components/auth/window-flow.js +134 -92
  31. package/components/auth-dialog/auth-dialog.js +172 -114
  32. package/components/auth-dialog-service/auth-dialog-service.js +31 -8
  33. package/components/avatar/avatar-example-datauri.js +1 -23
  34. package/components/avatar/avatar.js +152 -119
  35. package/components/avatar/fallback-avatar.js +38 -22
  36. package/components/badge/badge.js +45 -35
  37. package/components/button/button.js +107 -86
  38. package/components/button-group/button-group.js +33 -19
  39. package/components/button-set/button-set.js +32 -20
  40. package/components/button-toolbar/button-toolbar.js +31 -19
  41. package/components/caret/caret.js +220 -186
  42. package/components/checkbox/checkbox.js +101 -76
  43. package/components/clipboard/clipboard-fallback.js +10 -10
  44. package/components/clipboard/clipboard.js +132 -35
  45. package/components/code/code.js +166 -92
  46. package/components/collapse/collapse-content.js +64 -42
  47. package/components/collapse/collapse-context.js +2 -2
  48. package/components/collapse/collapse-control.js +14 -12
  49. package/components/collapse/collapse.js +17 -11
  50. package/components/collapse/consts.js +4 -4
  51. package/components/collapse/utils.js +3 -1
  52. package/components/confirm/confirm.js +104 -66
  53. package/components/confirm-service/confirm-service.js +59 -37
  54. package/components/content-layout/content-layout.js +64 -43
  55. package/components/content-layout/sidebar.js +1 -0
  56. package/components/contenteditable/contenteditable.js +59 -50
  57. package/components/control-label/control-label.js +9 -9
  58. package/components/data-list/data-list.js +182 -129
  59. package/components/data-list/data-list.mock.js +6 -2
  60. package/components/data-list/item.js +170 -143
  61. package/components/data-list/selection.js +136 -76
  62. package/components/data-list/title.js +12 -1
  63. package/components/date-picker/consts.js +26 -19
  64. package/components/date-picker/date-input.js +144 -113
  65. package/components/date-picker/date-picker.js +282 -227
  66. package/components/date-picker/date-popup.js +395 -350
  67. package/components/date-picker/day.js +116 -87
  68. package/components/date-picker/month-names.js +66 -43
  69. package/components/date-picker/month-slider.js +76 -51
  70. package/components/date-picker/month.js +25 -16
  71. package/components/date-picker/months.js +50 -43
  72. package/components/date-picker/weekdays.js +22 -12
  73. package/components/date-picker/years.js +110 -83
  74. package/components/dialog/dialog.js +190 -142
  75. package/components/dialog/dialog__body-scroll-preventer.js +4 -0
  76. package/components/dropdown/anchor.js +9 -0
  77. package/components/dropdown/dropdown.js +213 -182
  78. package/components/dropdown-menu/dropdown-menu.js +97 -71
  79. package/components/editable-heading/editable-heading.js +127 -75
  80. package/components/error-bubble/error-bubble.js +60 -31
  81. package/components/error-message/error-message.js +59 -39
  82. package/components/footer/footer.js +30 -27
  83. package/components/global/compose.js +10 -1
  84. package/components/global/composeRefs.js +12 -7
  85. package/components/global/controls-height.js +2 -2
  86. package/components/global/create-stateful-context.js +15 -15
  87. package/components/global/data-tests.js +14 -6
  88. package/components/global/dom.js +86 -47
  89. package/components/global/focus-sensor-hoc.js +132 -122
  90. package/components/global/fuzzy-highlight.js +36 -22
  91. package/components/global/get-event-key.js +8 -8
  92. package/components/global/get-uid.js +8 -4
  93. package/components/global/inject-styles.js +15 -10
  94. package/components/global/listeners.js +51 -27
  95. package/components/global/memoize.js +12 -6
  96. package/components/global/normalize-indent.js +50 -19
  97. package/components/global/promise-with-timeout.js +8 -6
  98. package/components/global/prop-types.js +5 -3
  99. package/components/global/react-dom-renderer.js +44 -28
  100. package/components/global/react-render-adapter.js +1 -1
  101. package/components/global/rerender-hoc.js +30 -12
  102. package/components/global/schedule-raf.js +6 -5
  103. package/components/global/sniffer.js +1 -1
  104. package/components/global/theme.js +22 -0
  105. package/components/global/trivial-template-tag.js +10 -3
  106. package/components/global/typescript-utils.js +6 -2
  107. package/components/global/url.js +26 -20
  108. package/components/global/use-event-callback.js +4 -6
  109. package/components/grid/col.js +52 -35
  110. package/components/grid/grid.js +31 -17
  111. package/components/grid/row.js +47 -35
  112. package/components/group/group.js +25 -17
  113. package/components/header/header.js +78 -33
  114. package/components/header/logo.js +36 -20
  115. package/components/header/profile.js +199 -166
  116. package/components/header/services-link.js +4 -0
  117. package/components/header/services.js +116 -73
  118. package/components/header/smart-profile.js +203 -111
  119. package/components/header/smart-services.js +113 -62
  120. package/components/header/tray-icon.js +37 -21
  121. package/components/header/tray.js +32 -21
  122. package/components/heading/heading.js +25 -24
  123. package/components/http/http.d.ts +1 -2
  124. package/components/http/http.js +345 -203
  125. package/components/http/http.mock.d.ts +1 -5
  126. package/components/http/http.mock.js +101 -49
  127. package/components/hub-source/hub-source.js +190 -83
  128. package/components/hub-source/hub-source__user.js +44 -11
  129. package/components/hub-source/hub-source__users-groups.js +65 -37
  130. package/components/i18n/i18n-context.js +10 -7
  131. package/components/i18n/i18n.js +10 -7
  132. package/components/icon/icon.js +93 -76
  133. package/components/icon/icon__svg.js +8 -0
  134. package/components/icon/index.js +8 -0
  135. package/components/input/input.js +13 -0
  136. package/components/island/adaptive-island-hoc.js +43 -30
  137. package/components/island/content.js +132 -115
  138. package/components/island/header.js +70 -57
  139. package/components/island/island.js +40 -28
  140. package/components/island-legacy/content-legacy.js +25 -17
  141. package/components/island-legacy/header-legacy.js +27 -19
  142. package/components/island-legacy/island-legacy.js +25 -17
  143. package/components/link/clickableLink.js +59 -44
  144. package/components/link/link.js +68 -57
  145. package/components/list/consts.js +2 -2
  146. package/components/list/list.js +698 -611
  147. package/components/list/list__custom.js +62 -44
  148. package/components/list/list__hint.js +19 -10
  149. package/components/list/list__item.js +174 -133
  150. package/components/list/list__link.js +50 -37
  151. package/components/list/list__separator.js +24 -14
  152. package/components/list/list__title.js +32 -22
  153. package/components/list/list__users-groups-source.js +126 -54
  154. package/components/loader/loader.js +74 -43
  155. package/components/loader/loader__core.js +263 -198
  156. package/components/loader-inline/loader-inline.js +35 -23
  157. package/components/loader-screen/loader-screen.js +46 -25
  158. package/components/login-dialog/login-dialog.js +158 -111
  159. package/components/login-dialog/service.js +34 -8
  160. package/components/markdown/markdown.js +23 -15
  161. package/components/message/message.js +203 -161
  162. package/components/old-browsers-message/old-browsers-message.js +18 -11
  163. package/components/old-browsers-message/old-browsers-message__stop.js +7 -0
  164. package/components/old-browsers-message/white-list.js +17 -9
  165. package/components/pager/pager.js +271 -212
  166. package/components/panel/panel.js +25 -17
  167. package/components/permissions/permissions.js +172 -127
  168. package/components/permissions/permissions__cache.js +224 -194
  169. package/components/popup/popup.consts.js +1 -1
  170. package/components/popup/popup.js +343 -284
  171. package/components/popup/popup.target.js +8 -9
  172. package/components/popup/position.js +106 -96
  173. package/components/popup-menu/popup-menu.js +81 -44
  174. package/components/progress-bar/progress-bar.js +104 -87
  175. package/components/query-assist/query-assist.js +916 -838
  176. package/components/query-assist/query-assist__suggestions.js +30 -1
  177. package/components/radio/radio.js +34 -19
  178. package/components/radio/radio__item.js +69 -52
  179. package/components/select/select.js +957 -852
  180. package/components/select/select__filter.js +30 -0
  181. package/components/select/select__popup.js +487 -373
  182. package/components/shortcuts/core.js +217 -166
  183. package/components/shortcuts/shortcut-title.js +11 -6
  184. package/components/shortcuts/shortcuts-hoc.js +45 -19
  185. package/components/shortcuts/shortcuts.js +75 -50
  186. package/components/slider/slider.js +122 -99
  187. package/components/slider/slider.utils.js +24 -14
  188. package/components/storage/storage.js +33 -4
  189. package/components/storage/storage__fallback.js +224 -149
  190. package/components/storage/storage__local.js +153 -90
  191. package/components/tab-trap/tab-trap.js +153 -122
  192. package/components/table/cell.js +26 -14
  193. package/components/table/disable-hover-hoc.js +51 -33
  194. package/components/table/header-cell.js +89 -64
  195. package/components/table/header.js +132 -104
  196. package/components/table/multitable.js +125 -107
  197. package/components/table/row-with-focus-sensor.js +69 -25
  198. package/components/table/row.js +216 -175
  199. package/components/table/selection-adapter.js +3 -1
  200. package/components/table/selection-shortcuts-hoc.js +181 -180
  201. package/components/table/selection.js +226 -156
  202. package/components/table/smart-table.js +88 -50
  203. package/components/table/table.js +358 -289
  204. package/components/tabs/collapsible-more.js +79 -46
  205. package/components/tabs/collapsible-tab.js +38 -31
  206. package/components/tabs/collapsible-tabs.js +153 -88
  207. package/components/tabs/custom-item.js +2 -4
  208. package/components/tabs/dumb-tabs.js +117 -74
  209. package/components/tabs/smart-tabs.js +69 -29
  210. package/components/tabs/tab-link.js +5 -1
  211. package/components/tabs/tab.js +31 -19
  212. package/components/tabs/tabs.js +31 -0
  213. package/components/tag/tag.js +173 -133
  214. package/components/tags-input/tags-input.js +427 -329
  215. package/components/tags-list/tags-list.js +78 -57
  216. package/components/text/text.js +39 -28
  217. package/components/toggle/toggle.js +70 -56
  218. package/components/tooltip/tooltip.js +190 -146
  219. package/components/user-agreement/service.js +371 -228
  220. package/components/user-agreement/toolbox.eula.js +1 -160
  221. package/components/user-agreement/user-agreement.js +120 -85
  222. package/components/user-card/card.js +29 -0
  223. package/components/user-card/smart-user-card-tooltip.js +111 -51
  224. package/components/user-card/tooltip.js +84 -47
  225. package/components/user-card/user-card.js +29 -0
  226. package/package.json +1 -2
@@ -1,4 +1,5 @@
1
- import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { e as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.array.map.js';
2
3
  import React, { useMemo, useRef, useEffect } from 'react';
3
4
  import PropTypes from 'prop-types';
4
5
  import { addMonths } from 'date-fns/addMonths';
@@ -14,10 +15,15 @@ import Month from './month.js';
14
15
  import MonthNames from './month-names.js';
15
16
  import { m as modules_0c7b7d96 } from '../_helpers/date-picker.js';
16
17
  import units, { dateType, DOUBLE, HALF, WEEK, weekdays } from './consts.js';
18
+ import 'core-js/modules/es.object.values.js';
17
19
  import 'date-fns/addDays';
18
20
  import 'date-fns/format';
19
21
  import 'date-fns/setDay';
20
22
  import './day.js';
23
+ import 'core-js/modules/es.array.concat.js';
24
+ import 'core-js/modules/es.array.includes.js';
25
+ import 'core-js/modules/es.object.to-string.js';
26
+ import 'core-js/modules/es.string.includes.js';
21
27
  import 'classnames';
22
28
  import 'date-fns/getDate';
23
29
  import 'date-fns/isAfter';
@@ -31,58 +37,57 @@ import 'date-fns/startOfYear';
31
37
  import './month-slider.js';
32
38
  import 'date-fns/addYears';
33
39
  import 'date-fns/subYears';
40
+ import 'core-js/modules/es.array.index-of.js';
41
+ import 'core-js/modules/es.array.slice.js';
42
+ import 'core-js/modules/es.regexp.exec.js';
34
43
  import 'date-fns/add';
35
44
 
36
- const {
37
- unit,
38
- cellSize,
39
- calHeight
40
- } = units;
41
- const FridayToSunday = WEEK + weekdays.SU - weekdays.FR;
42
- const FIVELINES = 31;
43
- const TALLMONTH = 6;
44
- const SHORTMONTH = 5;
45
- const PADDING = 2;
46
- const MONTHSBACK = 2;
45
+ var unit = units.unit,
46
+ cellSize = units.cellSize,
47
+ calHeight = units.calHeight;
48
+ var FridayToSunday = WEEK + weekdays.SU - weekdays.FR;
49
+ var FIVELINES = 31;
50
+ var TALLMONTH = 6;
51
+ var SHORTMONTH = 5;
52
+ var PADDING = 2;
53
+ var MONTHSBACK = 2;
47
54
  function monthHeight(date) {
48
- const monthStart = startOfMonth(date);
49
- const daysSinceLastFriday = (getDay(monthStart) + FridayToSunday) % WEEK;
50
- const monthLines = daysSinceLastFriday + getDaysInMonth(monthStart) > FIVELINES ? TALLMONTH : SHORTMONTH;
55
+ var monthStart = startOfMonth(date);
56
+ var daysSinceLastFriday = (getDay(monthStart) + FridayToSunday) % WEEK;
57
+ var monthLines = daysSinceLastFriday + getDaysInMonth(monthStart) > FIVELINES ? TALLMONTH : SHORTMONTH;
51
58
  return monthLines * cellSize + unit * PADDING;
52
59
  }
53
60
  // in milliseconds per pixel
54
61
  function scrollSpeed(date) {
55
- const monthStart = startOfMonth(date);
56
- const monthEnd = endOfMonth(date);
62
+ var monthStart = startOfMonth(date);
63
+ var monthEnd = endOfMonth(date);
57
64
  return (Number(monthEnd) - Number(monthStart)) / monthHeight(monthStart);
58
65
  }
59
- const scrollSchedule = scheduleRAF();
60
- let dy = 0;
66
+ var scrollSchedule = scheduleRAF();
67
+ var dy = 0;
61
68
  function Months(props) {
62
- const {
63
- scrollDate
64
- } = props;
65
- const monthDate = scrollDate instanceof Date ? scrollDate : new Date(scrollDate);
66
- const monthStart = startOfMonth(monthDate);
67
- const months = useMemo(() => {
68
- let month = subMonths(monthStart, MONTHSBACK);
69
- const result = [month];
70
- for (let i = 0; i < MONTHSBACK * DOUBLE; i++) {
69
+ var scrollDate = props.scrollDate;
70
+ var monthDate = scrollDate instanceof Date ? scrollDate : new Date(scrollDate);
71
+ var monthStart = startOfMonth(monthDate);
72
+ var months = useMemo(function () {
73
+ var month = subMonths(monthStart, MONTHSBACK);
74
+ var result = [month];
75
+ for (var i = 0; i < MONTHSBACK * DOUBLE; i++) {
71
76
  month = addMonths(month, 1);
72
77
  result.push(month);
73
78
  }
74
79
  return result;
75
80
  }, [monthStart]);
76
- const currentSpeed = scrollSpeed(scrollDate);
77
- const pxToDate = linearFunction(0, Number(scrollDate), currentSpeed);
78
- const offset = pxToDate.x(Number(monthStart)); // is a negative number
79
- const bottomOffset = monthHeight(scrollDate) + offset;
80
- const componentRef = useRef(null);
81
- const handleWheel = useEventCallback(e => {
81
+ var currentSpeed = scrollSpeed(scrollDate);
82
+ var pxToDate = linearFunction(0, Number(scrollDate), currentSpeed);
83
+ var offset = pxToDate.x(Number(monthStart)); // is a negative number
84
+ var bottomOffset = monthHeight(scrollDate) + offset;
85
+ var componentRef = useRef(null);
86
+ var handleWheel = useEventCallback(function (e) {
82
87
  e.preventDefault();
83
88
  dy += e.deltaY;
84
- scrollSchedule(() => {
85
- let date;
89
+ scrollSchedule(function () {
90
+ var date;
86
91
  // adjust scroll speed to prevent glitches
87
92
  if (dy < offset) {
88
93
  date = pxToDate.y(offset) + (dy - offset) * scrollSpeed(months[1]);
@@ -95,14 +100,14 @@ function Months(props) {
95
100
  dy = 0;
96
101
  });
97
102
  });
98
- useEffect(() => {
99
- const current = componentRef.current;
103
+ useEffect(function () {
104
+ var current = componentRef.current;
100
105
  if (current !== null) {
101
106
  current.addEventListener('wheel', handleWheel, {
102
107
  passive: false
103
108
  });
104
109
  }
105
- return () => {
110
+ return function () {
106
111
  if (current !== null) {
107
112
  current.removeEventListener('wheel', handleWheel);
108
113
  }
@@ -116,10 +121,12 @@ function Months(props) {
116
121
  top: Math.floor(calHeight * HALF - monthHeight(months[0]) - monthHeight(months[1]) + offset)
117
122
  },
118
123
  className: modules_0c7b7d96.days
119
- }, months.map(date => /*#__PURE__*/React.createElement(Month, _extends({}, props, {
120
- month: date,
121
- key: +date
122
- })))), /*#__PURE__*/React.createElement(MonthNames, props));
124
+ }, months.map(function (date) {
125
+ return /*#__PURE__*/React.createElement(Month, _extends({}, props, {
126
+ month: date,
127
+ key: +date
128
+ }));
129
+ })), /*#__PURE__*/React.createElement(MonthNames, props));
123
130
  }
124
131
  Months.propTypes = {
125
132
  onScroll: PropTypes.func,
@@ -1,3 +1,7 @@
1
+ import 'core-js/modules/es.array.includes.js';
2
+ import 'core-js/modules/es.array.map.js';
3
+ import 'core-js/modules/es.object.values.js';
4
+ import 'core-js/modules/es.string.includes.js';
1
5
  import React from 'react';
2
6
  import classNames from 'classnames';
3
7
  import { getDay } from 'date-fns/getDay';
@@ -7,23 +11,29 @@ import { startOfDay } from 'date-fns/startOfDay';
7
11
  import PropTypes from 'prop-types';
8
12
  import { shiftWeekArray, getWeekStartsOn, weekdays } from './consts.js';
9
13
  import { m as modules_0c7b7d96 } from '../_helpers/date-picker.js';
14
+ import 'core-js/modules/es.array.concat.js';
15
+ import 'core-js/modules/es.array.index-of.js';
16
+ import 'core-js/modules/es.array.slice.js';
17
+ import 'core-js/modules/es.regexp.exec.js';
10
18
  import 'date-fns/add';
11
19
 
12
20
  function Weekdays(props) {
13
- const days = shiftWeekArray(Object.values(weekdays), getWeekStartsOn(props.locale)).map(value => startOfDay(setDay(new Date(), value)));
14
- const {
15
- locale
16
- } = props;
21
+ var days = shiftWeekArray(Object.values(weekdays), getWeekStartsOn(props.locale)).map(function (value) {
22
+ return startOfDay(setDay(new Date(), value));
23
+ });
24
+ var locale = props.locale;
17
25
  return /*#__PURE__*/React.createElement("div", {
18
26
  className: modules_0c7b7d96.weekdays
19
- }, days.map(day => /*#__PURE__*/React.createElement("span", {
20
- className: classNames(modules_0c7b7d96.weekday, {
21
- [modules_0c7b7d96.weekend]: [weekdays.SA, weekdays.SU].includes(getDay(day))
22
- }),
23
- key: +day
24
- }, format(day, 'EEEEEE', {
25
- locale
26
- }))));
27
+ }, days.map(function (day) {
28
+ return /*#__PURE__*/React.createElement("span", {
29
+ className: classNames(modules_0c7b7d96.weekday, {
30
+ [modules_0c7b7d96.weekend]: [weekdays.SA, weekdays.SU].includes(getDay(day))
31
+ }),
32
+ key: +day
33
+ }, format(day, 'EEEEEE', {
34
+ locale
35
+ }));
36
+ }));
27
37
  }
28
38
  Weekdays.propTypes = {
29
39
  locale: PropTypes.object
@@ -1,3 +1,6 @@
1
+ import { _ as _defineProperty, a as _inherits, b as _createClass, f as _classCallCheck, g as _callSuper } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.array.concat.js';
3
+ import 'core-js/modules/es.array.map.js';
1
4
  import React, { PureComponent, createRef } from 'react';
2
5
  import PropTypes from 'prop-types';
3
6
  import classNames from 'classnames';
@@ -11,98 +14,122 @@ import { startOfYear } from 'date-fns/startOfYear';
11
14
  import { subYears } from 'date-fns/subYears';
12
15
  import linearFunction from '../global/linear-function.js';
13
16
  import { m as modules_0c7b7d96 } from '../_helpers/date-picker.js';
14
- import units, { dateType, yearDuration, DOUBLE, HALF } from './consts.js';
17
+ import units, { dateType, DOUBLE, HALF, yearDuration } from './consts.js';
18
+ import 'core-js/modules/es.array.index-of.js';
19
+ import 'core-js/modules/es.array.slice.js';
20
+ import 'core-js/modules/es.object.values.js';
21
+ import 'core-js/modules/es.regexp.exec.js';
15
22
  import 'date-fns/add';
16
23
 
17
- const {
18
- yearHeight,
19
- calHeight
20
- } = units;
21
- let scrollTO;
22
- const YEARSBACK = 5;
23
- const scrollDelay = 100;
24
- class Years extends PureComponent {
25
- static propTypes = {
26
- scrollDate: dateType,
27
- onScroll: PropTypes.func,
28
- onScrollChange: PropTypes.func
29
- };
30
- state = {
31
- scrollDate: null
32
- };
33
- componentDidMount() {
34
- if (this.componentRef.current) {
35
- this.componentRef.current.addEventListener('wheel', this.handleWheel);
24
+ var yearHeight = units.yearHeight,
25
+ calHeight = units.calHeight;
26
+ var scrollTO;
27
+ var YEARSBACK = 5;
28
+ var scrollDelay = 100;
29
+ var Years = /*#__PURE__*/function (_PureComponent) {
30
+ function Years() {
31
+ var _this;
32
+ _classCallCheck(this, Years);
33
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
34
+ args[_key] = arguments[_key];
36
35
  }
37
- }
38
- componentDidUpdate(prevProps, prevState) {
39
- this.stoppedScrolling = prevState.scrollDate != null && !this.state.scrollDate;
40
- }
41
- componentWillUnmount() {
42
- if (this.componentRef.current) {
43
- this.componentRef.current.removeEventListener('wheel', this.handleWheel);
44
- }
45
- }
46
- stoppedScrolling;
47
- setYear(date) {
48
- if (scrollTO) {
49
- window.clearTimeout(scrollTO);
50
- scrollTO = null;
51
- }
52
- this.setState({
36
+ _this = _callSuper(this, Years, [].concat(args));
37
+ _defineProperty(_this, "state", {
53
38
  scrollDate: null
54
39
  });
55
- this.props.onScroll(Number(setYear(this.props.scrollDate, getYear(date))));
56
- }
57
- componentRef = /*#__PURE__*/createRef();
58
- handleWheel = e => {
59
- const {
60
- scrollDate
61
- } = this.props;
62
- const date = this.state.scrollDate || scrollDate;
63
- e.preventDefault();
64
- const newScrollDate = linearFunction(0, Number(date), yearDuration / yearHeight).y(e.deltaY);
65
- this.setState({
66
- scrollDate: newScrollDate
40
+ _defineProperty(_this, "stoppedScrolling", void 0);
41
+ _defineProperty(_this, "componentRef", /*#__PURE__*/createRef());
42
+ _defineProperty(_this, "handleWheel", function (e) {
43
+ var scrollDate = _this.props.scrollDate;
44
+ var date = _this.state.scrollDate || scrollDate;
45
+ e.preventDefault();
46
+ var newScrollDate = linearFunction(0, Number(date), yearDuration / yearHeight).y(e.deltaY);
47
+ _this.setState({
48
+ scrollDate: newScrollDate
49
+ });
50
+ if (scrollTO) {
51
+ window.clearTimeout(scrollTO);
52
+ }
53
+ scrollTO = window.setTimeout(function () {
54
+ return _this.setYear(newScrollDate);
55
+ }, scrollDelay);
67
56
  });
68
- if (scrollTO) {
69
- window.clearTimeout(scrollTO);
57
+ return _this;
58
+ }
59
+ _inherits(Years, _PureComponent);
60
+ return _createClass(Years, [{
61
+ key: "componentDidMount",
62
+ value: function componentDidMount() {
63
+ if (this.componentRef.current) {
64
+ this.componentRef.current.addEventListener('wheel', this.handleWheel);
65
+ }
70
66
  }
71
- scrollTO = window.setTimeout(() => this.setYear(newScrollDate), scrollDelay);
72
- };
73
- render() {
74
- const {
75
- onScrollChange,
76
- scrollDate
77
- } = this.props;
78
- const date = this.state.scrollDate || scrollDate;
79
- const yearStart = startOfYear(date);
80
- let year = subYears(yearStart, YEARSBACK);
81
- const years = [year];
82
- for (let i = 0; i < YEARSBACK * DOUBLE; i++) {
83
- year = addYears(year, 1);
84
- years.push(year);
67
+ }, {
68
+ key: "componentDidUpdate",
69
+ value: function componentDidUpdate(prevProps, prevState) {
70
+ this.stoppedScrolling = prevState.scrollDate != null && !this.state.scrollDate;
85
71
  }
86
- const pxToDate = linearFunction(0, Number(years[0]), yearDuration / yearHeight);
87
- return /*#__PURE__*/React.createElement("div", {
88
- className: modules_0c7b7d96.years,
89
- ref: this.componentRef,
90
- style: {
91
- transition: this.stoppedScrolling ? 'top .2s ease-out 0s' : 'none',
92
- top: Math.floor(calHeight * HALF - pxToDate.x(Number(date)))
72
+ }, {
73
+ key: "componentWillUnmount",
74
+ value: function componentWillUnmount() {
75
+ if (this.componentRef.current) {
76
+ this.componentRef.current.removeEventListener('wheel', this.handleWheel);
93
77
  }
94
- }, years.map(item => /*#__PURE__*/React.createElement("button", {
95
- type: "button",
96
- key: +item,
97
- className: classNames(modules_0c7b7d96.year, {
98
- [modules_0c7b7d96.currentYear]: isSameYear(item, date),
99
- [modules_0c7b7d96.today]: isThisYear(item)
100
- }),
101
- onClick: function handleClick() {
102
- onScrollChange(Number(setYear(scrollDate, getYear(item))));
78
+ }
79
+ }, {
80
+ key: "setYear",
81
+ value: function setYear$1(date) {
82
+ if (scrollTO) {
83
+ window.clearTimeout(scrollTO);
84
+ scrollTO = null;
103
85
  }
104
- }, format(item, 'yyyy'))));
105
- }
106
- }
86
+ this.setState({
87
+ scrollDate: null
88
+ });
89
+ this.props.onScroll(Number(setYear(this.props.scrollDate, getYear(date))));
90
+ }
91
+ }, {
92
+ key: "render",
93
+ value: function render() {
94
+ var _this$props = this.props,
95
+ onScrollChange = _this$props.onScrollChange,
96
+ scrollDate = _this$props.scrollDate;
97
+ var date = this.state.scrollDate || scrollDate;
98
+ var yearStart = startOfYear(date);
99
+ var year = subYears(yearStart, YEARSBACK);
100
+ var years = [year];
101
+ for (var i = 0; i < YEARSBACK * DOUBLE; i++) {
102
+ year = addYears(year, 1);
103
+ years.push(year);
104
+ }
105
+ var pxToDate = linearFunction(0, Number(years[0]), yearDuration / yearHeight);
106
+ return /*#__PURE__*/React.createElement("div", {
107
+ className: modules_0c7b7d96.years,
108
+ ref: this.componentRef,
109
+ style: {
110
+ transition: this.stoppedScrolling ? 'top .2s ease-out 0s' : 'none',
111
+ top: Math.floor(calHeight * HALF - pxToDate.x(Number(date)))
112
+ }
113
+ }, years.map(function (item) {
114
+ return /*#__PURE__*/React.createElement("button", {
115
+ type: "button",
116
+ key: +item,
117
+ className: classNames(modules_0c7b7d96.year, {
118
+ [modules_0c7b7d96.currentYear]: isSameYear(item, date),
119
+ [modules_0c7b7d96.today]: isThisYear(item)
120
+ }),
121
+ onClick: function handleClick() {
122
+ onScrollChange(Number(setYear(scrollDate, getYear(item))));
123
+ }
124
+ }, format(item, 'yyyy'));
125
+ }));
126
+ }
127
+ }]);
128
+ }(PureComponent);
129
+ _defineProperty(Years, "propTypes", {
130
+ scrollDate: dateType,
131
+ onScroll: PropTypes.func,
132
+ onScrollChange: PropTypes.func
133
+ });
107
134
 
108
135
  export { Years as default };