@jetbrains/ring-ui-built 6.0.32 → 6.0.33

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 (224) 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 +177 -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.js +353 -203
  124. package/components/http/http.mock.js +101 -49
  125. package/components/hub-source/hub-source.js +190 -83
  126. package/components/hub-source/hub-source__user.js +44 -11
  127. package/components/hub-source/hub-source__users-groups.js +65 -37
  128. package/components/i18n/i18n-context.js +10 -7
  129. package/components/i18n/i18n.js +10 -7
  130. package/components/icon/icon.js +93 -76
  131. package/components/icon/icon__svg.js +8 -0
  132. package/components/icon/index.js +8 -0
  133. package/components/input/input.js +13 -0
  134. package/components/island/adaptive-island-hoc.js +43 -30
  135. package/components/island/content.js +132 -115
  136. package/components/island/header.js +70 -57
  137. package/components/island/island.js +40 -28
  138. package/components/island-legacy/content-legacy.js +25 -17
  139. package/components/island-legacy/header-legacy.js +27 -19
  140. package/components/island-legacy/island-legacy.js +25 -17
  141. package/components/link/clickableLink.js +59 -44
  142. package/components/link/link.js +68 -57
  143. package/components/list/consts.js +2 -2
  144. package/components/list/list.js +698 -611
  145. package/components/list/list__custom.js +62 -44
  146. package/components/list/list__hint.js +19 -10
  147. package/components/list/list__item.js +174 -133
  148. package/components/list/list__link.js +50 -37
  149. package/components/list/list__separator.js +24 -14
  150. package/components/list/list__title.js +32 -22
  151. package/components/list/list__users-groups-source.js +126 -54
  152. package/components/loader/loader.js +74 -43
  153. package/components/loader/loader__core.js +263 -198
  154. package/components/loader-inline/loader-inline.js +35 -23
  155. package/components/loader-screen/loader-screen.js +46 -25
  156. package/components/login-dialog/login-dialog.js +158 -111
  157. package/components/login-dialog/service.js +34 -8
  158. package/components/markdown/markdown.js +23 -15
  159. package/components/message/message.js +203 -161
  160. package/components/old-browsers-message/old-browsers-message.js +18 -11
  161. package/components/old-browsers-message/old-browsers-message__stop.js +7 -0
  162. package/components/old-browsers-message/white-list.js +16 -8
  163. package/components/pager/pager.js +271 -212
  164. package/components/panel/panel.js +25 -17
  165. package/components/permissions/permissions.js +172 -127
  166. package/components/permissions/permissions__cache.js +224 -194
  167. package/components/popup/popup.consts.js +1 -1
  168. package/components/popup/popup.js +343 -284
  169. package/components/popup/popup.target.js +8 -9
  170. package/components/popup/position.js +106 -96
  171. package/components/popup-menu/popup-menu.js +81 -44
  172. package/components/progress-bar/progress-bar.js +104 -87
  173. package/components/query-assist/query-assist.js +916 -838
  174. package/components/query-assist/query-assist__suggestions.js +30 -1
  175. package/components/radio/radio.js +34 -19
  176. package/components/radio/radio__item.js +69 -52
  177. package/components/select/select.js +957 -852
  178. package/components/select/select__filter.js +30 -0
  179. package/components/select/select__popup.js +487 -373
  180. package/components/shortcuts/core.js +217 -166
  181. package/components/shortcuts/shortcut-title.js +11 -6
  182. package/components/shortcuts/shortcuts-hoc.js +45 -19
  183. package/components/shortcuts/shortcuts.js +75 -50
  184. package/components/slider/slider.js +122 -99
  185. package/components/slider/slider.utils.js +24 -14
  186. package/components/storage/storage.js +33 -4
  187. package/components/storage/storage__fallback.js +224 -149
  188. package/components/storage/storage__local.js +153 -90
  189. package/components/tab-trap/tab-trap.js +153 -122
  190. package/components/table/cell.js +26 -14
  191. package/components/table/disable-hover-hoc.js +51 -33
  192. package/components/table/header-cell.js +89 -64
  193. package/components/table/header.js +132 -104
  194. package/components/table/multitable.js +125 -107
  195. package/components/table/row-with-focus-sensor.js +69 -25
  196. package/components/table/row.js +216 -175
  197. package/components/table/selection-adapter.js +3 -1
  198. package/components/table/selection-shortcuts-hoc.js +181 -180
  199. package/components/table/selection.js +226 -156
  200. package/components/table/smart-table.js +88 -50
  201. package/components/table/table.js +358 -289
  202. package/components/tabs/collapsible-more.js +79 -46
  203. package/components/tabs/collapsible-tab.js +38 -31
  204. package/components/tabs/collapsible-tabs.js +153 -88
  205. package/components/tabs/custom-item.js +2 -4
  206. package/components/tabs/dumb-tabs.js +117 -74
  207. package/components/tabs/smart-tabs.js +69 -29
  208. package/components/tabs/tab-link.js +5 -1
  209. package/components/tabs/tab.js +31 -19
  210. package/components/tabs/tabs.js +31 -0
  211. package/components/tag/tag.js +173 -133
  212. package/components/tags-input/tags-input.js +427 -329
  213. package/components/tags-list/tags-list.js +78 -57
  214. package/components/text/text.js +39 -28
  215. package/components/toggle/toggle.js +70 -56
  216. package/components/tooltip/tooltip.js +190 -146
  217. package/components/user-agreement/service.js +371 -228
  218. package/components/user-agreement/toolbox.eula.js +1 -160
  219. package/components/user-agreement/user-agreement.js +120 -85
  220. package/components/user-card/card.js +29 -0
  221. package/components/user-card/smart-user-card-tooltip.js +111 -51
  222. package/components/user-card/tooltip.js +84 -47
  223. package/components/user-card/user-card.js +29 -0
  224. package/package.json +1 -1
@@ -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 };