/groupChat/node_modules/bootstrap/js/dist/util.js |
@@ -0,0 +1,144 @@ |
(function (global, factory) { |
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery')) : |
typeof define === 'function' && define.amd ? define(['jquery'], factory) : |
(global.Util = factory(global.jQuery)); |
}(this, (function ($) { 'use strict'; |
|
$ = $ && $.hasOwnProperty('default') ? $['default'] : $; |
|
/** |
* -------------------------------------------------------------------------- |
* Bootstrap (v4.1.3): util.js |
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) |
* -------------------------------------------------------------------------- |
*/ |
|
var Util = function ($$$1) { |
/** |
* ------------------------------------------------------------------------ |
* Private TransitionEnd Helpers |
* ------------------------------------------------------------------------ |
*/ |
var TRANSITION_END = 'transitionend'; |
var MAX_UID = 1000000; |
var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp) |
|
function toType(obj) { |
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); |
} |
|
function getSpecialTransitionEndEvent() { |
return { |
bindType: TRANSITION_END, |
delegateType: TRANSITION_END, |
handle: function handle(event) { |
if ($$$1(event.target).is(this)) { |
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params |
} |
|
return undefined; // eslint-disable-line no-undefined |
} |
}; |
} |
|
function transitionEndEmulator(duration) { |
var _this = this; |
|
var called = false; |
$$$1(this).one(Util.TRANSITION_END, function () { |
called = true; |
}); |
setTimeout(function () { |
if (!called) { |
Util.triggerTransitionEnd(_this); |
} |
}, duration); |
return this; |
} |
|
function setTransitionEndSupport() { |
$$$1.fn.emulateTransitionEnd = transitionEndEmulator; |
$$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); |
} |
/** |
* -------------------------------------------------------------------------- |
* Public Util Api |
* -------------------------------------------------------------------------- |
*/ |
|
|
var Util = { |
TRANSITION_END: 'bsTransitionEnd', |
getUID: function getUID(prefix) { |
do { |
// eslint-disable-next-line no-bitwise |
prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here |
} while (document.getElementById(prefix)); |
|
return prefix; |
}, |
getSelectorFromElement: function getSelectorFromElement(element) { |
var selector = element.getAttribute('data-target'); |
|
if (!selector || selector === '#') { |
selector = element.getAttribute('href') || ''; |
} |
|
try { |
return document.querySelector(selector) ? selector : null; |
} catch (err) { |
return null; |
} |
}, |
getTransitionDurationFromElement: function getTransitionDurationFromElement(element) { |
if (!element) { |
return 0; |
} // Get transition-duration of the element |
|
|
var transitionDuration = $$$1(element).css('transition-duration'); |
var floatTransitionDuration = parseFloat(transitionDuration); // Return 0 if element or transition duration is not found |
|
if (!floatTransitionDuration) { |
return 0; |
} // If multiple durations are defined, take the first |
|
|
transitionDuration = transitionDuration.split(',')[0]; |
return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER; |
}, |
reflow: function reflow(element) { |
return element.offsetHeight; |
}, |
triggerTransitionEnd: function triggerTransitionEnd(element) { |
$$$1(element).trigger(TRANSITION_END); |
}, |
// TODO: Remove in v5 |
supportsTransitionEnd: function supportsTransitionEnd() { |
return Boolean(TRANSITION_END); |
}, |
isElement: function isElement(obj) { |
return (obj[0] || obj).nodeType; |
}, |
typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { |
for (var property in configTypes) { |
if (Object.prototype.hasOwnProperty.call(configTypes, property)) { |
var expectedTypes = configTypes[property]; |
var value = config[property]; |
var valueType = value && Util.isElement(value) ? 'element' : toType(value); |
|
if (!new RegExp(expectedTypes).test(valueType)) { |
throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); |
} |
} |
} |
} |
}; |
setTransitionEndSupport(); |
return Util; |
}($); |
|
return Util; |
|
}))); |
//# sourceMappingURL=util.js.map |