/*! * bootstrap util.js v4.6.0 (https://getbootstrap.com/) * copyright 2011-2021 the bootstrap authors (https://github.com/twbs/bootstrap/graphs/contributors) * licensed under mit (https://github.com/twbs/bootstrap/blob/main/license) */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery')) : typeof define === 'function' && define.amd ? define(['jquery'], factory) : (global = typeof globalthis !== 'undefined' ? globalthis : global || self, global.util = factory(global.jquery)); }(this, (function ($) { 'use strict'; function _interopdefaultlegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var $__default = /*#__pure__*/_interopdefaultlegacy($); /** * -------------------------------------------------------------------------- * bootstrap (v4.6.0): util.js * licensed under mit (https://github.com/twbs/bootstrap/blob/main/license) * -------------------------------------------------------------------------- */ /** * ------------------------------------------------------------------------ * private transitionend helpers * ------------------------------------------------------------------------ */ var transition_end = 'transitionend'; var max_uid = 1000000; var milliseconds_multiplier = 1000; // shoutout anguscroll (https://goo.gl/pxwqgp) function totype(obj) { if (obj === null || typeof obj === 'undefined') { return "" + 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 ($__default['default'](event.target).is(this)) { return event.handleobj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params } return undefined; } }; } function transitionendemulator(duration) { var _this = this; var called = false; $__default['default'](this).one(util.transition_end, function () { called = true; }); settimeout(function () { if (!called) { util.triggertransitionend(_this); } }, duration); return this; } function settransitionendsupport() { $__default['default'].fn.emulatetransitionend = transitionendemulator; $__default['default'].event.special[util.transition_end] = getspecialtransitionendevent(); } /** * -------------------------------------------------------------------------- * public util api * -------------------------------------------------------------------------- */ var util = { transition_end: 'bstransitionend', getuid: function getuid(prefix) { do { 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 === '#') { var hrefattr = element.getattribute('href'); selector = hrefattr && hrefattr !== '#' ? hrefattr.trim() : ''; } try { return document.queryselector(selector) ? selector : null; } catch (_) { return null; } }, gettransitiondurationfromelement: function gettransitiondurationfromelement(element) { if (!element) { return 0; } // get transition-duration of the element var transitionduration = $__default['default'](element).css('transition-duration'); var transitiondelay = $__default['default'](element).css('transition-delay'); var floattransitionduration = parsefloat(transitionduration); var floattransitiondelay = parsefloat(transitiondelay); // return 0 if element or transition duration is not found if (!floattransitionduration && !floattransitiondelay) { return 0; } // if multiple durations are defined, take the first transitionduration = transitionduration.split(',')[0]; transitiondelay = transitiondelay.split(',')[0]; return (parsefloat(transitionduration) + parsefloat(transitiondelay)) * milliseconds_multiplier; }, reflow: function reflow(element) { return element.offsetheight; }, triggertransitionend: function triggertransitionend(element) { $__default['default'](element).trigger(transition_end); }, 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 + "\".")); } } } }, findshadowroot: function findshadowroot(element) { if (!document.documentelement.attachshadow) { return null; } // can find the shadow root otherwise it'll return the document if (typeof element.getrootnode === 'function') { var root = element.getrootnode(); return root instanceof shadowroot ? root : null; } if (element instanceof shadowroot) { return element; } // when we don't find a shadow root if (!element.parentnode) { return null; } return util.findshadowroot(element.parentnode); }, jquerydetection: function jquerydetection() { if (typeof $__default['default'] === 'undefined') { throw new typeerror('bootstrap\'s javascript requires jquery. jquery must be included before bootstrap\'s javascript.'); } var version = $__default['default'].fn.jquery.split(' ')[0].split('.'); var minmajor = 1; var ltmajor = 2; var minminor = 9; var minpatch = 1; var maxmajor = 4; if (version[0] < ltmajor && version[1] < minminor || version[0] === minmajor && version[1] === minminor && version[2] < minpatch || version[0] >= maxmajor) { throw new error('bootstrap\'s javascript requires at least jquery v1.9.1 but less than v4.0.0'); } } }; util.jquerydetection(); settransitionendsupport(); return util; }))); //# sourcemappingurl=util.js.map