@jetbrains/ring-ui-built 7.0.0-beta.2 → 7.0.0-beta.3

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