1
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 e ( t , n , r ) { function s ( o , u ) { if ( ! n [ o ] ) { if ( ! t [ o ] ) { var a = typeof require == "function" && require ; if ( ! u && a ) return a ( o , ! 0 ) ; if ( i ) return i ( o , ! 0 ) ; var f = new Error ( "Cannot find module '" + o + "'" ) ; throw f . code = "MODULE_NOT_FOUND" , f } var l = n [ o ] = { exports :{ } } ; t [ o ] [ 0 ] . call ( l . exports , function ( e ) { var n = t [ o ] [ 1 ] [ e ] ; return s ( n ?n :e ) } , l , l . exports , e , t , n , r ) } return n [ o ] . exports } var i = typeof require == "function" && require ; for ( var o = 0 ; o < r . length ; o ++ ) s ( r [ o ] ) ; return s } ) ( { 1 :[ function ( require , module , exports ) {
2
2
/*!
3
- Copyright (c) 2016 Jed Watson.
3
+ Copyright (c) 2015 Jed Watson.
4
4
Licensed under the MIT License (MIT), see
5
5
http://jedwatson.github.io/classnames
6
6
*/
7
- /* global define */
8
7
9
- ( function ( ) {
10
- 'use strict' ;
8
+ function classNames ( ) {
9
+ var classes = '' ;
10
+ var arg ;
11
11
12
- var hasOwn = { } . hasOwnProperty ;
13
-
14
- function classNames ( ) {
15
- var classes = [ ] ;
16
-
17
- for ( var i = 0 ; i < arguments . length ; i ++ ) {
18
- var arg = arguments [ i ] ;
19
- if ( ! arg ) continue ;
20
-
21
- var argType = typeof arg ;
12
+ for ( var i = 0 ; i < arguments . length ; i ++ ) {
13
+ arg = arguments [ i ] ;
14
+ if ( ! arg ) {
15
+ continue ;
16
+ }
22
17
23
- if ( argType === 'string' || argType === 'number' ) {
24
- classes . push ( arg ) ;
25
- } else if ( Array . isArray ( arg ) ) {
26
- classes . push ( classNames . apply ( null , arg ) ) ;
27
- } else if ( argType === 'object' ) {
28
- for ( var key in arg ) {
29
- if ( hasOwn . call ( arg , key ) && arg [ key ] ) {
30
- classes . push ( key ) ;
31
- }
18
+ if ( 'string' === typeof arg || 'number' === typeof arg ) {
19
+ classes += ' ' + arg ;
20
+ } else if ( Object . prototype . toString . call ( arg ) === '[object Array]' ) {
21
+ classes += ' ' + classNames . apply ( null , arg ) ;
22
+ } else if ( 'object' === typeof arg ) {
23
+ for ( var key in arg ) {
24
+ if ( ! arg . hasOwnProperty ( key ) || ! arg [ key ] ) {
25
+ continue ;
32
26
}
27
+ classes += ' ' + key ;
33
28
}
34
29
}
35
-
36
- return classes . join ( ' ' ) ;
37
30
}
31
+ return classes . substr ( 1 ) ;
32
+ }
38
33
39
- if ( typeof module !== 'undefined' && module . exports ) {
40
- module . exports = classNames ;
41
- } else if ( typeof define === 'function' && typeof define . amd === 'object' && define . amd ) {
42
- // register as 'classnames', consistent with npm package name
43
- define ( 'classnames' , [ ] , function ( ) {
44
- return classNames ;
45
- } ) ;
46
- } else {
47
- window . classNames = classNames ;
48
- }
49
- } ( ) ) ;
34
+ // safely export classNames for node / browserify
35
+ if ( typeof module !== 'undefined' && module . exports ) {
36
+ module . exports = classNames ;
37
+ }
38
+
39
+ // safely export classNames for RequireJS
40
+ if ( typeof define !== 'undefined' && define . amd ) {
41
+ define ( 'classnames' , [ ] , function ( ) {
42
+ return classNames ;
43
+ } ) ;
44
+ }
50
45
51
46
} , { } ] , 2 :[ function ( require , module , exports ) {
52
47
( function ( global ) {
@@ -153,6 +148,7 @@ var ReactTooltip = function (_Component) {
153
148
delayHide : 0 ,
154
149
delayShow : 0 ,
155
150
event : props . event || null ,
151
+ eventOff : props . eventOff || null ,
156
152
isCapture : props . isCapture || false
157
153
} ;
158
154
_this . delayShowLoop = null ;
@@ -222,15 +218,23 @@ var ReactTooltip = function (_Component) {
222
218
value : function bindListener ( ) {
223
219
var targetArray = this . getTargetArray ( ) ;
224
220
225
- var dataEvent = void 0 ;
221
+ var dataEvent = undefined ;
222
+ var dataEventOff = undefined ;
226
223
for ( var i = 0 ; i < targetArray . length ; i ++ ) {
227
224
if ( targetArray [ i ] . getAttribute ( 'currentItem' ) === null ) {
228
225
targetArray [ i ] . setAttribute ( 'currentItem' , 'false' ) ;
229
226
}
230
227
dataEvent = this . state . event || targetArray [ i ] . getAttribute ( 'data-event' ) ;
231
228
if ( dataEvent ) {
229
+ // if off event is specified, we will show tip on data-event and hide it on data-event-off
230
+ dataEventOff = this . state . eventOff || targetArray [ i ] . getAttribute ( 'data-event-off' ) ;
231
+
232
232
targetArray [ i ] . removeEventListener ( dataEvent , this . checkStatus ) ;
233
233
targetArray [ i ] . addEventListener ( dataEvent , this . checkStatus , false ) ;
234
+ if ( dataEventOff ) {
235
+ targetArray [ i ] . removeEventListener ( dataEventOff , this . hideTooltip ) ;
236
+ targetArray [ i ] . addEventListener ( dataEventOff , this . hideTooltip , false ) ;
237
+ }
234
238
} else {
235
239
targetArray [ i ] . removeEventListener ( 'mouseenter' , this . showTooltip ) ;
236
240
targetArray [ i ] . addEventListener ( 'mouseenter' , this . showTooltip , false ) ;
@@ -249,7 +253,7 @@ var ReactTooltip = function (_Component) {
249
253
key : 'unbindListener' ,
250
254
value : function unbindListener ( ) {
251
255
var targetArray = document . querySelectorAll ( '[data-tip]' ) ;
252
- var dataEvent = void 0 ;
256
+ var dataEvent = undefined ;
253
257
254
258
for ( var i = 0 ; i < targetArray . length ; i ++ ) {
255
259
dataEvent = this . state . event || targetArray [ i ] . getAttribute ( 'data-event' ) ;
@@ -272,7 +276,7 @@ var ReactTooltip = function (_Component) {
272
276
value : function getTargetArray ( ) {
273
277
var id = this . props . id ;
274
278
275
- var targetArray = void 0 ;
279
+ var targetArray = undefined ;
276
280
277
281
if ( id === undefined ) {
278
282
targetArray = document . querySelectorAll ( '[data-tip]:not([data-for])' ) ;
@@ -321,7 +325,7 @@ var ReactTooltip = function (_Component) {
321
325
value : function checkStatus ( e ) {
322
326
var show = this . state . show ;
323
327
324
- var isCapture = void 0 ;
328
+ var isCapture = undefined ;
325
329
326
330
if ( e . currentTarget . getAttribute ( 'data-iscapture' ) ) {
327
331
isCapture = e . currentTarget . getAttribute ( 'data-iscapture' ) === 'true' ;
@@ -372,7 +376,7 @@ var ReactTooltip = function (_Component) {
372
376
/* Detect multiline */
373
377
var regexp = / < b r \s * \/ ? > / ;
374
378
var multiline = e . currentTarget . getAttribute ( 'data-multiline' ) ? e . currentTarget . getAttribute ( 'data-multiline' ) : this . props . multiline ? this . props . multiline : false ;
375
- var tooltipText = void 0 ;
379
+ var tooltipText = undefined ;
376
380
var multilineCount = 0 ;
377
381
if ( ! multiline || multiline === 'false' || ! regexp . test ( originTooltip ) ) {
378
382
tooltipText = originTooltip ;
@@ -507,8 +511,8 @@ var ReactTooltip = function (_Component) {
507
511
var targetHeight = currentTarget . clientHeight ;
508
512
var windoWidth = window . innerWidth ;
509
513
var windowHeight = window . innerHeight ;
510
- var x = void 0 ;
511
- var y = void 0 ;
514
+ var x = undefined ;
515
+ var y = undefined ;
512
516
var defaultTopY = targetTop - tipHeight - 8 ;
513
517
var defaultBottomY = targetTop + targetHeight + 8 ;
514
518
var defaultLeftX = targetLeft - tipWidth - 6 ;
@@ -780,8 +784,8 @@ var ReactTooltip = function (_Component) {
780
784
}
781
785
firstCount ++ ;
782
786
}
783
- for ( var _i = string . length - 1 ; _i >= 0 ; _i -- ) {
784
- if ( string [ _i ] !== ' ' ) {
787
+ for ( var i = string . length - 1 ; i >= 0 ; i -- ) {
788
+ if ( string [ i ] !== ' ' ) {
785
789
break ;
786
790
}
787
791
lastCount ++ ;
@@ -809,6 +813,7 @@ ReactTooltip.propTypes = {
809
813
delayHide : _react . PropTypes . number ,
810
814
delayShow : _react . PropTypes . number ,
811
815
event : _react . PropTypes . any ,
816
+ eventOff : _react . PropTypes . any ,
812
817
watchWindow : _react . PropTypes . bool ,
813
818
isCapture : _react . PropTypes . bool
814
819
} ;
0 commit comments