@jetbrains/ring-ui 5.0.127 → 5.0.128

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 (304) hide show
  1. package/components/alert/alert.js +2 -1
  2. package/components/alert/container.js +2 -1
  3. package/components/auth/auth__core.js +2 -1
  4. package/components/auth/request-builder.js +2 -1
  5. package/components/auth/response-parser.js +2 -1
  6. package/components/auth/token-validator.js +2 -1
  7. package/components/auth-dialog/auth-dialog.js +2 -1
  8. package/components/avatar/avatar.js +2 -1
  9. package/components/badge/badge.js +2 -1
  10. package/components/button/button.js +2 -1
  11. package/components/button-group/button-group.js +2 -1
  12. package/components/button-group/caption.js +2 -1
  13. package/components/button-set/button-set.js +2 -1
  14. package/components/button-toolbar/button-toolbar.js +2 -1
  15. package/components/caret/caret.js +2 -1
  16. package/components/checkbox/checkbox.js +2 -1
  17. package/components/code/code.js +2 -1
  18. package/components/confirm/confirm.js +2 -1
  19. package/components/content-layout/content-layout.js +2 -1
  20. package/components/content-layout/sidebar.js +2 -1
  21. package/components/data-list/data-list.js +2 -1
  22. package/components/data-list/item.js +2 -1
  23. package/components/date-picker/date-input.js +2 -1
  24. package/components/date-picker/date-picker.js +2 -1
  25. package/components/date-picker/date-popup.js +2 -1
  26. package/components/date-picker/day.js +2 -1
  27. package/components/date-picker/month-slider.js +2 -1
  28. package/components/date-picker/years.js +2 -1
  29. package/components/dialog/dialog.d.ts +4 -16
  30. package/components/dialog/dialog.js +6 -3
  31. package/components/dropdown/dropdown.js +2 -1
  32. package/components/error-bubble/error-bubble.js +2 -1
  33. package/components/error-message/error-message.js +2 -1
  34. package/components/footer/footer.js +1 -0
  35. package/components/global/react-dom-renderer.js +2 -1
  36. package/components/grid/col.js +2 -1
  37. package/components/grid/grid.js +2 -1
  38. package/components/grid/row.js +2 -1
  39. package/components/group/group.js +2 -1
  40. package/components/header/logo.js +2 -1
  41. package/components/header/profile.js +2 -1
  42. package/components/header/services-link.js +2 -1
  43. package/components/header/services.js +2 -1
  44. package/components/header/smart-profile.js +2 -1
  45. package/components/header/smart-services.js +2 -1
  46. package/components/header/tray-icon.js +2 -1
  47. package/components/header/tray.js +2 -1
  48. package/components/hub-source/hub-source.js +2 -1
  49. package/components/icon/icon.js +2 -1
  50. package/components/input/input.js +2 -1
  51. package/components/island/island.js +2 -1
  52. package/components/island-legacy/content-legacy.js +2 -1
  53. package/components/island-legacy/header-legacy.js +2 -1
  54. package/components/island-legacy/island-legacy.js +2 -1
  55. package/components/link/clickableLink.js +2 -1
  56. package/components/list/list.js +2 -1
  57. package/components/list/list__hint.js +2 -1
  58. package/components/list/list__users-groups-source.js +2 -1
  59. package/components/loader/loader.js +2 -1
  60. package/components/loader/loader__core.js +2 -1
  61. package/components/loader-screen/loader-screen.js +2 -1
  62. package/components/login-dialog/login-dialog.js +2 -1
  63. package/components/message/message.js +2 -1
  64. package/components/pager/pager.js +2 -1
  65. package/components/panel/panel.js +2 -1
  66. package/components/permissions/permissions.js +2 -1
  67. package/components/permissions/permissions__cache.js +2 -1
  68. package/components/popup/popup.js +2 -1
  69. package/components/popup-menu/popup-menu.js +2 -1
  70. package/components/progress-bar/progress-bar.js +2 -1
  71. package/components/query-assist/query-assist.js +4 -3
  72. package/components/radio/radio.js +2 -1
  73. package/components/radio/radio__item.js +2 -1
  74. package/components/select/select.js +2 -1
  75. package/components/select/select__filter.js +2 -1
  76. package/components/select/select__popup.js +4 -2
  77. package/components/shortcuts/shortcuts.js +2 -1
  78. package/components/storage/storage__fallback.js +2 -1
  79. package/components/tab-trap/tab-trap.js +2 -1
  80. package/components/table/cell.js +2 -1
  81. package/components/table/header-cell.js +2 -1
  82. package/components/table/header.js +2 -1
  83. package/components/table/multitable.js +2 -1
  84. package/components/table/row.js +3 -2
  85. package/components/table/table.js +4 -2
  86. package/components/tabs/smart-tabs.js +2 -1
  87. package/components/tabs/tab.js +2 -1
  88. package/components/tag/tag.js +2 -1
  89. package/components/tags-input/tags-input.d.ts +1 -1
  90. package/components/tags-input/tags-input.js +3 -2
  91. package/components/tags-list/tags-list.js +2 -1
  92. package/components/text/text.js +2 -1
  93. package/components/tooltip/tooltip.js +2 -1
  94. package/components/user-agreement/user-agreement.js +2 -1
  95. package/components/user-card/card.js +2 -1
  96. package/components/user-card/smart-user-card-tooltip.d.ts +1 -1
  97. package/components/user-card/smart-user-card-tooltip.js +2 -1
  98. package/components/user-card/tooltip.js +2 -1
  99. package/dist/_helpers/_rollupPluginBabelHelpers.js +1 -29
  100. package/dist/_helpers/anchor.js +1 -1
  101. package/dist/_helpers/card.js +44 -47
  102. package/dist/_helpers/footer.js +1 -0
  103. package/dist/_helpers/select__filter.js +10 -13
  104. package/dist/_helpers/services-link.js +10 -10
  105. package/dist/_helpers/sidebar.js +34 -37
  106. package/dist/_helpers/theme.js +1 -1
  107. package/dist/_helpers/title.js +12 -16
  108. package/dist/alert/alert.js +63 -66
  109. package/dist/alert/container.js +5 -5
  110. package/dist/alert-service/alert-service.js +5 -7
  111. package/dist/analytics/analytics.js +1 -2
  112. package/dist/analytics/analytics__custom-plugin.js +6 -8
  113. package/dist/auth/auth.js +1 -1
  114. package/dist/auth/auth__core.js +26 -26
  115. package/dist/auth/background-flow.js +4 -5
  116. package/dist/auth/iframe-flow.js +12 -12
  117. package/dist/auth/landing.js +1 -1
  118. package/dist/auth/request-builder.js +3 -5
  119. package/dist/auth/response-parser.js +5 -6
  120. package/dist/auth/storage.js +12 -12
  121. package/dist/auth/token-validator.js +13 -16
  122. package/dist/auth/window-flow.js +18 -19
  123. package/dist/auth-dialog/auth-dialog.js +54 -57
  124. package/dist/auth-dialog-service/auth-dialog-service.js +1 -1
  125. package/dist/auth-ng/auth-ng.js +1 -1
  126. package/dist/avatar/avatar.js +30 -33
  127. package/dist/avatar-ng/avatar-ng.js +1 -1
  128. package/dist/badge/badge.js +10 -10
  129. package/dist/badge-ng/badge-ng.js +1 -1
  130. package/dist/breadcrumb-ng/breadcrumb-ng.js +0 -1
  131. package/dist/button/button.js +24 -27
  132. package/dist/button-group/button-group.js +5 -5
  133. package/dist/button-group/caption.js +4 -4
  134. package/dist/button-ng/button-ng.js +68 -69
  135. package/dist/button-set/button-set.js +6 -6
  136. package/dist/button-toolbar/button-toolbar.js +6 -6
  137. package/dist/caret/caret.js +2 -4
  138. package/dist/checkbox/checkbox.js +27 -30
  139. package/dist/checkbox-ng/checkbox-ng.js +0 -1
  140. package/dist/code/code.js +17 -21
  141. package/dist/confirm/confirm.js +31 -34
  142. package/dist/confirm-ng/confirm-ng.js +1 -1
  143. package/dist/confirm-service/confirm-service.js +1 -1
  144. package/dist/content-layout/content-layout.js +17 -20
  145. package/dist/contenteditable/contenteditable.js +11 -11
  146. package/dist/data-list/data-list.js +49 -55
  147. package/dist/data-list/item.js +64 -67
  148. package/dist/data-list/selection.js +0 -1
  149. package/dist/data-list/title.js +1 -1
  150. package/dist/data-list-ng/data-list-ng.js +1 -1
  151. package/dist/date-picker/date-input.js +39 -42
  152. package/dist/date-picker/date-picker.js +162 -165
  153. package/dist/date-picker/date-popup.js +119 -119
  154. package/dist/date-picker/day.js +34 -38
  155. package/dist/date-picker/month-names.js +11 -14
  156. package/dist/date-picker/month-slider.js +24 -28
  157. package/dist/date-picker/month.js +1 -1
  158. package/dist/date-picker/months.js +1 -1
  159. package/dist/date-picker/years.js +9 -13
  160. package/dist/dialog/dialog.d.ts +4 -16
  161. package/dist/dialog/dialog.js +68 -65
  162. package/dist/dialog-ng/dialog-ng.js +21 -22
  163. package/dist/docked-panel-ng/docked-panel-ng.js +0 -1
  164. package/dist/dropdown/dropdown.js +101 -104
  165. package/dist/dropdown-menu/dropdown-menu.js +1 -1
  166. package/dist/editable-heading/editable-heading.js +1 -1
  167. package/dist/error-bubble/error-bubble.js +6 -6
  168. package/dist/error-message/error-message.js +10 -10
  169. package/dist/error-message-ng/error-message-ng.js +0 -1
  170. package/dist/footer-ng/footer-ng.js +19 -21
  171. package/dist/global/angular-component-factory.js +2 -3
  172. package/dist/global/dom.js +1 -5
  173. package/dist/global/focus-sensor-hoc.js +58 -61
  174. package/dist/global/listeners.js +1 -5
  175. package/dist/global/react-dom-renderer.js +8 -12
  176. package/dist/global/rerender-hoc.js +1 -5
  177. package/dist/global/ring-angular-component.js +1 -3
  178. package/dist/grid/col.js +13 -14
  179. package/dist/grid/grid.js +5 -5
  180. package/dist/grid/row.js +16 -17
  181. package/dist/group/group.js +5 -5
  182. package/dist/header/header.js +10 -10
  183. package/dist/header/logo.js +9 -9
  184. package/dist/header/profile.js +58 -58
  185. package/dist/header/services.js +19 -22
  186. package/dist/header/smart-profile.js +40 -43
  187. package/dist/header/smart-services.js +28 -31
  188. package/dist/header/tray-icon.js +6 -6
  189. package/dist/header/tray.js +5 -5
  190. package/dist/heading/heading.js +1 -1
  191. package/dist/heading-ng/heading-ng.js +1 -1
  192. package/dist/http/http.js +111 -107
  193. package/dist/http/http.mock.js +3 -4
  194. package/dist/hub-source/hub-source.js +7 -9
  195. package/dist/hub-source/hub-source__user.js +0 -1
  196. package/dist/hub-source/hub-source__users-groups.js +4 -5
  197. package/dist/icon/icon.js +18 -18
  198. package/dist/icon/icon__svg.js +1 -1
  199. package/dist/icon-ng/icon-ng.js +0 -1
  200. package/dist/input/input.js +35 -38
  201. package/dist/input-ng/input-ng.js +25 -26
  202. package/dist/island/adaptive-island-hoc.js +21 -25
  203. package/dist/island/content.js +62 -65
  204. package/dist/island/header.js +11 -11
  205. package/dist/island/island.js +8 -8
  206. package/dist/island-legacy/content-legacy.js +5 -5
  207. package/dist/island-legacy/header-legacy.js +5 -5
  208. package/dist/island-legacy/island-legacy.js +5 -5
  209. package/dist/link/clickableLink.js +27 -30
  210. package/dist/link/link.js +16 -16
  211. package/dist/list/list.js +389 -391
  212. package/dist/list/list__custom.js +6 -10
  213. package/dist/list/list__hint.js +3 -4
  214. package/dist/list/list__item.js +4 -7
  215. package/dist/list/list__link.js +1 -1
  216. package/dist/list/list__users-groups-source.js +3 -3
  217. package/dist/loader/loader.js +16 -19
  218. package/dist/loader/loader__core.js +62 -62
  219. package/dist/loader-inline/loader-inline.js +6 -6
  220. package/dist/loader-ng/loader-ng.js +3 -4
  221. package/dist/loader-screen/loader-screen.js +6 -6
  222. package/dist/loader-screen-ng/loader-screen-ng.js +0 -1
  223. package/dist/login-dialog/login-dialog.js +55 -58
  224. package/dist/login-dialog/service.js +1 -1
  225. package/dist/markdown/code.js +0 -1
  226. package/dist/markdown/markdown.js +1 -1
  227. package/dist/message/message.js +22 -25
  228. package/dist/old-browsers-message/white-list.js +2 -2
  229. package/dist/pager/pager.js +55 -58
  230. package/dist/pager-ng/pager-ng.js +1 -1
  231. package/dist/panel/panel.js +5 -5
  232. package/dist/panel-ng/panel-ng.js +0 -1
  233. package/dist/permissions/permissions.js +14 -16
  234. package/dist/permissions/permissions__cache.js +4 -6
  235. package/dist/permissions-ng/permissions-ng.js +1 -1
  236. package/dist/place-under-ng/place-under-ng.js +0 -1
  237. package/dist/popup/popup.js +118 -121
  238. package/dist/popup/popup.target.js +1 -1
  239. package/dist/popup/position.js +0 -1
  240. package/dist/popup-menu/popup-menu.js +19 -22
  241. package/dist/progress-bar/progress-bar.js +41 -44
  242. package/dist/progress-bar-ng/progress-bar-ng.js +1 -1
  243. package/dist/promised-click-ng/promised-click-ng.js +0 -1
  244. package/dist/query-assist/query-assist.js +507 -501
  245. package/dist/query-assist/query-assist__suggestions.js +1 -1
  246. package/dist/query-assist-ng/query-assist-ng.js +1 -1
  247. package/dist/radio/radio.js +10 -13
  248. package/dist/radio/radio__item.js +19 -22
  249. package/dist/select/select.js +350 -349
  250. package/dist/select/select__popup.js +148 -152
  251. package/dist/select-ng/select-ng.js +1 -1
  252. package/dist/select-ng/select-ng__lazy.js +4 -4
  253. package/dist/select-ng/select-ng__options.js +14 -15
  254. package/dist/shortcuts/core.js +35 -36
  255. package/dist/shortcuts/shortcuts-hoc.js +7 -11
  256. package/dist/shortcuts/shortcuts.js +10 -11
  257. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +0 -1
  258. package/dist/shortcuts-ng/shortcuts-ng.js +0 -1
  259. package/dist/sidebar-ng/sidebar-ng.js +0 -1
  260. package/dist/storage/storage.js +1 -1
  261. package/dist/storage/storage__fallback.js +8 -10
  262. package/dist/storage/storage__local.js +2 -2
  263. package/dist/style.css +1 -1
  264. package/dist/tab-trap/tab-trap.js +84 -86
  265. package/dist/table/cell.js +6 -6
  266. package/dist/table/disable-hover-hoc.js +23 -25
  267. package/dist/table/header-cell.js +28 -31
  268. package/dist/table/header.js +58 -61
  269. package/dist/table/multitable.js +91 -95
  270. package/dist/table/row-with-focus-sensor.js +15 -18
  271. package/dist/table/row.js +51 -54
  272. package/dist/table/selection-shortcuts-hoc.js +145 -147
  273. package/dist/table/selection.js +7 -9
  274. package/dist/table/smart-table.js +21 -24
  275. package/dist/table/table.js +103 -109
  276. package/dist/table-legacy-ng/table-legacy-ng.js +1 -1
  277. package/dist/table-legacy-ng/table-legacy-ng__pager.js +1 -1
  278. package/dist/table-legacy-ng/table-legacy-ng__selection.js +1 -3
  279. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +0 -1
  280. package/dist/table-ng/smart-table-ng.js +1 -1
  281. package/dist/table-ng/table-ng.js +1 -1
  282. package/dist/tabs/collapsible-more.js +1 -1
  283. package/dist/tabs/collapsible-tab.js +1 -1
  284. package/dist/tabs/dumb-tabs.js +46 -49
  285. package/dist/tabs/smart-tabs.js +10 -10
  286. package/dist/tabs/tab.js +7 -8
  287. package/dist/tag/tag.js +42 -45
  288. package/dist/tags-input/tags-input.d.ts +1 -1
  289. package/dist/tags-input/tags-input.js +214 -213
  290. package/dist/tags-input-ng/tags-input-ng.js +1 -1
  291. package/dist/tags-list/tags-list.js +20 -20
  292. package/dist/template-ng/template-ng.js +25 -26
  293. package/dist/text/text.js +6 -6
  294. package/dist/toggle/toggle.js +19 -19
  295. package/dist/toggle-ng/toggle-ng.js +1 -1
  296. package/dist/tooltip/tooltip.js +86 -89
  297. package/dist/tooltip-ng/tooltip-ng.js +1 -1
  298. package/dist/user-agreement/service.js +207 -205
  299. package/dist/user-agreement/user-agreement.js +39 -42
  300. package/dist/user-card/smart-user-card-tooltip.d.ts +1 -1
  301. package/dist/user-card/smart-user-card-tooltip.js +32 -35
  302. package/dist/user-card/tooltip.js +26 -26
  303. package/dist/user-card-ng/user-card-ng.js +1 -1
  304. package/package.json +15 -15
@@ -1,4 +1,4 @@
1
- import { _ as _defineProperty, a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React, { Component } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import isAfter from 'date-fns/isAfter';
@@ -68,101 +68,33 @@ class DatePopup extends Component {
68
68
  }
69
69
  return next === prev;
70
70
  }
71
+ static propTypes = {
72
+ className: PropTypes.string,
73
+ date: dateType,
74
+ range: PropTypes.bool,
75
+ withTime: PropTypes.bool,
76
+ time: PropTypes.string,
77
+ from: dateType,
78
+ to: dateType,
79
+ renderAfterCalendar: PropTypes.func,
80
+ displayFormat: PropTypes.func,
81
+ parseDateInput: PropTypes.func,
82
+ onChange: PropTypes.func,
83
+ onComplete: PropTypes.func,
84
+ onClear: PropTypes.func,
85
+ minDate: dateType,
86
+ maxDate: dateType,
87
+ hidden: PropTypes.bool,
88
+ fromPlaceholder: PropTypes.string,
89
+ toPlaceholder: PropTypes.string,
90
+ timePlaceholder: PropTypes.string,
91
+ locale: PropTypes.object
92
+ };
93
+ static defaultProps = {
94
+ onChange() {}
95
+ };
71
96
  constructor(props) {
72
97
  super(props);
73
- _defineProperty(this, "_scrollDate", void 0);
74
- _defineProperty(this, "_scrollTS", void 0);
75
- _defineProperty(this, "isInTimeMode", () => !this.props.range && this.props.withTime || false);
76
- _defineProperty(this, "componentRef", /*#__PURE__*/React.createRef());
77
- _defineProperty(this, "handleWheel", e => {
78
- if (e.cancelable) {
79
- e.preventDefault();
80
- }
81
- });
82
- _defineProperty(this, "isValidDate", parsedText => {
83
- const minDate = this.parse(this.props.minDate, 'date');
84
- const maxDate = this.parse(this.props.maxDate, 'date');
85
- if (parsedText) {
86
- return !(minDate && isBefore(parsedText, minDate) || maxDate && isAfter(parsedText, maxDate));
87
- }
88
- return false;
89
- });
90
- _defineProperty(this, "scheduleScroll", () => {
91
- const current = this.state.scrollDate && this.parse(this.state.scrollDate, 'date') || this.parse(this.props[this.state.active], 'date') || new Date();
92
- const goal = this._scrollDate;
93
- if (!current || !goal || DatePopup.sameDay(goal, current)) {
94
- this._scrollDate = null;
95
- this._scrollTS = null;
96
- return;
97
- }
98
- if (this._scrollTS) {
99
- const diff = goal - Number(current);
100
- const dt = Date.now() - this._scrollTS;
101
- const next = goal - diff * Math.E ** (-dt / scrollExpDelay);
102
- this.setState({
103
- scrollDate: next
104
- });
105
- }
106
- this._scrollTS = Date.now();
107
- window.requestAnimationFrame(this.scheduleScroll);
108
- });
109
- _defineProperty(this, "scrollTo", scrollDate => {
110
- this._scrollDate = scrollDate;
111
- if (!this._scrollTS) {
112
- this.scheduleScroll();
113
- }
114
- });
115
- _defineProperty(this, "hoverHandler", hoverDate => this.setState({
116
- hoverDate
117
- }));
118
- _defineProperty(this, "handleActivate", memoize(name => () => this.setState({
119
- active: name
120
- })));
121
- _defineProperty(this, "handleInput", (text, name) => {
122
- if (name !== 'time') {
123
- const parsed = this.parse(text, name);
124
- if (this.isValidDate(parsed)) {
125
- this.scrollTo(Number(parsed));
126
- }
127
- }
128
- this.setState({
129
- text,
130
- hoverDate: null
131
- });
132
- });
133
- _defineProperty(this, "handleConfirm", memoize(name => () => this.confirm(name)));
134
- _defineProperty(this, "selectHandler", date => {
135
- if (this.isInTimeMode()) {
136
- this.setState({
137
- active: 'time'
138
- }, () => this.select({
139
- date
140
- }));
141
- } else {
142
- this.select({
143
- [this.state.active]: date
144
- });
145
- }
146
- });
147
- _defineProperty(this, "handleScroll", scrollDate => this.setState({
148
- scrollDate
149
- }));
150
- _defineProperty(this, "onClear", e => {
151
- let changes;
152
- if (this.props.range) {
153
- changes = {
154
- from: null,
155
- to: null
156
- };
157
- } else {
158
- changes = {
159
- date: null
160
- };
161
- }
162
- this.select(changes);
163
- this.props.onClear?.(e);
164
- this.componentRef.current?.querySelector('input')?.focus();
165
- });
166
98
  const defaultState = {
167
99
  text: null,
168
100
  hoverDate: null,
@@ -213,6 +145,15 @@ class DatePopup extends Component {
213
145
  this.componentRef.current.removeEventListener('wheel', this.handleWheel);
214
146
  }
215
147
  }
148
+ _scrollDate;
149
+ _scrollTS;
150
+ isInTimeMode = () => !this.props.range && this.props.withTime || false;
151
+ componentRef = /*#__PURE__*/React.createRef();
152
+ handleWheel = e => {
153
+ if (e.cancelable) {
154
+ e.preventDefault();
155
+ }
156
+ };
216
157
  parse(text, type) {
217
158
  if (type === 'time') {
218
159
  return parseTime(String(text));
@@ -312,6 +253,90 @@ class DatePopup extends Component {
312
253
  [name]: result
313
254
  });
314
255
  }
256
+ isValidDate = parsedText => {
257
+ const minDate = this.parse(this.props.minDate, 'date');
258
+ const maxDate = this.parse(this.props.maxDate, 'date');
259
+ if (parsedText) {
260
+ return !(minDate && isBefore(parsedText, minDate) || maxDate && isAfter(parsedText, maxDate));
261
+ }
262
+ return false;
263
+ };
264
+ scheduleScroll = () => {
265
+ const current = this.state.scrollDate && this.parse(this.state.scrollDate, 'date') || this.parse(this.props[this.state.active], 'date') || new Date();
266
+ const goal = this._scrollDate;
267
+ if (!current || !goal || DatePopup.sameDay(goal, current)) {
268
+ this._scrollDate = null;
269
+ this._scrollTS = null;
270
+ return;
271
+ }
272
+ if (this._scrollTS) {
273
+ const diff = goal - Number(current);
274
+ const dt = Date.now() - this._scrollTS;
275
+ const next = goal - diff * Math.E ** (-dt / scrollExpDelay);
276
+ this.setState({
277
+ scrollDate: next
278
+ });
279
+ }
280
+ this._scrollTS = Date.now();
281
+ window.requestAnimationFrame(this.scheduleScroll);
282
+ };
283
+ scrollTo = scrollDate => {
284
+ this._scrollDate = scrollDate;
285
+ if (!this._scrollTS) {
286
+ this.scheduleScroll();
287
+ }
288
+ };
289
+ hoverHandler = hoverDate => this.setState({
290
+ hoverDate
291
+ });
292
+ handleActivate = memoize(name => () => this.setState({
293
+ active: name
294
+ }));
295
+ handleInput = (text, name) => {
296
+ if (name !== 'time') {
297
+ const parsed = this.parse(text, name);
298
+ if (this.isValidDate(parsed)) {
299
+ this.scrollTo(Number(parsed));
300
+ }
301
+ }
302
+ this.setState({
303
+ text,
304
+ hoverDate: null
305
+ });
306
+ };
307
+ handleConfirm = memoize(name => () => this.confirm(name));
308
+ selectHandler = date => {
309
+ if (this.isInTimeMode()) {
310
+ this.setState({
311
+ active: 'time'
312
+ }, () => this.select({
313
+ date
314
+ }));
315
+ } else {
316
+ this.select({
317
+ [this.state.active]: date
318
+ });
319
+ }
320
+ };
321
+ handleScroll = scrollDate => this.setState({
322
+ scrollDate
323
+ });
324
+ onClear = e => {
325
+ let changes;
326
+ if (this.props.range) {
327
+ changes = {
328
+ from: null,
329
+ to: null
330
+ };
331
+ } else {
332
+ changes = {
333
+ date: null
334
+ };
335
+ }
336
+ this.select(changes);
337
+ this.props.onClear?.(e);
338
+ this.componentRef.current?.querySelector('input')?.focus();
339
+ };
315
340
  render() {
316
341
  const {
317
342
  range,
@@ -420,30 +445,5 @@ class DatePopup extends Component {
420
445
  })), /*#__PURE__*/React.createElement(Years, calendarProps)), this.props.renderAfterCalendar && this.props.renderAfterCalendar(this.state));
421
446
  }
422
447
  }
423
- _defineProperty(DatePopup, "propTypes", {
424
- className: PropTypes.string,
425
- date: dateType,
426
- range: PropTypes.bool,
427
- withTime: PropTypes.bool,
428
- time: PropTypes.string,
429
- from: dateType,
430
- to: dateType,
431
- renderAfterCalendar: PropTypes.func,
432
- displayFormat: PropTypes.func,
433
- parseDateInput: PropTypes.func,
434
- onChange: PropTypes.func,
435
- onComplete: PropTypes.func,
436
- onClear: PropTypes.func,
437
- minDate: dateType,
438
- maxDate: dateType,
439
- hidden: PropTypes.bool,
440
- fromPlaceholder: PropTypes.string,
441
- toPlaceholder: PropTypes.string,
442
- timePlaceholder: PropTypes.string,
443
- locale: PropTypes.object
444
- });
445
- _defineProperty(DatePopup, "defaultProps", {
446
- onChange() {}
447
- });
448
448
 
449
449
  export { DatePopup as default };
@@ -1,4 +1,3 @@
1
- import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
1
  import React, { Component } from 'react';
3
2
  import PropTypes from 'prop-types';
4
3
  import classNames from 'classnames';
@@ -17,31 +16,40 @@ import 'date-fns/add';
17
16
 
18
17
  let hoverTO;
19
18
  class Day extends Component {
20
- constructor() {
21
- super(...arguments);
22
- _defineProperty(this, "handleClick", () => this.props.onSelect(this.props.day));
23
- _defineProperty(this, "handleMouseOver", () => {
24
- if (hoverTO) {
25
- window.clearTimeout(hoverTO);
26
- hoverTO = null;
27
- }
28
- this.props.onHover(this.props.day);
29
- });
30
- _defineProperty(this, "handleMouseOut", () => {
31
- hoverTO = window.setTimeout(this.props.onHover, 0);
32
- });
33
- _defineProperty(this, "isDay", date => isSameDay(this.props.day, date));
34
- _defineProperty(this, "is", name => {
35
- const value = this.props[name];
36
- return value != null && this.isDay(value);
37
- });
38
- _defineProperty(this, "inRange", range => range && isAfter(startOfDay(this.props.day), startOfDay(range[0])) && isBefore(startOfDay(this.props.day), startOfDay(range[1])));
39
- _defineProperty(this, "isDisabled", date => {
40
- const min = this.parse(this.props.minDate);
41
- const max = this.parse(this.props.maxDate);
42
- return min != null && isBefore(startOfDay(date), startOfDay(min)) || max != null && isAfter(startOfDay(date), startOfDay(max));
43
- });
44
- }
19
+ static propTypes = {
20
+ day: dateType,
21
+ from: dateType,
22
+ currentRange: PropTypes.arrayOf(dateType),
23
+ activeRange: PropTypes.arrayOf(dateType),
24
+ empty: PropTypes.bool,
25
+ onSelect: PropTypes.func,
26
+ parseDateInput: PropTypes.func,
27
+ onHover: PropTypes.func,
28
+ minDate: dateType,
29
+ maxDate: dateType
30
+ };
31
+ handleClick = () => this.props.onSelect(this.props.day);
32
+ handleMouseOver = () => {
33
+ if (hoverTO) {
34
+ window.clearTimeout(hoverTO);
35
+ hoverTO = null;
36
+ }
37
+ this.props.onHover(this.props.day);
38
+ };
39
+ handleMouseOut = () => {
40
+ hoverTO = window.setTimeout(this.props.onHover, 0);
41
+ };
42
+ isDay = date => isSameDay(this.props.day, date);
43
+ is = name => {
44
+ const value = this.props[name];
45
+ return value != null && this.isDay(value);
46
+ };
47
+ inRange = range => range && isAfter(startOfDay(this.props.day), startOfDay(range[0])) && isBefore(startOfDay(this.props.day), startOfDay(range[1]));
48
+ isDisabled = date => {
49
+ const min = this.parse(this.props.minDate);
50
+ const max = this.parse(this.props.maxDate);
51
+ return min != null && isBefore(startOfDay(date), startOfDay(min)) || max != null && isAfter(startOfDay(date), startOfDay(max));
52
+ };
45
53
  parse(text) {
46
54
  return this.props.parseDateInput(text);
47
55
  }
@@ -93,17 +101,5 @@ class Day extends Component {
93
101
  );
94
102
  }
95
103
  }
96
- _defineProperty(Day, "propTypes", {
97
- day: dateType,
98
- from: dateType,
99
- currentRange: PropTypes.arrayOf(dateType),
100
- activeRange: PropTypes.arrayOf(dateType),
101
- empty: PropTypes.bool,
102
- onSelect: PropTypes.func,
103
- parseDateInput: PropTypes.func,
104
- onHover: PropTypes.func,
105
- minDate: dateType,
106
- maxDate: dateType
107
- });
108
104
 
109
105
  export { Day as default };
@@ -1,4 +1,4 @@
1
- import { _ as _defineProperty, a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React, { PureComponent } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import classNames from 'classnames';
@@ -10,20 +10,22 @@ import startOfDay from 'date-fns/startOfDay';
10
10
  import startOfYear from 'date-fns/startOfYear';
11
11
  import linearFunction from '../global/linear-function.js';
12
12
  import MonthSlider from './month-slider.js';
13
- import { dateType, YEAR, MIDDLE_DAY, yearScrollSpeed, HALF } from './consts.js';
13
+ import { dateType, HALF, YEAR, MIDDLE_DAY, yearScrollSpeed } from './consts.js';
14
14
  import { m as modules_0c7b7d96 } from '../_helpers/date-picker.js';
15
15
  import 'date-fns/addYears';
16
16
  import 'date-fns/subYears';
17
17
  import 'date-fns/add';
18
18
 
19
19
  class MonthName extends PureComponent {
20
- constructor() {
21
- super(...arguments);
22
- _defineProperty(this, "handleClick", () => {
23
- const end = endOfMonth(this.props.month);
24
- this.props.onScrollChange((+this.props.month + +end) * HALF);
25
- });
26
- }
20
+ static propTypes = {
21
+ month: dateType,
22
+ onScrollChange: PropTypes.func,
23
+ locale: PropTypes.string
24
+ };
25
+ handleClick = () => {
26
+ const end = endOfMonth(this.props.month);
27
+ this.props.onScrollChange((+this.props.month + +end) * HALF);
28
+ };
27
29
  render() {
28
30
  const {
29
31
  month,
@@ -40,11 +42,6 @@ class MonthName extends PureComponent {
40
42
  }));
41
43
  }
42
44
  }
43
- _defineProperty(MonthName, "propTypes", {
44
- month: dateType,
45
- onScrollChange: PropTypes.func,
46
- locale: PropTypes.string
47
- });
48
45
  function MonthNames(props) {
49
46
  const {
50
47
  scrollDate,
@@ -1,4 +1,3 @@
1
- import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
1
  import React, { PureComponent } from 'react';
3
2
  import PropTypes from 'prop-types';
4
3
  import classNames from 'classnames';
@@ -12,25 +11,17 @@ import 'date-fns/add';
12
11
 
13
12
  const COVERYEARS = 3;
14
13
  class MonthSlider extends PureComponent {
15
- constructor() {
16
- super(...arguments);
17
- _defineProperty(this, "state", {
18
- dragging: false
19
- });
20
- _defineProperty(this, "onMouseDown", () => {
21
- this.setState({
22
- dragging: true
23
- });
24
- });
25
- _defineProperty(this, "onMouseUp", () => {
26
- this.setState({
27
- dragging: false
28
- });
29
- });
30
- _defineProperty(this, "onMouseMove", e => {
31
- this.props.onScroll(linearFunction(0, Number(this.props.scrollDate), yearScrollSpeed).y(e.movementY));
32
- });
33
- }
14
+ static propTypes = {
15
+ scrollDate: dateType,
16
+ onScroll: PropTypes.func,
17
+ pxToDate: PropTypes.shape({
18
+ x: PropTypes.func,
19
+ y: PropTypes.func
20
+ })
21
+ };
22
+ state = {
23
+ dragging: false
24
+ };
34
25
  componentDidUpdate(prevProps, prevState) {
35
26
  if (this.state.dragging && !prevState.dragging) {
36
27
  window.addEventListener('mousemove', this.onMouseMove);
@@ -40,6 +31,19 @@ class MonthSlider extends PureComponent {
40
31
  window.removeEventListener('mouseup', this.onMouseUp);
41
32
  }
42
33
  }
34
+ onMouseDown = () => {
35
+ this.setState({
36
+ dragging: true
37
+ });
38
+ };
39
+ onMouseUp = () => {
40
+ this.setState({
41
+ dragging: false
42
+ });
43
+ };
44
+ onMouseMove = e => {
45
+ this.props.onScroll(linearFunction(0, Number(this.props.scrollDate), yearScrollSpeed).y(e.movementY));
46
+ };
43
47
  render() {
44
48
  let year = subYears(startOfDay(this.props.scrollDate), 1);
45
49
  const years = [year];
@@ -61,13 +65,5 @@ class MonthSlider extends PureComponent {
61
65
  })));
62
66
  }
63
67
  }
64
- _defineProperty(MonthSlider, "propTypes", {
65
- scrollDate: dateType,
66
- onScroll: PropTypes.func,
67
- pxToDate: PropTypes.shape({
68
- x: PropTypes.func,
69
- y: PropTypes.func
70
- })
71
- });
72
68
 
73
69
  export { MonthSlider as default };
@@ -1,4 +1,4 @@
1
- import { a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React from 'react';
3
3
  import addDays from 'date-fns/addDays';
4
4
  import endOfMonth from 'date-fns/endOfMonth';
@@ -1,4 +1,4 @@
1
- import { a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import addMonths from 'date-fns/addMonths';
@@ -1,4 +1,3 @@
1
- import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
1
  import React, { PureComponent } from 'react';
3
2
  import PropTypes from 'prop-types';
4
3
  import classNames from 'classnames';
@@ -23,16 +22,18 @@ let scrollTO;
23
22
  const YEARSBACK = 5;
24
23
  const scrollDelay = 100;
25
24
  class Years extends PureComponent {
26
- constructor() {
27
- super(...arguments);
28
- _defineProperty(this, "state", {
29
- scrollDate: null
30
- });
31
- _defineProperty(this, "stoppedScrolling", void 0);
32
- }
25
+ static propTypes = {
26
+ scrollDate: dateType,
27
+ onScroll: PropTypes.func,
28
+ onScrollChange: PropTypes.func
29
+ };
30
+ state = {
31
+ scrollDate: null
32
+ };
33
33
  componentDidUpdate(prevProps, prevState) {
34
34
  this.stoppedScrolling = prevState.scrollDate != null && !this.state.scrollDate;
35
35
  }
36
+ stoppedScrolling;
36
37
  setYear(date) {
37
38
  if (scrollTO) {
38
39
  window.clearTimeout(scrollTO);
@@ -88,10 +89,5 @@ class Years extends PureComponent {
88
89
  }, format(item, 'yyyy'))));
89
90
  }
90
91
  }
91
- _defineProperty(Years, "propTypes", {
92
- scrollDate: dateType,
93
- onScroll: PropTypes.func,
94
- onScrollChange: PropTypes.func
95
- });
96
92
 
97
93
  export { Years as default };
@@ -1,6 +1,7 @@
1
1
  import React, { PureComponent } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import TabTrap, { TabTrapProps } from '../tab-trap/tab-trap';
4
+ import type { ShortcutsScopeOptions } from '../shortcuts/core';
4
5
  export interface DialogProps extends Partial<TabTrapProps> {
5
6
  show: boolean;
6
7
  label: string;
@@ -9,6 +10,7 @@ export interface DialogProps extends Partial<TabTrapProps> {
9
10
  onCloseClick: (event: React.MouseEvent<HTMLElement>) => void;
10
11
  onCloseAttempt: (event: React.MouseEvent<HTMLElement> | KeyboardEvent) => void;
11
12
  showCloseButton: boolean;
13
+ shortcutOptions: ShortcutsScopeOptions;
12
14
  closeButtonInside: boolean;
13
15
  closeButtonTitle?: string;
14
16
  trapFocus: boolean;
@@ -17,10 +19,6 @@ export interface DialogProps extends Partial<TabTrapProps> {
17
19
  'data-test'?: string | null | undefined;
18
20
  dense?: boolean | null | undefined;
19
21
  }
20
- /**
21
- * @name Dialog
22
- */
23
- declare function noop(): void;
24
22
  export default class Dialog extends PureComponent<DialogProps> {
25
23
  static propTypes: {
26
24
  label: PropTypes.Requireable<string>;
@@ -34,23 +32,14 @@ export default class Dialog extends PureComponent<DialogProps> {
34
32
  onOverlayClick: PropTypes.Requireable<(...args: any[]) => any>;
35
33
  onEscPress: PropTypes.Requireable<(...args: any[]) => any>;
36
34
  onCloseClick: PropTypes.Requireable<(...args: any[]) => any>;
35
+ shortcutOptions: PropTypes.Requireable<object>;
37
36
  onCloseAttempt: PropTypes.Requireable<(...args: any[]) => any>;
38
37
  trapFocus: PropTypes.Requireable<boolean>;
39
38
  portalTarget: PropTypes.Requireable<HTMLElement>;
40
39
  autoFocusFirst: PropTypes.Requireable<boolean>;
41
40
  'data-test': PropTypes.Requireable<string>;
42
41
  };
43
- static defaultProps: {
44
- label: string;
45
- onOverlayClick: typeof noop;
46
- onEscPress: typeof noop;
47
- onCloseClick: typeof noop;
48
- onCloseAttempt: typeof noop;
49
- showCloseButton: boolean;
50
- closeButtonInside: boolean;
51
- trapFocus: boolean;
52
- autoFocusFirst: boolean;
53
- };
42
+ static defaultProps: Partial<DialogProps>;
54
43
  state: {
55
44
  shortcutsScope: string;
56
45
  };
@@ -73,4 +62,3 @@ export default class Dialog extends PureComponent<DialogProps> {
73
62
  render(): false | React.ReactPortal;
74
63
  }
75
64
  export type DialogAttrs = JSX.LibraryManagedAttributes<typeof Dialog, DialogProps>;
76
- export {};