/*! * bootstrap v4.6.2 (https://getbootstrap.com/) * copyright 2011-2022 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' ? factory(exports, require('jquery'), require('popper.js')) : typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) : (global = typeof globalthis !== 'undefined' ? globalthis : global || self, factory(global.bootstrap = {}, global.jquery, global.popper)); })(this, (function (exports, $, popper) { 'use strict'; function _interopdefaultlegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var $__default = /*#__pure__*/_interopdefaultlegacy($); var popper__default = /*#__pure__*/_interopdefaultlegacy(popper); 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); } } function _createclass(constructor, protoprops, staticprops) { if (protoprops) _defineproperties(constructor.prototype, protoprops); if (staticprops) _defineproperties(constructor, staticprops); object.defineproperty(constructor, "prototype", { writable: false }); return constructor; } function _extends() { _extends = object.assign ? object.assign.bind() : 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; }; return _extends.apply(this, arguments); } function _inheritsloose(subclass, superclass) { subclass.prototype = object.create(superclass.prototype); subclass.prototype.constructor = subclass; _setprototypeof(subclass, superclass); } function _setprototypeof(o, p) { _setprototypeof = object.setprototypeof ? object.setprototypeof.bind() : function _setprototypeof(o, p) { o.__proto__ = p; return o; }; return _setprototypeof(o, p); } /** * -------------------------------------------------------------------------- * bootstrap (v4.6.2): 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 { // 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 === '#') { 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(); /** * constants */ var name$a = 'alert'; var version$a = '4.6.2'; var data_key$a = 'bs.alert'; var event_key$a = "." + data_key$a; var data_api_key$7 = '.data-api'; var jquery_no_conflict$a = $__default["default"].fn[name$a]; var class_name_alert = 'alert'; var class_name_fade$5 = 'fade'; var class_name_show$7 = 'show'; var event_close = "close" + event_key$a; var event_closed = "closed" + event_key$a; var event_click_data_api$6 = "click" + event_key$a + data_api_key$7; var selector_dismiss = '[data-dismiss="alert"]'; /** * class definition */ var alert = /*#__pure__*/function () { function alert(element) { this._element = element; } // getters var _proto = alert.prototype; // public _proto.close = function close(element) { var rootelement = this._element; if (element) { rootelement = this._getrootelement(element); } var customevent = this._triggercloseevent(rootelement); if (customevent.isdefaultprevented()) { return; } this._removeelement(rootelement); }; _proto.dispose = function dispose() { $__default["default"].removedata(this._element, data_key$a); this._element = null; } // private ; _proto._getrootelement = function _getrootelement(element) { var selector = util.getselectorfromelement(element); var parent = false; if (selector) { parent = document.queryselector(selector); } if (!parent) { parent = $__default["default"](element).closest("." + class_name_alert)[0]; } return parent; }; _proto._triggercloseevent = function _triggercloseevent(element) { var closeevent = $__default["default"].event(event_close); $__default["default"](element).trigger(closeevent); return closeevent; }; _proto._removeelement = function _removeelement(element) { var _this = this; $__default["default"](element).removeclass(class_name_show$7); if (!$__default["default"](element).hasclass(class_name_fade$5)) { this._destroyelement(element); return; } var transitionduration = util.gettransitiondurationfromelement(element); $__default["default"](element).one(util.transition_end, function (event) { return _this._destroyelement(element, event); }).emulatetransitionend(transitionduration); }; _proto._destroyelement = function _destroyelement(element) { $__default["default"](element).detach().trigger(event_closed).remove(); } // static ; alert._jqueryinterface = function _jqueryinterface(config) { return this.each(function () { var $element = $__default["default"](this); var data = $element.data(data_key$a); if (!data) { data = new alert(this); $element.data(data_key$a, data); } if (config === 'close') { data[config](this); } }); }; alert._handledismiss = function _handledismiss(alertinstance) { return function (event) { if (event) { event.preventdefault(); } alertinstance.close(this); }; }; _createclass(alert, null, [{ key: "version", get: function get() { return version$a; } }]); return alert; }(); /** * data api implementation */ $__default["default"](document).on(event_click_data_api$6, selector_dismiss, alert._handledismiss(new alert())); /** * jquery */ $__default["default"].fn[name$a] = alert._jqueryinterface; $__default["default"].fn[name$a].constructor = alert; $__default["default"].fn[name$a].noconflict = function () { $__default["default"].fn[name$a] = jquery_no_conflict$a; return alert._jqueryinterface; }; /** * constants */ var name$9 = 'button'; var version$9 = '4.6.2'; var data_key$9 = 'bs.button'; var event_key$9 = "." + data_key$9; var data_api_key$6 = '.data-api'; var jquery_no_conflict$9 = $__default["default"].fn[name$9]; var class_name_active$3 = 'active'; var class_name_button = 'btn'; var class_name_focus = 'focus'; var event_click_data_api$5 = "click" + event_key$9 + data_api_key$6; var event_focus_blur_data_api = "focus" + event_key$9 + data_api_key$6 + " " + ("blur" + event_key$9 + data_api_key$6); var event_load_data_api$2 = "load" + event_key$9 + data_api_key$6; var selector_data_toggle_carrot = '[data-toggle^="button"]'; var selector_data_toggles = '[data-toggle="buttons"]'; var selector_data_toggle$4 = '[data-toggle="button"]'; var selector_data_toggles_buttons = '[data-toggle="buttons"] .btn'; var selector_input = 'input:not([type="hidden"])'; var selector_active$2 = '.active'; var selector_button = '.btn'; /** * class definition */ var button = /*#__pure__*/function () { function button(element) { this._element = element; this.shouldavoidtriggerchange = false; } // getters var _proto = button.prototype; // public _proto.toggle = function toggle() { var triggerchangeevent = true; var addariapressed = true; var rootelement = $__default["default"](this._element).closest(selector_data_toggles)[0]; if (rootelement) { var input = this._element.queryselector(selector_input); if (input) { if (input.type === 'radio') { if (input.checked && this._element.classlist.contains(class_name_active$3)) { triggerchangeevent = false; } else { var activeelement = rootelement.queryselector(selector_active$2); if (activeelement) { $__default["default"](activeelement).removeclass(class_name_active$3); } } } if (triggerchangeevent) { // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input if (input.type === 'checkbox' || input.type === 'radio') { input.checked = !this._element.classlist.contains(class_name_active$3); } if (!this.shouldavoidtriggerchange) { $__default["default"](input).trigger('change'); } } input.focus(); addariapressed = false; } } if (!(this._element.hasattribute('disabled') || this._element.classlist.contains('disabled'))) { if (addariapressed) { this._element.setattribute('aria-pressed', !this._element.classlist.contains(class_name_active$3)); } if (triggerchangeevent) { $__default["default"](this._element).toggleclass(class_name_active$3); } } }; _proto.dispose = function dispose() { $__default["default"].removedata(this._element, data_key$9); this._element = null; } // static ; button._jqueryinterface = function _jqueryinterface(config, avoidtriggerchange) { return this.each(function () { var $element = $__default["default"](this); var data = $element.data(data_key$9); if (!data) { data = new button(this); $element.data(data_key$9, data); } data.shouldavoidtriggerchange = avoidtriggerchange; if (config === 'toggle') { data[config](); } }); }; _createclass(button, null, [{ key: "version", get: function get() { return version$9; } }]); return button; }(); /** * data api implementation */ $__default["default"](document).on(event_click_data_api$5, selector_data_toggle_carrot, function (event) { var button = event.target; var initialbutton = button; if (!$__default["default"](button).hasclass(class_name_button)) { button = $__default["default"](button).closest(selector_button)[0]; } if (!button || button.hasattribute('disabled') || button.classlist.contains('disabled')) { event.preventdefault(); // work around firefox bug #1540995 } else { var inputbtn = button.queryselector(selector_input); if (inputbtn && (inputbtn.hasattribute('disabled') || inputbtn.classlist.contains('disabled'))) { event.preventdefault(); // work around firefox bug #1540995 return; } if (initialbutton.tagname === 'input' || button.tagname !== 'label') { button._jqueryinterface.call($__default["default"](button), 'toggle', initialbutton.tagname === 'input'); } } }).on(event_focus_blur_data_api, selector_data_toggle_carrot, function (event) { var button = $__default["default"](event.target).closest(selector_button)[0]; $__default["default"](button).toggleclass(class_name_focus, /^focus(in)?$/.test(event.type)); }); $__default["default"](window).on(event_load_data_api$2, function () { // ensure correct active class is set to match the controls' actual values/states // find all checkboxes/readio buttons inside data-toggle groups var buttons = [].slice.call(document.queryselectorall(selector_data_toggles_buttons)); for (var i = 0, len = buttons.length; i < len; i++) { var button = buttons[i]; var input = button.queryselector(selector_input); if (input.checked || input.hasattribute('checked')) { button.classlist.add(class_name_active$3); } else { button.classlist.remove(class_name_active$3); } } // find all button toggles buttons = [].slice.call(document.queryselectorall(selector_data_toggle$4)); for (var _i = 0, _len = buttons.length; _i < _len; _i++) { var _button = buttons[_i]; if (_button.getattribute('aria-pressed') === 'true') { _button.classlist.add(class_name_active$3); } else { _button.classlist.remove(class_name_active$3); } } }); /** * jquery */ $__default["default"].fn[name$9] = button._jqueryinterface; $__default["default"].fn[name$9].constructor = button; $__default["default"].fn[name$9].noconflict = function () { $__default["default"].fn[name$9] = jquery_no_conflict$9; return button._jqueryinterface; }; /** * constants */ var name$8 = 'carousel'; var version$8 = '4.6.2'; var data_key$8 = 'bs.carousel'; var event_key$8 = "." + data_key$8; var data_api_key$5 = '.data-api'; var jquery_no_conflict$8 = $__default["default"].fn[name$8]; var arrow_left_keycode = 37; // keyboardevent.which value for left arrow key var arrow_right_keycode = 39; // keyboardevent.which value for right arrow key var touchevent_compat_wait = 500; // time for mouse compat events to fire after touch var swipe_threshold = 40; var class_name_carousel = 'carousel'; var class_name_active$2 = 'active'; var class_name_slide = 'slide'; var class_name_right = 'carousel-item-right'; var class_name_left = 'carousel-item-left'; var class_name_next = 'carousel-item-next'; var class_name_prev = 'carousel-item-prev'; var class_name_pointer_event = 'pointer-event'; var direction_next = 'next'; var direction_prev = 'prev'; var direction_left = 'left'; var direction_right = 'right'; var event_slide = "slide" + event_key$8; var event_slid = "slid" + event_key$8; var event_keydown = "keydown" + event_key$8; var event_mouseenter = "mouseenter" + event_key$8; var event_mouseleave = "mouseleave" + event_key$8; var event_touchstart = "touchstart" + event_key$8; var event_touchmove = "touchmove" + event_key$8; var event_touchend = "touchend" + event_key$8; var event_pointerdown = "pointerdown" + event_key$8; var event_pointerup = "pointerup" + event_key$8; var event_drag_start = "dragstart" + event_key$8; var event_load_data_api$1 = "load" + event_key$8 + data_api_key$5; var event_click_data_api$4 = "click" + event_key$8 + data_api_key$5; var selector_active$1 = '.active'; var selector_active_item = '.active.carousel-item'; var selector_item = '.carousel-item'; var selector_item_img = '.carousel-item img'; var selector_next_prev = '.carousel-item-next, .carousel-item-prev'; var selector_indicators = '.carousel-indicators'; var selector_data_slide = '[data-slide], [data-slide-to]'; var selector_data_ride = '[data-ride="carousel"]'; var default$7 = { interval: 5000, keyboard: true, slide: false, pause: 'hover', wrap: true, touch: true }; var defaulttype$7 = { interval: '(number|boolean)', keyboard: 'boolean', slide: '(boolean|string)', pause: '(string|boolean)', wrap: 'boolean', touch: 'boolean' }; var pointertype = { touch: 'touch', pen: 'pen' }; /** * class definition */ var carousel = /*#__pure__*/function () { function carousel(element, config) { this._items = null; this._interval = null; this._activeelement = null; this._ispaused = false; this._issliding = false; this.touchtimeout = null; this.touchstartx = 0; this.touchdeltax = 0; this._config = this._getconfig(config); this._element = element; this._indicatorselement = this._element.queryselector(selector_indicators); this._touchsupported = 'ontouchstart' in document.documentelement || navigator.maxtouchpoints > 0; this._pointerevent = boolean(window.pointerevent || window.mspointerevent); this._addeventlisteners(); } // getters var _proto = carousel.prototype; // public _proto.next = function next() { if (!this._issliding) { this._slide(direction_next); } }; _proto.nextwhenvisible = function nextwhenvisible() { var $element = $__default["default"](this._element); // don't call next when the page isn't visible // or the carousel or its parent isn't visible if (!document.hidden && $element.is(':visible') && $element.css('visibility') !== 'hidden') { this.next(); } }; _proto.prev = function prev() { if (!this._issliding) { this._slide(direction_prev); } }; _proto.pause = function pause(event) { if (!event) { this._ispaused = true; } if (this._element.queryselector(selector_next_prev)) { util.triggertransitionend(this._element); this.cycle(true); } clearinterval(this._interval); this._interval = null; }; _proto.cycle = function cycle(event) { if (!event) { this._ispaused = false; } if (this._interval) { clearinterval(this._interval); this._interval = null; } if (this._config.interval && !this._ispaused) { this._updateinterval(); this._interval = setinterval((document.visibilitystate ? this.nextwhenvisible : this.next).bind(this), this._config.interval); } }; _proto.to = function to(index) { var _this = this; this._activeelement = this._element.queryselector(selector_active_item); var activeindex = this._getitemindex(this._activeelement); if (index > this._items.length - 1 || index < 0) { return; } if (this._issliding) { $__default["default"](this._element).one(event_slid, function () { return _this.to(index); }); return; } if (activeindex === index) { this.pause(); this.cycle(); return; } var direction = index > activeindex ? direction_next : direction_prev; this._slide(direction, this._items[index]); }; _proto.dispose = function dispose() { $__default["default"](this._element).off(event_key$8); $__default["default"].removedata(this._element, data_key$8); this._items = null; this._config = null; this._element = null; this._interval = null; this._ispaused = null; this._issliding = null; this._activeelement = null; this._indicatorselement = null; } // private ; _proto._getconfig = function _getconfig(config) { config = _extends({}, default$7, config); util.typecheckconfig(name$8, config, defaulttype$7); return config; }; _proto._handleswipe = function _handleswipe() { var absdeltax = math.abs(this.touchdeltax); if (absdeltax <= swipe_threshold) { return; } var direction = absdeltax / this.touchdeltax; this.touchdeltax = 0; // swipe left if (direction > 0) { this.prev(); } // swipe right if (direction < 0) { this.next(); } }; _proto._addeventlisteners = function _addeventlisteners() { var _this2 = this; if (this._config.keyboard) { $__default["default"](this._element).on(event_keydown, function (event) { return _this2._keydown(event); }); } if (this._config.pause === 'hover') { $__default["default"](this._element).on(event_mouseenter, function (event) { return _this2.pause(event); }).on(event_mouseleave, function (event) { return _this2.cycle(event); }); } if (this._config.touch) { this._addtoucheventlisteners(); } }; _proto._addtoucheventlisteners = function _addtoucheventlisteners() { var _this3 = this; if (!this._touchsupported) { return; } var start = function start(event) { if (_this3._pointerevent && pointertype[event.originalevent.pointertype.touppercase()]) { _this3.touchstartx = event.originalevent.clientx; } else if (!_this3._pointerevent) { _this3.touchstartx = event.originalevent.touches[0].clientx; } }; var move = function move(event) { // ensure swiping with one touch and not pinching _this3.touchdeltax = event.originalevent.touches && event.originalevent.touches.length > 1 ? 0 : event.originalevent.touches[0].clientx - _this3.touchstartx; }; var end = function end(event) { if (_this3._pointerevent && pointertype[event.originalevent.pointertype.touppercase()]) { _this3.touchdeltax = event.originalevent.clientx - _this3.touchstartx; } _this3._handleswipe(); if (_this3._config.pause === 'hover') { // if it's a touch-enabled device, mouseenter/leave are fired as // part of the mouse compatibility events on first tap - the carousel // would stop cycling until user tapped out of it; // here, we listen for touchend, explicitly pause the carousel // (as if it's the second time we tap on it, mouseenter compat event // is not fired) and after a timeout (to allow for mouse compatibility // events to fire) we explicitly restart cycling _this3.pause(); if (_this3.touchtimeout) { cleartimeout(_this3.touchtimeout); } _this3.touchtimeout = settimeout(function (event) { return _this3.cycle(event); }, touchevent_compat_wait + _this3._config.interval); } }; $__default["default"](this._element.queryselectorall(selector_item_img)).on(event_drag_start, function (e) { return e.preventdefault(); }); if (this._pointerevent) { $__default["default"](this._element).on(event_pointerdown, function (event) { return start(event); }); $__default["default"](this._element).on(event_pointerup, function (event) { return end(event); }); this._element.classlist.add(class_name_pointer_event); } else { $__default["default"](this._element).on(event_touchstart, function (event) { return start(event); }); $__default["default"](this._element).on(event_touchmove, function (event) { return move(event); }); $__default["default"](this._element).on(event_touchend, function (event) { return end(event); }); } }; _proto._keydown = function _keydown(event) { if (/input|textarea/i.test(event.target.tagname)) { return; } switch (event.which) { case arrow_left_keycode: event.preventdefault(); this.prev(); break; case arrow_right_keycode: event.preventdefault(); this.next(); break; } }; _proto._getitemindex = function _getitemindex(element) { this._items = element && element.parentnode ? [].slice.call(element.parentnode.queryselectorall(selector_item)) : []; return this._items.indexof(element); }; _proto._getitembydirection = function _getitembydirection(direction, activeelement) { var isnextdirection = direction === direction_next; var isprevdirection = direction === direction_prev; var activeindex = this._getitemindex(activeelement); var lastitemindex = this._items.length - 1; var isgoingtowrap = isprevdirection && activeindex === 0 || isnextdirection && activeindex === lastitemindex; if (isgoingtowrap && !this._config.wrap) { return activeelement; } var delta = direction === direction_prev ? -1 : 1; var itemindex = (activeindex + delta) % this._items.length; return itemindex === -1 ? this._items[this._items.length - 1] : this._items[itemindex]; }; _proto._triggerslideevent = function _triggerslideevent(relatedtarget, eventdirectionname) { var targetindex = this._getitemindex(relatedtarget); var fromindex = this._getitemindex(this._element.queryselector(selector_active_item)); var slideevent = $__default["default"].event(event_slide, { relatedtarget: relatedtarget, direction: eventdirectionname, from: fromindex, to: targetindex }); $__default["default"](this._element).trigger(slideevent); return slideevent; }; _proto._setactiveindicatorelement = function _setactiveindicatorelement(element) { if (this._indicatorselement) { var indicators = [].slice.call(this._indicatorselement.queryselectorall(selector_active$1)); $__default["default"](indicators).removeclass(class_name_active$2); var nextindicator = this._indicatorselement.children[this._getitemindex(element)]; if (nextindicator) { $__default["default"](nextindicator).addclass(class_name_active$2); } } }; _proto._updateinterval = function _updateinterval() { var element = this._activeelement || this._element.queryselector(selector_active_item); if (!element) { return; } var elementinterval = parseint(element.getattribute('data-interval'), 10); if (elementinterval) { this._config.defaultinterval = this._config.defaultinterval || this._config.interval; this._config.interval = elementinterval; } else { this._config.interval = this._config.defaultinterval || this._config.interval; } }; _proto._slide = function _slide(direction, element) { var _this4 = this; var activeelement = this._element.queryselector(selector_active_item); var activeelementindex = this._getitemindex(activeelement); var nextelement = element || activeelement && this._getitembydirection(direction, activeelement); var nextelementindex = this._getitemindex(nextelement); var iscycling = boolean(this._interval); var directionalclassname; var orderclassname; var eventdirectionname; if (direction === direction_next) { directionalclassname = class_name_left; orderclassname = class_name_next; eventdirectionname = direction_left; } else { directionalclassname = class_name_right; orderclassname = class_name_prev; eventdirectionname = direction_right; } if (nextelement && $__default["default"](nextelement).hasclass(class_name_active$2)) { this._issliding = false; return; } var slideevent = this._triggerslideevent(nextelement, eventdirectionname); if (slideevent.isdefaultprevented()) { return; } if (!activeelement || !nextelement) { // some weirdness is happening, so we bail return; } this._issliding = true; if (iscycling) { this.pause(); } this._setactiveindicatorelement(nextelement); this._activeelement = nextelement; var slidevent = $__default["default"].event(event_slid, { relatedtarget: nextelement, direction: eventdirectionname, from: activeelementindex, to: nextelementindex }); if ($__default["default"](this._element).hasclass(class_name_slide)) { $__default["default"](nextelement).addclass(orderclassname); util.reflow(nextelement); $__default["default"](activeelement).addclass(directionalclassname); $__default["default"](nextelement).addclass(directionalclassname); var transitionduration = util.gettransitiondurationfromelement(activeelement); $__default["default"](activeelement).one(util.transition_end, function () { $__default["default"](nextelement).removeclass(directionalclassname + " " + orderclassname).addclass(class_name_active$2); $__default["default"](activeelement).removeclass(class_name_active$2 + " " + orderclassname + " " + directionalclassname); _this4._issliding = false; settimeout(function () { return $__default["default"](_this4._element).trigger(slidevent); }, 0); }).emulatetransitionend(transitionduration); } else { $__default["default"](activeelement).removeclass(class_name_active$2); $__default["default"](nextelement).addclass(class_name_active$2); this._issliding = false; $__default["default"](this._element).trigger(slidevent); } if (iscycling) { this.cycle(); } } // static ; carousel._jqueryinterface = function _jqueryinterface(config) { return this.each(function () { var data = $__default["default"](this).data(data_key$8); var _config = _extends({}, default$7, $__default["default"](this).data()); if (typeof config === 'object') { _config = _extends({}, _config, config); } var action = typeof config === 'string' ? config : _config.slide; if (!data) { data = new carousel(this, _config); $__default["default"](this).data(data_key$8, data); } if (typeof config === 'number') { data.to(config); } else if (typeof action === 'string') { if (typeof data[action] === 'undefined') { throw new typeerror("no method named \"" + action + "\""); } data[action](); } else if (_config.interval && _config.ride) { data.pause(); data.cycle(); } }); }; carousel._dataapiclickhandler = function _dataapiclickhandler(event) { var selector = util.getselectorfromelement(this); if (!selector) { return; } var target = $__default["default"](selector)[0]; if (!target || !$__default["default"](target).hasclass(class_name_carousel)) { return; } var config = _extends({}, $__default["default"](target).data(), $__default["default"](this).data()); var slideindex = this.getattribute('data-slide-to'); if (slideindex) { config.interval = false; } carousel._jqueryinterface.call($__default["default"](target), config); if (slideindex) { $__default["default"](target).data(data_key$8).to(slideindex); } event.preventdefault(); }; _createclass(carousel, null, [{ key: "version", get: function get() { return version$8; } }, { key: "default", get: function get() { return default$7; } }]); return carousel; }(); /** * data api implementation */ $__default["default"](document).on(event_click_data_api$4, selector_data_slide, carousel._dataapiclickhandler); $__default["default"](window).on(event_load_data_api$1, function () { var carousels = [].slice.call(document.queryselectorall(selector_data_ride)); for (var i = 0, len = carousels.length; i < len; i++) { var $carousel = $__default["default"](carousels[i]); carousel._jqueryinterface.call($carousel, $carousel.data()); } }); /** * jquery */ $__default["default"].fn[name$8] = carousel._jqueryinterface; $__default["default"].fn[name$8].constructor = carousel; $__default["default"].fn[name$8].noconflict = function () { $__default["default"].fn[name$8] = jquery_no_conflict$8; return carousel._jqueryinterface; }; /** * constants */ var name$7 = 'collapse'; var version$7 = '4.6.2'; var data_key$7 = 'bs.collapse'; var event_key$7 = "." + data_key$7; var data_api_key$4 = '.data-api'; var jquery_no_conflict$7 = $__default["default"].fn[name$7]; var class_name_show$6 = 'show'; var class_name_collapse = 'collapse'; var class_name_collapsing = 'collapsing'; var class_name_collapsed = 'collapsed'; var dimension_width = 'width'; var dimension_height = 'height'; var event_show$4 = "show" + event_key$7; var event_shown$4 = "shown" + event_key$7; var event_hide$4 = "hide" + event_key$7; var event_hidden$4 = "hidden" + event_key$7; var event_click_data_api$3 = "click" + event_key$7 + data_api_key$4; var selector_actives = '.show, .collapsing'; var selector_data_toggle$3 = '[data-toggle="collapse"]'; var default$6 = { toggle: true, parent: '' }; var defaulttype$6 = { toggle: 'boolean', parent: '(string|element)' }; /** * class definition */ var collapse = /*#__pure__*/function () { function collapse(element, config) { this._istransitioning = false; this._element = element; this._config = this._getconfig(config); this._triggerarray = [].slice.call(document.queryselectorall("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); var togglelist = [].slice.call(document.queryselectorall(selector_data_toggle$3)); for (var i = 0, len = togglelist.length; i < len; i++) { var elem = togglelist[i]; var selector = util.getselectorfromelement(elem); var filterelement = [].slice.call(document.queryselectorall(selector)).filter(function (foundelem) { return foundelem === element; }); if (selector !== null && filterelement.length > 0) { this._selector = selector; this._triggerarray.push(elem); } } this._parent = this._config.parent ? this._getparent() : null; if (!this._config.parent) { this._addariaandcollapsedclass(this._element, this._triggerarray); } if (this._config.toggle) { this.toggle(); } } // getters var _proto = collapse.prototype; // public _proto.toggle = function toggle() { if ($__default["default"](this._element).hasclass(class_name_show$6)) { this.hide(); } else { this.show(); } }; _proto.show = function show() { var _this = this; if (this._istransitioning || $__default["default"](this._element).hasclass(class_name_show$6)) { return; } var actives; var activesdata; if (this._parent) { actives = [].slice.call(this._parent.queryselectorall(selector_actives)).filter(function (elem) { if (typeof _this._config.parent === 'string') { return elem.getattribute('data-parent') === _this._config.parent; } return elem.classlist.contains(class_name_collapse); }); if (actives.length === 0) { actives = null; } } if (actives) { activesdata = $__default["default"](actives).not(this._selector).data(data_key$7); if (activesdata && activesdata._istransitioning) { return; } } var startevent = $__default["default"].event(event_show$4); $__default["default"](this._element).trigger(startevent); if (startevent.isdefaultprevented()) { return; } if (actives) { collapse._jqueryinterface.call($__default["default"](actives).not(this._selector), 'hide'); if (!activesdata) { $__default["default"](actives).data(data_key$7, null); } } var dimension = this._getdimension(); $__default["default"](this._element).removeclass(class_name_collapse).addclass(class_name_collapsing); this._element.style[dimension] = 0; if (this._triggerarray.length) { $__default["default"](this._triggerarray).removeclass(class_name_collapsed).attr('aria-expanded', true); } this.settransitioning(true); var complete = function complete() { $__default["default"](_this._element).removeclass(class_name_collapsing).addclass(class_name_collapse + " " + class_name_show$6); _this._element.style[dimension] = ''; _this.settransitioning(false); $__default["default"](_this._element).trigger(event_shown$4); }; var capitalizeddimension = dimension[0].touppercase() + dimension.slice(1); var scrollsize = "scroll" + capitalizeddimension; var transitionduration = util.gettransitiondurationfromelement(this._element); $__default["default"](this._element).one(util.transition_end, complete).emulatetransitionend(transitionduration); this._element.style[dimension] = this._element[scrollsize] + "px"; }; _proto.hide = function hide() { var _this2 = this; if (this._istransitioning || !$__default["default"](this._element).hasclass(class_name_show$6)) { return; } var startevent = $__default["default"].event(event_hide$4); $__default["default"](this._element).trigger(startevent); if (startevent.isdefaultprevented()) { return; } var dimension = this._getdimension(); this._element.style[dimension] = this._element.getboundingclientrect()[dimension] + "px"; util.reflow(this._element); $__default["default"](this._element).addclass(class_name_collapsing).removeclass(class_name_collapse + " " + class_name_show$6); var triggerarraylength = this._triggerarray.length; if (triggerarraylength > 0) { for (var i = 0; i < triggerarraylength; i++) { var trigger = this._triggerarray[i]; var selector = util.getselectorfromelement(trigger); if (selector !== null) { var $elem = $__default["default"]([].slice.call(document.queryselectorall(selector))); if (!$elem.hasclass(class_name_show$6)) { $__default["default"](trigger).addclass(class_name_collapsed).attr('aria-expanded', false); } } } } this.settransitioning(true); var complete = function complete() { _this2.settransitioning(false); $__default["default"](_this2._element).removeclass(class_name_collapsing).addclass(class_name_collapse).trigger(event_hidden$4); }; this._element.style[dimension] = ''; var transitionduration = util.gettransitiondurationfromelement(this._element); $__default["default"](this._element).one(util.transition_end, complete).emulatetransitionend(transitionduration); }; _proto.settransitioning = function settransitioning(istransitioning) { this._istransitioning = istransitioning; }; _proto.dispose = function dispose() { $__default["default"].removedata(this._element, data_key$7); this._config = null; this._parent = null; this._element = null; this._triggerarray = null; this._istransitioning = null; } // private ; _proto._getconfig = function _getconfig(config) { config = _extends({}, default$6, config); config.toggle = boolean(config.toggle); // coerce string values util.typecheckconfig(name$7, config, defaulttype$6); return config; }; _proto._getdimension = function _getdimension() { var haswidth = $__default["default"](this._element).hasclass(dimension_width); return haswidth ? dimension_width : dimension_height; }; _proto._getparent = function _getparent() { var _this3 = this; var parent; if (util.iselement(this._config.parent)) { parent = this._config.parent; // it's a jquery object if (typeof this._config.parent.jquery !== 'undefined') { parent = this._config.parent[0]; } } else { parent = document.queryselector(this._config.parent); } var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; var children = [].slice.call(parent.queryselectorall(selector)); $__default["default"](children).each(function (i, element) { _this3._addariaandcollapsedclass(collapse._gettargetfromelement(element), [element]); }); return parent; }; _proto._addariaandcollapsedclass = function _addariaandcollapsedclass(element, triggerarray) { var isopen = $__default["default"](element).hasclass(class_name_show$6); if (triggerarray.length) { $__default["default"](triggerarray).toggleclass(class_name_collapsed, !isopen).attr('aria-expanded', isopen); } } // static ; collapse._gettargetfromelement = function _gettargetfromelement(element) { var selector = util.getselectorfromelement(element); return selector ? document.queryselector(selector) : null; }; collapse._jqueryinterface = function _jqueryinterface(config) { return this.each(function () { var $element = $__default["default"](this); var data = $element.data(data_key$7); var _config = _extends({}, default$6, $element.data(), typeof config === 'object' && config ? config : {}); if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) { _config.toggle = false; } if (!data) { data = new collapse(this, _config); $element.data(data_key$7, data); } if (typeof config === 'string') { if (typeof data[config] === 'undefined') { throw new typeerror("no method named \"" + config + "\""); } data[config](); } }); }; _createclass(collapse, null, [{ key: "version", get: function get() { return version$7; } }, { key: "default", get: function get() { return default$6; } }]); return collapse; }(); /** * data api implementation */ $__default["default"](document).on(event_click_data_api$3, selector_data_toggle$3, function (event) { // preventdefault only for elements (which change the url) not inside the collapsible element if (event.currenttarget.tagname === 'a') { event.preventdefault(); } var $trigger = $__default["default"](this); var selector = util.getselectorfromelement(this); var selectors = [].slice.call(document.queryselectorall(selector)); $__default["default"](selectors).each(function () { var $target = $__default["default"](this); var data = $target.data(data_key$7); var config = data ? 'toggle' : $trigger.data(); collapse._jqueryinterface.call($target, config); }); }); /** * jquery */ $__default["default"].fn[name$7] = collapse._jqueryinterface; $__default["default"].fn[name$7].constructor = collapse; $__default["default"].fn[name$7].noconflict = function () { $__default["default"].fn[name$7] = jquery_no_conflict$7; return collapse._jqueryinterface; }; /** * constants */ var name$6 = 'dropdown'; var version$6 = '4.6.2'; var data_key$6 = 'bs.dropdown'; var event_key$6 = "." + data_key$6; var data_api_key$3 = '.data-api'; var jquery_no_conflict$6 = $__default["default"].fn[name$6]; var escape_keycode$1 = 27; // keyboardevent.which value for escape (esc) key var space_keycode = 32; // keyboardevent.which value for space key var tab_keycode = 9; // keyboardevent.which value for tab key var arrow_up_keycode = 38; // keyboardevent.which value for up arrow key var arrow_down_keycode = 40; // keyboardevent.which value for down arrow key var right_mouse_button_which = 3; // mouseevent.which value for the right button (assuming a right-handed mouse) var regexp_keydown = new regexp(arrow_up_keycode + "|" + arrow_down_keycode + "|" + escape_keycode$1); var class_name_disabled$1 = 'disabled'; var class_name_show$5 = 'show'; var class_name_dropup = 'dropup'; var class_name_dropright = 'dropright'; var class_name_dropleft = 'dropleft'; var class_name_menuright = 'dropdown-menu-right'; var class_name_position_static = 'position-static'; var event_hide$3 = "hide" + event_key$6; var event_hidden$3 = "hidden" + event_key$6; var event_show$3 = "show" + event_key$6; var event_shown$3 = "shown" + event_key$6; var event_click = "click" + event_key$6; var event_click_data_api$2 = "click" + event_key$6 + data_api_key$3; var event_keydown_data_api = "keydown" + event_key$6 + data_api_key$3; var event_keyup_data_api = "keyup" + event_key$6 + data_api_key$3; var selector_data_toggle$2 = '[data-toggle="dropdown"]'; var selector_form_child = '.dropdown form'; var selector_menu = '.dropdown-menu'; var selector_navbar_nav = '.navbar-nav'; var selector_visible_items = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'; var placement_top = 'top-start'; var placement_topend = 'top-end'; var placement_bottom = 'bottom-start'; var placement_bottomend = 'bottom-end'; var placement_right = 'right-start'; var placement_left = 'left-start'; var default$5 = { offset: 0, flip: true, boundary: 'scrollparent', reference: 'toggle', display: 'dynamic', popperconfig: null }; var defaulttype$5 = { offset: '(number|string|function)', flip: 'boolean', boundary: '(string|element)', reference: '(string|element)', display: 'string', popperconfig: '(null|object)' }; /** * class definition */ var dropdown = /*#__pure__*/function () { function dropdown(element, config) { this._element = element; this._popper = null; this._config = this._getconfig(config); this._menu = this._getmenuelement(); this._innavbar = this._detectnavbar(); this._addeventlisteners(); } // getters var _proto = dropdown.prototype; // public _proto.toggle = function toggle() { if (this._element.disabled || $__default["default"](this._element).hasclass(class_name_disabled$1)) { return; } var isactive = $__default["default"](this._menu).hasclass(class_name_show$5); dropdown._clearmenus(); if (isactive) { return; } this.show(true); }; _proto.show = function show(usepopper) { if (usepopper === void 0) { usepopper = false; } if (this._element.disabled || $__default["default"](this._element).hasclass(class_name_disabled$1) || $__default["default"](this._menu).hasclass(class_name_show$5)) { return; } var relatedtarget = { relatedtarget: this._element }; var showevent = $__default["default"].event(event_show$3, relatedtarget); var parent = dropdown._getparentfromelement(this._element); $__default["default"](parent).trigger(showevent); if (showevent.isdefaultprevented()) { return; } // totally disable popper for dropdowns in navbar if (!this._innavbar && usepopper) { // check for popper dependency if (typeof popper__default["default"] === 'undefined') { throw new typeerror('bootstrap\'s dropdowns require popper (https://popper.js.org)'); } var referenceelement = this._element; if (this._config.reference === 'parent') { referenceelement = parent; } else if (util.iselement(this._config.reference)) { referenceelement = this._config.reference; // check if it's jquery element if (typeof this._config.reference.jquery !== 'undefined') { referenceelement = this._config.reference[0]; } } // if boundary is not `scrollparent`, then set position to `static` // to allow the menu to "escape" the scroll parent's boundaries // https://github.com/twbs/bootstrap/issues/24251 if (this._config.boundary !== 'scrollparent') { $__default["default"](parent).addclass(class_name_position_static); } this._popper = new popper__default["default"](referenceelement, this._menu, this._getpopperconfig()); } // if this is a touch-enabled device we add extra // empty mouseover listeners to the body's immediate children; // only needed because of broken event delegation on ios // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html if ('ontouchstart' in document.documentelement && $__default["default"](parent).closest(selector_navbar_nav).length === 0) { $__default["default"](document.body).children().on('mouseover', null, $__default["default"].noop); } this._element.focus(); this._element.setattribute('aria-expanded', true); $__default["default"](this._menu).toggleclass(class_name_show$5); $__default["default"](parent).toggleclass(class_name_show$5).trigger($__default["default"].event(event_shown$3, relatedtarget)); }; _proto.hide = function hide() { if (this._element.disabled || $__default["default"](this._element).hasclass(class_name_disabled$1) || !$__default["default"](this._menu).hasclass(class_name_show$5)) { return; } var relatedtarget = { relatedtarget: this._element }; var hideevent = $__default["default"].event(event_hide$3, relatedtarget); var parent = dropdown._getparentfromelement(this._element); $__default["default"](parent).trigger(hideevent); if (hideevent.isdefaultprevented()) { return; } if (this._popper) { this._popper.destroy(); } $__default["default"](this._menu).toggleclass(class_name_show$5); $__default["default"](parent).toggleclass(class_name_show$5).trigger($__default["default"].event(event_hidden$3, relatedtarget)); }; _proto.dispose = function dispose() { $__default["default"].removedata(this._element, data_key$6); $__default["default"](this._element).off(event_key$6); this._element = null; this._menu = null; if (this._popper !== null) { this._popper.destroy(); this._popper = null; } }; _proto.update = function update() { this._innavbar = this._detectnavbar(); if (this._popper !== null) { this._popper.scheduleupdate(); } } // private ; _proto._addeventlisteners = function _addeventlisteners() { var _this = this; $__default["default"](this._element).on(event_click, function (event) { event.preventdefault(); event.stoppropagation(); _this.toggle(); }); }; _proto._getconfig = function _getconfig(config) { config = _extends({}, this.constructor.default, $__default["default"](this._element).data(), config); util.typecheckconfig(name$6, config, this.constructor.defaulttype); return config; }; _proto._getmenuelement = function _getmenuelement() { if (!this._menu) { var parent = dropdown._getparentfromelement(this._element); if (parent) { this._menu = parent.queryselector(selector_menu); } } return this._menu; }; _proto._getplacement = function _getplacement() { var $parentdropdown = $__default["default"](this._element.parentnode); var placement = placement_bottom; // handle dropup if ($parentdropdown.hasclass(class_name_dropup)) { placement = $__default["default"](this._menu).hasclass(class_name_menuright) ? placement_topend : placement_top; } else if ($parentdropdown.hasclass(class_name_dropright)) { placement = placement_right; } else if ($parentdropdown.hasclass(class_name_dropleft)) { placement = placement_left; } else if ($__default["default"](this._menu).hasclass(class_name_menuright)) { placement = placement_bottomend; } return placement; }; _proto._detectnavbar = function _detectnavbar() { return $__default["default"](this._element).closest('.navbar').length > 0; }; _proto._getoffset = function _getoffset() { var _this2 = this; var offset = {}; if (typeof this._config.offset === 'function') { offset.fn = function (data) { data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element)); return data; }; } else { offset.offset = this._config.offset; } return offset; }; _proto._getpopperconfig = function _getpopperconfig() { var popperconfig = { placement: this._getplacement(), modifiers: { offset: this._getoffset(), flip: { enabled: this._config.flip }, preventoverflow: { boundarieselement: this._config.boundary } } }; // disable popper if we have a static display if (this._config.display === 'static') { popperconfig.modifiers.applystyle = { enabled: false }; } return _extends({}, popperconfig, this._config.popperconfig); } // static ; dropdown._jqueryinterface = function _jqueryinterface(config) { return this.each(function () { var data = $__default["default"](this).data(data_key$6); var _config = typeof config === 'object' ? config : null; if (!data) { data = new dropdown(this, _config); $__default["default"](this).data(data_key$6, data); } if (typeof config === 'string') { if (typeof data[config] === 'undefined') { throw new typeerror("no method named \"" + config + "\""); } data[config](); } }); }; dropdown._clearmenus = function _clearmenus(event) { if (event && (event.which === right_mouse_button_which || event.type === 'keyup' && event.which !== tab_keycode)) { return; } var toggles = [].slice.call(document.queryselectorall(selector_data_toggle$2)); for (var i = 0, len = toggles.length; i < len; i++) { var parent = dropdown._getparentfromelement(toggles[i]); var context = $__default["default"](toggles[i]).data(data_key$6); var relatedtarget = { relatedtarget: toggles[i] }; if (event && event.type === 'click') { relatedtarget.clickevent = event; } if (!context) { continue; } var dropdownmenu = context._menu; if (!$__default["default"](parent).hasclass(class_name_show$5)) { continue; } if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagname) || event.type === 'keyup' && event.which === tab_keycode) && $__default["default"].contains(parent, event.target)) { continue; } var hideevent = $__default["default"].event(event_hide$3, relatedtarget); $__default["default"](parent).trigger(hideevent); if (hideevent.isdefaultprevented()) { continue; } // if this is a touch-enabled device we remove the extra // empty mouseover listeners we added for ios support if ('ontouchstart' in document.documentelement) { $__default["default"](document.body).children().off('mouseover', null, $__default["default"].noop); } toggles[i].setattribute('aria-expanded', 'false'); if (context._popper) { context._popper.destroy(); } $__default["default"](dropdownmenu).removeclass(class_name_show$5); $__default["default"](parent).removeclass(class_name_show$5).trigger($__default["default"].event(event_hidden$3, relatedtarget)); } }; dropdown._getparentfromelement = function _getparentfromelement(element) { var parent; var selector = util.getselectorfromelement(element); if (selector) { parent = document.queryselector(selector); } return parent || element.parentnode; } // eslint-disable-next-line complexity ; dropdown._dataapikeydownhandler = function _dataapikeydownhandler(event) { // if not input/textarea: // - and not a key in regexp_keydown => not a dropdown command // if input/textarea: // - if space key => not a dropdown command // - if key is other than escape // - if key is not up or down => not a dropdown command // - if trigger inside the menu => not a dropdown command if (/input|textarea/i.test(event.target.tagname) ? event.which === space_keycode || event.which !== escape_keycode$1 && (event.which !== arrow_down_keycode && event.which !== arrow_up_keycode || $__default["default"](event.target).closest(selector_menu).length) : !regexp_keydown.test(event.which)) { return; } if (this.disabled || $__default["default"](this).hasclass(class_name_disabled$1)) { return; } var parent = dropdown._getparentfromelement(this); var isactive = $__default["default"](parent).hasclass(class_name_show$5); if (!isactive && event.which === escape_keycode$1) { return; } event.preventdefault(); event.stoppropagation(); if (!isactive || event.which === escape_keycode$1 || event.which === space_keycode) { if (event.which === escape_keycode$1) { $__default["default"](parent.queryselector(selector_data_toggle$2)).trigger('focus'); } $__default["default"](this).trigger('click'); return; } var items = [].slice.call(parent.queryselectorall(selector_visible_items)).filter(function (item) { return $__default["default"](item).is(':visible'); }); if (items.length === 0) { return; } var index = items.indexof(event.target); if (event.which === arrow_up_keycode && index > 0) { // up index--; } if (event.which === arrow_down_keycode && index < items.length - 1) { // down index++; } if (index < 0) { index = 0; } items[index].focus(); }; _createclass(dropdown, null, [{ key: "version", get: function get() { return version$6; } }, { key: "default", get: function get() { return default$5; } }, { key: "defaulttype", get: function get() { return defaulttype$5; } }]); return dropdown; }(); /** * data api implementation */ $__default["default"](document).on(event_keydown_data_api, selector_data_toggle$2, dropdown._dataapikeydownhandler).on(event_keydown_data_api, selector_menu, dropdown._dataapikeydownhandler).on(event_click_data_api$2 + " " + event_keyup_data_api, dropdown._clearmenus).on(event_click_data_api$2, selector_data_toggle$2, function (event) { event.preventdefault(); event.stoppropagation(); dropdown._jqueryinterface.call($__default["default"](this), 'toggle'); }).on(event_click_data_api$2, selector_form_child, function (e) { e.stoppropagation(); }); /** * jquery */ $__default["default"].fn[name$6] = dropdown._jqueryinterface; $__default["default"].fn[name$6].constructor = dropdown; $__default["default"].fn[name$6].noconflict = function () { $__default["default"].fn[name$6] = jquery_no_conflict$6; return dropdown._jqueryinterface; }; /** * constants */ var name$5 = 'modal'; var version$5 = '4.6.2'; var data_key$5 = 'bs.modal'; var event_key$5 = "." + data_key$5; var data_api_key$2 = '.data-api'; var jquery_no_conflict$5 = $__default["default"].fn[name$5]; var escape_keycode = 27; // keyboardevent.which value for escape (esc) key var class_name_scrollable = 'modal-dialog-scrollable'; var class_name_scrollbar_measurer = 'modal-scrollbar-measure'; var class_name_backdrop = 'modal-backdrop'; var class_name_open = 'modal-open'; var class_name_fade$4 = 'fade'; var class_name_show$4 = 'show'; var class_name_static = 'modal-static'; var event_hide$2 = "hide" + event_key$5; var event_hide_prevented = "hideprevented" + event_key$5; var event_hidden$2 = "hidden" + event_key$5; var event_show$2 = "show" + event_key$5; var event_shown$2 = "shown" + event_key$5; var event_focusin = "focusin" + event_key$5; var event_resize = "resize" + event_key$5; var event_click_dismiss$1 = "click.dismiss" + event_key$5; var event_keydown_dismiss = "keydown.dismiss" + event_key$5; var event_mouseup_dismiss = "mouseup.dismiss" + event_key$5; var event_mousedown_dismiss = "mousedown.dismiss" + event_key$5; var event_click_data_api$1 = "click" + event_key$5 + data_api_key$2; var selector_dialog = '.modal-dialog'; var selector_modal_body = '.modal-body'; var selector_data_toggle$1 = '[data-toggle="modal"]'; var selector_data_dismiss$1 = '[data-dismiss="modal"]'; var selector_fixed_content = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; var selector_sticky_content = '.sticky-top'; var default$4 = { backdrop: true, keyboard: true, focus: true, show: true }; var defaulttype$4 = { backdrop: '(boolean|string)', keyboard: 'boolean', focus: 'boolean', show: 'boolean' }; /** * class definition */ var modal = /*#__pure__*/function () { function modal(element, config) { this._config = this._getconfig(config); this._element = element; this._dialog = element.queryselector(selector_dialog); this._backdrop = null; this._isshown = false; this._isbodyoverflowing = false; this._ignorebackdropclick = false; this._istransitioning = false; this._scrollbarwidth = 0; } // getters var _proto = modal.prototype; // public _proto.toggle = function toggle(relatedtarget) { return this._isshown ? this.hide() : this.show(relatedtarget); }; _proto.show = function show(relatedtarget) { var _this = this; if (this._isshown || this._istransitioning) { return; } var showevent = $__default["default"].event(event_show$2, { relatedtarget: relatedtarget }); $__default["default"](this._element).trigger(showevent); if (showevent.isdefaultprevented()) { return; } this._isshown = true; if ($__default["default"](this._element).hasclass(class_name_fade$4)) { this._istransitioning = true; } this._checkscrollbar(); this._setscrollbar(); this._adjustdialog(); this._setescapeevent(); this._setresizeevent(); $__default["default"](this._element).on(event_click_dismiss$1, selector_data_dismiss$1, function (event) { return _this.hide(event); }); $__default["default"](this._dialog).on(event_mousedown_dismiss, function () { $__default["default"](_this._element).one(event_mouseup_dismiss, function (event) { if ($__default["default"](event.target).is(_this._element)) { _this._ignorebackdropclick = true; } }); }); this._showbackdrop(function () { return _this._showelement(relatedtarget); }); }; _proto.hide = function hide(event) { var _this2 = this; if (event) { event.preventdefault(); } if (!this._isshown || this._istransitioning) { return; } var hideevent = $__default["default"].event(event_hide$2); $__default["default"](this._element).trigger(hideevent); if (!this._isshown || hideevent.isdefaultprevented()) { return; } this._isshown = false; var transition = $__default["default"](this._element).hasclass(class_name_fade$4); if (transition) { this._istransitioning = true; } this._setescapeevent(); this._setresizeevent(); $__default["default"](document).off(event_focusin); $__default["default"](this._element).removeclass(class_name_show$4); $__default["default"](this._element).off(event_click_dismiss$1); $__default["default"](this._dialog).off(event_mousedown_dismiss); if (transition) { var transitionduration = util.gettransitiondurationfromelement(this._element); $__default["default"](this._element).one(util.transition_end, function (event) { return _this2._hidemodal(event); }).emulatetransitionend(transitionduration); } else { this._hidemodal(); } }; _proto.dispose = function dispose() { [window, this._element, this._dialog].foreach(function (htmlelement) { return $__default["default"](htmlelement).off(event_key$5); }); /** * `document` has 2 events `event_focusin` and `event_click_data_api` * do not move `document` in `htmlelements` array * it will remove `event_click_data_api` event that should remain */ $__default["default"](document).off(event_focusin); $__default["default"].removedata(this._element, data_key$5); this._config = null; this._element = null; this._dialog = null; this._backdrop = null; this._isshown = null; this._isbodyoverflowing = null; this._ignorebackdropclick = null; this._istransitioning = null; this._scrollbarwidth = null; }; _proto.handleupdate = function handleupdate() { this._adjustdialog(); } // private ; _proto._getconfig = function _getconfig(config) { config = _extends({}, default$4, config); util.typecheckconfig(name$5, config, defaulttype$4); return config; }; _proto._triggerbackdroptransition = function _triggerbackdroptransition() { var _this3 = this; var hideeventprevented = $__default["default"].event(event_hide_prevented); $__default["default"](this._element).trigger(hideeventprevented); if (hideeventprevented.isdefaultprevented()) { return; } var ismodaloverflowing = this._element.scrollheight > document.documentelement.clientheight; if (!ismodaloverflowing) { this._element.style.overflowy = 'hidden'; } this._element.classlist.add(class_name_static); var modaltransitionduration = util.gettransitiondurationfromelement(this._dialog); $__default["default"](this._element).off(util.transition_end); $__default["default"](this._element).one(util.transition_end, function () { _this3._element.classlist.remove(class_name_static); if (!ismodaloverflowing) { $__default["default"](_this3._element).one(util.transition_end, function () { _this3._element.style.overflowy = ''; }).emulatetransitionend(_this3._element, modaltransitionduration); } }).emulatetransitionend(modaltransitionduration); this._element.focus(); }; _proto._showelement = function _showelement(relatedtarget) { var _this4 = this; var transition = $__default["default"](this._element).hasclass(class_name_fade$4); var modalbody = this._dialog ? this._dialog.queryselector(selector_modal_body) : null; if (!this._element.parentnode || this._element.parentnode.nodetype !== node.element_node) { // don't move modal's dom position document.body.appendchild(this._element); } this._element.style.display = 'block'; this._element.removeattribute('aria-hidden'); this._element.setattribute('aria-modal', true); this._element.setattribute('role', 'dialog'); if ($__default["default"](this._dialog).hasclass(class_name_scrollable) && modalbody) { modalbody.scrolltop = 0; } else { this._element.scrolltop = 0; } if (transition) { util.reflow(this._element); } $__default["default"](this._element).addclass(class_name_show$4); if (this._config.focus) { this._enforcefocus(); } var shownevent = $__default["default"].event(event_shown$2, { relatedtarget: relatedtarget }); var transitioncomplete = function transitioncomplete() { if (_this4._config.focus) { _this4._element.focus(); } _this4._istransitioning = false; $__default["default"](_this4._element).trigger(shownevent); }; if (transition) { var transitionduration = util.gettransitiondurationfromelement(this._dialog); $__default["default"](this._dialog).one(util.transition_end, transitioncomplete).emulatetransitionend(transitionduration); } else { transitioncomplete(); } }; _proto._enforcefocus = function _enforcefocus() { var _this5 = this; $__default["default"](document).off(event_focusin) // guard against infinite focus loop .on(event_focusin, function (event) { if (document !== event.target && _this5._element !== event.target && $__default["default"](_this5._element).has(event.target).length === 0) { _this5._element.focus(); } }); }; _proto._setescapeevent = function _setescapeevent() { var _this6 = this; if (this._isshown) { $__default["default"](this._element).on(event_keydown_dismiss, function (event) { if (_this6._config.keyboard && event.which === escape_keycode) { event.preventdefault(); _this6.hide(); } else if (!_this6._config.keyboard && event.which === escape_keycode) { _this6._triggerbackdroptransition(); } }); } else if (!this._isshown) { $__default["default"](this._element).off(event_keydown_dismiss); } }; _proto._setresizeevent = function _setresizeevent() { var _this7 = this; if (this._isshown) { $__default["default"](window).on(event_resize, function (event) { return _this7.handleupdate(event); }); } else { $__default["default"](window).off(event_resize); } }; _proto._hidemodal = function _hidemodal() { var _this8 = this; this._element.style.display = 'none'; this._element.setattribute('aria-hidden', true); this._element.removeattribute('aria-modal'); this._element.removeattribute('role'); this._istransitioning = false; this._showbackdrop(function () { $__default["default"](document.body).removeclass(class_name_open); _this8._resetadjustments(); _this8._resetscrollbar(); $__default["default"](_this8._element).trigger(event_hidden$2); }); }; _proto._removebackdrop = function _removebackdrop() { if (this._backdrop) { $__default["default"](this._backdrop).remove(); this._backdrop = null; } }; _proto._showbackdrop = function _showbackdrop(callback) { var _this9 = this; var animate = $__default["default"](this._element).hasclass(class_name_fade$4) ? class_name_fade$4 : ''; if (this._isshown && this._config.backdrop) { this._backdrop = document.createelement('div'); this._backdrop.classname = class_name_backdrop; if (animate) { this._backdrop.classlist.add(animate); } $__default["default"](this._backdrop).appendto(document.body); $__default["default"](this._element).on(event_click_dismiss$1, function (event) { if (_this9._ignorebackdropclick) { _this9._ignorebackdropclick = false; return; } if (event.target !== event.currenttarget) { return; } if (_this9._config.backdrop === 'static') { _this9._triggerbackdroptransition(); } else { _this9.hide(); } }); if (animate) { util.reflow(this._backdrop); } $__default["default"](this._backdrop).addclass(class_name_show$4); if (!callback) { return; } if (!animate) { callback(); return; } var backdroptransitionduration = util.gettransitiondurationfromelement(this._backdrop); $__default["default"](this._backdrop).one(util.transition_end, callback).emulatetransitionend(backdroptransitionduration); } else if (!this._isshown && this._backdrop) { $__default["default"](this._backdrop).removeclass(class_name_show$4); var callbackremove = function callbackremove() { _this9._removebackdrop(); if (callback) { callback(); } }; if ($__default["default"](this._element).hasclass(class_name_fade$4)) { var _backdroptransitionduration = util.gettransitiondurationfromelement(this._backdrop); $__default["default"](this._backdrop).one(util.transition_end, callbackremove).emulatetransitionend(_backdroptransitionduration); } else { callbackremove(); } } else if (callback) { callback(); } } // ---------------------------------------------------------------------- // the following methods are used to handle overflowing modals // todo (fat): these should probably be refactored out of modal.js // ---------------------------------------------------------------------- ; _proto._adjustdialog = function _adjustdialog() { var ismodaloverflowing = this._element.scrollheight > document.documentelement.clientheight; if (!this._isbodyoverflowing && ismodaloverflowing) { this._element.style.paddingleft = this._scrollbarwidth + "px"; } if (this._isbodyoverflowing && !ismodaloverflowing) { this._element.style.paddingright = this._scrollbarwidth + "px"; } }; _proto._resetadjustments = function _resetadjustments() { this._element.style.paddingleft = ''; this._element.style.paddingright = ''; }; _proto._checkscrollbar = function _checkscrollbar() { var rect = document.body.getboundingclientrect(); this._isbodyoverflowing = math.round(rect.left + rect.right) < window.innerwidth; this._scrollbarwidth = this._getscrollbarwidth(); }; _proto._setscrollbar = function _setscrollbar() { var _this10 = this; if (this._isbodyoverflowing) { // note: domnode.style.paddingright returns the actual value or '' if not set // while $(domnode).css('padding-right') returns the calculated value or 0 if not set var fixedcontent = [].slice.call(document.queryselectorall(selector_fixed_content)); var stickycontent = [].slice.call(document.queryselectorall(selector_sticky_content)); // adjust fixed content padding $__default["default"](fixedcontent).each(function (index, element) { var actualpadding = element.style.paddingright; var calculatedpadding = $__default["default"](element).css('padding-right'); $__default["default"](element).data('padding-right', actualpadding).css('padding-right', parsefloat(calculatedpadding) + _this10._scrollbarwidth + "px"); }); // adjust sticky content margin $__default["default"](stickycontent).each(function (index, element) { var actualmargin = element.style.marginright; var calculatedmargin = $__default["default"](element).css('margin-right'); $__default["default"](element).data('margin-right', actualmargin).css('margin-right', parsefloat(calculatedmargin) - _this10._scrollbarwidth + "px"); }); // adjust body padding var actualpadding = document.body.style.paddingright; var calculatedpadding = $__default["default"](document.body).css('padding-right'); $__default["default"](document.body).data('padding-right', actualpadding).css('padding-right', parsefloat(calculatedpadding) + this._scrollbarwidth + "px"); } $__default["default"](document.body).addclass(class_name_open); }; _proto._resetscrollbar = function _resetscrollbar() { // restore fixed content padding var fixedcontent = [].slice.call(document.queryselectorall(selector_fixed_content)); $__default["default"](fixedcontent).each(function (index, element) { var padding = $__default["default"](element).data('padding-right'); $__default["default"](element).removedata('padding-right'); element.style.paddingright = padding ? padding : ''; }); // restore sticky content var elements = [].slice.call(document.queryselectorall("" + selector_sticky_content)); $__default["default"](elements).each(function (index, element) { var margin = $__default["default"](element).data('margin-right'); if (typeof margin !== 'undefined') { $__default["default"](element).css('margin-right', margin).removedata('margin-right'); } }); // restore body padding var padding = $__default["default"](document.body).data('padding-right'); $__default["default"](document.body).removedata('padding-right'); document.body.style.paddingright = padding ? padding : ''; }; _proto._getscrollbarwidth = function _getscrollbarwidth() { // thx d.walsh var scrolldiv = document.createelement('div'); scrolldiv.classname = class_name_scrollbar_measurer; document.body.appendchild(scrolldiv); var scrollbarwidth = scrolldiv.getboundingclientrect().width - scrolldiv.clientwidth; document.body.removechild(scrolldiv); return scrollbarwidth; } // static ; modal._jqueryinterface = function _jqueryinterface(config, relatedtarget) { return this.each(function () { var data = $__default["default"](this).data(data_key$5); var _config = _extends({}, default$4, $__default["default"](this).data(), typeof config === 'object' && config ? config : {}); if (!data) { data = new modal(this, _config); $__default["default"](this).data(data_key$5, data); } if (typeof config === 'string') { if (typeof data[config] === 'undefined') { throw new typeerror("no method named \"" + config + "\""); } data[config](relatedtarget); } else if (_config.show) { data.show(relatedtarget); } }); }; _createclass(modal, null, [{ key: "version", get: function get() { return version$5; } }, { key: "default", get: function get() { return default$4; } }]); return modal; }(); /** * data api implementation */ $__default["default"](document).on(event_click_data_api$1, selector_data_toggle$1, function (event) { var _this11 = this; var target; var selector = util.getselectorfromelement(this); if (selector) { target = document.queryselector(selector); } var config = $__default["default"](target).data(data_key$5) ? 'toggle' : _extends({}, $__default["default"](target).data(), $__default["default"](this).data()); if (this.tagname === 'a' || this.tagname === 'area') { event.preventdefault(); } var $target = $__default["default"](target).one(event_show$2, function (showevent) { if (showevent.isdefaultprevented()) { // only register focus restorer if modal will actually get shown return; } $target.one(event_hidden$2, function () { if ($__default["default"](_this11).is(':visible')) { _this11.focus(); } }); }); modal._jqueryinterface.call($__default["default"](target), config, this); }); /** * jquery */ $__default["default"].fn[name$5] = modal._jqueryinterface; $__default["default"].fn[name$5].constructor = modal; $__default["default"].fn[name$5].noconflict = function () { $__default["default"].fn[name$5] = jquery_no_conflict$5; return modal._jqueryinterface; }; /** * -------------------------------------------------------------------------- * bootstrap (v4.6.2): tools/sanitizer.js * licensed under mit (https://github.com/twbs/bootstrap/blob/main/license) * -------------------------------------------------------------------------- */ var uriattrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']; var aria_attribute_pattern = /^aria-[\w-]*$/i; var defaultwhitelist = { // global attributes allowed on any supplied element below. '*': ['class', 'dir', 'id', 'lang', 'role', aria_attribute_pattern], a: ['target', 'href', 'title', 'rel'], area: [], b: [], br: [], col: [], code: [], div: [], em: [], hr: [], h1: [], h2: [], h3: [], h4: [], h5: [], h6: [], i: [], img: ['src', 'srcset', 'alt', 'title', 'width', 'height'], li: [], ol: [], p: [], pre: [], s: [], small: [], span: [], sub: [], sup: [], strong: [], u: [], ul: [] }; /** * a pattern that recognizes a commonly useful subset of urls that are safe. * * shoutout to angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts */ var safe_url_pattern = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i; /** * a pattern that matches safe data urls. only matches image, video and audio types. * * shoutout to angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts */ var data_url_pattern = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i; function allowedattribute(attr, allowedattributelist) { var attrname = attr.nodename.tolowercase(); if (allowedattributelist.indexof(attrname) !== -1) { if (uriattrs.indexof(attrname) !== -1) { return boolean(safe_url_pattern.test(attr.nodevalue) || data_url_pattern.test(attr.nodevalue)); } return true; } var regexp = allowedattributelist.filter(function (attrregex) { return attrregex instanceof regexp; }); // check if a regular expression validates the attribute. for (var i = 0, len = regexp.length; i < len; i++) { if (regexp[i].test(attrname)) { return true; } } return false; } function sanitizehtml(unsafehtml, whitelist, sanitizefn) { if (unsafehtml.length === 0) { return unsafehtml; } if (sanitizefn && typeof sanitizefn === 'function') { return sanitizefn(unsafehtml); } var domparser = new window.domparser(); var createddocument = domparser.parsefromstring(unsafehtml, 'text/html'); var whitelistkeys = object.keys(whitelist); var elements = [].slice.call(createddocument.body.queryselectorall('*')); var _loop = function _loop(i, len) { var el = elements[i]; var elname = el.nodename.tolowercase(); if (whitelistkeys.indexof(el.nodename.tolowercase()) === -1) { el.parentnode.removechild(el); return "continue"; } var attributelist = [].slice.call(el.attributes); // eslint-disable-next-line unicorn/prefer-spread var whitelistedattributes = [].concat(whitelist['*'] || [], whitelist[elname] || []); attributelist.foreach(function (attr) { if (!allowedattribute(attr, whitelistedattributes)) { el.removeattribute(attr.nodename); } }); }; for (var i = 0, len = elements.length; i < len; i++) { var _ret = _loop(i); if (_ret === "continue") continue; } return createddocument.body.innerhtml; } /** * constants */ var name$4 = 'tooltip'; var version$4 = '4.6.2'; var data_key$4 = 'bs.tooltip'; var event_key$4 = "." + data_key$4; var jquery_no_conflict$4 = $__default["default"].fn[name$4]; var class_prefix$1 = 'bs-tooltip'; var bscls_prefix_regex$1 = new regexp("(^|\\s)" + class_prefix$1 + "\\s+", 'g'); var disallowed_attributes = ['sanitize', 'whitelist', 'sanitizefn']; var class_name_fade$3 = 'fade'; var class_name_show$3 = 'show'; var hover_state_show = 'show'; var hover_state_out = 'out'; var selector_tooltip_inner = '.tooltip-inner'; var selector_arrow = '.arrow'; var trigger_hover = 'hover'; var trigger_focus = 'focus'; var trigger_click = 'click'; var trigger_manual = 'manual'; var attachmentmap = { auto: 'auto', top: 'top', right: 'right', bottom: 'bottom', left: 'left' }; var default$3 = { animation: true, template: '', trigger: 'hover focus', title: '', delay: 0, html: false, selector: false, placement: 'top', offset: 0, container: false, fallbackplacement: 'flip', boundary: 'scrollparent', customclass: '', sanitize: true, sanitizefn: null, whitelist: defaultwhitelist, popperconfig: null }; var defaulttype$3 = { animation: 'boolean', template: 'string', title: '(string|element|function)', trigger: 'string', delay: '(number|object)', html: 'boolean', selector: '(string|boolean)', placement: '(string|function)', offset: '(number|string|function)', container: '(string|element|boolean)', fallbackplacement: '(string|array)', boundary: '(string|element)', customclass: '(string|function)', sanitize: 'boolean', sanitizefn: '(null|function)', whitelist: 'object', popperconfig: '(null|object)' }; var event$1 = { hide: "hide" + event_key$4, hidden: "hidden" + event_key$4, show: "show" + event_key$4, shown: "shown" + event_key$4, inserted: "inserted" + event_key$4, click: "click" + event_key$4, focusin: "focusin" + event_key$4, focusout: "focusout" + event_key$4, mouseenter: "mouseenter" + event_key$4, mouseleave: "mouseleave" + event_key$4 }; /** * class definition */ var tooltip = /*#__pure__*/function () { function tooltip(element, config) { if (typeof popper__default["default"] === 'undefined') { throw new typeerror('bootstrap\'s tooltips require popper (https://popper.js.org)'); } // private this._isenabled = true; this._timeout = 0; this._hoverstate = ''; this._activetrigger = {}; this._popper = null; // protected this.element = element; this.config = this._getconfig(config); this.tip = null; this._setlisteners(); } // getters var _proto = tooltip.prototype; // public _proto.enable = function enable() { this._isenabled = true; }; _proto.disable = function disable() { this._isenabled = false; }; _proto.toggleenabled = function toggleenabled() { this._isenabled = !this._isenabled; }; _proto.toggle = function toggle(event) { if (!this._isenabled) { return; } if (event) { var datakey = this.constructor.data_key; var context = $__default["default"](event.currenttarget).data(datakey); if (!context) { context = new this.constructor(event.currenttarget, this._getdelegateconfig()); $__default["default"](event.currenttarget).data(datakey, context); } context._activetrigger.click = !context._activetrigger.click; if (context._iswithactivetrigger()) { context._enter(null, context); } else { context._leave(null, context); } } else { if ($__default["default"](this.gettipelement()).hasclass(class_name_show$3)) { this._leave(null, this); return; } this._enter(null, this); } }; _proto.dispose = function dispose() { cleartimeout(this._timeout); $__default["default"].removedata(this.element, this.constructor.data_key); $__default["default"](this.element).off(this.constructor.event_key); $__default["default"](this.element).closest('.modal').off('hide.bs.modal', this._hidemodalhandler); if (this.tip) { $__default["default"](this.tip).remove(); } this._isenabled = null; this._timeout = null; this._hoverstate = null; this._activetrigger = null; if (this._popper) { this._popper.destroy(); } this._popper = null; this.element = null; this.config = null; this.tip = null; }; _proto.show = function show() { var _this = this; if ($__default["default"](this.element).css('display') === 'none') { throw new error('please use show on visible elements'); } var showevent = $__default["default"].event(this.constructor.event.show); if (this.iswithcontent() && this._isenabled) { $__default["default"](this.element).trigger(showevent); var shadowroot = util.findshadowroot(this.element); var isinthedom = $__default["default"].contains(shadowroot !== null ? shadowroot : this.element.ownerdocument.documentelement, this.element); if (showevent.isdefaultprevented() || !isinthedom) { return; } var tip = this.gettipelement(); var tipid = util.getuid(this.constructor.name); tip.setattribute('id', tipid); this.element.setattribute('aria-describedby', tipid); this.setcontent(); if (this.config.animation) { $__default["default"](tip).addclass(class_name_fade$3); } var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; var attachment = this._getattachment(placement); this.addattachmentclass(attachment); var container = this._getcontainer(); $__default["default"](tip).data(this.constructor.data_key, this); if (!$__default["default"].contains(this.element.ownerdocument.documentelement, this.tip)) { $__default["default"](tip).appendto(container); } $__default["default"](this.element).trigger(this.constructor.event.inserted); this._popper = new popper__default["default"](this.element, tip, this._getpopperconfig(attachment)); $__default["default"](tip).addclass(class_name_show$3); $__default["default"](tip).addclass(this.config.customclass); // if this is a touch-enabled device we add extra // empty mouseover listeners to the body's immediate children; // only needed because of broken event delegation on ios // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html if ('ontouchstart' in document.documentelement) { $__default["default"](document.body).children().on('mouseover', null, $__default["default"].noop); } var complete = function complete() { if (_this.config.animation) { _this._fixtransition(); } var prevhoverstate = _this._hoverstate; _this._hoverstate = null; $__default["default"](_this.element).trigger(_this.constructor.event.shown); if (prevhoverstate === hover_state_out) { _this._leave(null, _this); } }; if ($__default["default"](this.tip).hasclass(class_name_fade$3)) { var transitionduration = util.gettransitiondurationfromelement(this.tip); $__default["default"](this.tip).one(util.transition_end, complete).emulatetransitionend(transitionduration); } else { complete(); } } }; _proto.hide = function hide(callback) { var _this2 = this; var tip = this.gettipelement(); var hideevent = $__default["default"].event(this.constructor.event.hide); var complete = function complete() { if (_this2._hoverstate !== hover_state_show && tip.parentnode) { tip.parentnode.removechild(tip); } _this2._cleantipclass(); _this2.element.removeattribute('aria-describedby'); $__default["default"](_this2.element).trigger(_this2.constructor.event.hidden); if (_this2._popper !== null) { _this2._popper.destroy(); } if (callback) { callback(); } }; $__default["default"](this.element).trigger(hideevent); if (hideevent.isdefaultprevented()) { return; } $__default["default"](tip).removeclass(class_name_show$3); // if this is a touch-enabled device we remove the extra // empty mouseover listeners we added for ios support if ('ontouchstart' in document.documentelement) { $__default["default"](document.body).children().off('mouseover', null, $__default["default"].noop); } this._activetrigger[trigger_click] = false; this._activetrigger[trigger_focus] = false; this._activetrigger[trigger_hover] = false; if ($__default["default"](this.tip).hasclass(class_name_fade$3)) { var transitionduration = util.gettransitiondurationfromelement(tip); $__default["default"](tip).one(util.transition_end, complete).emulatetransitionend(transitionduration); } else { complete(); } this._hoverstate = ''; }; _proto.update = function update() { if (this._popper !== null) { this._popper.scheduleupdate(); } } // protected ; _proto.iswithcontent = function iswithcontent() { return boolean(this.gettitle()); }; _proto.addattachmentclass = function addattachmentclass(attachment) { $__default["default"](this.gettipelement()).addclass(class_prefix$1 + "-" + attachment); }; _proto.gettipelement = function gettipelement() { this.tip = this.tip || $__default["default"](this.config.template)[0]; return this.tip; }; _proto.setcontent = function setcontent() { var tip = this.gettipelement(); this.setelementcontent($__default["default"](tip.queryselectorall(selector_tooltip_inner)), this.gettitle()); $__default["default"](tip).removeclass(class_name_fade$3 + " " + class_name_show$3); }; _proto.setelementcontent = function setelementcontent($element, content) { if (typeof content === 'object' && (content.nodetype || content.jquery)) { // content is a dom node or a jquery if (this.config.html) { if (!$__default["default"](content).parent().is($element)) { $element.empty().append(content); } } else { $element.text($__default["default"](content).text()); } return; } if (this.config.html) { if (this.config.sanitize) { content = sanitizehtml(content, this.config.whitelist, this.config.sanitizefn); } $element.html(content); } else { $element.text(content); } }; _proto.gettitle = function gettitle() { var title = this.element.getattribute('data-original-title'); if (!title) { title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title; } return title; } // private ; _proto._getpopperconfig = function _getpopperconfig(attachment) { var _this3 = this; var defaultbsconfig = { placement: attachment, modifiers: { offset: this._getoffset(), flip: { behavior: this.config.fallbackplacement }, arrow: { element: selector_arrow }, preventoverflow: { boundarieselement: this.config.boundary } }, oncreate: function oncreate(data) { if (data.originalplacement !== data.placement) { _this3._handlepopperplacementchange(data); } }, onupdate: function onupdate(data) { return _this3._handlepopperplacementchange(data); } }; return _extends({}, defaultbsconfig, this.config.popperconfig); }; _proto._getoffset = function _getoffset() { var _this4 = this; var offset = {}; if (typeof this.config.offset === 'function') { offset.fn = function (data) { data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element)); return data; }; } else { offset.offset = this.config.offset; } return offset; }; _proto._getcontainer = function _getcontainer() { if (this.config.container === false) { return document.body; } if (util.iselement(this.config.container)) { return $__default["default"](this.config.container); } return $__default["default"](document).find(this.config.container); }; _proto._getattachment = function _getattachment(placement) { return attachmentmap[placement.touppercase()]; }; _proto._setlisteners = function _setlisteners() { var _this5 = this; var triggers = this.config.trigger.split(' '); triggers.foreach(function (trigger) { if (trigger === 'click') { $__default["default"](_this5.element).on(_this5.constructor.event.click, _this5.config.selector, function (event) { return _this5.toggle(event); }); } else if (trigger !== trigger_manual) { var eventin = trigger === trigger_hover ? _this5.constructor.event.mouseenter : _this5.constructor.event.focusin; var eventout = trigger === trigger_hover ? _this5.constructor.event.mouseleave : _this5.constructor.event.focusout; $__default["default"](_this5.element).on(eventin, _this5.config.selector, function (event) { return _this5._enter(event); }).on(eventout, _this5.config.selector, function (event) { return _this5._leave(event); }); } }); this._hidemodalhandler = function () { if (_this5.element) { _this5.hide(); } }; $__default["default"](this.element).closest('.modal').on('hide.bs.modal', this._hidemodalhandler); if (this.config.selector) { this.config = _extends({}, this.config, { trigger: 'manual', selector: '' }); } else { this._fixtitle(); } }; _proto._fixtitle = function _fixtitle() { var titletype = typeof this.element.getattribute('data-original-title'); if (this.element.getattribute('title') || titletype !== 'string') { this.element.setattribute('data-original-title', this.element.getattribute('title') || ''); this.element.setattribute('title', ''); } }; _proto._enter = function _enter(event, context) { var datakey = this.constructor.data_key; context = context || $__default["default"](event.currenttarget).data(datakey); if (!context) { context = new this.constructor(event.currenttarget, this._getdelegateconfig()); $__default["default"](event.currenttarget).data(datakey, context); } if (event) { context._activetrigger[event.type === 'focusin' ? trigger_focus : trigger_hover] = true; } if ($__default["default"](context.gettipelement()).hasclass(class_name_show$3) || context._hoverstate === hover_state_show) { context._hoverstate = hover_state_show; return; } cleartimeout(context._timeout); context._hoverstate = hover_state_show; if (!context.config.delay || !context.config.delay.show) { context.show(); return; } context._timeout = settimeout(function () { if (context._hoverstate === hover_state_show) { context.show(); } }, context.config.delay.show); }; _proto._leave = function _leave(event, context) { var datakey = this.constructor.data_key; context = context || $__default["default"](event.currenttarget).data(datakey); if (!context) { context = new this.constructor(event.currenttarget, this._getdelegateconfig()); $__default["default"](event.currenttarget).data(datakey, context); } if (event) { context._activetrigger[event.type === 'focusout' ? trigger_focus : trigger_hover] = false; } if (context._iswithactivetrigger()) { return; } cleartimeout(context._timeout); context._hoverstate = hover_state_out; if (!context.config.delay || !context.config.delay.hide) { context.hide(); return; } context._timeout = settimeout(function () { if (context._hoverstate === hover_state_out) { context.hide(); } }, context.config.delay.hide); }; _proto._iswithactivetrigger = function _iswithactivetrigger() { for (var trigger in this._activetrigger) { if (this._activetrigger[trigger]) { return true; } } return false; }; _proto._getconfig = function _getconfig(config) { var dataattributes = $__default["default"](this.element).data(); object.keys(dataattributes).foreach(function (dataattr) { if (disallowed_attributes.indexof(dataattr) !== -1) { delete dataattributes[dataattr]; } }); config = _extends({}, this.constructor.default, dataattributes, typeof config === 'object' && config ? config : {}); if (typeof config.delay === 'number') { config.delay = { show: config.delay, hide: config.delay }; } if (typeof config.title === 'number') { config.title = config.title.tostring(); } if (typeof config.content === 'number') { config.content = config.content.tostring(); } util.typecheckconfig(name$4, config, this.constructor.defaulttype); if (config.sanitize) { config.template = sanitizehtml(config.template, config.whitelist, config.sanitizefn); } return config; }; _proto._getdelegateconfig = function _getdelegateconfig() { var config = {}; if (this.config) { for (var key in this.config) { if (this.constructor.default[key] !== this.config[key]) { config[key] = this.config[key]; } } } return config; }; _proto._cleantipclass = function _cleantipclass() { var $tip = $__default["default"](this.gettipelement()); var tabclass = $tip.attr('class').match(bscls_prefix_regex$1); if (tabclass !== null && tabclass.length) { $tip.removeclass(tabclass.join('')); } }; _proto._handlepopperplacementchange = function _handlepopperplacementchange(popperdata) { this.tip = popperdata.instance.popper; this._cleantipclass(); this.addattachmentclass(this._getattachment(popperdata.placement)); }; _proto._fixtransition = function _fixtransition() { var tip = this.gettipelement(); var initconfiganimation = this.config.animation; if (tip.getattribute('x-placement') !== null) { return; } $__default["default"](tip).removeclass(class_name_fade$3); this.config.animation = false; this.hide(); this.show(); this.config.animation = initconfiganimation; } // static ; tooltip._jqueryinterface = function _jqueryinterface(config) { return this.each(function () { var $element = $__default["default"](this); var data = $element.data(data_key$4); var _config = typeof config === 'object' && config; if (!data && /dispose|hide/.test(config)) { return; } if (!data) { data = new tooltip(this, _config); $element.data(data_key$4, data); } if (typeof config === 'string') { if (typeof data[config] === 'undefined') { throw new typeerror("no method named \"" + config + "\""); } data[config](); } }); }; _createclass(tooltip, null, [{ key: "version", get: function get() { return version$4; } }, { key: "default", get: function get() { return default$3; } }, { key: "name", get: function get() { return name$4; } }, { key: "data_key", get: function get() { return data_key$4; } }, { key: "event", get: function get() { return event$1; } }, { key: "event_key", get: function get() { return event_key$4; } }, { key: "defaulttype", get: function get() { return defaulttype$3; } }]); return tooltip; }(); /** * jquery */ $__default["default"].fn[name$4] = tooltip._jqueryinterface; $__default["default"].fn[name$4].constructor = tooltip; $__default["default"].fn[name$4].noconflict = function () { $__default["default"].fn[name$4] = jquery_no_conflict$4; return tooltip._jqueryinterface; }; /** * constants */ var name$3 = 'popover'; var version$3 = '4.6.2'; var data_key$3 = 'bs.popover'; var event_key$3 = "." + data_key$3; var jquery_no_conflict$3 = $__default["default"].fn[name$3]; var class_prefix = 'bs-popover'; var bscls_prefix_regex = new regexp("(^|\\s)" + class_prefix + "\\s+", 'g'); var class_name_fade$2 = 'fade'; var class_name_show$2 = 'show'; var selector_title = '.popover-header'; var selector_content = '.popover-body'; var default$2 = _extends({}, tooltip.default, { placement: 'right', trigger: 'click', content: '', template: '' }); var defaulttype$2 = _extends({}, tooltip.defaulttype, { content: '(string|element|function)' }); var event = { hide: "hide" + event_key$3, hidden: "hidden" + event_key$3, show: "show" + event_key$3, shown: "shown" + event_key$3, inserted: "inserted" + event_key$3, click: "click" + event_key$3, focusin: "focusin" + event_key$3, focusout: "focusout" + event_key$3, mouseenter: "mouseenter" + event_key$3, mouseleave: "mouseleave" + event_key$3 }; /** * class definition */ var popover = /*#__pure__*/function (_tooltip) { _inheritsloose(popover, _tooltip); function popover() { return _tooltip.apply(this, arguments) || this; } var _proto = popover.prototype; // overrides _proto.iswithcontent = function iswithcontent() { return this.gettitle() || this._getcontent(); }; _proto.addattachmentclass = function addattachmentclass(attachment) { $__default["default"](this.gettipelement()).addclass(class_prefix + "-" + attachment); }; _proto.gettipelement = function gettipelement() { this.tip = this.tip || $__default["default"](this.config.template)[0]; return this.tip; }; _proto.setcontent = function setcontent() { var $tip = $__default["default"](this.gettipelement()); // we use append for html objects to maintain js events this.setelementcontent($tip.find(selector_title), this.gettitle()); var content = this._getcontent(); if (typeof content === 'function') { content = content.call(this.element); } this.setelementcontent($tip.find(selector_content), content); $tip.removeclass(class_name_fade$2 + " " + class_name_show$2); } // private ; _proto._getcontent = function _getcontent() { return this.element.getattribute('data-content') || this.config.content; }; _proto._cleantipclass = function _cleantipclass() { var $tip = $__default["default"](this.gettipelement()); var tabclass = $tip.attr('class').match(bscls_prefix_regex); if (tabclass !== null && tabclass.length > 0) { $tip.removeclass(tabclass.join('')); } } // static ; popover._jqueryinterface = function _jqueryinterface(config) { return this.each(function () { var data = $__default["default"](this).data(data_key$3); var _config = typeof config === 'object' ? config : null; if (!data && /dispose|hide/.test(config)) { return; } if (!data) { data = new popover(this, _config); $__default["default"](this).data(data_key$3, data); } if (typeof config === 'string') { if (typeof data[config] === 'undefined') { throw new typeerror("no method named \"" + config + "\""); } data[config](); } }); }; _createclass(popover, null, [{ key: "version", get: // getters function get() { return version$3; } }, { key: "default", get: function get() { return default$2; } }, { key: "name", get: function get() { return name$3; } }, { key: "data_key", get: function get() { return data_key$3; } }, { key: "event", get: function get() { return event; } }, { key: "event_key", get: function get() { return event_key$3; } }, { key: "defaulttype", get: function get() { return defaulttype$2; } }]); return popover; }(tooltip); /** * jquery */ $__default["default"].fn[name$3] = popover._jqueryinterface; $__default["default"].fn[name$3].constructor = popover; $__default["default"].fn[name$3].noconflict = function () { $__default["default"].fn[name$3] = jquery_no_conflict$3; return popover._jqueryinterface; }; /** * constants */ var name$2 = 'scrollspy'; var version$2 = '4.6.2'; var data_key$2 = 'bs.scrollspy'; var event_key$2 = "." + data_key$2; var data_api_key$1 = '.data-api'; var jquery_no_conflict$2 = $__default["default"].fn[name$2]; var class_name_dropdown_item = 'dropdown-item'; var class_name_active$1 = 'active'; var event_activate = "activate" + event_key$2; var event_scroll = "scroll" + event_key$2; var event_load_data_api = "load" + event_key$2 + data_api_key$1; var method_offset = 'offset'; var method_position = 'position'; var selector_data_spy = '[data-spy="scroll"]'; var selector_nav_list_group$1 = '.nav, .list-group'; var selector_nav_links = '.nav-link'; var selector_nav_items = '.nav-item'; var selector_list_items = '.list-group-item'; var selector_dropdown$1 = '.dropdown'; var selector_dropdown_items = '.dropdown-item'; var selector_dropdown_toggle$1 = '.dropdown-toggle'; var default$1 = { offset: 10, method: 'auto', target: '' }; var defaulttype$1 = { offset: 'number', method: 'string', target: '(string|element)' }; /** * class definition */ var scrollspy = /*#__pure__*/function () { function scrollspy(element, config) { var _this = this; this._element = element; this._scrollelement = element.tagname === 'body' ? window : element; this._config = this._getconfig(config); this._selector = this._config.target + " " + selector_nav_links + "," + (this._config.target + " " + selector_list_items + ",") + (this._config.target + " " + selector_dropdown_items); this._offsets = []; this._targets = []; this._activetarget = null; this._scrollheight = 0; $__default["default"](this._scrollelement).on(event_scroll, function (event) { return _this._process(event); }); this.refresh(); this._process(); } // getters var _proto = scrollspy.prototype; // public _proto.refresh = function refresh() { var _this2 = this; var automethod = this._scrollelement === this._scrollelement.window ? method_offset : method_position; var offsetmethod = this._config.method === 'auto' ? automethod : this._config.method; var offsetbase = offsetmethod === method_position ? this._getscrolltop() : 0; this._offsets = []; this._targets = []; this._scrollheight = this._getscrollheight(); var targets = [].slice.call(document.queryselectorall(this._selector)); targets.map(function (element) { var target; var targetselector = util.getselectorfromelement(element); if (targetselector) { target = document.queryselector(targetselector); } if (target) { var targetbcr = target.getboundingclientrect(); if (targetbcr.width || targetbcr.height) { // todo (fat): remove sketch reliance on jquery position/offset return [$__default["default"](target)[offsetmethod]().top + offsetbase, targetselector]; } } return null; }).filter(boolean).sort(function (a, b) { return a[0] - b[0]; }).foreach(function (item) { _this2._offsets.push(item[0]); _this2._targets.push(item[1]); }); }; _proto.dispose = function dispose() { $__default["default"].removedata(this._element, data_key$2); $__default["default"](this._scrollelement).off(event_key$2); this._element = null; this._scrollelement = null; this._config = null; this._selector = null; this._offsets = null; this._targets = null; this._activetarget = null; this._scrollheight = null; } // private ; _proto._getconfig = function _getconfig(config) { config = _extends({}, default$1, typeof config === 'object' && config ? config : {}); if (typeof config.target !== 'string' && util.iselement(config.target)) { var id = $__default["default"](config.target).attr('id'); if (!id) { id = util.getuid(name$2); $__default["default"](config.target).attr('id', id); } config.target = "#" + id; } util.typecheckconfig(name$2, config, defaulttype$1); return config; }; _proto._getscrolltop = function _getscrolltop() { return this._scrollelement === window ? this._scrollelement.pageyoffset : this._scrollelement.scrolltop; }; _proto._getscrollheight = function _getscrollheight() { return this._scrollelement.scrollheight || math.max(document.body.scrollheight, document.documentelement.scrollheight); }; _proto._getoffsetheight = function _getoffsetheight() { return this._scrollelement === window ? window.innerheight : this._scrollelement.getboundingclientrect().height; }; _proto._process = function _process() { var scrolltop = this._getscrolltop() + this._config.offset; var scrollheight = this._getscrollheight(); var maxscroll = this._config.offset + scrollheight - this._getoffsetheight(); if (this._scrollheight !== scrollheight) { this.refresh(); } if (scrolltop >= maxscroll) { var target = this._targets[this._targets.length - 1]; if (this._activetarget !== target) { this._activate(target); } return; } if (this._activetarget && scrolltop < this._offsets[0] && this._offsets[0] > 0) { this._activetarget = null; this._clear(); return; } for (var i = this._offsets.length; i--;) { var isactivetarget = this._activetarget !== this._targets[i] && scrolltop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrolltop < this._offsets[i + 1]); if (isactivetarget) { this._activate(this._targets[i]); } } }; _proto._activate = function _activate(target) { this._activetarget = target; this._clear(); var queries = this._selector.split(',').map(function (selector) { return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]"; }); var $link = $__default["default"]([].slice.call(document.queryselectorall(queries.join(',')))); if ($link.hasclass(class_name_dropdown_item)) { $link.closest(selector_dropdown$1).find(selector_dropdown_toggle$1).addclass(class_name_active$1); $link.addclass(class_name_active$1); } else { // set triggered link as active $link.addclass(class_name_active$1); // set triggered links parents as active // with both