@progress/kendo-react-tooltip 6.1.1 → 7.0.0-develop.10

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 (101) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/cdn/js/kendo-react-tooltip.js +5 -1
  3. package/index.d.ts +23 -0
  4. package/index.js +5 -0
  5. package/index.mjs +468 -0
  6. package/package-metadata.d.ts +9 -0
  7. package/package.json +28 -44
  8. package/{dist/es/popover → popover}/Popover.d.ts +4 -0
  9. package/{dist/es/popover → popover}/PopoverActionsBar.d.ts +4 -0
  10. package/{dist/npm/popover → popover}/interfaces/Align.d.ts +4 -0
  11. package/{dist/npm/popover → popover}/interfaces/PopoverActionsBarProps.d.ts +4 -1
  12. package/popover/interfaces/PopoverAnimation.d.ts +10 -0
  13. package/popover/interfaces/PopoverCloseEvent.d.ts +14 -0
  14. package/{dist/npm/popover → popover}/interfaces/PopoverCollision.d.ts +4 -0
  15. package/{dist/npm/popover → popover}/interfaces/PopoverCollisionType.d.ts +5 -1
  16. package/{dist/npm/popover → popover}/interfaces/PopoverMargin.d.ts +4 -0
  17. package/popover/interfaces/PopoverOffset.d.ts +18 -0
  18. package/popover/interfaces/PopoverOpenEvent.d.ts +14 -0
  19. package/popover/interfaces/PopoverPosition.d.ts +13 -0
  20. package/{dist/es/popover → popover}/interfaces/PopoverPositionEvent.d.ts +4 -0
  21. package/popover/interfaces/PopoverPositionMode.d.ts +9 -0
  22. package/{dist/es/popover → popover}/interfaces/PopoverProps.d.ts +4 -1
  23. package/{dist/npm/tooltip → tooltip}/Tooltip.d.ts +5 -1
  24. package/{dist/npm/tooltip → tooltip}/TooltipProps.d.ts +4 -1
  25. package/{dist/es/tooltip → tooltip}/events.d.ts +4 -0
  26. package/{dist/npm/tooltip → tooltip}/utils.d.ts +5 -1
  27. package/about.md +0 -3
  28. package/dist/es/main.d.ts +0 -19
  29. package/dist/es/main.js +0 -4
  30. package/dist/es/package-metadata.d.ts +0 -5
  31. package/dist/es/package-metadata.js +0 -11
  32. package/dist/es/popover/Popover.js +0 -174
  33. package/dist/es/popover/PopoverActionsBar.js +0 -33
  34. package/dist/es/popover/interfaces/Align.d.ts +0 -24
  35. package/dist/es/popover/interfaces/Align.js +0 -1
  36. package/dist/es/popover/interfaces/PopoverActionsBarProps.d.ts +0 -28
  37. package/dist/es/popover/interfaces/PopoverActionsBarProps.js +0 -1
  38. package/dist/es/popover/interfaces/PopoverAnimation.d.ts +0 -6
  39. package/dist/es/popover/interfaces/PopoverAnimation.js +0 -1
  40. package/dist/es/popover/interfaces/PopoverCloseEvent.d.ts +0 -10
  41. package/dist/es/popover/interfaces/PopoverCloseEvent.js +0 -1
  42. package/dist/es/popover/interfaces/PopoverCollision.d.ts +0 -14
  43. package/dist/es/popover/interfaces/PopoverCollision.js +0 -1
  44. package/dist/es/popover/interfaces/PopoverCollisionType.d.ts +0 -10
  45. package/dist/es/popover/interfaces/PopoverCollisionType.js +0 -1
  46. package/dist/es/popover/interfaces/PopoverMargin.d.ts +0 -14
  47. package/dist/es/popover/interfaces/PopoverMargin.js +0 -1
  48. package/dist/es/popover/interfaces/PopoverOffset.d.ts +0 -14
  49. package/dist/es/popover/interfaces/PopoverOffset.js +0 -1
  50. package/dist/es/popover/interfaces/PopoverOpenEvent.d.ts +0 -10
  51. package/dist/es/popover/interfaces/PopoverOpenEvent.js +0 -1
  52. package/dist/es/popover/interfaces/PopoverPosition.d.ts +0 -9
  53. package/dist/es/popover/interfaces/PopoverPosition.js +0 -1
  54. package/dist/es/popover/interfaces/PopoverPositionEvent.js +0 -1
  55. package/dist/es/popover/interfaces/PopoverPositionMode.d.ts +0 -5
  56. package/dist/es/popover/interfaces/PopoverPositionMode.js +0 -1
  57. package/dist/es/popover/interfaces/PopoverProps.js +0 -1
  58. package/dist/es/tooltip/Tooltip.d.ts +0 -85
  59. package/dist/es/tooltip/Tooltip.js +0 -313
  60. package/dist/es/tooltip/TooltipProps.d.ts +0 -109
  61. package/dist/es/tooltip/TooltipProps.js +0 -2
  62. package/dist/es/tooltip/events.js +0 -1
  63. package/dist/es/tooltip/utils.d.ts +0 -24
  64. package/dist/es/tooltip/utils.js +0 -106
  65. package/dist/npm/main.d.ts +0 -19
  66. package/dist/npm/main.js +0 -9
  67. package/dist/npm/package-metadata.d.ts +0 -5
  68. package/dist/npm/package-metadata.js +0 -14
  69. package/dist/npm/popover/Popover.d.ts +0 -15
  70. package/dist/npm/popover/Popover.js +0 -177
  71. package/dist/npm/popover/PopoverActionsBar.d.ts +0 -19
  72. package/dist/npm/popover/PopoverActionsBar.js +0 -36
  73. package/dist/npm/popover/interfaces/Align.js +0 -2
  74. package/dist/npm/popover/interfaces/PopoverActionsBarProps.js +0 -2
  75. package/dist/npm/popover/interfaces/PopoverAnimation.d.ts +0 -6
  76. package/dist/npm/popover/interfaces/PopoverAnimation.js +0 -2
  77. package/dist/npm/popover/interfaces/PopoverCloseEvent.d.ts +0 -10
  78. package/dist/npm/popover/interfaces/PopoverCloseEvent.js +0 -2
  79. package/dist/npm/popover/interfaces/PopoverCollision.js +0 -2
  80. package/dist/npm/popover/interfaces/PopoverCollisionType.js +0 -2
  81. package/dist/npm/popover/interfaces/PopoverMargin.js +0 -2
  82. package/dist/npm/popover/interfaces/PopoverOffset.d.ts +0 -14
  83. package/dist/npm/popover/interfaces/PopoverOffset.js +0 -2
  84. package/dist/npm/popover/interfaces/PopoverOpenEvent.d.ts +0 -10
  85. package/dist/npm/popover/interfaces/PopoverOpenEvent.js +0 -2
  86. package/dist/npm/popover/interfaces/PopoverPosition.d.ts +0 -9
  87. package/dist/npm/popover/interfaces/PopoverPosition.js +0 -2
  88. package/dist/npm/popover/interfaces/PopoverPositionEvent.d.ts +0 -18
  89. package/dist/npm/popover/interfaces/PopoverPositionEvent.js +0 -2
  90. package/dist/npm/popover/interfaces/PopoverPositionMode.d.ts +0 -5
  91. package/dist/npm/popover/interfaces/PopoverPositionMode.js +0 -2
  92. package/dist/npm/popover/interfaces/PopoverProps.d.ts +0 -112
  93. package/dist/npm/popover/interfaces/PopoverProps.js +0 -2
  94. package/dist/npm/tooltip/Tooltip.js +0 -316
  95. package/dist/npm/tooltip/TooltipProps.js +0 -3
  96. package/dist/npm/tooltip/events.d.ts +0 -31
  97. package/dist/npm/tooltip/events.js +0 -2
  98. package/dist/npm/tooltip/utils.js +0 -113
  99. package/dist/systemjs/kendo-react-tooltip.js +0 -1
  100. package/e2e-next/popover.basic.tests.ts +0 -25
  101. package/e2e-next/tooltip.basic.tests.ts +0 -25
@@ -1,316 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- var __rest = (this && this.__rest) || function (s, e) {
29
- var t = {};
30
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
31
- t[p] = s[p];
32
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
33
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
34
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
35
- t[p[i]] = s[p[i]];
36
- }
37
- return t;
38
- };
39
- Object.defineProperty(exports, "__esModule", { value: true });
40
- exports.Tooltip = void 0;
41
- var React = require("react");
42
- var ReactDOM = require("react-dom");
43
- var PropTypes = require("prop-types");
44
- var kendo_react_common_1 = require("@progress/kendo-react-common");
45
- var utils_1 = require("./utils");
46
- var kendo_react_common_2 = require("@progress/kendo-react-common");
47
- var package_metadata_1 = require("./../package-metadata");
48
- var DEFAULT_TOOLTIP_ZINDEX = 100;
49
- var Tooltip = /** @class */ (function (_super) {
50
- __extends(Tooltip, _super);
51
- function Tooltip(props) {
52
- var _this = _super.call(this, props) || this;
53
- /**
54
- * @hidden
55
- */
56
- _this.context = 0;
57
- /**
58
- * @hidden
59
- */
60
- _this.state = {
61
- targetElement: null,
62
- open: false,
63
- title: ''
64
- };
65
- _this.top = 0;
66
- _this.left = 0;
67
- _this.willOpen = false;
68
- /**
69
- * The method is used on the MouseOut event to hide the Tooltip.
70
- */
71
- _this.handleMouseOut = function (event) {
72
- var targetElement = _this.state.targetElement;
73
- var currentDocument = targetElement ? targetElement.ownerDocument : document;
74
- var element = currentDocument && currentDocument.elementFromPoint(event.clientX, event.clientY);
75
- if ((0, utils_1.isTooltipElement)(element)) {
76
- return;
77
- }
78
- if (_this.props.open) {
79
- return;
80
- }
81
- clearInterval(_this.updateIntervalId);
82
- _this.willOpen = false;
83
- _this.onClose(event);
84
- };
85
- /**
86
- * Used on the `MouseOver` event to show the Tooltip.
87
- */
88
- _this.handleMouseOver = function (event) {
89
- var target = event.target;
90
- if (!_this.isVisible(target) || (0, utils_1.isTooltipElement)(target) || target === _this.state.targetElement) {
91
- return;
92
- }
93
- _this.showToolTip(event);
94
- };
95
- _this.handleBodyMousemove = function (event) {
96
- _this.top = event.clientY;
97
- _this.left = event.clientX;
98
- };
99
- _this.onClose = function (event) {
100
- (0, kendo_react_common_1.dispatchEvent)(_this.props.onClose, event, _this, undefined);
101
- _this.setState({ targetElement: null, open: false, title: '' });
102
- };
103
- _this.setUpdateInterval = function () {
104
- if (_this.props.updateInterval) {
105
- _this.updateIntervalId = setInterval(_this.onIntervalUpdate, _this.props.updateInterval);
106
- }
107
- };
108
- _this.onIntervalUpdate = function () {
109
- var target = _this.state.targetElement;
110
- if (!target) {
111
- return;
112
- }
113
- if (target.parentElement === null) {
114
- // Getting element from previous target coordinates will cause reflow which is performance hit.
115
- // Also remount case can be avoided easily
116
- _this.onClose({ target: target });
117
- }
118
- else {
119
- _this.showToolTip({ target: target });
120
- }
121
- };
122
- _this.position = function (element) {
123
- var domRect = (0, utils_1.getDomRect)(_this.state.targetElement);
124
- var left = (0, utils_1.getLeftPosition)(_this.left, element.offsetWidth, domRect, _this.props.anchorElement, _this.props.position);
125
- var top = (0, utils_1.getTopPosition)(_this.top, domRect, element.offsetHeight, _this.props.anchorElement, _this.props.position);
126
- return { left: left, top: top };
127
- };
128
- _this.getTitle = function (element) {
129
- while (element) {
130
- if (element.getAttribute('title') !== null || element.titleExpando) {
131
- var title = element.getAttribute('title') || element.titleExpando;
132
- return { title: title, element: element };
133
- }
134
- element = _this.props.parentTitle && element.parentElement || null;
135
- }
136
- return { title: '', element: element };
137
- };
138
- _this.calloutClassName = function () {
139
- switch (_this.props.position) {
140
- case 'bottom':
141
- return 'k-callout k-callout-n';
142
- case 'left':
143
- return 'k-callout k-callout-e';
144
- case 'right':
145
- return 'k-callout k-callout-w';
146
- case 'top':
147
- return 'k-callout k-callout-s';
148
- default:
149
- return _this.top < (window.innerHeight / 2) ? 'k-callout k-callout-n' : 'k-callout k-callout-s';
150
- }
151
- };
152
- _this.getCurrentZIndex = function () {
153
- return _this.context ? _this.context : DEFAULT_TOOLTIP_ZINDEX;
154
- };
155
- (0, kendo_react_common_2.validatePackage)(package_metadata_1.packageMetadata);
156
- return _this;
157
- }
158
- /**
159
- * @hidden
160
- */
161
- Tooltip.prototype.componentDidMount = function () {
162
- if (document) {
163
- document.body.addEventListener('mousemove', this.handleBodyMousemove);
164
- }
165
- };
166
- /**
167
- * @hidden
168
- */
169
- Tooltip.prototype.componentWillUnmount = function () {
170
- clearTimeout(this.openTimeoutId);
171
- clearInterval(this.updateIntervalId);
172
- if (document) {
173
- document.body.removeEventListener('mousemove', this.handleBodyMousemove);
174
- }
175
- };
176
- /**
177
- * @hidden
178
- */
179
- Tooltip.prototype.componentDidUpdate = function () {
180
- if (this.props.open && this.props.targetElement) {
181
- this.showToolTip({ target: this.props.targetElement });
182
- }
183
- };
184
- /**
185
- * @hidden
186
- */
187
- Tooltip.prototype.render = function () {
188
- var _this = this;
189
- if (this.props.children) {
190
- var _a = this.props, children = _a.children, options = __rest(_a, ["children"]);
191
- var tooltip_1 = null;
192
- return (React.createElement("div", { onMouseOver: function (event) { if (tooltip_1) {
193
- tooltip_1.handleMouseOver(event);
194
- } }, onMouseOut: function (event) { if (tooltip_1) {
195
- tooltip_1.handleMouseOut(event);
196
- } } },
197
- React.createElement(Tooltip, __assign({ ref: function (el) { return tooltip_1 = el; } }, options)),
198
- children));
199
- }
200
- if (this.props.open === false) {
201
- return null;
202
- }
203
- var targetElement = this.state.targetElement;
204
- var currentZIndex = this.getCurrentZIndex();
205
- return targetElement &&
206
- this.state.title &&
207
- targetElement.ownerDocument &&
208
- ReactDOM.createPortal((React.createElement("div", { ref: function (el) {
209
- if (!el) {
210
- return;
211
- }
212
- var position;
213
- if (_this.props.onPosition) {
214
- var ev = {
215
- element: el,
216
- targetElement: _this.state.targetElement,
217
- mouseTop: _this.top,
218
- mouseLeft: _this.left,
219
- anchorElement: _this.props.anchorElement,
220
- position: _this.props.position,
221
- target: _this,
222
- syntheticEvent: null,
223
- nativeEvent: null
224
- };
225
- position = _this.props.onPosition.call(undefined, ev);
226
- }
227
- else {
228
- position = _this.position(el);
229
- }
230
- el.style.left = position.left + 'px';
231
- el.style.top = position.top + 'px';
232
- }, className: (0, kendo_react_common_1.classNames)('k-animation-container', 'k-animation-container-fixed', 'k-animation-container-shown', this.props.className), style: __assign({ zIndex: currentZIndex }, this.props.style), tabIndex: 0 },
233
- React.createElement("div", { className: 'k-child-animation-container' },
234
- React.createElement("div", { id: this.props.id, role: 'tooltip', className: (0, kendo_react_common_1.classNames)('k-tooltip', this.props.tooltipClassName), style: __assign({ position: 'relative' }, this.props.tooltipStyle) },
235
- React.createElement("div", { className: "k-tooltip-content" }, this.props.content &&
236
- React.createElement(this.props.content, { title: this.state.title, target: this.state.targetElement })
237
- || this.state.title),
238
- this.props.showCallout && React.createElement("div", { ref: function (el) {
239
- if (!el) {
240
- return;
241
- }
242
- el.className = _this.calloutClassName();
243
- if (_this.props.position === 'auto') {
244
- _this.left < (window.screen.availWidth / 2)
245
- ? el.style.left = _this.props.setCalloutOnPositionAuto || '25%'
246
- : el.style.left = _this.props.setCalloutOnPositionAuto || '75%';
247
- }
248
- } }))))), this.props.appendTo ? this.props.appendTo : targetElement.ownerDocument.body);
249
- };
250
- Tooltip.prototype.showToolTip = function (event) {
251
- var _this = this;
252
- clearTimeout(this.openTimeoutId);
253
- clearInterval(this.updateIntervalId);
254
- if (event.target.hasChildNodes()) {
255
- event.target.childNodes.forEach(function (childElement) {
256
- if (childElement.nodeName === 'title') {
257
- event.target.titleExpando = childElement.innerHTML;
258
- childElement.remove();
259
- }
260
- });
261
- }
262
- var target = this.props.targetElement || event.target;
263
- var titleResult = this.getTitle(target);
264
- if (!titleResult.title) {
265
- if (this.state.open) {
266
- this.onClose(event);
267
- }
268
- return;
269
- }
270
- if (titleResult.element) {
271
- titleResult.element.titleExpando = titleResult.title;
272
- titleResult.element.title = '';
273
- }
274
- this.willOpen = true;
275
- if (!this.props.openDelay) {
276
- this.setState({ targetElement: target, open: true, title: titleResult.title }, this.setUpdateInterval);
277
- }
278
- else {
279
- this.openTimeoutId = window.setTimeout(function () {
280
- if (_this.willOpen) {
281
- _this.setState({ targetElement: target, open: true, title: titleResult.title }, _this.setUpdateInterval);
282
- }
283
- }, this.props.openDelay);
284
- }
285
- if (this.state.title !== titleResult.title) {
286
- (0, kendo_react_common_1.dispatchEvent)(this.props.onOpen, event, this, undefined);
287
- }
288
- };
289
- Tooltip.prototype.isVisible = function (element) {
290
- return !this.props.filter || this.props.filter(element);
291
- };
292
- /**
293
- * @hidden
294
- */
295
- Tooltip.propTypes = {
296
- anchorElement: PropTypes.oneOf(['pointer', 'target']),
297
- content: PropTypes.func,
298
- filter: PropTypes.func,
299
- openDelay: PropTypes.number,
300
- position: PropTypes.oneOf(['right', 'left', 'top', 'bottom', 'auto']),
301
- updateInterval: PropTypes.number
302
- };
303
- Tooltip.defaultProps = {
304
- anchorElement: 'pointer',
305
- openDelay: 400,
306
- position: 'auto',
307
- showCallout: true,
308
- parentTitle: false
309
- };
310
- /**
311
- * @hidden
312
- */
313
- Tooltip.contextType = kendo_react_common_1.ZIndexContext;
314
- return Tooltip;
315
- }(React.PureComponent));
316
- exports.Tooltip = Tooltip;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- // tslint:enable:max-line-length
@@ -1,31 +0,0 @@
1
- import { BaseEvent } from '@progress/kendo-react-common';
2
- import { Tooltip } from './Tooltip';
3
- import { TooltipPosition } from './utils';
4
- export interface TooltipEvent extends BaseEvent<Tooltip> {
5
- }
6
- export interface TooltipPositionEvent extends BaseEvent<Tooltip> {
7
- /**
8
- * The Tooltip element. Useful to get the actual `width` and `height` of rendered Tooltip.
9
- */
10
- element: HTMLDivElement;
11
- /**
12
- * The current target element. Useful to calculate `top` and `left` position of the Tooltip element.
13
- */
14
- targetElement: HTMLElement | null;
15
- /**
16
- * The current mouse `top` position;
17
- */
18
- mouseTop: number;
19
- /**
20
- * The current mouse `left` position.
21
- */
22
- mouseLeft: number;
23
- /**
24
- * The Tooltip anchor element prop.
25
- */
26
- anchorElement?: string;
27
- /**
28
- * The Tooltip position prop.
29
- */
30
- position?: TooltipPosition;
31
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,113 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isTooltipElement = exports.toolTipSelectors = exports.getDomRect = exports.getTopPosition = exports.getLeftPosition = void 0;
4
- var arrowWidth = 10;
5
- var arrowHeight = 10;
6
- /**
7
- * @hidden
8
- */
9
- var getLeftPosition = function (left, elementWidth, targetElement, anchorElement, position) {
10
- switch (position) {
11
- case 'bottom':
12
- return anchorElement === 'pointer'
13
- ? left - (elementWidth / 2)
14
- : targetElement.left - (elementWidth / 2) + targetElement.width / 2;
15
- case 'left':
16
- return anchorElement === 'pointer'
17
- ? left - elementWidth - arrowWidth
18
- : targetElement.left - elementWidth - arrowWidth;
19
- case 'right':
20
- return anchorElement === 'pointer'
21
- ? left + arrowWidth
22
- : targetElement.right + arrowWidth;
23
- case 'top':
24
- return anchorElement === 'pointer'
25
- ? left - (elementWidth / 2)
26
- : targetElement.left - (elementWidth / 2) + targetElement.width / 2;
27
- default:
28
- if (anchorElement === 'pointer') {
29
- return left < (window.screen.availWidth / 2)
30
- ? left - arrowWidth
31
- : left - elementWidth + arrowWidth;
32
- }
33
- else {
34
- return left < (window.screen.availWidth / 2)
35
- ? targetElement.left
36
- : targetElement.right - elementWidth;
37
- }
38
- }
39
- };
40
- exports.getLeftPosition = getLeftPosition;
41
- /**
42
- * @hidden
43
- */
44
- var getTopPosition = function (top, targetElement, elementHeight, anchorElement, position) {
45
- switch (position) {
46
- case 'bottom':
47
- return anchorElement === 'pointer'
48
- ? top + arrowHeight
49
- : targetElement.bottom + arrowHeight;
50
- case 'left':
51
- return anchorElement === 'pointer'
52
- ? top - (elementHeight / 2)
53
- : targetElement.top - (elementHeight / 2) + (targetElement.height / 2);
54
- case 'right':
55
- return anchorElement === 'pointer'
56
- ? top - (elementHeight / 2)
57
- : targetElement.top - (elementHeight / 2) + (targetElement.height / 2);
58
- case 'top':
59
- return anchorElement === 'pointer'
60
- ? top - elementHeight - arrowHeight
61
- : targetElement.top - elementHeight - arrowHeight;
62
- default:
63
- if (anchorElement === 'pointer') {
64
- return top < (window.innerHeight / 2)
65
- ? top + arrowWidth
66
- : top - elementHeight - arrowWidth;
67
- }
68
- else {
69
- return top < (window.innerHeight / 2)
70
- ? targetElement.bottom + arrowHeight
71
- : targetElement.top - elementHeight - arrowHeight;
72
- }
73
- }
74
- };
75
- exports.getTopPosition = getTopPosition;
76
- /**
77
- * @hidden
78
- */
79
- var getDomRect = function (currentTarget) {
80
- if (currentTarget !== null) {
81
- return currentTarget.getBoundingClientRect();
82
- }
83
- return document.body.getBoundingClientRect();
84
- };
85
- exports.getDomRect = getDomRect;
86
- /**
87
- * @hidden
88
- */
89
- exports.toolTipSelectors = [
90
- 'k-tooltip-content',
91
- 'k-animation-container',
92
- 'k-tooltip',
93
- 'k-tooltip-title',
94
- 'k-tooltip k-tooltip-closable',
95
- 'k-icon k-i-close'
96
- ];
97
- /**
98
- * @hidden
99
- */
100
- var isTooltipElement = function (element) {
101
- if (element === null) {
102
- return false;
103
- }
104
- var node = element;
105
- while (node) {
106
- if (node !== null && node.classList && node.classList.contains('k-tooltip')) {
107
- return true;
108
- }
109
- node.parentNode !== null ? node = node.parentNode : node = false;
110
- }
111
- return exports.toolTipSelectors.filter(function (t) { return t === element.className; }).length > 0;
112
- };
113
- exports.isTooltipElement = isTooltipElement;
@@ -1 +0,0 @@
1
- System.register("@progress/kendo-react-tooltip",["@progress/kendo-react-common","@progress/kendo-react-popup","prop-types","react","react-dom"],function(e,t){var s={},p={},c={},u={},d={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(p,"__esModule",{value:!0}),Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(u,"__esModule",{value:!0}),Object.defineProperty(d,"__esModule",{value:!0}),{setters:[function(t){Object.keys(t).forEach(function(e){s[e]=t[e]})},function(t){Object.keys(t).forEach(function(e){p[e]=t[e]})},function(t){Object.keys(t).forEach(function(e){c[e]=t[e]})},function(t){Object.keys(t).forEach(function(e){u[e]=t[e]})},function(t){Object.keys(t).forEach(function(e){d[e]=t[e]})}],execute:function(){e((()=>{"use strict";var o={363:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.packageMetadata=void 0,t.packageMetadata={name:"@progress/kendo-react-tooltip",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:1700065296,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"}},280:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Popover=void 0;var A=o(954),n=o(895),D=o(811),B=o(811),R=o(363),z=o(556),S=o(311),L={top:"k-callout-s",left:"k-callout-e",bottom:"k-callout-n",right:"k-callout-w"},U={top:"k-callout-n",left:"k-callout-w",bottom:"k-callout-s",right:"k-callout-e"},H={top:{vertical:"bottom",horizontal:"center"},left:{vertical:"center",horizontal:"right"},bottom:{vertical:"top",horizontal:"center"},right:{vertical:"center",horizontal:"left"}},K={top:{vertical:"top",horizontal:"center"},left:{vertical:"center",horizontal:"left"},bottom:{vertical:"bottom",horizontal:"center"},right:{vertical:"center",horizontal:"right"}};t.Popover=A.forwardRef(function(e,t){(0,B.validatePackage)(R.packageMetadata);var o=e.callout,n=e.position,r=e.title,i=e.children,l=e.show,a=e.anchor,s=e.appendTo,p=e.offset,c=e.animate,u=e.positionMode,d=e.scale,f=e.popoverClass,m=e.className,h=e.id,v=e.style,g=e.collision,y=e.contentStyle,b=e.onPosition,E=e.onClose,O=e.onOpen,k=A.useState(!1),P=k[0],T=k[1],k="top"===n||"bottom"===n,k=e.margin||{vertical:o&&k?15:0,horizontal:o&&!k?15:0},w=H[n],I=K[n],_=A.useContext(D.ZIndexContext),_=_?_+2e3:12e3,x=A.useRef(null),t=(A.useImperativeHandle(x,function(){return{props:e}}),A.useImperativeHandle(t,function(){return x.current}),A.useCallback(function(e){var t;setTimeout(function(){return T(e.flipped)}),b&&(t={target:x.current,flipped:e.flipped,fitted:e.fitted},b.call(void 0,t))},[b,T])),C=A.useCallback(function(){var e;O&&(e={target:x.current},O.call(void 0,e))},[O]),j=A.useCallback(function(){var e;E&&(e={target:x.current},E.call(void 0,e))},[E]),N={"k-popover":!0},P=(Array.isArray(f)?f.forEach(function(e){return N[e]=!0}):"object"==typeof f?Object.keys(f).forEach(function(e){N[e]=f[e]}):f&&(N[f]=!0),(P?U:L)[n]),M=A.useMemo(function(){return A.createElement(A.Fragment,null,r&&A.createElement("div",{className:"k-popover-header"},r),A.createElement("div",{className:"k-popover-body",style:y},A.Children.toArray(i).filter(function(e){return e&&e.type!==S.PopoverActionsBar})),A.Children.toArray(i).filter(function(e){return e&&e.type===S.PopoverActionsBar}))},[i,y,r]);return A.createElement(D.ZIndexContext.Provider,{value:_},A.createElement(z.Popup,{id:h,role:"tooltip",animate:c,collision:g,anchor:a,offset:p,margin:k,popupAlign:w,anchorAlign:I,appendTo:s,show:l,scale:d,positionMode:u,style:v,className:m,popupClass:N,onOpen:C,onClose:j,onPosition:t},o&&n?A.createElement(A.Fragment,null,A.createElement("div",{className:(0,D.classNames)("k-popover-callout",P)}),A.createElement("div",{className:"k-popover-inner"},M)):M))}),t.Popover.propTypes={callout:n.bool,title:n.node,position:n.oneOf(["top","left","bottom","right"]),show:n.bool,animate:n.oneOfType([n.bool,n.shape({openDuration:n.number,closeDuration:n.number})]),anchor:function(e){e=e.anchor;return e&&"number"!=typeof e.nodeType?new Error("Invalid prop `anchor` supplied to `Kendo React Popover`. Validation failed."):null},appendTo:function(e){e=e.appendTo;return e&&"number"!=typeof e.nodeType?new Error("Invalid prop `appendTo` supplied to `Kendo React Popover`. Validation failed."):null},positionMode:n.oneOf(["fixed","absolute"]),scale:n.number,offset:n.shape({left:n.number,top:n.number}),children:n.oneOfType([n.element,n.node]),className:n.oneOfType([n.string,n.arrayOf(n.string),n.object]),id:n.string,popoverClass:n.oneOfType([n.string,n.arrayOf(n.string),n.object]),style:n.object,onClose:n.func,onPosition:n.func,onOpen:n.func},t.Popover.defaultProps={callout:!0,position:"top",collision:{horizontal:"none",vertical:"none"}},t.Popover.displayName="KendoReactPopover"},311:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PopoverActionsBar=void 0;var r=o(954),n=o(895),i=o(811);t.PopoverActionsBar=r.forwardRef(function(e,t){var o=r.useRef(null),n=r.useRef(null);return r.useImperativeHandle(n,function(){return{props:e,element:o.current}}),r.useImperativeHandle(t,function(){return n.current}),r.createElement("div",{ref:o,className:(0,i.classNames)("k-popover-actions","k-actions",((t={})["k-actions-".concat(e.alignment)]=e.alignment,t["k-actions-".concat(e.orientation)]=e.orientation,t))},e.children)}),t.PopoverActionsBar.propTypes={alignment:n.oneOf(["start","center","end","stretched"]),orientation:n.oneOf(["horizontal","vertical"]),children:n.oneOfType([n.element,n.node])},t.PopoverActionsBar.defaultProps={alignment:"stretched",orientation:"horizontal"},t.PopoverActionsBar.displayName="KendoReactPopoverActionsBar"},593:function(e,t,o){var n,r,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(e,t){e.__proto__=t}:function(e,t){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}))(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),l=this&&this.__assign||function(){return(l=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++)for(var r in t=arguments[o])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},a=this&&this.__rest||function(e,t){var o={};for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,r=Object.getOwnPropertySymbols(e);n<r.length;n++)t.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(o[r[n]]=e[r[n]]);return o},s=(Object.defineProperty(t,"__esModule",{value:!0}),t.Tooltip=void 0,o(954)),p=o(493),c=o(895),u=o(811),d=o(584),f=o(811),m=o(363),o=(r=s.PureComponent,i(h,r),h.prototype.componentDidMount=function(){document&&document.body.addEventListener("mousemove",this.handleBodyMousemove)},h.prototype.componentWillUnmount=function(){clearTimeout(this.openTimeoutId),clearInterval(this.updateIntervalId),document&&document.body.removeEventListener("mousemove",this.handleBodyMousemove)},h.prototype.componentDidUpdate=function(){this.props.open&&this.props.targetElement&&this.showToolTip({target:this.props.targetElement})},h.prototype.render=function(){var t,e,o,n=this;return this.props.children?(o=(e=this.props).children,e=a(e,["children"]),t=null,s.createElement("div",{onMouseOver:function(e){t&&t.handleMouseOver(e)},onMouseOut:function(e){t&&t.handleMouseOut(e)}},s.createElement(h,l({ref:function(e){return t=e}},e)),o)):!1===this.props.open?null:(e=this.state.targetElement,o=this.getCurrentZIndex(),e&&this.state.title&&e.ownerDocument&&p.createPortal(s.createElement("div",{ref:function(e){var t;e&&(t=n.props.onPosition?(t={element:e,targetElement:n.state.targetElement,mouseTop:n.top,mouseLeft:n.left,anchorElement:n.props.anchorElement,position:n.props.position,target:n,syntheticEvent:null,nativeEvent:null},n.props.onPosition.call(void 0,t)):n.position(e),e.style.left=t.left+"px",e.style.top=t.top+"px")},className:(0,u.classNames)("k-animation-container","k-animation-container-fixed","k-animation-container-shown",this.props.className),style:l({zIndex:o},this.props.style),tabIndex:0},s.createElement("div",{className:"k-child-animation-container"},s.createElement("div",{id:this.props.id,role:"tooltip",className:(0,u.classNames)("k-tooltip",this.props.tooltipClassName),style:l({position:"relative"},this.props.tooltipStyle)},s.createElement("div",{className:"k-tooltip-content"},this.props.content&&s.createElement(this.props.content,{title:this.state.title,target:this.state.targetElement})||this.state.title),this.props.showCallout&&s.createElement("div",{ref:function(e){e&&(e.className=n.calloutClassName(),"auto"===n.props.position)&&(n.left<window.screen.availWidth/2?e.style.left=n.props.setCalloutOnPositionAuto||"25%":e.style.left=n.props.setCalloutOnPositionAuto||"75%")}})))),this.props.appendTo||e.ownerDocument.body))},h.prototype.showToolTip=function(t){var e=this,o=(clearTimeout(this.openTimeoutId),clearInterval(this.updateIntervalId),t.target.hasChildNodes()&&t.target.childNodes.forEach(function(e){"title"===e.nodeName&&(t.target.titleExpando=e.innerHTML,e.remove())}),this.props.targetElement||t.target),n=this.getTitle(o);n.title?(n.element&&(n.element.titleExpando=n.title,n.element.title=""),this.willOpen=!0,this.props.openDelay?this.openTimeoutId=window.setTimeout(function(){e.willOpen&&e.setState({targetElement:o,open:!0,title:n.title},e.setUpdateInterval)},this.props.openDelay):this.setState({targetElement:o,open:!0,title:n.title},this.setUpdateInterval),this.state.title!==n.title&&(0,u.dispatchEvent)(this.props.onOpen,t,this,void 0)):this.state.open&&this.onClose(t)},h.prototype.isVisible=function(e){return!this.props.filter||this.props.filter(e)},h.propTypes={anchorElement:c.oneOf(["pointer","target"]),content:c.func,filter:c.func,openDelay:c.number,position:c.oneOf(["right","left","top","bottom","auto"]),updateInterval:c.number},h.defaultProps={anchorElement:"pointer",openDelay:400,position:"auto",showCallout:!0,parentTitle:!1},h.contextType=u.ZIndexContext,h);function h(e){var o=r.call(this,e)||this;return o.context=0,o.state={targetElement:null,open:!1,title:""},o.top=0,o.left=0,o.willOpen=!1,o.handleMouseOut=function(e){var t=o.state.targetElement,t=t?t.ownerDocument:document,t=t&&t.elementFromPoint(e.clientX,e.clientY);(0,d.isTooltipElement)(t)||o.props.open||(clearInterval(o.updateIntervalId),o.willOpen=!1,o.onClose(e))},o.handleMouseOver=function(e){var t=e.target;o.isVisible(t)&&!(0,d.isTooltipElement)(t)&&t!==o.state.targetElement&&o.showToolTip(e)},o.handleBodyMousemove=function(e){o.top=e.clientY,o.left=e.clientX},o.onClose=function(e){(0,u.dispatchEvent)(o.props.onClose,e,o,void 0),o.setState({targetElement:null,open:!1,title:""})},o.setUpdateInterval=function(){o.props.updateInterval&&(o.updateIntervalId=setInterval(o.onIntervalUpdate,o.props.updateInterval))},o.onIntervalUpdate=function(){var e=o.state.targetElement;e&&(null===e.parentElement?o.onClose({target:e}):o.showToolTip({target:e}))},o.position=function(e){var t=(0,d.getDomRect)(o.state.targetElement);return{left:(0,d.getLeftPosition)(o.left,e.offsetWidth,t,o.props.anchorElement,o.props.position),top:(0,d.getTopPosition)(o.top,t,e.offsetHeight,o.props.anchorElement,o.props.position)}},o.getTitle=function(e){for(;e;){if(null!==e.getAttribute("title")||e.titleExpando)return{title:e.getAttribute("title")||e.titleExpando,element:e};e=o.props.parentTitle&&e.parentElement||null}return{title:"",element:e}},o.calloutClassName=function(){switch(o.props.position){case"bottom":return"k-callout k-callout-n";case"left":return"k-callout k-callout-e";case"right":return"k-callout k-callout-w";case"top":return"k-callout k-callout-s";default:return o.top<window.innerHeight/2?"k-callout k-callout-n":"k-callout k-callout-s"}},o.getCurrentZIndex=function(){return o.context||100},(0,f.validatePackage)(m.packageMetadata),o}t.Tooltip=o},584:(e,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.isTooltipElement=o.toolTipSelectors=o.getDomRect=o.getTopPosition=o.getLeftPosition=void 0;o.getLeftPosition=function(e,t,o,n,r){switch(r){case"bottom":case"top":return"pointer"===n?e-t/2:o.left-t/2+o.width/2;case"left":return"pointer"===n?e-t-10:o.left-t-10;case"right":return"pointer"===n?e+10:o.right+10;default:return"pointer"===n?e<window.screen.availWidth/2?e-10:e-t+10:e<window.screen.availWidth/2?o.left:o.right-t}},o.getTopPosition=function(e,t,o,n,r){switch(r){case"bottom":return"pointer"===n?e+10:t.bottom+10;case"left":case"right":return"pointer"===n?e-o/2:t.top-o/2+t.height/2;case"top":return"pointer"===n?e-o-10:t.top-o-10;default:return"pointer"===n?e<window.innerHeight/2?e+10:e-o-10:e<window.innerHeight/2?t.bottom+10:t.top-o-10}},o.getDomRect=function(e){return(null!==e?e:document.body).getBoundingClientRect()},o.toolTipSelectors=["k-tooltip-content","k-animation-container","k-tooltip","k-tooltip-title","k-tooltip k-tooltip-closable","k-icon k-i-close"],o.isTooltipElement=function(t){if(null===t)return!1;for(var e=t;e;){if(null!==e&&e.classList&&e.classList.contains("k-tooltip"))return!0;e=null!==e.parentNode&&e.parentNode}return 0<o.toolTipSelectors.filter(function(e){return e===t.className}).length}},811:e=>{e.exports=s},556:e=>{e.exports=p},895:e=>{e.exports=c},954:e=>{e.exports=u},493:e=>{e.exports=d}},n={};function r(e){var t=n[e];return void 0!==t||(t=n[e]={exports:{}},o[e].call(t.exports,t,t.exports,r)),t.exports}var e,t,i,l,a={};return e=a,Object.defineProperty(e,"__esModule",{value:!0}),e.PopoverActionsBar=e.Popover=e.Tooltip=void 0,t=r(593),Object.defineProperty(e,"Tooltip",{enumerable:!0,get:function(){return t.Tooltip}}),i=r(280),Object.defineProperty(e,"Popover",{enumerable:!0,get:function(){return i.Popover}}),l=r(311),Object.defineProperty(e,"PopoverActionsBar",{enumerable:!0,get:function(){return l.PopoverActionsBar}}),a})())}}});
@@ -1,25 +0,0 @@
1
- import { Browser, By } from '@progress/kendo-e2e';
2
- import { LOCATORS } from '../../../e2eUtils/const';
3
-
4
- let browser: Browser;
5
-
6
- beforeAll(() => {
7
- browser = new Browser();
8
- });
9
-
10
- beforeEach(async () => {
11
- await browser.navigateTo('http://localhost:3000/popover/overview');
12
- });
13
-
14
- afterEach(async () => {
15
- expect(await browser.getErrorLogs()).toEqual([]);
16
- });
17
-
18
- afterAll(async () => {
19
- await browser.close();
20
- });
21
-
22
- it('should not have errors', async () => {
23
- await browser.click(By.css('tr:nth-of-type(3) > td:nth-of-type(5) > .k-link'));
24
- expect(await browser.isVisible(LOCATORS.POPOVER)).toBe(true);
25
- });
@@ -1,25 +0,0 @@
1
- import { Browser, By } from '@progress/kendo-e2e';
2
- import { LOCATORS } from '../../../e2eUtils/const';
3
-
4
- let browser: Browser;
5
-
6
- beforeAll(() => {
7
- browser = new Browser();
8
- });
9
-
10
- beforeEach(async () => {
11
- await browser.navigateTo('http://localhost:3000/tooltip/overview');
12
- });
13
-
14
- afterEach(async () => {
15
- expect(await browser.getErrorLogs()).toEqual([]);
16
- });
17
-
18
- afterAll(async () => {
19
- await browser.close();
20
- });
21
-
22
- it('should not have errors', async () => {
23
- await browser.hover(By.id('moscow'));
24
- expect(await browser.isVisible(LOCATORS.TOOLTIP)).toBe(true);
25
- });