@jetbrains/ring-ui-built 6.0.31 → 6.0.32

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