@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 { _ as _defineProperty, a as _inherits, b as _createClass, c as _objectWithoutProperties, e as _extends, f as _classCallCheck, g as _callSuper } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.array.concat.js';
2
3
  import React, { Component, createContext } from 'react';
3
4
  import PropTypes from 'prop-types';
4
5
  import classNames from 'classnames';
@@ -6,178 +7,221 @@ import Popup from '../popup/popup.js';
6
7
  import { Listeners } from '../global/dom.js';
7
8
  import joinDataTestAttributes from '../global/data-tests.js';
8
9
  import scheduleRAF from '../global/schedule-raf.js';
10
+ import 'core-js/modules/es.object.entries.js';
11
+ import 'core-js/modules/es.object.to-string.js';
12
+ import 'core-js/modules/es.regexp.exec.js';
13
+ import 'core-js/modules/es.regexp.to-string.js';
14
+ import 'core-js/modules/es.string.replace.js';
15
+ import 'core-js/modules/web.dom-collections.for-each.js';
9
16
  import 'react-dom';
10
17
  import '../global/get-uid.js';
11
18
  import '../shortcuts/shortcuts.js';
19
+ import 'core-js/modules/es.array.map.js';
12
20
  import '../shortcuts/core.js';
21
+ import 'core-js/modules/es.array.find-index.js';
22
+ import 'core-js/modules/es.array.includes.js';
23
+ import 'core-js/modules/es.array.slice.js';
24
+ import 'core-js/modules/es.array.splice.js';
25
+ import 'core-js/modules/es.object.assign.js';
26
+ import 'core-js/modules/es.string.includes.js';
27
+ import 'core-js/modules/es.string.match.js';
13
28
  import 'combokeys';
14
29
  import '../global/sniffer.js';
15
30
  import 'sniffr';
16
31
  import '../tab-trap/tab-trap.js';
32
+ import 'core-js/modules/es.array.filter.js';
17
33
  import '../popup/position.js';
34
+ import 'core-js/modules/es.array.sort.js';
18
35
  import '../popup/popup.consts.js';
36
+ import 'core-js/modules/es.array.iterator.js';
37
+ import 'core-js/modules/es.set.js';
38
+ import 'core-js/modules/es.string.split.js';
39
+ import 'core-js/modules/web.dom-collections.iterator.js';
19
40
  import '../popup/popup.target.js';
41
+ import 'core-js/modules/es.array.reduce.js';
20
42
 
21
43
  var modules_cd5e45a9 = {"light":"light_rui_2ac4","tooltip":"tooltip_rui_a84d","long":"long_rui_a84d"};
22
44
 
23
- const scheduleScroll = scheduleRAF();
24
- const TooltipContext = /*#__PURE__*/createContext(undefined);
45
+ var _excluded = ["children", "data-test", "title", "delay", "selfOverflowOnly", "popupProps", "long"];
46
+ var scheduleScroll = scheduleRAF();
47
+ var TooltipContext = /*#__PURE__*/createContext(undefined);
25
48
  /**
26
49
  * @name Tooltip
27
50
  */
28
- class Tooltip extends Component {
29
- static propTypes = {
30
- delay: PropTypes.number,
31
- selfOverflowOnly: PropTypes.bool,
32
- popupProps: PropTypes.object,
33
- title: PropTypes.node,
34
- children: PropTypes.node,
35
- 'data-test': PropTypes.string
36
- };
37
- static defaultProps = {
38
- title: '',
39
- selfOverflowOnly: false,
40
- popupProps: {}
41
- };
42
- state = {
43
- showPopup: false,
44
- showNestedPopup: false
45
- };
46
- componentDidMount() {
47
- if (this.props.title) {
48
- this.addListeners();
51
+ var Tooltip = /*#__PURE__*/function (_Component) {
52
+ function Tooltip() {
53
+ var _this;
54
+ _classCallCheck(this, Tooltip);
55
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
56
+ args[_key] = arguments[_key];
49
57
  }
50
- }
51
- componentDidUpdate(prevProps) {
52
- if (!prevProps.title && this.props.title) {
53
- this.addListeners();
54
- } else if (prevProps.title && !this.props.title) {
55
- this.listeners.removeAll();
56
- }
57
- }
58
- componentWillUnmount() {
59
- clearTimeout(this.timeout);
60
- this.listeners.removeAll();
61
- }
62
- static PopupProps = Popup.PopupProps;
63
- static contextType = TooltipContext;
64
- timeout;
65
- listeners = new Listeners();
66
- containerNode;
67
- containerRef = el => {
68
- this.containerNode = el;
69
- };
70
- tryToShowPopup = () => {
71
- const {
72
- delay,
73
- title
74
- } = this.props;
75
- if (!title) {
76
- return;
77
- }
78
- if (delay) {
79
- this.timeout = window.setTimeout(this.showPopup, delay);
80
- } else {
81
- this.showPopup();
82
- }
83
- };
84
- showPopup = () => {
85
- if (this.props.selfOverflowOnly) {
86
- const {
87
- containerNode
88
- } = this;
89
- // rare cases when containerNode is null are possible;
90
- // probably the collision is due to the asynchronous nature of the code,
91
- // i.e. this code runs after the component is unmounted,
92
- // although at first glance it looks unlikely.
93
- if (!containerNode) {
58
+ _this = _callSuper(this, Tooltip, [].concat(args));
59
+ _defineProperty(_this, "state", {
60
+ showPopup: false,
61
+ showNestedPopup: false
62
+ });
63
+ _defineProperty(_this, "timeout", void 0);
64
+ _defineProperty(_this, "listeners", new Listeners());
65
+ _defineProperty(_this, "containerNode", void 0);
66
+ _defineProperty(_this, "containerRef", function (el) {
67
+ _this.containerNode = el;
68
+ });
69
+ _defineProperty(_this, "tryToShowPopup", function () {
70
+ var _this$props = _this.props,
71
+ delay = _this$props.delay,
72
+ title = _this$props.title;
73
+ if (!title) {
94
74
  return;
95
75
  }
96
- // inline element?
97
- if (containerNode.clientWidth === 0 && containerNode.clientHeight === 0) {
98
- return;
76
+ if (delay) {
77
+ _this.timeout = window.setTimeout(_this.showPopup, delay);
78
+ } else {
79
+ _this.showPopup();
99
80
  }
100
- if (containerNode.scrollWidth <= containerNode.clientWidth && containerNode.scrollHeight <= containerNode.clientHeight) {
101
- return;
81
+ });
82
+ _defineProperty(_this, "showPopup", function () {
83
+ var _this$context;
84
+ if (_this.props.selfOverflowOnly) {
85
+ var _this2 = _this,
86
+ containerNode = _this2.containerNode;
87
+ // rare cases when containerNode is null are possible;
88
+ // probably the collision is due to the asynchronous nature of the code,
89
+ // i.e. this code runs after the component is unmounted,
90
+ // although at first glance it looks unlikely.
91
+ if (!containerNode) {
92
+ return;
93
+ }
94
+ // inline element?
95
+ if (containerNode.clientWidth === 0 && containerNode.clientHeight === 0) {
96
+ return;
97
+ }
98
+ if (containerNode.scrollWidth <= containerNode.clientWidth && containerNode.scrollHeight <= containerNode.clientHeight) {
99
+ return;
100
+ }
102
101
  }
103
- }
104
- this.context?.onNestedTooltipShow();
105
- this.setState({
106
- showPopup: true
102
+ (_this$context = _this.context) === null || _this$context === void 0 || _this$context.onNestedTooltipShow();
103
+ _this.setState({
104
+ showPopup: true
105
+ });
107
106
  });
108
- };
109
- hidePopup = () => {
110
- clearTimeout(this.timeout);
111
- this.context?.onNestedTooltipHide();
112
- this.setState({
113
- showPopup: false
107
+ _defineProperty(_this, "hidePopup", function () {
108
+ var _this$context2;
109
+ clearTimeout(_this.timeout);
110
+ (_this$context2 = _this.context) === null || _this$context2 === void 0 || _this$context2.onNestedTooltipHide();
111
+ _this.setState({
112
+ showPopup: false
113
+ });
114
114
  });
115
- };
116
- addListeners() {
117
- if (this.containerNode != null) {
118
- this.listeners.add(this.containerNode, 'mouseover', this.tryToShowPopup);
119
- this.listeners.add(this.containerNode, 'mouseout', this.hidePopup);
120
- }
121
- this.listeners.add(document, 'scroll', () => scheduleScroll(this.hidePopup), {
122
- passive: true
115
+ _defineProperty(_this, "popup", void 0);
116
+ _defineProperty(_this, "popupRef", function (el) {
117
+ _this.popup = el;
123
118
  });
124
- }
125
- popup;
126
- popupRef = el => {
127
- this.popup = el;
128
- };
129
- onNestedTooltipShow = () => {
130
- this.setState({
131
- showNestedPopup: true
119
+ _defineProperty(_this, "onNestedTooltipShow", function () {
120
+ _this.setState({
121
+ showNestedPopup: true
122
+ });
132
123
  });
133
- };
134
- onNestedTooltipHide = () => {
135
- this.setState({
136
- showNestedPopup: false
124
+ _defineProperty(_this, "onNestedTooltipHide", function () {
125
+ _this.setState({
126
+ showNestedPopup: false
127
+ });
137
128
  });
138
- };
139
- render() {
140
- const {
141
- children,
142
- 'data-test': dataTest,
143
- title,
144
- delay,
145
- selfOverflowOnly,
146
- popupProps,
147
- long,
148
- ...restProps
149
- } = this.props;
150
- const ariaProps = typeof title === 'string' && !!title ? {
151
- 'aria-label': title,
152
- role: 'tooltip'
153
- } : {};
154
- const {
155
- onNestedTooltipShow,
156
- onNestedTooltipHide
157
- } = this;
158
- return /*#__PURE__*/React.createElement(TooltipContext.Provider, {
159
- value: {
160
- onNestedTooltipShow,
161
- onNestedTooltipHide
162
- }
163
- }, /*#__PURE__*/React.createElement("span", _extends({}, ariaProps, restProps, {
164
- ref: this.containerRef,
165
- "data-test": joinDataTestAttributes('ring-tooltip', dataTest),
166
- "data-test-title": typeof title === 'string' ? title : undefined
167
- }), children, /*#__PURE__*/React.createElement(Popup, _extends({
168
- trapFocus: false,
169
- hidden: !this.state.showPopup || this.state.showNestedPopup,
170
- onCloseAttempt: this.hidePopup,
171
- maxHeight: 400,
172
- className: classNames(modules_cd5e45a9.tooltip, {
173
- [modules_cd5e45a9.long]: long
174
- }),
175
- attached: false,
176
- top: 4,
177
- dontCloseOnAnchorClick: true,
178
- ref: this.popupRef
179
- }, popupProps), title)));
129
+ return _this;
180
130
  }
181
- }
131
+ _inherits(Tooltip, _Component);
132
+ return _createClass(Tooltip, [{
133
+ key: "componentDidMount",
134
+ value: function componentDidMount() {
135
+ if (this.props.title) {
136
+ this.addListeners();
137
+ }
138
+ }
139
+ }, {
140
+ key: "componentDidUpdate",
141
+ value: function componentDidUpdate(prevProps) {
142
+ if (!prevProps.title && this.props.title) {
143
+ this.addListeners();
144
+ } else if (prevProps.title && !this.props.title) {
145
+ this.listeners.removeAll();
146
+ }
147
+ }
148
+ }, {
149
+ key: "componentWillUnmount",
150
+ value: function componentWillUnmount() {
151
+ clearTimeout(this.timeout);
152
+ this.listeners.removeAll();
153
+ }
154
+ }, {
155
+ key: "addListeners",
156
+ value: function addListeners() {
157
+ var _this3 = this;
158
+ if (this.containerNode != null) {
159
+ this.listeners.add(this.containerNode, 'mouseover', this.tryToShowPopup);
160
+ this.listeners.add(this.containerNode, 'mouseout', this.hidePopup);
161
+ }
162
+ this.listeners.add(document, 'scroll', function () {
163
+ return scheduleScroll(_this3.hidePopup);
164
+ }, {
165
+ passive: true
166
+ });
167
+ }
168
+ }, {
169
+ key: "render",
170
+ value: function render() {
171
+ var _this$props2 = this.props,
172
+ children = _this$props2.children,
173
+ dataTest = _this$props2['data-test'],
174
+ title = _this$props2.title;
175
+ _this$props2.delay;
176
+ _this$props2.selfOverflowOnly;
177
+ var popupProps = _this$props2.popupProps,
178
+ long = _this$props2.long,
179
+ restProps = _objectWithoutProperties(_this$props2, _excluded);
180
+ var ariaProps = typeof title === 'string' && !!title ? {
181
+ 'aria-label': title,
182
+ role: 'tooltip'
183
+ } : {};
184
+ var onNestedTooltipShow = this.onNestedTooltipShow,
185
+ onNestedTooltipHide = this.onNestedTooltipHide;
186
+ return /*#__PURE__*/React.createElement(TooltipContext.Provider, {
187
+ value: {
188
+ onNestedTooltipShow,
189
+ onNestedTooltipHide
190
+ }
191
+ }, /*#__PURE__*/React.createElement("span", _extends({}, ariaProps, restProps, {
192
+ ref: this.containerRef,
193
+ "data-test": joinDataTestAttributes('ring-tooltip', dataTest),
194
+ "data-test-title": typeof title === 'string' ? title : undefined
195
+ }), children, /*#__PURE__*/React.createElement(Popup, _extends({
196
+ trapFocus: false,
197
+ hidden: !this.state.showPopup || this.state.showNestedPopup,
198
+ onCloseAttempt: this.hidePopup,
199
+ maxHeight: 400,
200
+ className: classNames(modules_cd5e45a9.tooltip, {
201
+ [modules_cd5e45a9.long]: long
202
+ }),
203
+ attached: false,
204
+ top: 4,
205
+ dontCloseOnAnchorClick: true,
206
+ ref: this.popupRef
207
+ }, popupProps), title)));
208
+ }
209
+ }]);
210
+ }(Component);
211
+ _defineProperty(Tooltip, "propTypes", {
212
+ delay: PropTypes.number,
213
+ selfOverflowOnly: PropTypes.bool,
214
+ popupProps: PropTypes.object,
215
+ title: PropTypes.node,
216
+ children: PropTypes.node,
217
+ 'data-test': PropTypes.string
218
+ });
219
+ _defineProperty(Tooltip, "defaultProps", {
220
+ title: '',
221
+ selfOverflowOnly: false,
222
+ popupProps: {}
223
+ });
224
+ _defineProperty(Tooltip, "PopupProps", Popup.PopupProps);
225
+ _defineProperty(Tooltip, "contextType", TooltipContext);
182
226
 
183
227
  export { Tooltip as default };