11/**!
22 * @fileOverview Kickass library to create and place poppers near their reference elements.
3- * @version 1.12.6
3+ * @version 1.12.9
44 * @license
55 * Copyright (c) 2016 Federico Zivolo and contributors
66 *
2222 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2323 * SOFTWARE.
2424 */
25- var isBrowser = typeof window !== 'undefined' && typeof window . document !== 'undefined' ;
25+ var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' ;
2626var longerTimeoutBrowsers = [ 'Edge' , 'Trident' , 'Firefox' ] ;
2727var timeoutDuration = 0 ;
2828for ( var i = 0 ; i < longerTimeoutBrowsers . length ; i += 1 ) {
@@ -39,7 +39,7 @@ function microtaskDebounce(fn) {
3939 return ;
4040 }
4141 called = true ;
42- Promise . resolve ( ) . then ( function ( ) {
42+ window . Promise . resolve ( ) . then ( function ( ) {
4343 called = false ;
4444 fn ( ) ;
4545 } ) ;
@@ -96,7 +96,7 @@ function getStyleComputedProperty(element, property) {
9696 return [ ] ;
9797 }
9898 // NOTE: 1 DOM access here
99- var css = window . getComputedStyle ( element , null ) ;
99+ var css = getComputedStyle ( element , null ) ;
100100 return property ? css [ property ] : css ;
101101}
102102
@@ -124,7 +124,7 @@ function getParentNode(element) {
124124function getScrollParent ( element ) {
125125 // Return body, `getScroll` will take care to get the correct `scrollTop` from it
126126 if ( ! element ) {
127- return window . document . body ;
127+ return document . body ;
128128 }
129129
130130 switch ( element . nodeName ) {
@@ -166,7 +166,7 @@ function getOffsetParent(element) {
166166 return element . ownerDocument . documentElement ;
167167 }
168168
169- return window . document . documentElement ;
169+ return document . documentElement ;
170170 }
171171
172172 // .offsetParent will return the closest TD or TABLE in case
@@ -213,7 +213,7 @@ function getRoot(node) {
213213function findCommonOffsetParent ( element1 , element2 ) {
214214 // This check is needed to avoid errors in case one of the elements isn't defined for any reason
215215 if ( ! element1 || ! element1 . nodeType || ! element2 || ! element2 . nodeType ) {
216- return window . document . documentElement ;
216+ return document . documentElement ;
217217 }
218218
219219 // Here we make sure to give as "start" the element that comes first in the DOM
@@ -305,7 +305,7 @@ function getBordersSize(styles, axis) {
305305 var sideA = axis === 'x' ? 'Left' : 'Top' ;
306306 var sideB = sideA === 'Left' ? 'Right' : 'Bottom' ;
307307
308- return + styles [ 'border' + sideA + 'Width' ] . split ( 'px' ) [ 0 ] + + styles [ 'border' + sideB + 'Width' ] . split ( 'px' ) [ 0 ] ;
308+ return parseFloat ( styles [ 'border' + sideA + 'Width' ] , 10 ) + parseFloat ( styles [ 'border' + sideB + 'Width' ] , 10 ) ;
309309}
310310
311311/**
@@ -328,9 +328,9 @@ function getSize(axis, body, html, computedStyle) {
328328}
329329
330330function getWindowSizes ( ) {
331- var body = window . document . body ;
332- var html = window . document . documentElement ;
333- var computedStyle = isIE10$1 ( ) && window . getComputedStyle ( html ) ;
331+ var body = document . body ;
332+ var html = document . documentElement ;
333+ var computedStyle = isIE10$1 ( ) && getComputedStyle ( html ) ;
334334
335335 return {
336336 height : getSize ( 'Height' , body , html , computedStyle ) ,
@@ -473,8 +473,8 @@ function getOffsetRectRelativeToArbitraryNode(children, parent) {
473473 var scrollParent = getScrollParent ( children ) ;
474474
475475 var styles = getStyleComputedProperty ( parent ) ;
476- var borderTopWidth = + styles . borderTopWidth . split ( 'px' ) [ 0 ] ;
477- var borderLeftWidth = + styles . borderLeftWidth . split ( 'px' ) [ 0 ] ;
476+ var borderTopWidth = parseFloat ( styles . borderTopWidth , 10 ) ;
477+ var borderLeftWidth = parseFloat ( styles . borderLeftWidth , 10 ) ;
478478
479479 var offsets = getClientRect ( {
480480 top : childrenRect . top - parentRect . top - borderTopWidth ,
@@ -490,8 +490,8 @@ function getOffsetRectRelativeToArbitraryNode(children, parent) {
490490 // differently when margins are applied to it. The margins are included in
491491 // the box of the documentElement, in the other cases not.
492492 if ( ! isIE10 && isHTML ) {
493- var marginTop = + styles . marginTop . split ( 'px' ) [ 0 ] ;
494- var marginLeft = + styles . marginLeft . split ( 'px' ) [ 0 ] ;
493+ var marginTop = parseFloat ( styles . marginTop , 10 ) ;
494+ var marginLeft = parseFloat ( styles . marginLeft , 10 ) ;
495495
496496 offsets . top -= borderTopWidth - marginTop ;
497497 offsets . bottom -= borderTopWidth - marginTop ;
@@ -570,7 +570,7 @@ function getBoundaries(popper, reference, padding, boundariesElement) {
570570 // Handle other cases based on DOM element used as boundaries
571571 var boundariesNode = void 0 ;
572572 if ( boundariesElement === 'scrollParent' ) {
573- boundariesNode = getScrollParent ( getParentNode ( popper ) ) ;
573+ boundariesNode = getScrollParent ( getParentNode ( reference ) ) ;
574574 if ( boundariesNode . nodeName === 'BODY' ) {
575575 boundariesNode = popper . ownerDocument . documentElement ;
576576 }
@@ -696,7 +696,7 @@ function getReferenceOffsets(state, popper, reference) {
696696 * @returns {Object } object containing width and height properties
697697 */
698698function getOuterSizes ( element ) {
699- var styles = window . getComputedStyle ( element ) ;
699+ var styles = getComputedStyle ( element ) ;
700700 var x = parseFloat ( styles . marginTop ) + parseFloat ( styles . marginBottom ) ;
701701 var y = parseFloat ( styles . marginLeft ) + parseFloat ( styles . marginRight ) ;
702702 var result = {
@@ -913,7 +913,7 @@ function getSupportedPropertyName(property) {
913913 for ( var i = 0 ; i < prefixes . length - 1 ; i ++ ) {
914914 var prefix = prefixes [ i ] ;
915915 var toCheck = prefix ? '' + prefix + upperProp : property ;
916- if ( typeof window . document . body . style [ toCheck ] !== 'undefined' ) {
916+ if ( typeof document . body . style [ toCheck ] !== 'undefined' ) {
917917 return toCheck ;
918918 }
919919 }
@@ -1032,7 +1032,7 @@ function removeEventListeners(reference, state) {
10321032 */
10331033function disableEventListeners ( ) {
10341034 if ( this . state . eventsEnabled ) {
1035- window . cancelAnimationFrame ( this . scheduleUpdate ) ;
1035+ cancelAnimationFrame ( this . scheduleUpdate ) ;
10361036 this . state = removeEventListeners ( this . reference , this . state ) ;
10371037 }
10381038}
@@ -1272,6 +1272,8 @@ function isModifierRequired(modifiers, requestingName, requestedName) {
12721272 * @returns {Object } The data object, properly modified
12731273 */
12741274function arrow ( data , options ) {
1275+ var _data$offsets$arrow ;
1276+
12751277 // arrow depends on keepTogether in order to work
12761278 if ( ! isModifierRequired ( data . instance . modifiers , 'arrow' , 'keepTogether' ) ) {
12771279 return data ;
@@ -1323,22 +1325,23 @@ function arrow(data, options) {
13231325 if ( reference [ side ] + arrowElementSize > popper [ opSide ] ) {
13241326 data . offsets . popper [ side ] += reference [ side ] + arrowElementSize - popper [ opSide ] ;
13251327 }
1328+ data . offsets . popper = getClientRect ( data . offsets . popper ) ;
13261329
13271330 // compute center of the popper
13281331 var center = reference [ side ] + reference [ len ] / 2 - arrowElementSize / 2 ;
13291332
13301333 // Compute the sideValue using the updated popper offsets
13311334 // take popper margin in account because we don't have this info available
1332- var popperMarginSide = getStyleComputedProperty ( data . instance . popper , 'margin' + sideCapitalized ) . replace ( 'px' , '' ) ;
1333- var sideValue = center - getClientRect ( data . offsets . popper ) [ side ] - popperMarginSide ;
1335+ var css = getStyleComputedProperty ( data . instance . popper ) ;
1336+ var popperMarginSide = parseFloat ( css [ 'margin' + sideCapitalized ] , 10 ) ;
1337+ var popperBorderSide = parseFloat ( css [ 'border' + sideCapitalized + 'Width' ] , 10 ) ;
1338+ var sideValue = center - data . offsets . popper [ side ] - popperMarginSide - popperBorderSide ;
13341339
13351340 // prevent arrowElement from being placed not contiguously to its popper
13361341 sideValue = Math . max ( Math . min ( popper [ len ] - arrowElementSize , sideValue ) , 0 ) ;
13371342
13381343 data . arrowElement = arrowElement ;
1339- data . offsets . arrow = { } ;
1340- data . offsets . arrow [ side ] = Math . round ( sideValue ) ;
1341- data . offsets . arrow [ altSide ] = '' ; // make sure to unset any eventual altSide value from the DOM node
1344+ data . offsets . arrow = ( _data$offsets$arrow = { } , defineProperty ( _data$offsets$arrow , side , Math . round ( sideValue ) ) , defineProperty ( _data$offsets$arrow , altSide , '' ) , _data$offsets$arrow ) ;
13421345
13431346 return data ;
13441347}
@@ -2516,118 +2519,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol
25162519
25172520
25182521
2519- var asyncGenerator = function ( ) {
2520- function AwaitValue ( value ) {
2521- this . value = value ;
2522- }
2523-
2524- function AsyncGenerator ( gen ) {
2525- var front , back ;
2526-
2527- function send ( key , arg ) {
2528- return new Promise ( function ( resolve , reject ) {
2529- var request = {
2530- key : key ,
2531- arg : arg ,
2532- resolve : resolve ,
2533- reject : reject ,
2534- next : null
2535- } ;
2536-
2537- if ( back ) {
2538- back = back . next = request ;
2539- } else {
2540- front = back = request ;
2541- resume ( key , arg ) ;
2542- }
2543- } ) ;
2544- }
2545-
2546- function resume ( key , arg ) {
2547- try {
2548- var result = gen [ key ] ( arg ) ;
2549- var value = result . value ;
2550-
2551- if ( value instanceof AwaitValue ) {
2552- Promise . resolve ( value . value ) . then ( function ( arg ) {
2553- resume ( "next" , arg ) ;
2554- } , function ( arg ) {
2555- resume ( "throw" , arg ) ;
2556- } ) ;
2557- } else {
2558- settle ( result . done ? "return" : "normal" , result . value ) ;
2559- }
2560- } catch ( err ) {
2561- settle ( "throw" , err ) ;
2562- }
2563- }
2564-
2565- function settle ( type , value ) {
2566- switch ( type ) {
2567- case "return" :
2568- front . resolve ( {
2569- value : value ,
2570- done : true
2571- } ) ;
2572- break ;
2573-
2574- case "throw" :
2575- front . reject ( value ) ;
2576- break ;
2577-
2578- default :
2579- front . resolve ( {
2580- value : value ,
2581- done : false
2582- } ) ;
2583- break ;
2584- }
25852522
2586- front = front . next ;
2587-
2588- if ( front ) {
2589- resume ( front . key , front . arg ) ;
2590- } else {
2591- back = null ;
2592- }
2593- }
2594-
2595- this . _invoke = send ;
2596-
2597- if ( typeof gen . return !== "function" ) {
2598- this . return = undefined ;
2599- }
2600- }
2601-
2602- if ( typeof Symbol === "function" && Symbol . asyncIterator ) {
2603- AsyncGenerator . prototype [ Symbol . asyncIterator ] = function ( ) {
2604- return this ;
2605- } ;
2606- }
2607-
2608- AsyncGenerator . prototype . next = function ( arg ) {
2609- return this . _invoke ( "next" , arg ) ;
2610- } ;
2611-
2612- AsyncGenerator . prototype . throw = function ( arg ) {
2613- return this . _invoke ( "throw" , arg ) ;
2614- } ;
2615-
2616- AsyncGenerator . prototype . return = function ( arg ) {
2617- return this . _invoke ( "return" , arg ) ;
2618- } ;
2619-
2620- return {
2621- wrap : function ( fn ) {
2622- return function ( ) {
2623- return new AsyncGenerator ( fn . apply ( this , arguments ) ) ;
2624- } ;
2625- } ,
2626- await : function ( value ) {
2627- return new AwaitValue ( value ) ;
2628- }
2629- } ;
2630- } ( ) ;
26312523
26322524
26332525
@@ -2904,7 +2796,7 @@ var Tooltip = function () {
29042796 allowHtml ? titleNode . innerHTML = title : titleNode . innerText = title ;
29052797 }
29062798
2907- if ( directive . options . autoHide && this . options . trigger . indexOf ( 'hover' ) !== - 1 ) {
2799+ if ( this . options . autoHide && this . options . trigger . indexOf ( 'hover' ) !== - 1 ) {
29082800 tooltipNode . addEventListener ( 'mouseenter' , this . hide ) ;
29092801 tooltipNode . addEventListener ( 'click' , this . hide ) ;
29102802 }
@@ -3380,6 +3272,7 @@ function getOptions(options) {
33803272 offset : typeof options . offset !== 'undefined' ? options . offset : directive . options . defaultOffset ,
33813273 container : typeof options . container !== 'undefined' ? options . container : directive . options . defaultContainer ,
33823274 boundariesElement : typeof options . boundariesElement !== 'undefined' ? options . boundariesElement : directive . options . defaultBoundariesElement ,
3275+ autoHide : typeof options . autoHide !== 'undefined' ? options . autoHide : directive . options . autoHide ,
33833276 popperOptions : _extends$1 ( { } , typeof options . popperOptions !== 'undefined' ? options . popperOptions : directive . options . defaultPopperOptions )
33843277 } ;
33853278
@@ -3915,7 +3808,8 @@ var Popover = { render: function render() {
39153808 } ,
39163809 hide : function hide ( ) {
39173810 var _ref2 = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : { } ,
3918- event = _ref2 . event ;
3811+ event = _ref2 . event ,
3812+ _ref2$skipDelay = _ref2 . skipDelay ;
39193813
39203814 this . $_scheduleHide ( event ) ;
39213815
0 commit comments