snappymail/vendors/bootstrap/js/bootstrap.min.js
djmaze e7180a86ce Made eslint using 'browser' environment and added globals, because RainLoop is used in browsers.
This also allowed to remove all webpack 'externals' overhead.
2020-08-12 00:25:36 +02:00

7 lines
5.5 KiB
JavaScript

/*!
* Bootstrap.js by @fat & @mdo
* Copyright 2013 Twitter, Inc.
* http://www.apache.org/licenses/LICENSE-2.0.txt
*/
(e=>{"use strict";const t=document;var a="[data-toggle=dropdown]";class o{constructor(t){var a=e(t).on("click.dropdown.data-api",this.toggle);e("html").on("click.dropdown.data-api",()=>a.parent().removeClass("open"))}toggle(){var a,o,n=e(this);if(!n.is(".disabled, :disabled"))return o=(a=s(n)).hasClass("open"),i(),o||("ontouchstart"in t.documentElement&&e('<div class="dropdown-backdrop"/>').insertBefore(e(this)).on("click",i),a.toggleClass("open")),n.focus(),!1}keydown(t){var o,i,n,d,r;if(/(38|40|27)/.test(t.keyCode)&&(o=e(this),t.preventDefault(),t.stopPropagation(),!o.is(".disabled, :disabled"))){if(!(d=(n=s(o)).hasClass("open"))||d&&27==t.keyCode)return 27==t.which&&n.find(a).focus(),o.click();(i=e("[role=menu] li:not(.divider):visible a",n)).length&&(r=i.index(i.filter(":focus")),38==t.keyCode&&r>0&&r--,40==t.keyCode&&r<i.length-1&&r++,~r||(r=0),i.eq(r).focus())}}}function i(){e(".dropdown-backdrop").remove(),e(a).each(function(){s(e(this)).removeClass("open")})}function s(t){var a,o=t.attr("data-target");return o||(o=(o=t.attr("href"))&&/#/.test(o)&&o.replace(/.*(?=#[^\s]*$)/,"")),(a=o&&1<o.length&&e(o))&&a.length||(a=t.parent()),a}e.fn.dropdown=function(t){return this.each(function(){var a=e(this),i=a.data("dropdown");i||a.data("dropdown",i=new o(this)),"string"==typeof t&&i[t].call(a)})},e(t).on("click.dropdown.data-api",i).on("click.dropdown.data-api",".dropdown form",e=>e.stopPropagation()).on("click.dropdown.data-api",a,o.prototype.toggle).on("keydown.dropdown.data-api",a+", [role=menu]",o.prototype.keydown);class n{constructor(t,a){this.options=a,this.$element=e(t).on("click.dismiss.modal",'[data-dismiss="modal"]',this.hide.bind(this)),this.options.remote&&this.$element.find(".modal-body").on("load",this.options.remote)}toggle(){return this[this.isShown?"hide":"show"]()}show(){var a=this,o=e.Event("show");this.$element.trigger(o),this.isShown||o.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.backdrop(()=>{var e=a.$element.hasClass("fade");a.$element.parent().length||a.$element.appendTo(t.body),a.$element.show(),e&&a.$element[0].offsetWidth,a.$element.addClass("in").attr("aria-hidden",!1),a.enforceFocus(),e?a.$element.one("transitionend",function(){a.$element.focus().trigger("shown")}):a.$element.focus().trigger("shown")}))}hide(a){a&&a.preventDefault(),a=e.Event("hide"),this.$element.trigger(a),this.isShown&&!a.isDefaultPrevented()&&(this.isShown=!1,this.escape(),e(t).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal())}enforceFocus(){var a=this;e(t).on("focusin.modal",function(e){a.$element[0]===e.target||a.$element.has(e.target).length||a.$element.focus()})}escape(){var e=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(t){27==t.which&&e.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")}hideWithTransition(){var e=this,t=setTimeout(function(){e.$element.off("transitionend"),e.hideModal()},500);this.$element.one("transitionend",function(){clearTimeout(t),e.hideModal()})}hideModal(){var e=this;this.$element.hide(),this.backdrop(function(){e.removeBackdrop(),e.$element.trigger("hidden")})}removeBackdrop(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null}backdrop(a){var o=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){if(this.$backdrop=e('<div class="modal-backdrop '+o+'" />').appendTo(t.body),this.$backdrop.click("static"==this.options.backdrop?this.$element[0].focus.bind(this.$element[0]):this.hide.bind(this)),o&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!a)return;o?this.$backdrop.one("transitionend",a):a()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),this.$element.hasClass("fade")?this.$backdrop.one("transitionend",a):a()):a&&a()}}e.fn.modal=function(t){return this.each(function(){var a=e(this),o=a.data("modal"),i=e.extend({},e.fn.modal.defaults,a.data(),"object"==typeof t&&t);o||a.data("modal",o=new n(this,i)),"string"==typeof t?o[t]():i.show&&o.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e(t).on("click.modal.data-api",'[data-toggle="modal"]',function(t){var a=e(this),o=a.attr("href"),i=e(a.attr("data-target")||o&&o.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(o)&&o},i.data(),a.data());t.preventDefault(),i.modal(s).one("hide",function(){a.focus()})});var d=(e,t,a)=>{var o=t.find("> .active"),i=a&&o.hasClass("fade"),s=()=>{o.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),e.addClass("active"),i?(e[0].offsetWidth,e.addClass("in")):e.removeClass("fade"),e.parent(".dropdown-menu")&&e.closest("li.dropdown").addClass("active"),a&&a()};i?o.one("transitionend",s):s(),o.removeClass("in")};class r{constructor(t){this.element=e(t)}show(){var t,a,o,i=this.element,s=i.closest("ul:not(.dropdown-menu)"),n=i.attr("data-target");n||(n=(n=i.attr("href"))&&n.replace(/.*(?=#[^\s]*$)/,"")),i.parent("li").hasClass("active")||(t=s.find(".active:last a")[0],o=e.Event("show",{relatedTarget:t}),i.trigger(o),o.isDefaultPrevented()||(a=e(n),d(i.parent("li"),s),d(a,a.parent(),()=>{i.trigger({type:"shown",relatedTarget:t})})))}}e.fn.tab=function(t){return this.each(function(){var a=e(this),o=a.data("tab");o||a.data("tab",o=new r(this)),"string"==typeof t&&o[t]()})},e(t).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(t){t.preventDefault(),e(this).tab("show")})})(window.jQuery);