react-tooltip 3.11.2 → 3.11.6
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.
- package/README.md +9 -1
- package/{standalone/react-tooltip.js → dist/index.es.js} +1080 -1363
- package/dist/index.es.js.map +1 -0
- package/dist/index.js +2042 -285
- package/dist/index.js.map +1 -0
- package/package.json +52 -20
- package/Makefile +0 -62
- package/bower.json +0 -33
- package/contributing.md +0 -28
- package/dist/constant.js +0 -13
- package/dist/decorators/bodyMode.js +0 -124
- package/dist/decorators/customEvent.js +0 -110
- package/dist/decorators/getEffect.js +0 -12
- package/dist/decorators/isCapture.js +0 -11
- package/dist/decorators/staticMethods.js +0 -78
- package/dist/decorators/trackRemoval.js +0 -52
- package/dist/decorators/windowListener.js +0 -48
- package/dist/style.js +0 -6
- package/dist/utils/aria.js +0 -24
- package/dist/utils/getPosition.js +0 -274
- package/dist/utils/getTipContent.js +0 -32
- package/dist/utils/nodeListToArray.js +0 -15
- package/standalone/react-tooltip.min.js +0 -3
|
@@ -1,274 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
exports.default = function (e, target, node, place, desiredPlace, effect, offset) {
|
|
8
|
-
var _getDimensions = getDimensions(node),
|
|
9
|
-
tipWidth = _getDimensions.width,
|
|
10
|
-
tipHeight = _getDimensions.height;
|
|
11
|
-
|
|
12
|
-
var _getDimensions2 = getDimensions(target),
|
|
13
|
-
targetWidth = _getDimensions2.width,
|
|
14
|
-
targetHeight = _getDimensions2.height;
|
|
15
|
-
|
|
16
|
-
var _getCurrentOffset = getCurrentOffset(e, target, effect),
|
|
17
|
-
mouseX = _getCurrentOffset.mouseX,
|
|
18
|
-
mouseY = _getCurrentOffset.mouseY;
|
|
19
|
-
|
|
20
|
-
var defaultOffset = getDefaultPosition(effect, targetWidth, targetHeight, tipWidth, tipHeight);
|
|
21
|
-
|
|
22
|
-
var _calculateOffset = calculateOffset(offset),
|
|
23
|
-
extraOffset_X = _calculateOffset.extraOffset_X,
|
|
24
|
-
extraOffset_Y = _calculateOffset.extraOffset_Y;
|
|
25
|
-
|
|
26
|
-
var windowWidth = window.innerWidth;
|
|
27
|
-
var windowHeight = window.innerHeight;
|
|
28
|
-
|
|
29
|
-
var _getParent = getParent(node),
|
|
30
|
-
parentTop = _getParent.parentTop,
|
|
31
|
-
parentLeft = _getParent.parentLeft;
|
|
32
|
-
|
|
33
|
-
// Get the edge offset of the tooltip
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
var getTipOffsetLeft = function getTipOffsetLeft(place) {
|
|
37
|
-
var offset_X = defaultOffset[place].l;
|
|
38
|
-
return mouseX + offset_X + extraOffset_X;
|
|
39
|
-
};
|
|
40
|
-
var getTipOffsetRight = function getTipOffsetRight(place) {
|
|
41
|
-
var offset_X = defaultOffset[place].r;
|
|
42
|
-
return mouseX + offset_X + extraOffset_X;
|
|
43
|
-
};
|
|
44
|
-
var getTipOffsetTop = function getTipOffsetTop(place) {
|
|
45
|
-
var offset_Y = defaultOffset[place].t;
|
|
46
|
-
return mouseY + offset_Y + extraOffset_Y;
|
|
47
|
-
};
|
|
48
|
-
var getTipOffsetBottom = function getTipOffsetBottom(place) {
|
|
49
|
-
var offset_Y = defaultOffset[place].b;
|
|
50
|
-
return mouseY + offset_Y + extraOffset_Y;
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
//
|
|
54
|
-
// Functions to test whether the tooltip's sides are inside
|
|
55
|
-
// the client window for a given orientation p
|
|
56
|
-
//
|
|
57
|
-
// _____________
|
|
58
|
-
// | | <-- Right side
|
|
59
|
-
// | p = 'left' |\
|
|
60
|
-
// | |/ |\
|
|
61
|
-
// |_____________| |_\ <-- Mouse
|
|
62
|
-
// / \ |
|
|
63
|
-
// |
|
|
64
|
-
// |
|
|
65
|
-
// Bottom side
|
|
66
|
-
//
|
|
67
|
-
var outsideLeft = function outsideLeft(p) {
|
|
68
|
-
return getTipOffsetLeft(p) < 0;
|
|
69
|
-
};
|
|
70
|
-
var outsideRight = function outsideRight(p) {
|
|
71
|
-
return getTipOffsetRight(p) > windowWidth;
|
|
72
|
-
};
|
|
73
|
-
var outsideTop = function outsideTop(p) {
|
|
74
|
-
return getTipOffsetTop(p) < 0;
|
|
75
|
-
};
|
|
76
|
-
var outsideBottom = function outsideBottom(p) {
|
|
77
|
-
return getTipOffsetBottom(p) > windowHeight;
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
// Check whether the tooltip with orientation p is completely inside the client window
|
|
81
|
-
var outside = function outside(p) {
|
|
82
|
-
return outsideLeft(p) || outsideRight(p) || outsideTop(p) || outsideBottom(p);
|
|
83
|
-
};
|
|
84
|
-
var inside = function inside(p) {
|
|
85
|
-
return !outside(p);
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
var placesList = ['top', 'bottom', 'left', 'right'];
|
|
89
|
-
var insideList = [];
|
|
90
|
-
for (var i = 0; i < 4; i++) {
|
|
91
|
-
var p = placesList[i];
|
|
92
|
-
if (inside(p)) {
|
|
93
|
-
insideList.push(p);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
var isNewState = false;
|
|
98
|
-
var newPlace = void 0;
|
|
99
|
-
var shouldUpdatePlace = desiredPlace !== place;
|
|
100
|
-
if (inside(desiredPlace) && shouldUpdatePlace) {
|
|
101
|
-
isNewState = true;
|
|
102
|
-
newPlace = desiredPlace;
|
|
103
|
-
} else if (insideList.length > 0 && shouldUpdatePlace && outside(desiredPlace) && outside(place)) {
|
|
104
|
-
isNewState = true;
|
|
105
|
-
newPlace = insideList[0];
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
if (isNewState) {
|
|
109
|
-
return {
|
|
110
|
-
isNewState: true,
|
|
111
|
-
newState: { place: newPlace }
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
return {
|
|
116
|
-
isNewState: false,
|
|
117
|
-
position: {
|
|
118
|
-
left: parseInt(getTipOffsetLeft(place) - parentLeft, 10),
|
|
119
|
-
top: parseInt(getTipOffsetTop(place) - parentTop, 10)
|
|
120
|
-
}
|
|
121
|
-
};
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
var getDimensions = function getDimensions(node) {
|
|
125
|
-
var _node$getBoundingClie = node.getBoundingClientRect(),
|
|
126
|
-
height = _node$getBoundingClie.height,
|
|
127
|
-
width = _node$getBoundingClie.width;
|
|
128
|
-
|
|
129
|
-
return {
|
|
130
|
-
height: parseInt(height, 10),
|
|
131
|
-
width: parseInt(width, 10)
|
|
132
|
-
};
|
|
133
|
-
};
|
|
134
|
-
|
|
135
|
-
// Get current mouse offset
|
|
136
|
-
/**
|
|
137
|
-
* Calculate the position of tooltip
|
|
138
|
-
*
|
|
139
|
-
* @params
|
|
140
|
-
* - `e` {Event} the event of current mouse
|
|
141
|
-
* - `target` {Element} the currentTarget of the event
|
|
142
|
-
* - `node` {DOM} the react-tooltip object
|
|
143
|
-
* - `place` {String} top / right / bottom / left
|
|
144
|
-
* - `effect` {String} float / solid
|
|
145
|
-
* - `offset` {Object} the offset to default position
|
|
146
|
-
*
|
|
147
|
-
* @return {Object}
|
|
148
|
-
* - `isNewState` {Bool} required
|
|
149
|
-
* - `newState` {Object}
|
|
150
|
-
* - `position` {Object} {left: {Number}, top: {Number}}
|
|
151
|
-
*/
|
|
152
|
-
var getCurrentOffset = function getCurrentOffset(e, currentTarget, effect) {
|
|
153
|
-
var boundingClientRect = currentTarget.getBoundingClientRect();
|
|
154
|
-
var targetTop = boundingClientRect.top;
|
|
155
|
-
var targetLeft = boundingClientRect.left;
|
|
156
|
-
|
|
157
|
-
var _getDimensions3 = getDimensions(currentTarget),
|
|
158
|
-
targetWidth = _getDimensions3.width,
|
|
159
|
-
targetHeight = _getDimensions3.height;
|
|
160
|
-
|
|
161
|
-
if (effect === 'float') {
|
|
162
|
-
return {
|
|
163
|
-
mouseX: e.clientX,
|
|
164
|
-
mouseY: e.clientY
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
return {
|
|
168
|
-
mouseX: targetLeft + targetWidth / 2,
|
|
169
|
-
mouseY: targetTop + targetHeight / 2
|
|
170
|
-
};
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
// List all possibility of tooltip final offset
|
|
174
|
-
// This is useful in judging if it is necessary for tooltip to switch position when out of window
|
|
175
|
-
var getDefaultPosition = function getDefaultPosition(effect, targetWidth, targetHeight, tipWidth, tipHeight) {
|
|
176
|
-
var top = void 0;
|
|
177
|
-
var right = void 0;
|
|
178
|
-
var bottom = void 0;
|
|
179
|
-
var left = void 0;
|
|
180
|
-
var disToMouse = 3;
|
|
181
|
-
var triangleHeight = 2;
|
|
182
|
-
var cursorHeight = 12; // Optimize for float bottom only, cause the cursor will hide the tooltip
|
|
183
|
-
|
|
184
|
-
if (effect === 'float') {
|
|
185
|
-
top = {
|
|
186
|
-
l: -(tipWidth / 2),
|
|
187
|
-
r: tipWidth / 2,
|
|
188
|
-
t: -(tipHeight + disToMouse + triangleHeight),
|
|
189
|
-
b: -disToMouse
|
|
190
|
-
};
|
|
191
|
-
bottom = {
|
|
192
|
-
l: -(tipWidth / 2),
|
|
193
|
-
r: tipWidth / 2,
|
|
194
|
-
t: disToMouse + cursorHeight,
|
|
195
|
-
b: tipHeight + disToMouse + triangleHeight + cursorHeight
|
|
196
|
-
};
|
|
197
|
-
left = {
|
|
198
|
-
l: -(tipWidth + disToMouse + triangleHeight),
|
|
199
|
-
r: -disToMouse,
|
|
200
|
-
t: -(tipHeight / 2),
|
|
201
|
-
b: tipHeight / 2
|
|
202
|
-
};
|
|
203
|
-
right = {
|
|
204
|
-
l: disToMouse,
|
|
205
|
-
r: tipWidth + disToMouse + triangleHeight,
|
|
206
|
-
t: -(tipHeight / 2),
|
|
207
|
-
b: tipHeight / 2
|
|
208
|
-
};
|
|
209
|
-
} else if (effect === 'solid') {
|
|
210
|
-
top = {
|
|
211
|
-
l: -(tipWidth / 2),
|
|
212
|
-
r: tipWidth / 2,
|
|
213
|
-
t: -(targetHeight / 2 + tipHeight + triangleHeight),
|
|
214
|
-
b: -(targetHeight / 2)
|
|
215
|
-
};
|
|
216
|
-
bottom = {
|
|
217
|
-
l: -(tipWidth / 2),
|
|
218
|
-
r: tipWidth / 2,
|
|
219
|
-
t: targetHeight / 2,
|
|
220
|
-
b: targetHeight / 2 + tipHeight + triangleHeight
|
|
221
|
-
};
|
|
222
|
-
left = {
|
|
223
|
-
l: -(tipWidth + targetWidth / 2 + triangleHeight),
|
|
224
|
-
r: -(targetWidth / 2),
|
|
225
|
-
t: -(tipHeight / 2),
|
|
226
|
-
b: tipHeight / 2
|
|
227
|
-
};
|
|
228
|
-
right = {
|
|
229
|
-
l: targetWidth / 2,
|
|
230
|
-
r: tipWidth + targetWidth / 2 + triangleHeight,
|
|
231
|
-
t: -(tipHeight / 2),
|
|
232
|
-
b: tipHeight / 2
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
return { top: top, bottom: bottom, left: left, right: right };
|
|
237
|
-
};
|
|
238
|
-
|
|
239
|
-
// Consider additional offset into position calculation
|
|
240
|
-
var calculateOffset = function calculateOffset(offset) {
|
|
241
|
-
var extraOffset_X = 0;
|
|
242
|
-
var extraOffset_Y = 0;
|
|
243
|
-
|
|
244
|
-
if (Object.prototype.toString.apply(offset) === '[object String]') {
|
|
245
|
-
offset = JSON.parse(offset.toString().replace(/\'/g, '\"'));
|
|
246
|
-
}
|
|
247
|
-
for (var key in offset) {
|
|
248
|
-
if (key === 'top') {
|
|
249
|
-
extraOffset_Y -= parseInt(offset[key], 10);
|
|
250
|
-
} else if (key === 'bottom') {
|
|
251
|
-
extraOffset_Y += parseInt(offset[key], 10);
|
|
252
|
-
} else if (key === 'left') {
|
|
253
|
-
extraOffset_X -= parseInt(offset[key], 10);
|
|
254
|
-
} else if (key === 'right') {
|
|
255
|
-
extraOffset_X += parseInt(offset[key], 10);
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
return { extraOffset_X: extraOffset_X, extraOffset_Y: extraOffset_Y };
|
|
260
|
-
};
|
|
261
|
-
|
|
262
|
-
// Get the offset of the parent elements
|
|
263
|
-
var getParent = function getParent(currentTarget) {
|
|
264
|
-
var currentParent = currentTarget;
|
|
265
|
-
while (currentParent) {
|
|
266
|
-
if (window.getComputedStyle(currentParent).getPropertyValue('transform') !== 'none') break;
|
|
267
|
-
currentParent = currentParent.parentElement;
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
var parentTop = currentParent && currentParent.getBoundingClientRect().top || 0;
|
|
271
|
-
var parentLeft = currentParent && currentParent.getBoundingClientRect().left || 0;
|
|
272
|
-
|
|
273
|
-
return { parentTop: parentTop, parentLeft: parentLeft };
|
|
274
|
-
};
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
exports.default = function (tip, children, getContent, multiline) {
|
|
8
|
-
if (children) return children;
|
|
9
|
-
if (getContent !== undefined && getContent !== null) return getContent; // getContent can be 0, '', etc.
|
|
10
|
-
if (getContent === null) return null; // Tip not exist and children is null or undefined
|
|
11
|
-
|
|
12
|
-
var regexp = /<br\s*\/?>/;
|
|
13
|
-
if (!multiline || multiline === 'false' || !regexp.test(tip)) {
|
|
14
|
-
// No trim(), so that user can keep their input
|
|
15
|
-
return tip;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
// Multiline tooltip content
|
|
19
|
-
return tip.split(regexp).map(function (d, i) {
|
|
20
|
-
return _react2.default.createElement(
|
|
21
|
-
'span',
|
|
22
|
-
{ key: i, className: 'multi-line' },
|
|
23
|
-
d
|
|
24
|
-
);
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
var _react = require('react');
|
|
29
|
-
|
|
30
|
-
var _react2 = _interopRequireDefault(_react);
|
|
31
|
-
|
|
32
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
exports.default = function (nodeList) {
|
|
8
|
-
var length = nodeList.length;
|
|
9
|
-
if (nodeList.hasOwnProperty) {
|
|
10
|
-
return Array.prototype.slice.call(nodeList);
|
|
11
|
-
}
|
|
12
|
-
return new Array(length).fill().map(function (index) {
|
|
13
|
-
return nodeList[index];
|
|
14
|
-
});
|
|
15
|
-
};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.ReactTooltip=f()}})(function(){var define,module,exports;return function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r}()({1:[function(require,module,exports){(function(){"use strict";var hasOwn={}.hasOwnProperty;function classNames(){var classes=[];for(var i=0;i<arguments.length;i++){var arg=arguments[i];if(!arg)continue;var argType=typeof arg;if(argType==="string"||argType==="number"){classes.push(arg)}else if(Array.isArray(arg)){classes.push(classNames.apply(null,arg))}else if(argType==="object"){for(var key in arg){if(hasOwn.call(arg,key)&&arg[key]){classes.push(key)}}}}return classes.join(" ")}if(typeof module!=="undefined"&&module.exports){module.exports=classNames}else if(typeof define==="function"&&typeof define.amd==="object"&&define.amd){define("classnames",[],function(){return classNames})}else{window.classNames=classNames}})()},{}],2:[function(require,module,exports){"use strict";function makeEmptyFunction(arg){return function(){return arg}}var emptyFunction=function emptyFunction(){};emptyFunction.thatReturns=makeEmptyFunction;emptyFunction.thatReturnsFalse=makeEmptyFunction(false);emptyFunction.thatReturnsTrue=makeEmptyFunction(true);emptyFunction.thatReturnsNull=makeEmptyFunction(null);emptyFunction.thatReturnsThis=function(){return this};emptyFunction.thatReturnsArgument=function(arg){return arg};module.exports=emptyFunction},{}],3:[function(require,module,exports){(function(process){"use strict";var validateFormat=function validateFormat(format){};if(process.env.NODE_ENV!=="production"){validateFormat=function validateFormat(format){if(format===undefined){throw new Error("invariant requires an error message argument")}}}function invariant(condition,format,a,b,c,d,e,f){validateFormat(format);if(!condition){var error;if(format===undefined){error=new Error("Minified exception occurred; use the non-minified dev environment "+"for the full error message and additional helpful warnings.")}else{var args=[a,b,c,d,e,f];var argIndex=0;error=new Error(format.replace(/%s/g,function(){return args[argIndex++]}));error.name="Invariant Violation"}error.framesToPop=1;throw error}}module.exports=invariant}).call(this,require("_process"))},{_process:6}],4:[function(require,module,exports){(function(process){"use strict";var emptyFunction=require("./emptyFunction");var warning=emptyFunction;if(process.env.NODE_ENV!=="production"){var printWarning=function printWarning(format){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}var argIndex=0;var message="Warning: "+format.replace(/%s/g,function(){return args[argIndex++]});if(typeof console!=="undefined"){console.error(message)}try{throw new Error(message)}catch(x){}};warning=function warning(condition,format){if(format===undefined){throw new Error("`warning(condition, format, ...args)` requires a warning "+"message argument")}if(format.indexOf("Failed Composite propType: ")===0){return}if(!condition){for(var _len2=arguments.length,args=Array(_len2>2?_len2-2:0),_key2=2;_key2<_len2;_key2++){args[_key2-2]=arguments[_key2]}printWarning.apply(undefined,[format].concat(args))}}}module.exports=warning}).call(this,require("_process"))},{"./emptyFunction":2,_process:6}],5:[function(require,module,exports){"use strict";var getOwnPropertySymbols=Object.getOwnPropertySymbols;var hasOwnProperty=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===undefined){throw new TypeError("Object.assign cannot be called with null or undefined")}return Object(val)}function shouldUseNative(){try{if(!Object.assign){return false}var test1=new String("abc");test1[5]="de";if(Object.getOwnPropertyNames(test1)[0]==="5"){return false}var test2={};for(var i=0;i<10;i++){test2["_"+String.fromCharCode(i)]=i}var order2=Object.getOwnPropertyNames(test2).map(function(n){return test2[n]});if(order2.join("")!=="0123456789"){return false}var test3={};"abcdefghijklmnopqrst".split("").forEach(function(letter){test3[letter]=letter});if(Object.keys(Object.assign({},test3)).join("")!=="abcdefghijklmnopqrst"){return false}return true}catch(err){return false}}module.exports=shouldUseNative()?Object.assign:function(target,source){var from;var to=toObject(target);var symbols;for(var s=1;s<arguments.length;s++){from=Object(arguments[s]);for(var key in from){if(hasOwnProperty.call(from,key)){to[key]=from[key]}}if(getOwnPropertySymbols){symbols=getOwnPropertySymbols(from);for(var i=0;i<symbols.length;i++){if(propIsEnumerable.call(from,symbols[i])){to[symbols[i]]=from[symbols[i]]}}}}return to}},{}],6:[function(require,module,exports){var process=module.exports={};var cachedSetTimeout;var cachedClearTimeout;function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}(function(){try{if(typeof setTimeout==="function"){cachedSetTimeout=setTimeout}else{cachedSetTimeout=defaultSetTimout}}catch(e){cachedSetTimeout=defaultSetTimout}try{if(typeof clearTimeout==="function"){cachedClearTimeout=clearTimeout}else{cachedClearTimeout=defaultClearTimeout}}catch(e){cachedClearTimeout=defaultClearTimeout}})();function runTimeout(fun){if(cachedSetTimeout===setTimeout){return setTimeout(fun,0)}if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout){cachedSetTimeout=setTimeout;return setTimeout(fun,0)}try{return cachedSetTimeout(fun,0)}catch(e){try{return cachedSetTimeout.call(null,fun,0)}catch(e){return cachedSetTimeout.call(this,fun,0)}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout){return clearTimeout(marker)}if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout){cachedClearTimeout=clearTimeout;return clearTimeout(marker)}try{return cachedClearTimeout(marker)}catch(e){try{return cachedClearTimeout.call(null,marker)}catch(e){return cachedClearTimeout.call(this,marker)}}}var queue=[];var draining=false;var currentQueue;var queueIndex=-1;function cleanUpNextTick(){if(!draining||!currentQueue){return}draining=false;if(currentQueue.length){queue=currentQueue.concat(queue)}else{queueIndex=-1}if(queue.length){drainQueue()}}function drainQueue(){if(draining){return}var timeout=runTimeout(cleanUpNextTick);draining=true;var len=queue.length;while(len){currentQueue=queue;queue=[];while(++queueIndex<len){if(currentQueue){currentQueue[queueIndex].run()}}queueIndex=-1;len=queue.length}currentQueue=null;draining=false;runClearTimeout(timeout)}process.nextTick=function(fun){var args=new Array(arguments.length-1);if(arguments.length>1){for(var i=1;i<arguments.length;i++){args[i-1]=arguments[i]}}queue.push(new Item(fun,args));if(queue.length===1&&!draining){runTimeout(drainQueue)}};function Item(fun,array){this.fun=fun;this.array=array}Item.prototype.run=function(){this.fun.apply(null,this.array)};process.title="browser";process.browser=true;process.env={};process.argv=[];process.version="";process.versions={};function noop(){}process.on=noop;process.addListener=noop;process.once=noop;process.off=noop;process.removeListener=noop;process.removeAllListeners=noop;process.emit=noop;process.prependListener=noop;process.prependOnceListener=noop;process.listeners=function(name){return[]};process.binding=function(name){throw new Error("process.binding is not supported")};process.cwd=function(){return"/"};process.chdir=function(dir){throw new Error("process.chdir is not supported")};process.umask=function(){return 0}},{}],7:[function(require,module,exports){(function(process){"use strict";if(process.env.NODE_ENV!=="production"){var invariant=require("fbjs/lib/invariant");var warning=require("fbjs/lib/warning");var ReactPropTypesSecret=require("./lib/ReactPropTypesSecret");var loggedTypeFailures={}}function checkPropTypes(typeSpecs,values,location,componentName,getStack){if(process.env.NODE_ENV!=="production"){for(var typeSpecName in typeSpecs){if(typeSpecs.hasOwnProperty(typeSpecName)){var error;try{invariant(typeof typeSpecs[typeSpecName]==="function","%s: %s type `%s` is invalid; it must be a function, usually from "+"the `prop-types` package, but received `%s`.",componentName||"React class",location,typeSpecName,typeof typeSpecs[typeSpecName]);error=typeSpecs[typeSpecName](values,typeSpecName,componentName,location,null,ReactPropTypesSecret)}catch(ex){error=ex}warning(!error||error instanceof Error,"%s: type specification of %s `%s` is invalid; the type checker "+"function must return `null` or an `Error` but returned a %s. "+"You may have forgotten to pass an argument to the type checker "+"creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and "+"shape all require an argument).",componentName||"React class",location,typeSpecName,typeof error);if(error instanceof Error&&!(error.message in loggedTypeFailures)){loggedTypeFailures[error.message]=true;var stack=getStack?getStack():"";warning(false,"Failed %s type: %s%s",location,error.message,stack!=null?stack:"")}}}}}module.exports=checkPropTypes}).call(this,require("_process"))},{"./lib/ReactPropTypesSecret":11,_process:6,"fbjs/lib/invariant":3,"fbjs/lib/warning":4}],8:[function(require,module,exports){"use strict";var emptyFunction=require("fbjs/lib/emptyFunction");var invariant=require("fbjs/lib/invariant");var ReactPropTypesSecret=require("./lib/ReactPropTypesSecret");module.exports=function(){function shim(props,propName,componentName,location,propFullName,secret){if(secret===ReactPropTypesSecret){return}invariant(false,"Calling PropTypes validators directly is not supported by the `prop-types` package. "+"Use PropTypes.checkPropTypes() to call them. "+"Read more at http://fb.me/use-check-prop-types")}shim.isRequired=shim;function getShim(){return shim}var ReactPropTypes={array:shim,bool:shim,func:shim,number:shim,object:shim,string:shim,symbol:shim,any:shim,arrayOf:getShim,element:shim,instanceOf:getShim,node:shim,objectOf:getShim,oneOf:getShim,oneOfType:getShim,shape:getShim,exact:getShim};ReactPropTypes.checkPropTypes=emptyFunction;ReactPropTypes.PropTypes=ReactPropTypes;return ReactPropTypes}},{"./lib/ReactPropTypesSecret":11,"fbjs/lib/emptyFunction":2,"fbjs/lib/invariant":3}],9:[function(require,module,exports){(function(process){"use strict";var emptyFunction=require("fbjs/lib/emptyFunction");var invariant=require("fbjs/lib/invariant");var warning=require("fbjs/lib/warning");var assign=require("object-assign");var ReactPropTypesSecret=require("./lib/ReactPropTypesSecret");var checkPropTypes=require("./checkPropTypes");module.exports=function(isValidElement,throwOnDirectAccess){var ITERATOR_SYMBOL=typeof Symbol==="function"&&Symbol.iterator;var FAUX_ITERATOR_SYMBOL="@@iterator";function getIteratorFn(maybeIterable){var iteratorFn=maybeIterable&&(ITERATOR_SYMBOL&&maybeIterable[ITERATOR_SYMBOL]||maybeIterable[FAUX_ITERATOR_SYMBOL]);if(typeof iteratorFn==="function"){return iteratorFn}}var ANONYMOUS="<<anonymous>>";var ReactPropTypes={array:createPrimitiveTypeChecker("array"),bool:createPrimitiveTypeChecker("boolean"),func:createPrimitiveTypeChecker("function"),number:createPrimitiveTypeChecker("number"),object:createPrimitiveTypeChecker("object"),string:createPrimitiveTypeChecker("string"),symbol:createPrimitiveTypeChecker("symbol"),any:createAnyTypeChecker(),arrayOf:createArrayOfTypeChecker,element:createElementTypeChecker(),instanceOf:createInstanceTypeChecker,node:createNodeChecker(),objectOf:createObjectOfTypeChecker,oneOf:createEnumTypeChecker,oneOfType:createUnionTypeChecker,shape:createShapeTypeChecker,exact:createStrictShapeTypeChecker};function is(x,y){if(x===y){return x!==0||1/x===1/y}else{return x!==x&&y!==y}}function PropTypeError(message){this.message=message;this.stack=""}PropTypeError.prototype=Error.prototype;function createChainableTypeChecker(validate){if(process.env.NODE_ENV!=="production"){var manualPropTypeCallCache={};var manualPropTypeWarningCount=0}function checkType(isRequired,props,propName,componentName,location,propFullName,secret){componentName=componentName||ANONYMOUS;propFullName=propFullName||propName;if(secret!==ReactPropTypesSecret){if(throwOnDirectAccess){invariant(false,"Calling PropTypes validators directly is not supported by the `prop-types` package. "+"Use `PropTypes.checkPropTypes()` to call them. "+"Read more at http://fb.me/use-check-prop-types")}else if(process.env.NODE_ENV!=="production"&&typeof console!=="undefined"){var cacheKey=componentName+":"+propName;if(!manualPropTypeCallCache[cacheKey]&&manualPropTypeWarningCount<3){warning(false,"You are manually calling a React.PropTypes validation "+"function for the `%s` prop on `%s`. This is deprecated "+"and will throw in the standalone `prop-types` package. "+"You may be seeing this warning due to a third-party PropTypes "+"library. See https://fb.me/react-warning-dont-call-proptypes "+"for details.",propFullName,componentName);manualPropTypeCallCache[cacheKey]=true;manualPropTypeWarningCount++}}}if(props[propName]==null){if(isRequired){if(props[propName]===null){return new PropTypeError("The "+location+" `"+propFullName+"` is marked as required "+("in `"+componentName+"`, but its value is `null`."))}return new PropTypeError("The "+location+" `"+propFullName+"` is marked as required in "+("`"+componentName+"`, but its value is `undefined`."))}return null}else{return validate(props,propName,componentName,location,propFullName)}}var chainedCheckType=checkType.bind(null,false);chainedCheckType.isRequired=checkType.bind(null,true);return chainedCheckType}function createPrimitiveTypeChecker(expectedType){function validate(props,propName,componentName,location,propFullName,secret){var propValue=props[propName];var propType=getPropType(propValue);if(propType!==expectedType){var preciseType=getPreciseType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+preciseType+"` supplied to `"+componentName+"`, expected ")+("`"+expectedType+"`."))}return null}return createChainableTypeChecker(validate)}function createAnyTypeChecker(){return createChainableTypeChecker(emptyFunction.thatReturnsNull)}function createArrayOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if(typeof typeChecker!=="function"){return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside arrayOf.")}var propValue=props[propName];if(!Array.isArray(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected an array."))}for(var i=0;i<propValue.length;i++){var error=typeChecker(propValue,i,componentName,location,propFullName+"["+i+"]",ReactPropTypesSecret);if(error instanceof Error){return error}}return null}return createChainableTypeChecker(validate)}function createElementTypeChecker(){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];if(!isValidElement(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected a single ReactElement."))}return null}return createChainableTypeChecker(validate)}function createInstanceTypeChecker(expectedClass){function validate(props,propName,componentName,location,propFullName){if(!(props[propName]instanceof expectedClass)){var expectedClassName=expectedClass.name||ANONYMOUS;var actualClassName=getClassName(props[propName]);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+actualClassName+"` supplied to `"+componentName+"`, expected ")+("instance of `"+expectedClassName+"`."))}return null}return createChainableTypeChecker(validate)}function createEnumTypeChecker(expectedValues){if(!Array.isArray(expectedValues)){process.env.NODE_ENV!=="production"?warning(false,"Invalid argument supplied to oneOf, expected an instance of array."):void 0;return emptyFunction.thatReturnsNull}function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];for(var i=0;i<expectedValues.length;i++){if(is(propValue,expectedValues[i])){return null}}var valuesString=JSON.stringify(expectedValues);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of value `"+propValue+"` "+("supplied to `"+componentName+"`, expected one of "+valuesString+"."))}return createChainableTypeChecker(validate)}function createObjectOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if(typeof typeChecker!=="function"){return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside objectOf.")}var propValue=props[propName];var propType=getPropType(propValue);if(propType!=="object"){return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected an object."))}for(var key in propValue){if(propValue.hasOwnProperty(key)){var error=typeChecker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error instanceof Error){return error}}}return null}return createChainableTypeChecker(validate)}function createUnionTypeChecker(arrayOfTypeCheckers){if(!Array.isArray(arrayOfTypeCheckers)){process.env.NODE_ENV!=="production"?warning(false,"Invalid argument supplied to oneOfType, expected an instance of array."):void 0;return emptyFunction.thatReturnsNull}for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i];if(typeof checker!=="function"){warning(false,"Invalid argument supplied to oneOfType. Expected an array of check functions, but "+"received %s at index %s.",getPostfixForTypeWarning(checker),i);return emptyFunction.thatReturnsNull}}function validate(props,propName,componentName,location,propFullName){for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i];if(checker(props,propName,componentName,location,propFullName,ReactPropTypesSecret)==null){return null}}return new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to "+("`"+componentName+"`."))}return createChainableTypeChecker(validate)}function createNodeChecker(){function validate(props,propName,componentName,location,propFullName){if(!isNode(props[propName])){return new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to "+("`"+componentName+"`, expected a ReactNode."))}return null}return createChainableTypeChecker(validate)}function createShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];var propType=getPropType(propValue);if(propType!=="object"){return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` "+("supplied to `"+componentName+"`, expected `object`."))}for(var key in shapeTypes){var checker=shapeTypes[key];if(!checker){continue}var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error){return error}}return null}return createChainableTypeChecker(validate)}function createStrictShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];var propType=getPropType(propValue);if(propType!=="object"){return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` "+("supplied to `"+componentName+"`, expected `object`."))}var allKeys=assign({},props[propName],shapeTypes);for(var key in allKeys){var checker=shapeTypes[key];if(!checker){return new PropTypeError("Invalid "+location+" `"+propFullName+"` key `"+key+"` supplied to `"+componentName+"`."+"\nBad object: "+JSON.stringify(props[propName],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(shapeTypes),null," "))}var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error){return error}}return null}return createChainableTypeChecker(validate)}function isNode(propValue){switch(typeof propValue){case"number":case"string":case"undefined":return true;case"boolean":return!propValue;case"object":if(Array.isArray(propValue)){return propValue.every(isNode)}if(propValue===null||isValidElement(propValue)){return true}var iteratorFn=getIteratorFn(propValue);if(iteratorFn){var iterator=iteratorFn.call(propValue);var step;if(iteratorFn!==propValue.entries){while(!(step=iterator.next()).done){if(!isNode(step.value)){return false}}}else{while(!(step=iterator.next()).done){var entry=step.value;if(entry){if(!isNode(entry[1])){return false}}}}}else{return false}return true;default:return false}}function isSymbol(propType,propValue){if(propType==="symbol"){return true}if(propValue["@@toStringTag"]==="Symbol"){return true}if(typeof Symbol==="function"&&propValue instanceof Symbol){return true}return false}function getPropType(propValue){var propType=typeof propValue;if(Array.isArray(propValue)){return"array"}if(propValue instanceof RegExp){return"object"}if(isSymbol(propType,propValue)){return"symbol"}return propType}function getPreciseType(propValue){if(typeof propValue==="undefined"||propValue===null){return""+propValue}var propType=getPropType(propValue);if(propType==="object"){if(propValue instanceof Date){return"date"}else if(propValue instanceof RegExp){return"regexp"}}return propType}function getPostfixForTypeWarning(value){var type=getPreciseType(value);switch(type){case"array":case"object":return"an "+type;case"boolean":case"date":case"regexp":return"a "+type;default:return type}}function getClassName(propValue){if(!propValue.constructor||!propValue.constructor.name){return ANONYMOUS}return propValue.constructor.name}ReactPropTypes.checkPropTypes=checkPropTypes;ReactPropTypes.PropTypes=ReactPropTypes;return ReactPropTypes}}).call(this,require("_process"))},{"./checkPropTypes":7,"./lib/ReactPropTypesSecret":11,_process:6,"fbjs/lib/emptyFunction":2,"fbjs/lib/invariant":3,"fbjs/lib/warning":4,"object-assign":5}],10:[function(require,module,exports){(function(process){if(process.env.NODE_ENV!=="production"){var REACT_ELEMENT_TYPE=typeof Symbol==="function"&&Symbol.for&&Symbol.for("react.element")||60103;var isValidElement=function(object){return typeof object==="object"&&object!==null&&object.$$typeof===REACT_ELEMENT_TYPE};var throwOnDirectAccess=true;module.exports=require("./factoryWithTypeCheckers")(isValidElement,throwOnDirectAccess)}else{module.exports=require("./factoryWithThrowingShims")()}}).call(this,require("_process"))},{"./factoryWithThrowingShims":8,"./factoryWithTypeCheckers":9,_process:6}],11:[function(require,module,exports){"use strict";var ReactPropTypesSecret="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";module.exports=ReactPropTypesSecret},{}],12:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default={GLOBAL:{HIDE:"__react_tooltip_hide_event",REBUILD:"__react_tooltip_rebuild_event",SHOW:"__react_tooltip_show_event"}}},{}],13:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(target){target.prototype.isBodyMode=function(){return!!this.props.bodyMode};target.prototype.bindBodyListener=function(targetArray){var _this=this;var _state=this.state,event=_state.event,eventOff=_state.eventOff,possibleCustomEvents=_state.possibleCustomEvents,possibleCustomEventsOff=_state.possibleCustomEventsOff;var body=getBody();var customEvents=findCustomEvents(targetArray,"data-event");var customEventsOff=findCustomEvents(targetArray,"data-event-off");if(event!=null)customEvents[event]=true;if(eventOff!=null)customEventsOff[eventOff]=true;possibleCustomEvents.split(" ").forEach(function(event){return customEvents[event]=true});possibleCustomEventsOff.split(" ").forEach(function(event){return customEventsOff[event]=true});this.unbindBodyListener(body);var listeners=this.bodyModeListeners={};if(event==null){listeners.mouseover=bodyListener.bind(this,this.showTooltip,{});listeners.mousemove=bodyListener.bind(this,this.updateTooltip,{respectEffect:true});listeners.mouseout=bodyListener.bind(this,this.hideTooltip,{})}for(var _event in customEvents){listeners[_event]=bodyListener.bind(this,function(e){var targetEventOff=e.currentTarget.getAttribute("data-event-off")||eventOff;_customEvent.checkStatus.call(_this,targetEventOff,e)},{customEvent:true})}for(var _event2 in customEventsOff){listeners[_event2]=bodyListener.bind(this,this.hideTooltip,{customEvent:true})}for(var _event3 in listeners){body.addEventListener(_event3,listeners[_event3])}};target.prototype.unbindBodyListener=function(body){body=body||getBody();var listeners=this.bodyModeListeners;for(var event in listeners){body.removeEventListener(event,listeners[event])}}};var _customEvent=require("./customEvent");var makeProxy=function makeProxy(e){var proxy={};for(var key in e){if(typeof e[key]==="function"){proxy[key]=e[key].bind(e)}else{proxy[key]=e[key]}}return proxy};var bodyListener=function bodyListener(callback,options,e){var _options$respectEffec=options.respectEffect,respectEffect=_options$respectEffec===undefined?false:_options$respectEffec,_options$customEvent=options.customEvent,customEvent=_options$customEvent===undefined?false:_options$customEvent;var id=this.props.id;var tip=e.target.getAttribute("data-tip")||null;var forId=e.target.getAttribute("data-for")||null;var target=e.target;if(this.isCustomEvent(target)&&!customEvent){return}var isTargetBelongsToTooltip=id==null&&forId==null||forId===id;if(tip!=null&&(!respectEffect||this.getEffect(target)==="float")&&isTargetBelongsToTooltip){var proxy=makeProxy(e);proxy.currentTarget=target;callback(proxy)}};var findCustomEvents=function findCustomEvents(targetArray,dataAttribute){var events={};targetArray.forEach(function(target){var event=target.getAttribute(dataAttribute);if(event)event.split(" ").forEach(function(event){return events[event]=true})});return events};var getBody=function getBody(){return document.getElementsByTagName("body")[0]}},{"./customEvent":14}],14:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(target){target.prototype.isCustomEvent=function(ele){var event=this.state.event;return event||!!ele.getAttribute("data-event")};target.prototype.customBindListener=function(ele){var _this=this;var _state=this.state,event=_state.event,eventOff=_state.eventOff;var dataEvent=ele.getAttribute("data-event")||event;var dataEventOff=ele.getAttribute("data-event-off")||eventOff;dataEvent.split(" ").forEach(function(event){ele.removeEventListener(event,customListeners.get(ele,event));var customListener=checkStatus.bind(_this,dataEventOff);customListeners.set(ele,event,customListener);ele.addEventListener(event,customListener,false)});if(dataEventOff){dataEventOff.split(" ").forEach(function(event){ele.removeEventListener(event,_this.hideTooltip);ele.addEventListener(event,_this.hideTooltip,false)})}};target.prototype.customUnbindListener=function(ele){var _state2=this.state,event=_state2.event,eventOff=_state2.eventOff;var dataEvent=event||ele.getAttribute("data-event");var dataEventOff=eventOff||ele.getAttribute("data-event-off");ele.removeEventListener(dataEvent,customListeners.get(ele,event));if(dataEventOff)ele.removeEventListener(dataEventOff,this.hideTooltip)}};function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var checkStatus=exports.checkStatus=function checkStatus(dataEventOff,e){var show=this.state.show;var id=this.props.id;var isCapture=this.isCapture(e.currentTarget);var currentItem=e.currentTarget.getAttribute("currentItem");if(!isCapture)e.stopPropagation();if(show&¤tItem==="true"){if(!dataEventOff)this.hideTooltip(e)}else{e.currentTarget.setAttribute("currentItem","true");setUntargetItems(e.currentTarget,this.getTargetArray(id));this.showTooltip(e)}};var setUntargetItems=function setUntargetItems(currentTarget,targetArray){for(var i=0;i<targetArray.length;i++){if(currentTarget!==targetArray[i]){targetArray[i].setAttribute("currentItem","false")}else{targetArray[i].setAttribute("currentItem","true")}}};var customListeners={id:"9b69f92e-d3fe-498b-b1b4-c5e63a51b0cf",set:function set(target,event,listener){if(this.id in target){var map=target[this.id];map[event]=listener}else{Object.defineProperty(target,this.id,{configurable:true,value:_defineProperty({},event,listener)})}},get:function get(target,event){var map=target[this.id];if(map!==undefined){return map[event]}}}},{}],15:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(target){target.prototype.getEffect=function(currentTarget){var dataEffect=currentTarget.getAttribute("data-effect");return dataEffect||this.props.effect||"float"}}},{}],16:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(target){target.prototype.isCapture=function(currentTarget){return currentTarget&¤tTarget.getAttribute("data-iscapture")==="true"||this.props.isCapture||false}}},{}],17:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(target){target.hide=function(target){dispatchGlobalEvent(_constant2.default.GLOBAL.HIDE,{target:target})};target.rebuild=function(){dispatchGlobalEvent(_constant2.default.GLOBAL.REBUILD)};target.show=function(target){dispatchGlobalEvent(_constant2.default.GLOBAL.SHOW,{target:target})};target.prototype.globalRebuild=function(){if(this.mount){this.unbindListener();this.bindListener()}};target.prototype.globalShow=function(event){if(this.mount){var e={currentTarget:event.detail.target};this.showTooltip(e,true)}};target.prototype.globalHide=function(event){if(this.mount){var hasTarget=event&&event.detail&&event.detail.target&&true||false;this.hideTooltip({currentTarget:hasTarget&&event.detail.target},hasTarget)}}};var _constant=require("../constant");var _constant2=_interopRequireDefault(_constant);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var dispatchGlobalEvent=function dispatchGlobalEvent(eventName,opts){var event=void 0;if(typeof window.CustomEvent==="function"){event=new window.CustomEvent(eventName,{detail:opts})}else{event=document.createEvent("Event");event.initEvent(eventName,false,true);event.detail=opts}window.dispatchEvent(event)}},{"../constant":12}],18:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(target){target.prototype.bindRemovalTracker=function(){var _this=this;var MutationObserver=getMutationObserverClass();if(MutationObserver==null)return;var observer=new MutationObserver(function(mutations){for(var m1=0;m1<mutations.length;m1++){var mutation=mutations[m1];for(var m2=0;m2<mutation.removedNodes.length;m2++){var element=mutation.removedNodes[m2];if(element===_this.state.currentTarget){_this.hideTooltip();return}}}});observer.observe(window.document,{
|
|
2
|
-
childList:true,subtree:true});this.removalTracker=observer};target.prototype.unbindRemovalTracker=function(){if(this.removalTracker){this.removalTracker.disconnect();this.removalTracker=null}}};var getMutationObserverClass=function getMutationObserverClass(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}},{}],19:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(target){target.prototype.bindWindowEvents=function(resizeHide){window.removeEventListener(_constant2.default.GLOBAL.HIDE,this.globalHide);window.addEventListener(_constant2.default.GLOBAL.HIDE,this.globalHide,false);window.removeEventListener(_constant2.default.GLOBAL.REBUILD,this.globalRebuild);window.addEventListener(_constant2.default.GLOBAL.REBUILD,this.globalRebuild,false);window.removeEventListener(_constant2.default.GLOBAL.SHOW,this.globalShow);window.addEventListener(_constant2.default.GLOBAL.SHOW,this.globalShow,false);if(resizeHide){window.removeEventListener("resize",this.onWindowResize);window.addEventListener("resize",this.onWindowResize,false)}};target.prototype.unbindWindowEvents=function(){window.removeEventListener(_constant2.default.GLOBAL.HIDE,this.globalHide);window.removeEventListener(_constant2.default.GLOBAL.REBUILD,this.globalRebuild);window.removeEventListener(_constant2.default.GLOBAL.SHOW,this.globalShow);window.removeEventListener("resize",this.onWindowResize)};target.prototype.onWindowResize=function(){if(!this.mount)return;this.hideTooltip()}};var _constant=require("../constant");var _constant2=_interopRequireDefault(_constant);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}},{"../constant":12}],20:[function(require,module,exports){(function(global){"use strict";var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _class,_class2,_temp;var _react=typeof window!=="undefined"?window["React"]:typeof global!=="undefined"?global["React"]:null;var _react2=_interopRequireDefault(_react);var _propTypes=require("prop-types");var _propTypes2=_interopRequireDefault(_propTypes);var _classnames=require("classnames");var _classnames2=_interopRequireDefault(_classnames);var _staticMethods=require("./decorators/staticMethods");var _staticMethods2=_interopRequireDefault(_staticMethods);var _windowListener=require("./decorators/windowListener");var _windowListener2=_interopRequireDefault(_windowListener);var _customEvent=require("./decorators/customEvent");var _customEvent2=_interopRequireDefault(_customEvent);var _isCapture=require("./decorators/isCapture");var _isCapture2=_interopRequireDefault(_isCapture);var _getEffect=require("./decorators/getEffect");var _getEffect2=_interopRequireDefault(_getEffect);var _bodyMode=require("./decorators/bodyMode");var _bodyMode2=_interopRequireDefault(_bodyMode);var _trackRemoval=require("./decorators/trackRemoval");var _trackRemoval2=_interopRequireDefault(_trackRemoval);var _getPosition=require("./utils/getPosition");var _getPosition2=_interopRequireDefault(_getPosition);var _getTipContent=require("./utils/getTipContent");var _getTipContent2=_interopRequireDefault(_getTipContent);var _aria=require("./utils/aria");var _nodeListToArray=require("./utils/nodeListToArray");var _nodeListToArray2=_interopRequireDefault(_nodeListToArray);var _style=require("./style");var _style2=_interopRequireDefault(_style);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var ReactTooltip=(0,_staticMethods2.default)(_class=(0,_windowListener2.default)(_class=(0,_customEvent2.default)(_class=(0,_isCapture2.default)(_class=(0,_getEffect2.default)(_class=(0,_bodyMode2.default)(_class=(0,_trackRemoval2.default)(_class=(_temp=_class2=function(_React$Component){_inherits(ReactTooltip,_React$Component);function ReactTooltip(props){_classCallCheck(this,ReactTooltip);var _this=_possibleConstructorReturn(this,(ReactTooltip.__proto__||Object.getPrototypeOf(ReactTooltip)).call(this,props));_this.state={place:props.place||"top",desiredPlace:props.place||"top",type:"dark",effect:"float",show:false,border:false,offset:{},extraClass:"",html:false,delayHide:0,delayShow:0,event:props.event||null,eventOff:props.eventOff||null,currentEvent:null,currentTarget:null,ariaProps:(0,_aria.parseAria)(props),isEmptyTip:false,disable:false,possibleCustomEvents:props.possibleCustomEvents||"",possibleCustomEventsOff:props.possibleCustomEventsOff||"",originTooltip:null,isMultiline:false};_this.bind(["showTooltip","updateTooltip","hideTooltip","hideTooltipOnScroll","getTooltipContent","globalRebuild","globalShow","globalHide","onWindowResize","mouseOnToolTip"]);_this.mount=true;_this.delayShowLoop=null;_this.delayHideLoop=null;_this.delayReshow=null;_this.intervalUpdateContent=null;return _this}_createClass(ReactTooltip,[{key:"bind",value:function bind(methodArray){var _this2=this;methodArray.forEach(function(method){_this2[method]=_this2[method].bind(_this2)})}},{key:"componentDidMount",value:function componentDidMount(){var _props=this.props,insecure=_props.insecure,resizeHide=_props.resizeHide;if(insecure){this.setStyleHeader()}this.bindListener();this.bindWindowEvents(resizeHide)}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.mount=false;this.clearTimer();this.unbindListener();this.removeScrollListener();this.unbindWindowEvents()}},{key:"mouseOnToolTip",value:function mouseOnToolTip(){var show=this.state.show;if(show&&this.tooltipRef){if(!this.tooltipRef.matches){if(this.tooltipRef.msMatchesSelector){this.tooltipRef.matches=this.tooltipRef.msMatchesSelector}else{this.tooltipRef.matches=this.tooltipRef.mozMatchesSelector}}return this.tooltipRef.matches(":hover")}return false}},{key:"getTargetArray",value:function getTargetArray(id){var targetArray=void 0;if(!id){targetArray=document.querySelectorAll("[data-tip]:not([data-for])")}else{var escaped=id.replace(/\\/g,"\\\\").replace(/"/g,'\\"');targetArray=document.querySelectorAll('[data-tip][data-for="'+escaped+'"]')}return(0,_nodeListToArray2.default)(targetArray)}},{key:"bindListener",value:function bindListener(){var _this3=this;var _props2=this.props,id=_props2.id,globalEventOff=_props2.globalEventOff,isCapture=_props2.isCapture;var targetArray=this.getTargetArray(id);targetArray.forEach(function(target){if(target.getAttribute("currentItem")===null){target.setAttribute("currentItem","false")}_this3.unbindBasicListener(target);if(_this3.isCustomEvent(target)){_this3.customUnbindListener(target)}});if(this.isBodyMode()){this.bindBodyListener(targetArray)}else{targetArray.forEach(function(target){var isCaptureMode=_this3.isCapture(target);var effect=_this3.getEffect(target);if(_this3.isCustomEvent(target)){_this3.customBindListener(target);return}target.addEventListener("mouseenter",_this3.showTooltip,isCaptureMode);if(effect==="float"){target.addEventListener("mousemove",_this3.updateTooltip,isCaptureMode)}target.addEventListener("mouseleave",_this3.hideTooltip,isCaptureMode)})}if(globalEventOff){window.removeEventListener(globalEventOff,this.hideTooltip);window.addEventListener(globalEventOff,this.hideTooltip,isCapture)}this.bindRemovalTracker()}},{key:"unbindListener",value:function unbindListener(){var _this4=this;var _props3=this.props,id=_props3.id,globalEventOff=_props3.globalEventOff;if(this.isBodyMode()){this.unbindBodyListener()}else{var targetArray=this.getTargetArray(id);targetArray.forEach(function(target){_this4.unbindBasicListener(target);if(_this4.isCustomEvent(target))_this4.customUnbindListener(target)})}if(globalEventOff)window.removeEventListener(globalEventOff,this.hideTooltip);this.unbindRemovalTracker()}},{key:"unbindBasicListener",value:function unbindBasicListener(target){var isCaptureMode=this.isCapture(target);target.removeEventListener("mouseenter",this.showTooltip,isCaptureMode);target.removeEventListener("mousemove",this.updateTooltip,isCaptureMode);target.removeEventListener("mouseleave",this.hideTooltip,isCaptureMode)}},{key:"getTooltipContent",value:function getTooltipContent(){var _props4=this.props,getContent=_props4.getContent,children=_props4.children;var content=void 0;if(getContent){if(Array.isArray(getContent)){content=getContent[0]&&getContent[0](this.state.originTooltip)}else{content=getContent(this.state.originTooltip)}}return(0,_getTipContent2.default)(this.state.originTooltip,children,content,this.state.isMultiline)}},{key:"isEmptyTip",value:function isEmptyTip(placeholder){return typeof placeholder==="string"&&placeholder===""||placeholder===null}},{key:"showTooltip",value:function showTooltip(e,isGlobalCall){if(isGlobalCall){var targetArray=this.getTargetArray(this.props.id);var isMyElement=targetArray.some(function(ele){return ele===e.currentTarget});if(!isMyElement)return}var _props5=this.props,multiline=_props5.multiline,getContent=_props5.getContent;var originTooltip=e.currentTarget.getAttribute("data-tip");var isMultiline=e.currentTarget.getAttribute("data-multiline")||multiline||false;var switchToSolid=e instanceof window.FocusEvent||isGlobalCall;var scrollHide=true;if(e.currentTarget.getAttribute("data-scroll-hide")){scrollHide=e.currentTarget.getAttribute("data-scroll-hide")==="true"}else if(this.props.scrollHide!=null){scrollHide=this.props.scrollHide}var desiredPlace=e.currentTarget.getAttribute("data-place")||this.props.place||"top";var effect=switchToSolid&&"solid"||this.getEffect(e.currentTarget);var offset=e.currentTarget.getAttribute("data-offset")||this.props.offset||{};var result=(0,_getPosition2.default)(e,e.currentTarget,this.tooltipRef,desiredPlace,desiredPlace,effect,offset);if(result.position&&this.props.overridePosition){result.position=this.props.overridePosition(result.position,e.currentTarget,this.tooltipRef,desiredPlace,desiredPlace,effect,offset)}var place=result.isNewState?result.newState.place:desiredPlace;this.clearTimer();var target=e.currentTarget;var reshowDelay=this.state.show?target.getAttribute("data-delay-update")||this.props.delayUpdate:0;var self=this;var updateState=function updateState(){self.setState({originTooltip:originTooltip,isMultiline:isMultiline,desiredPlace:desiredPlace,place:place,type:target.getAttribute("data-type")||self.props.type||"dark",effect:effect,offset:offset,html:target.getAttribute("data-html")?target.getAttribute("data-html")==="true":self.props.html||false,delayShow:target.getAttribute("data-delay-show")||self.props.delayShow||0,delayHide:target.getAttribute("data-delay-hide")||self.props.delayHide||0,delayUpdate:target.getAttribute("data-delay-update")||self.props.delayUpdate||0,border:target.getAttribute("data-border")?target.getAttribute("data-border")==="true":self.props.border||false,extraClass:target.getAttribute("data-class")||self.props.class||self.props.className||"",disable:target.getAttribute("data-tip-disable")?target.getAttribute("data-tip-disable")==="true":self.props.disable||false,currentTarget:target},function(){if(scrollHide)self.addScrollListener(self.state.currentTarget);self.updateTooltip(e);if(getContent&&Array.isArray(getContent)){self.intervalUpdateContent=setInterval(function(){if(self.mount){var _getContent=self.props.getContent;var placeholder=(0,_getTipContent2.default)(originTooltip,"",_getContent[0](),isMultiline);var isEmptyTip=self.isEmptyTip(placeholder);self.setState({isEmptyTip:isEmptyTip});self.updatePosition()}},getContent[1])}})};if(reshowDelay){this.delayReshow=setTimeout(updateState,reshowDelay)}else{updateState()}}},{key:"updateTooltip",value:function updateTooltip(e){var _this5=this;var _state=this.state,delayShow=_state.delayShow,disable=_state.disable;var afterShow=this.props.afterShow;var placeholder=this.getTooltipContent();var delayTime=parseInt(delayShow,10);var eventTarget=e.currentTarget||e.target;if(this.mouseOnToolTip()){return}if(this.isEmptyTip(placeholder)||disable)return;var updateState=function updateState(){if(Array.isArray(placeholder)&&placeholder.length>0||placeholder){var isInvisible=!_this5.state.show;_this5.setState({currentEvent:e,currentTarget:eventTarget,show:true},function(){_this5.updatePosition();if(isInvisible&&afterShow)afterShow(e)})}};clearTimeout(this.delayShowLoop);if(delayShow){this.delayShowLoop=setTimeout(updateState,delayTime)}else{updateState()}}},{key:"listenForTooltipExit",value:function listenForTooltipExit(){var show=this.state.show;if(show&&this.tooltipRef){this.tooltipRef.addEventListener("mouseleave",this.hideTooltip)}}},{key:"removeListenerForTooltipExit",value:function removeListenerForTooltipExit(){var show=this.state.show;if(show&&this.tooltipRef){this.tooltipRef.removeEventListener("mouseleave",this.hideTooltip)}}},{key:"hideTooltip",value:function hideTooltip(e,hasTarget){var _this6=this;var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{isScroll:false};var disable=this.state.disable;var isScroll=options.isScroll;var delayHide=isScroll?0:this.state.delayHide;var afterHide=this.props.afterHide;var placeholder=this.getTooltipContent();if(!this.mount)return;if(this.isEmptyTip(placeholder)||disable)return;if(hasTarget){var targetArray=this.getTargetArray(this.props.id);var isMyElement=targetArray.some(function(ele){return ele===e.currentTarget});if(!isMyElement||!this.state.show)return}var resetState=function resetState(){var isVisible=_this6.state.show;if(_this6.mouseOnToolTip()){_this6.listenForTooltipExit();return}_this6.removeListenerForTooltipExit();_this6.setState({show:false},function(){_this6.removeScrollListener();if(isVisible&&afterHide)afterHide(e)})};this.clearTimer();if(delayHide){this.delayHideLoop=setTimeout(resetState,parseInt(delayHide,10))}else{resetState()}}},{key:"hideTooltipOnScroll",value:function hideTooltipOnScroll(event,hasTarget){this.hideTooltip(event,hasTarget,{isScroll:true})}},{key:"addScrollListener",value:function addScrollListener(currentTarget){var isCaptureMode=this.isCapture(currentTarget);window.addEventListener("scroll",this.hideTooltipOnScroll,isCaptureMode)}},{key:"removeScrollListener",value:function removeScrollListener(){window.removeEventListener("scroll",this.hideTooltipOnScroll)}},{key:"updatePosition",value:function updatePosition(){var _this7=this;var _state2=this.state,currentEvent=_state2.currentEvent,currentTarget=_state2.currentTarget,place=_state2.place,desiredPlace=_state2.desiredPlace,effect=_state2.effect,offset=_state2.offset;var node=this.tooltipRef;var result=(0,_getPosition2.default)(currentEvent,currentTarget,node,place,desiredPlace,effect,offset);if(result.position&&this.props.overridePosition){result.position=this.props.overridePosition(result.position,currentEvent,currentTarget,node,place,desiredPlace,effect,offset)}if(result.isNewState){return this.setState(result.newState,function(){_this7.updatePosition()})}node.style.left=result.position.left+"px";node.style.top=result.position.top+"px"}},{key:"setStyleHeader",value:function setStyleHeader(){var head=document.getElementsByTagName("head")[0];if(!head.querySelector('style[id="react-tooltip"]')){var tag=document.createElement("style");tag.id="react-tooltip";tag.innerHTML=_style2.default;if(typeof __webpack_nonce__!=="undefined"&&__webpack_nonce__){tag.setAttribute("nonce",__webpack_nonce__)}head.insertBefore(tag,head.firstChild)}}},{key:"clearTimer",value:function clearTimer(){clearTimeout(this.delayShowLoop);clearTimeout(this.delayHideLoop);clearTimeout(this.delayReshow);clearInterval(this.intervalUpdateContent)}},{key:"render",value:function render(){var _this8=this;var _state3=this.state,extraClass=_state3.extraClass,html=_state3.html,ariaProps=_state3.ariaProps,disable=_state3.disable;var placeholder=this.getTooltipContent();var isEmptyTip=this.isEmptyTip(placeholder);var tooltipClass=(0,_classnames2.default)("__react_component_tooltip",{show:this.state.show&&!disable&&!isEmptyTip},{border:this.state.border},{"place-top":this.state.place==="top"},{"place-bottom":this.state.place==="bottom"},{"place-left":this.state.place==="left"},{"place-right":this.state.place==="right"},{"type-dark":this.state.type==="dark"},{"type-success":this.state.type==="success"},{"type-warning":this.state.type==="warning"},{"type-error":this.state.type==="error"},{"type-info":this.state.type==="info"},{"type-light":this.state.type==="light"},{allow_hover:this.props.delayUpdate},{allow_click:this.props.clickable});var Wrapper=this.props.wrapper;if(ReactTooltip.supportedWrappers.indexOf(Wrapper)<0){Wrapper=ReactTooltip.defaultProps.wrapper}var wrapperClassName=[tooltipClass,extraClass].filter(Boolean).join(" ");if(html){return _react2.default.createElement(Wrapper,_extends({className:wrapperClassName,id:this.props.id,ref:function ref(_ref){return _this8.tooltipRef=_ref}},ariaProps,{"data-id":"tooltip",dangerouslySetInnerHTML:{__html:placeholder}}))}else{return _react2.default.createElement(Wrapper,_extends({className:wrapperClassName,id:this.props.id},ariaProps,{ref:function ref(_ref2){return _this8.tooltipRef=_ref2},"data-id":"tooltip"}),placeholder)}}}],[{key:"getDerivedStateFromProps",value:function getDerivedStateFromProps(nextProps,prevState){var ariaProps=prevState.ariaProps;var newAriaProps=(0,_aria.parseAria)(nextProps);var isChanged=Object.keys(newAriaProps).some(function(props){return newAriaProps[props]!==ariaProps[props]});if(!isChanged){return null}return _extends({},prevState,{ariaProps:newAriaProps})}}]);return ReactTooltip}(_react2.default.Component),_class2.propTypes={children:_propTypes2.default.any,place:_propTypes2.default.string,type:_propTypes2.default.string,effect:_propTypes2.default.string,offset:_propTypes2.default.object,multiline:_propTypes2.default.bool,border:_propTypes2.default.bool,insecure:_propTypes2.default.bool,class:_propTypes2.default.string,className:_propTypes2.default.string,id:_propTypes2.default.string,html:_propTypes2.default.bool,delayHide:_propTypes2.default.number,delayUpdate:_propTypes2.default.number,delayShow:_propTypes2.default.number,event:_propTypes2.default.string,eventOff:_propTypes2.default.string,watchWindow:_propTypes2.default.bool,isCapture:_propTypes2.default.bool,globalEventOff:_propTypes2.default.string,getContent:_propTypes2.default.any,afterShow:_propTypes2.default.func,afterHide:_propTypes2.default.func,overridePosition:_propTypes2.default.func,disable:_propTypes2.default.bool,scrollHide:_propTypes2.default.bool,resizeHide:_propTypes2.default.bool,wrapper:_propTypes2.default.string,bodyMode:_propTypes2.default.bool,possibleCustomEvents:_propTypes2.default.string,possibleCustomEventsOff:_propTypes2.default.string,clickable:_propTypes2.default.bool},_class2.defaultProps={insecure:true,resizeHide:true,wrapper:"div",clickable:false},_class2.supportedWrappers=["div","span"],_class2.displayName="ReactTooltip",_temp))||_class)||_class)||_class)||_class)||_class)||_class)||_class;module.exports=ReactTooltip}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./decorators/bodyMode":13,"./decorators/customEvent":14,"./decorators/getEffect":15,"./decorators/isCapture":16,"./decorators/staticMethods":17,"./decorators/trackRemoval":18,"./decorators/windowListener":19,"./style":21,"./utils/aria":22,"./utils/getPosition":23,"./utils/getTipContent":24,"./utils/nodeListToArray":25,classnames:1,"prop-types":10}],21:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default='.__react_component_tooltip{border-radius:3px;display:inline-block;font-size:13px;left:-999em;opacity:0;padding:8px 21px;position:fixed;pointer-events:none;transition:opacity 0.3s ease-out;top:-999em;visibility:hidden;z-index:999}.__react_component_tooltip.allow_hover,.__react_component_tooltip.allow_click{pointer-events:auto}.__react_component_tooltip:before,.__react_component_tooltip:after{content:"";width:0;height:0;position:absolute}.__react_component_tooltip.show{opacity:0.9;margin-top:0px;margin-left:0px;visibility:visible}.__react_component_tooltip.type-dark{color:#fff;background-color:#222}.__react_component_tooltip.type-dark.place-top:after{border-top-color:#222;border-top-style:solid;border-top-width:6px}.__react_component_tooltip.type-dark.place-bottom:after{border-bottom-color:#222;border-bottom-style:solid;border-bottom-width:6px}.__react_component_tooltip.type-dark.place-left:after{border-left-color:#222;border-left-style:solid;border-left-width:6px}.__react_component_tooltip.type-dark.place-right:after{border-right-color:#222;border-right-style:solid;border-right-width:6px}.__react_component_tooltip.type-dark.border{border:1px solid #fff}.__react_component_tooltip.type-dark.border.place-top:before{border-top:8px solid #fff}.__react_component_tooltip.type-dark.border.place-bottom:before{border-bottom:8px solid #fff}.__react_component_tooltip.type-dark.border.place-left:before{border-left:8px solid #fff}.__react_component_tooltip.type-dark.border.place-right:before{border-right:8px solid #fff}.__react_component_tooltip.type-success{color:#fff;background-color:#8DC572}.__react_component_tooltip.type-success.place-top:after{border-top-color:#8DC572;border-top-style:solid;border-top-width:6px}.__react_component_tooltip.type-success.place-bottom:after{border-bottom-color:#8DC572;border-bottom-style:solid;border-bottom-width:6px}.__react_component_tooltip.type-success.place-left:after{border-left-color:#8DC572;border-left-style:solid;border-left-width:6px}.__react_component_tooltip.type-success.place-right:after{border-right-color:#8DC572;border-right-style:solid;border-right-width:6px}.__react_component_tooltip.type-success.border{border:1px solid #fff}.__react_component_tooltip.type-success.border.place-top:before{border-top:8px solid #fff}.__react_component_tooltip.type-success.border.place-bottom:before{border-bottom:8px solid #fff}.__react_component_tooltip.type-success.border.place-left:before{border-left:8px solid #fff}.__react_component_tooltip.type-success.border.place-right:before{border-right:8px solid #fff}.__react_component_tooltip.type-warning{color:#fff;background-color:#F0AD4E}.__react_component_tooltip.type-warning.place-top:after{border-top-color:#F0AD4E;border-top-style:solid;border-top-width:6px}.__react_component_tooltip.type-warning.place-bottom:after{border-bottom-color:#F0AD4E;border-bottom-style:solid;border-bottom-width:6px}.__react_component_tooltip.type-warning.place-left:after{border-left-color:#F0AD4E;border-left-style:solid;border-left-width:6px}.__react_component_tooltip.type-warning.place-right:after{border-right-color:#F0AD4E;border-right-style:solid;border-right-width:6px}.__react_component_tooltip.type-warning.border{border:1px solid #fff}.__react_component_tooltip.type-warning.border.place-top:before{border-top:8px solid #fff}.__react_component_tooltip.type-warning.border.place-bottom:before{border-bottom:8px solid #fff}.__react_component_tooltip.type-warning.border.place-left:before{border-left:8px solid #fff}.__react_component_tooltip.type-warning.border.place-right:before{border-right:8px solid #fff}.__react_component_tooltip.type-error{color:#fff;background-color:#BE6464}.__react_component_tooltip.type-error.place-top:after{border-top-color:#BE6464;border-top-style:solid;border-top-width:6px}.__react_component_tooltip.type-error.place-bottom:after{border-bottom-color:#BE6464;border-bottom-style:solid;border-bottom-width:6px}.__react_component_tooltip.type-error.place-left:after{border-left-color:#BE6464;border-left-style:solid;border-left-width:6px}.__react_component_tooltip.type-error.place-right:after{border-right-color:#BE6464;border-right-style:solid;border-right-width:6px}.__react_component_tooltip.type-error.border{border:1px solid #fff}.__react_component_tooltip.type-error.border.place-top:before{border-top:8px solid #fff}.__react_component_tooltip.type-error.border.place-bottom:before{border-bottom:8px solid #fff}.__react_component_tooltip.type-error.border.place-left:before{border-left:8px solid #fff}.__react_component_tooltip.type-error.border.place-right:before{border-right:8px solid #fff}.__react_component_tooltip.type-info{color:#fff;background-color:#337AB7}.__react_component_tooltip.type-info.place-top:after{border-top-color:#337AB7;border-top-style:solid;border-top-width:6px}.__react_component_tooltip.type-info.place-bottom:after{border-bottom-color:#337AB7;border-bottom-style:solid;border-bottom-width:6px}.__react_component_tooltip.type-info.place-left:after{border-left-color:#337AB7;border-left-style:solid;border-left-width:6px}.__react_component_tooltip.type-info.place-right:after{border-right-color:#337AB7;border-right-style:solid;border-right-width:6px}.__react_component_tooltip.type-info.border{border:1px solid #fff}.__react_component_tooltip.type-info.border.place-top:before{border-top:8px solid #fff}.__react_component_tooltip.type-info.border.place-bottom:before{border-bottom:8px solid #fff}.__react_component_tooltip.type-info.border.place-left:before{border-left:8px solid #fff}.__react_component_tooltip.type-info.border.place-right:before{border-right:8px solid #fff}.__react_component_tooltip.type-light{color:#222;background-color:#fff}.__react_component_tooltip.type-light.place-top:after{border-top-color:#fff;border-top-style:solid;border-top-width:6px}.__react_component_tooltip.type-light.place-bottom:after{border-bottom-color:#fff;border-bottom-style:solid;border-bottom-width:6px}.__react_component_tooltip.type-light.place-left:after{border-left-color:#fff;border-left-style:solid;border-left-width:6px}.__react_component_tooltip.type-light.place-right:after{border-right-color:#fff;border-right-style:solid;border-right-width:6px}.__react_component_tooltip.type-light.border{border:1px solid #222}.__react_component_tooltip.type-light.border.place-top:before{border-top:8px solid #222}.__react_component_tooltip.type-light.border.place-bottom:before{border-bottom:8px solid #222}.__react_component_tooltip.type-light.border.place-left:before{border-left:8px solid #222}.__react_component_tooltip.type-light.border.place-right:before{border-right:8px solid #222}.__react_component_tooltip.place-top{margin-top:-10px}.__react_component_tooltip.place-top:before{border-left:10px solid transparent;border-right:10px solid transparent;bottom:-8px;left:50%;margin-left:-10px}.__react_component_tooltip.place-top:after{border-left:8px solid transparent;border-right:8px solid transparent;bottom:-6px;left:50%;margin-left:-8px}.__react_component_tooltip.place-bottom{margin-top:10px}.__react_component_tooltip.place-bottom:before{border-left:10px solid transparent;border-right:10px solid transparent;top:-8px;left:50%;margin-left:-10px}.__react_component_tooltip.place-bottom:after{border-left:8px solid transparent;border-right:8px solid transparent;top:-6px;left:50%;margin-left:-8px}.__react_component_tooltip.place-left{margin-left:-10px}.__react_component_tooltip.place-left:before{border-top:6px solid transparent;border-bottom:6px solid transparent;right:-8px;top:50%;margin-top:-5px}.__react_component_tooltip.place-left:after{border-top:5px solid transparent;border-bottom:5px solid transparent;right:-6px;top:50%;margin-top:-4px}.__react_component_tooltip.place-right{margin-left:10px}.__react_component_tooltip.place-right:before{border-top:6px solid transparent;border-bottom:6px solid transparent;left:-8px;top:50%;margin-top:-5px}.__react_component_tooltip.place-right:after{border-top:5px solid transparent;border-bottom:5px solid transparent;left:-6px;top:50%;margin-top:-4px}.__react_component_tooltip .multi-line{display:block;padding:2px 0px;text-align:center}'},{}],22:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.parseAria=parseAria;function parseAria(props){var ariaObj={};Object.keys(props).filter(function(prop){return/(^aria-\w+$|^role$)/.test(prop)}).forEach(function(prop){ariaObj[prop]=props[prop]});return ariaObj}},{}],23:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(e,target,node,place,desiredPlace,effect,offset){var _getDimensions=getDimensions(node),tipWidth=_getDimensions.width,tipHeight=_getDimensions.height;var _getDimensions2=getDimensions(target),targetWidth=_getDimensions2.width,targetHeight=_getDimensions2.height;var _getCurrentOffset=getCurrentOffset(e,target,effect),mouseX=_getCurrentOffset.mouseX,mouseY=_getCurrentOffset.mouseY;var defaultOffset=getDefaultPosition(effect,targetWidth,targetHeight,tipWidth,tipHeight);var _calculateOffset=calculateOffset(offset),extraOffset_X=_calculateOffset.extraOffset_X,extraOffset_Y=_calculateOffset.extraOffset_Y;var windowWidth=window.innerWidth;var windowHeight=window.innerHeight;var _getParent=getParent(node),parentTop=_getParent.parentTop,parentLeft=_getParent.parentLeft;var getTipOffsetLeft=function getTipOffsetLeft(place){var offset_X=defaultOffset[place].l;return mouseX+offset_X+extraOffset_X};var getTipOffsetRight=function getTipOffsetRight(place){var offset_X=defaultOffset[place].r;return mouseX+offset_X+extraOffset_X};var getTipOffsetTop=function getTipOffsetTop(place){var offset_Y=defaultOffset[place].t;return mouseY+offset_Y+extraOffset_Y};var getTipOffsetBottom=function getTipOffsetBottom(place){var offset_Y=defaultOffset[place].b;return mouseY+offset_Y+extraOffset_Y};var outsideLeft=function outsideLeft(p){return getTipOffsetLeft(p)<0};var outsideRight=function outsideRight(p){return getTipOffsetRight(p)>windowWidth};var outsideTop=function outsideTop(p){return getTipOffsetTop(p)<0};var outsideBottom=function outsideBottom(p){return getTipOffsetBottom(p)>windowHeight};var outside=function outside(p){return outsideLeft(p)||outsideRight(p)||outsideTop(p)||outsideBottom(p)};var inside=function inside(p){return!outside(p)};var placesList=["top","bottom","left","right"];var insideList=[];for(var i=0;i<4;i++){var p=placesList[i];if(inside(p)){insideList.push(p)}}var isNewState=false;var newPlace=void 0;var shouldUpdatePlace=desiredPlace!==place;if(inside(desiredPlace)&&shouldUpdatePlace){isNewState=true;newPlace=desiredPlace}else if(insideList.length>0&&shouldUpdatePlace&&outside(desiredPlace)&&outside(place)){isNewState=true;newPlace=insideList[0]}if(isNewState){return{isNewState:true,newState:{place:newPlace}}}return{isNewState:false,position:{left:parseInt(getTipOffsetLeft(place)-parentLeft,10),top:parseInt(getTipOffsetTop(place)-parentTop,10)}}}
|
|
3
|
-
;var getDimensions=function getDimensions(node){var _node$getBoundingClie=node.getBoundingClientRect(),height=_node$getBoundingClie.height,width=_node$getBoundingClie.width;return{height:parseInt(height,10),width:parseInt(width,10)}};var getCurrentOffset=function getCurrentOffset(e,currentTarget,effect){var boundingClientRect=currentTarget.getBoundingClientRect();var targetTop=boundingClientRect.top;var targetLeft=boundingClientRect.left;var _getDimensions3=getDimensions(currentTarget),targetWidth=_getDimensions3.width,targetHeight=_getDimensions3.height;if(effect==="float"){return{mouseX:e.clientX,mouseY:e.clientY}}return{mouseX:targetLeft+targetWidth/2,mouseY:targetTop+targetHeight/2}};var getDefaultPosition=function getDefaultPosition(effect,targetWidth,targetHeight,tipWidth,tipHeight){var top=void 0;var right=void 0;var bottom=void 0;var left=void 0;var disToMouse=3;var triangleHeight=2;var cursorHeight=12;if(effect==="float"){top={l:-(tipWidth/2),r:tipWidth/2,t:-(tipHeight+disToMouse+triangleHeight),b:-disToMouse};bottom={l:-(tipWidth/2),r:tipWidth/2,t:disToMouse+cursorHeight,b:tipHeight+disToMouse+triangleHeight+cursorHeight};left={l:-(tipWidth+disToMouse+triangleHeight),r:-disToMouse,t:-(tipHeight/2),b:tipHeight/2};right={l:disToMouse,r:tipWidth+disToMouse+triangleHeight,t:-(tipHeight/2),b:tipHeight/2}}else if(effect==="solid"){top={l:-(tipWidth/2),r:tipWidth/2,t:-(targetHeight/2+tipHeight+triangleHeight),b:-(targetHeight/2)};bottom={l:-(tipWidth/2),r:tipWidth/2,t:targetHeight/2,b:targetHeight/2+tipHeight+triangleHeight};left={l:-(tipWidth+targetWidth/2+triangleHeight),r:-(targetWidth/2),t:-(tipHeight/2),b:tipHeight/2};right={l:targetWidth/2,r:tipWidth+targetWidth/2+triangleHeight,t:-(tipHeight/2),b:tipHeight/2}}return{top:top,bottom:bottom,left:left,right:right}};var calculateOffset=function calculateOffset(offset){var extraOffset_X=0;var extraOffset_Y=0;if(Object.prototype.toString.apply(offset)==="[object String]"){offset=JSON.parse(offset.toString().replace(/\'/g,'"'))}for(var key in offset){if(key==="top"){extraOffset_Y-=parseInt(offset[key],10)}else if(key==="bottom"){extraOffset_Y+=parseInt(offset[key],10)}else if(key==="left"){extraOffset_X-=parseInt(offset[key],10)}else if(key==="right"){extraOffset_X+=parseInt(offset[key],10)}}return{extraOffset_X:extraOffset_X,extraOffset_Y:extraOffset_Y}};var getParent=function getParent(currentTarget){var currentParent=currentTarget;while(currentParent){if(window.getComputedStyle(currentParent).getPropertyValue("transform")!=="none")break;currentParent=currentParent.parentElement}var parentTop=currentParent&¤tParent.getBoundingClientRect().top||0;var parentLeft=currentParent&¤tParent.getBoundingClientRect().left||0;return{parentTop:parentTop,parentLeft:parentLeft}}},{}],24:[function(require,module,exports){(function(global){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(tip,children,getContent,multiline){if(children)return children;if(getContent!==undefined&&getContent!==null)return getContent;if(getContent===null)return null;var regexp=/<br\s*\/?>/;if(!multiline||multiline==="false"||!regexp.test(tip)){return tip}return tip.split(regexp).map(function(d,i){return _react2.default.createElement("span",{key:i,className:"multi-line"},d)})};var _react=typeof window!=="undefined"?window["React"]:typeof global!=="undefined"?global["React"]:null;var _react2=_interopRequireDefault(_react);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],25:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(nodeList){var length=nodeList.length;if(nodeList.hasOwnProperty){return Array.prototype.slice.call(nodeList)}return new Array(length).fill().map(function(index){return nodeList[index]})}},{}]},{},[20])(20)});
|