diff --git a/dist/bootstrap-native-v4-esm.js b/dist/bootstrap-native-v4-esm.js index ec89cd3a..8089ec9b 100644 --- a/dist/bootstrap-native-v4-esm.js +++ b/dist/bootstrap-native-v4-esm.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -28,9 +28,9 @@ var transitionDelay = 'webkitTransition' in documentHead.style ? 'webkitTransiti /** * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `webkitTransition` for older Chrome / Safari browsers, - * * `transition` property for all other browsers. + * * `transitionProperty` string for modern brosers, + * * `webkitTransition` for legacy Chrome / Safari browsers + * * @type {string} */ var transitionProperty = 'webkitTransition' in documentHead.style ? 'webkitTransitionProperty' : 'transitionProperty'; @@ -2577,7 +2577,7 @@ function removeDataAPI(context) { }); } -var version = "4.1.0alpha6"; +var version = "4.1.0alpha7"; var Version = version; diff --git a/dist/bootstrap-native-v4-esm.min.js b/dist/bootstrap-native-v4-esm.min.js index e775ba17..0eb3b9b9 100644 --- a/dist/bootstrap-native-v4-esm.min.js +++ b/dist/bootstrap-native-v4-esm.min.js @@ -1,2 +1,2 @@ -// Native JavaScript for Bootstrap v4.1.0alpha6 | 2022 © dnp_theme | MIT-License -var t=document.head,e="webkitTransition"in t.style||"transition"in t.style,i="webkitTransition"in t.style?"webkitTransitionEnd":"transitionend",n="webkitTransition"in t.style?"webkitTransitionDelay":"transitionDelay",a="webkitTransition"in t.style?"webkitTransitionProperty":"transitionProperty";function o(t,e){var i=getComputedStyle(t);return e in i?i[e]:""}var s="webkitTransition"in t.style?"webkitTransitionDuration":"transitionDuration";function l(t){var i=o(t,a),n=o(t,s),l=n.includes("ms")?1:1e3,r=e&&i&&"none"!==i?parseFloat(n)*l:0;return Number.isNaN(r)?0:r}function r(t,s){var r=0,c=new Event(i),d=l(t),u=function(t){var i=o(t,a),s=o(t,n),l=s.includes("ms")?1:1e3,r=e&&i&&"none"!==i?parseFloat(s)*l:0;return Number.isNaN(r)?0:r}(t);if(e&&d){var m=function(e){e.target===t&&(s.apply(t,[e]),t.removeEventListener(i,m),r=1)};t.addEventListener(i,m),setTimeout((function(){r||t.dispatchEvent(c)}),d+u+17)}else s.apply(t,[c])}function c(t){return t instanceof HTMLElement?t.ownerDocument:t instanceof Window?t.document:window.document}var d=[Document,Element,HTMLElement],u=[Element,HTMLElement];function m(t,e){var i=d.some((function(t){return e instanceof t}))?e:c();return u.some((function(e){return t instanceof e}))?t:i.querySelector(t)}function f(t,e,i){var n=new CustomEvent(t+".bs."+e,{cancelable:!0});return void 0!==i&&Object.keys(i).forEach((function(t){Object.defineProperty(n,t,{value:i[t]})})),n}function h(t){this&&this.dispatchEvent(t)}function g(t){var e,i,n=this,a=f("close","alert"),o=f("closed","alert");function s(t){e[t?"addEventListener":"removeEventListener"]("click",l,!1)}function l(t){i=t&&t.target.closest(".alert"),(e=m('[data-dismiss="alert"]',i))&&i&&(e===t.target||e.contains(t.target))&&n.close()}function c(){s(),i.parentNode.removeChild(i),h.call(i,o)}n.close=function(){if(i&&e&&i.classList.contains("show")){if(h.call(i,a),a.defaultPrevented)return;n.dispose(),i.classList.remove("show"),i.classList.contains("fade")?r(i,c):c()}},n.dispose=function(){s(),delete e.Alert},e=m(t),i=e.closest(".alert"),e.Alert&&e.Alert.dispose(),e.Alert||s(1),n.element=e,e.Alert=n}function p(t){var e,i,n=f("change","button");function a(t){var a=t.target,o=a.closest("LABEL"),s=null;"LABEL"===a.tagName?s=a:o&&(s=o);var l=s&&s.getElementsByTagName("INPUT")[0];if(l){if(h.call(l,n),h.call(e,n),"checkbox"===l.type){if(n.defaultPrevented)return;l.checked?(s.classList.remove("active"),l.getAttribute("checked"),l.removeAttribute("checked"),l.checked=!1):(s.classList.add("active"),l.getAttribute("checked"),l.setAttribute("checked","checked"),l.checked=!0),e.toggled||(e.toggled=!0)}if("radio"===l.type&&!e.toggled){if(n.defaultPrevented)return;(!l.checked||0===t.screenX&&0===t.screenY)&&(s.classList.add("active"),s.classList.add("focus"),l.setAttribute("checked","checked"),l.checked=!0,e.toggled=!0,Array.from(i).forEach((function(t){var e=t.getElementsByTagName("INPUT")[0];t!==s&&t.classList.contains("active")&&(h.call(e,n),t.classList.remove("active"),e.removeAttribute("checked"),e.checked=!1)})))}setTimeout((function(){e.toggled=!1}),50)}}function o(t){32===(t.which||t.keyCode)&&t.target===document.activeElement&&a(t)}function s(t){32===(t.which||t.keyCode)&&t.preventDefault()}function l(t){if("INPUT"===t.target.tagName){var e="focusin"===t.type?"add":"remove";t.target.closest(".btn").classList[e]("focus")}}function r(t){var i=t?"addEventListener":"removeEventListener";e[i]("click",a,!1),e[i]("keyup",o,!1),e[i]("keydown",s,!1),e[i]("focusin",l,!1),e[i]("focusout",l,!1)}this.dispose=function(){r(),delete e.Button},(e=m(t)).Button&&e.Button.dispose(),(i=e.getElementsByClassName("btn")).length&&(e.Button||r(1),e.toggled=!1,e.Button=this,Array.from(i).forEach((function(t){var e=m("input:checked",t);!t.classList.contains("active")&&e&&t.classList.add("active"),t.classList.contains("active")&&!e&&t.classList.remove("active")})))}var v="onmouseleave"in document?["mouseenter","mouseleave"]:["mouseover","mouseout"],L={passive:!0};var b=function(t){var e=function(t,e){var i=t.getBoundingClientRect(),n=i.width,a=i.height,o=i.top,s=i.right,l=i.bottom,r=i.left,c=1,d=1;if(e&&t instanceof HTMLElement){var u=t.offsetWidth,m=t.offsetHeight;c=u>0&&Math.round(n)/u||1,d=m>0&&Math.round(a)/m||1}return{width:n/c,height:a/d,top:o/d,right:s/c,bottom:l/d,left:r/c,x:r/c,y:o/d}}(t),i=e.top,n=e.bottom;return i<=c(t).documentElement.clientHeight&&n>=0},y=function(t){return t.offsetHeight};function w(t,e){var i,n,a,o,s,c,d,u,g,p,w,A,T,E=e||{},k=this;function x(){!1===c.interval||o.classList.contains("paused")||(o.classList.add("paused"),s.isSliding||(clearInterval(s.timer),s.timer=null))}function C(){!1!==c.interval&&o.classList.contains("paused")&&(o.classList.remove("paused"),s.isSliding||(clearInterval(s.timer),s.timer=null,k.cycle()))}function N(t){if(t.preventDefault(),!s.isSliding){var e=t.target;e&&!e.classList.contains("active")&&e.getAttribute("data-slide-to")&&(s.index=+e.getAttribute("data-slide-to"),k.slideTo(s.index))}}function P(t){if(t.preventDefault(),!s.isSliding){var e=t.currentTarget||t.srcElement;e===w?s.index+=1:e===p&&(s.index-=1),k.slideTo(s.index)}}function H(t){var e=t.which;if(!s.isSliding){switch(e){case 39:s.index+=1;break;case 37:s.index-=1;break;default:return}k.slideTo(s.index)}}function M(t){var e=t?"addEventListener":"removeEventListener";c.pause&&c.interval&&(o[e](v[0],x,!1),o[e](v[1],C,!1),o[e]("touchstart",x,L),o[e]("touchend",C,L)),c.touch&&g.length>1&&o[e]("touchstart",B,L),w&&w[e]("click",P,!1),p&&p[e]("click",P,!1),A&&A[e]("click",N,!1),c.keyboard&&window[e]("keydown",H,!1)}function S(t){var e=t?"addEventListener":"removeEventListener";o[e]("touchmove",I,L),o[e]("touchend",D,L)}function B(t){s.isTouch||(s.touchPosition.startX=t.changedTouches[0].pageX,o.contains(t.target)&&(s.isTouch=!0,S(1)))}function I(t){s.isTouch?(s.touchPosition.currentX=t.changedTouches[0].pageX,"touchmove"===t.type&&t.changedTouches.length>1&&t.preventDefault()):t.preventDefault()}function D(t){if(s.isTouch&&!s.isSliding&&(s.touchPosition.endX=s.touchPosition.currentX||t.changedTouches[0].pageX,s.isTouch)){if((!o.contains(t.target)||!o.contains(t.relatedTarget))&&Math.abs(s.touchPosition.startX-s.touchPosition.endX)<75)return;s.touchPosition.currentXs.touchPosition.startX&&(s.index-=1),s.isTouch=!1,k.slideTo(s.index),S()}}function X(t){Array.from(T).forEach((function(t){return t.classList.remove("active")})),T[t]&&T[t].classList.add("active")}function R(t){if(s.touchPosition){var e=s.index,i=t&&t.target!==g[e]?1e3*t.elapsedTime+100:20,n=k.getActiveIndex(),a="left"===s.direction?"next":"prev";s.isSliding&&setTimeout((function(){s.touchPosition&&(s.isSliding=!1,g[e].classList.add("active"),g[n].classList.remove("active"),g[e].classList.remove("carousel-item-"+a),g[e].classList.remove("carousel-item-"+s.direction),g[n].classList.remove("carousel-item-"+s.direction),h.call(o,u),document.hidden||!c.interval||o.classList.contains("paused")||k.cycle())}),i)}}if(k.cycle=function(){s.timer&&(clearInterval(s.timer),s.timer=null),s.timer=setInterval((function(){var t=s.index||k.getActiveIndex();b(o)&&(t+=1,k.slideTo(t))}),c.interval)},k.slideTo=function(t){if(!s.isSliding){var e=k.getActiveIndex(),i=t;if(e!==i){ei||e===g.length-1&&0===i)&&(s.direction="right"),i<0?i=g.length-1:i>=g.length&&(i=0);var n="left"===s.direction?"next":"prev",a={relatedTarget:g[i],direction:s.direction,from:e,to:i};d=f("slide","carousel",a),u=f("slid","carousel",a),h.call(o,d),d.defaultPrevented||(s.index=i,s.isSliding=!0,clearInterval(s.timer),s.timer=null,X(i),l(g[i])&&o.classList.contains("slide")?(g[i].classList.add("carousel-item-"+n),y(g[i]),g[i].classList.add("carousel-item-"+s.direction),g[e].classList.add("carousel-item-"+s.direction),r(g[i],R)):(g[i].classList.add("active"),y(g[i]),g[e].classList.remove("active"),setTimeout((function(){s.isSliding=!1,c.interval&&o&&!o.classList.contains("paused")&&k.cycle(),h.call(o,u)}),100)))}}},k.getActiveIndex=function(){return Array.from(g).indexOf(o.getElementsByClassName("carousel-item active")[0])||0},k.dispose=function(){var t=["left","right","prev","next"];Array.from(g).forEach((function(e,i){e.classList.contains("active")&&X(i),t.forEach((function(t){return e.classList.remove("carousel-item-"+t)}))})),clearInterval(s.timer),M(),s={},c={},delete o.Carousel},(o=m(t)).Carousel&&o.Carousel.dispose(),g=o.getElementsByClassName("carousel-item"),i=o.getElementsByClassName("carousel-control-prev"),p=i[0],n=o.getElementsByClassName("carousel-control-next"),w=n[0],a=o.getElementsByClassName("carousel-indicators"),A=a[0],T=A&&A.getElementsByTagName("LI")||[],!(g.length<2)){var W=o.getAttribute("data-interval"),O="false"===W?0:+W,j="false"===o.getAttribute("data-touch")?0:1,z="hover"===o.getAttribute("data-pause")||!1,U="true"===o.getAttribute("data-keyboard")||!1,q=E.interval,F=E.touch;(c={}).keyboard=!0===E.keyboard||U,c.pause=!("hover"!==E.pause&&!z)&&"hover",c.touch=F||j,c.interval=5e3,"number"==typeof q?c.interval=q:!1===q||0===O||!1===O?c.interval=0:Number.isNaN(O)||(c.interval=O),k.getActiveIndex()<0&&(g.length&&g[0].classList.add("active"),T.length&&X(0)),(s={}).direction="left",s.index=0,s.timer=null,s.isSliding=!1,s.isTouch=!1,s.touchPosition={startX:0,currentX:0,endX:0},M(1),c.interval&&k.cycle(),o.Carousel=k}}function A(t,e){var i,n,a,o,s,l,c,d=e||{},u=this,g=null,p=null;function v(t,e){h.call(t,l),l.defaultPrevented||(t.isAnimating=!0,t.style.height=t.scrollHeight+"px",t.classList.remove("collapse"),t.classList.remove("show"),t.classList.add("collapsing"),y(t),t.style.height="0px",r(t,(function(){t.isAnimating=!1,t.setAttribute("aria-expanded","false"),e.setAttribute("aria-expanded","false"),t.classList.remove("collapsing"),t.classList.add("collapse"),t.style.height="",h.call(t,c)})))}u.toggle=function(t){(t&&"A"===t.target.tagName||"A"===i.tagName)&&t.preventDefault(),(i.contains(t.target)||t.target===i)&&(p.classList.contains("show")?u.hide():u.show())},u.hide=function(){p.isAnimating||(v(p,i),i.classList.add("collapsed"))},u.show=function(){var t,e,l;g&&(t=g.getElementsByClassName("collapse show"),n=t[0],a=n&&(m('[data-target="#'+n.id+'"]',g)||m('[href="#'+n.id+'"]',g))),p.isAnimating||(a&&n!==p&&(v(n,a),a.classList.add("collapsed")),e=p,l=i,h.call(e,o),o.defaultPrevented||(e.isAnimating=!0,e.classList.add("collapsing"),e.classList.remove("collapse"),e.style.height=e.scrollHeight+"px",r(e,(function(){e.isAnimating=!1,e.setAttribute("aria-expanded","true"),l.setAttribute("aria-expanded","true"),e.classList.remove("collapsing"),e.classList.add("collapse"),e.classList.add("show"),e.style.height="",h.call(e,s)}))),i.classList.remove("collapsed"))},u.dispose=function(){i.removeEventListener("click",u.toggle,!1),delete i.Collapse},(i=m(t)).Collapse&&i.Collapse.dispose();var L=i.getAttribute("data-parent");o=f("show","collapse"),s=f("shown","collapse"),l=f("hide","collapse"),c=f("hidden","collapse"),null!==(p=m(d.target||i.getAttribute("data-target")||i.getAttribute("href")))&&(p.isAnimating=!1);var b=d.parent||L;g=b?i.closest(b):null,i.Collapse||i.addEventListener("click",u.toggle,!1),i.Collapse=u}var T=function(t){return t.focus()};function E(t,e){var i,n,a,o,s,l,r,c,d=this,u=null,g=[];function p(t){(t.hasAttribute("href")&&"#"===t.href.slice(-1)||t.parentNode&&t.parentNode.hasAttribute("href")&&"#"===t.parentNode.href.slice(-1))&&this.preventDefault()}function v(){var t=i.open?"addEventListener":"removeEventListener";document[t]("click",L,!1),document[t]("keydown",y,!1),document[t]("keyup",w,!1),document[t]("focus",L,!1)}function L(t){var e=t.target;if(e.getAttribute){var n=e&&e.getAttribute("data-toggle")||e.parentNode&&e.parentNode.getAttribute&&e.parentNode.getAttribute("data-toggle");("focus"!==t.type||e!==i&&e!==r&&!r.contains(e))&&(e!==r&&!r.contains(e)||!c&&!n)&&(u=e===i||i.contains(e)?i:null,d.hide(),p.call(t,e))}}function b(t){u=i,d.show(),p.call(t,t.target)}function y(t){var e=t.which||t.keyCode;38!==e&&40!==e||t.preventDefault()}function w(t){var e=t.which||t.keyCode,n=document.activeElement,a=n===i,o=r.contains(n),s=n.parentNode===r||n.parentNode.parentNode===r,l=g.indexOf(n);s&&(a?l=0:38===e?l=l>1?l-1:0:40===e&&(l=l=d,w=m.top+c/2+g/2>=u,A=m.top-c<0,T=m.left-r<0,E=m.top+c+g>=u,k=m.left+r+h>=d,x=i;x="right"===(x="left"===(x="bottom"===(x="top"===(x=("left"===x||"right"===x)&&T&&k?"top":x)&&A?"bottom":x)&&E?"top":x)&&T?"right":x)&&k?"left":x,-1===e.className.indexOf(x)&&(e.className=e.className.replace(/\b(top|bottom|left|right)+/,x));var N=v.offsetWidth,P=v.offsetHeight;"left"===x||"right"===x?(o="left"===x?m.left+f.x-r-(p?N:0):m.left+f.x+h,L?(a=m.top+f.y,s=g/2-N):w?(a=m.top+f.y-c+g,s=c-g/2-N):(a=m.top+f.y-c/2+g/2,s=c/2-(p?.9*P:P/2))):"top"!==x&&"bottom"!==x||(a="top"===x?m.top+f.y-c-(p?P:0):m.top+f.y+g,b?(o=0,l=m.left+h/2-N):y?(o=d-1.01*r,l=r-(d-m.left)+h/2-N/2):(o=m.left+f.x-r/2+h/2,l=r/2-(p?N:N/2))),e.style.top=a+"px",e.style.left=o+"px",s&&(v.style.top=s+"px"),l&&(v.style.left=l+"px")}function P(t,e){var i,n,a,o,s,l,c,d,u,g=e||{},p=this,b=null,y=0,w=/(iPhone|iPod|iPad)/.test(navigator.userAgent),A={};function T(t){null!==b&&t.target===m(".close",b)&&p.hide()}function E(t){return g[t]||i.dataset[t]||null}function k(){return E("title")}function C(){return E("content")}function P(){null===b&&i.focus()}function H(t){var e=t?"addEventListener":"removeEventListener";"hover"===A.trigger?(i[e](x,p.show),i[e](v[0],p.show),A.dismissible||i[e](v[1],p.hide)):"click"===A.trigger?i[e](A.trigger,p.toggle):"focus"===A.trigger&&(w&&i[e]("click",P,!1),i[e](A.trigger,p.toggle))}function M(t){b&&b.contains(t.target)||t.target===i||i.contains(t.target)||p.hide()}function S(t){var e=t?"addEventListener":"removeEventListener";A.dismissible?document[e]("click",T,!1):("focus"===A.trigger&&i[e]("blur",p.hide),"hover"===A.trigger&&document[e]("touchstart",M,L)),window[e]("resize",p.hide,L)}function B(){S(1),h.call(i,c)}function I(){S(),A.container.removeChild(b),y=null,b=null,h.call(i,u)}p.toggle=function(){null===b?p.show():p.hide()},p.show=function(){clearTimeout(y),y=setTimeout((function(){if(null===b){if(h.call(i,l),l.defaultPrevented)return;!function(){n=k(),a=(a=C())?a.trim():null,b=document.createElement("div");var t=document.createElement("div");if(t.classList.add("arrow"),b.appendChild(t),null!==a&&null===A.template){if(b.setAttribute("role","tooltip"),null!==n){var e=document.createElement("h3");e.classList.add("popover-header"),e.innerHTML=A.dismissible?n+s:n,b.appendChild(e)}var i=document.createElement("div");i.classList.add("popover-body"),i.innerHTML=A.dismissible&&null===n?a+s:a,b.appendChild(i)}else{var l=document.createElement("div");l.innerHTML=A.template.trim(),b.className=l.firstChild.className,b.innerHTML=l.firstChild.innerHTML;var r=m(".popover-header",b),c=m(".popover-body",b);n&&r&&(r.innerHTML=n.trim()),a&&c&&(c.innerHTML=a.trim())}A.container.appendChild(b),b.style.display="block",b.classList.contains("popover")||b.classList.add("popover"),b.classList.contains(A.animation)||b.classList.add(A.animation),b.classList.contains(o)||b.classList.add(o)}(),N(i,b,A.placement,A.container),b.classList.contains("show")||b.classList.add("show"),A.animation?r(b,B):B()}}),20)},p.hide=function(){clearTimeout(y),y=setTimeout((function(){if(b&&null!==b&&b.classList.contains("show")){if(h.call(i,d),d.defaultPrevented)return;b.classList.remove("show"),A.animation?r(b,I):I()}}),A.delay)},p.dispose=function(){p.hide(),H(),delete i.Popover},(i=m(t)).Popover&&i.Popover.dispose();var D=i.getAttribute("data-trigger"),X=i.getAttribute("data-animation"),R=i.getAttribute("data-placement"),W=i.getAttribute("data-dismissible"),O=i.getAttribute("data-delay"),j=i.getAttribute("data-container");s='',l=f("show","popover"),c=f("shown","popover"),d=f("hide","popover"),u=f("hidden","popover");var z=m(g.container),U=m(j),q=i.closest(".modal"),F=i.closest(".fixed-top"),Y=i.closest(".fixed-bottom");A.template=g.template?g.template:null,A.trigger=g.trigger?g.trigger:D||"hover",A.animation=g.animation&&"fade"!==g.animation?g.animation:X||"fade",A.placement=g.placement?g.placement:R||"top",A.delay=parseInt(g.delay||O,10)||200,A.dismissible=!(!g.dismissible&&"true"!==W),A.container=z||U||F||Y||q||document.body,o="bs-popover-"+A.placement,n=k(),((a=C())||A.template)&&(i.Popover||H(1),i.Popover=p)}function H(t,e){var i,n,a,o,s,l=e||{},r=this,c={};function d(){var t,e,s;(a=o.getElementsByTagName("A"),n.scrollTop=n.isWindow?C().y:i.scrollTop,n.length!==a.length||g()!==n.scrollHeight)&&(n.items=[],n.offsets=[],n.scrollHeight=g(),n.maxScroll=n.scrollHeight-(n.isWindow?window.innerHeight:i.getBoundingClientRect().height),Array.from(a).forEach((function(i){t=i.getAttribute("href"),(e=t&&"#"===t.charAt(0)&&"#"!==t.slice(-1)&&m(t))&&(n.items.push(i),s=e.getBoundingClientRect(),n.offsets.push((n.isWindow?s.top+n.scrollTop:e.offsetTop)-c.offset))})),n.length=n.items.length)}function u(t){var e=t?"addEventListener":"removeEventListener";s[e]("scroll",r.refresh,L),window[e]("resize",r.refresh,L)}function g(){return s.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}function p(){Array.from(a).map((function(t){return t.classList.contains("active")&&t.classList.remove("active")}))}function v(t){var e,a=t;p(),n.activeItem=a,a.classList.add("active");for(var o=[];a.parentNode!==document.body;)((e=(a=a.parentNode).classList).contains("dropdown-menu")||e.contains("nav"))&&o.push(a);o.forEach((function(t){var e=t.previousElementSibling;e&&!e.classList.contains("active")&&e.classList.add("active")})),h.call(i,f("activate","scrollspy",{relatedTarget:n.activeItem}))}r.refresh=function(){if(d(),n.scrollTop>=n.maxScroll){var t=n.items[n.length-1];n.activeItem!==t&&v(t)}else{if(n.activeItem&&n.scrollTop0)return n.activeItem=null,void p();for(var e=n.length;e>-1;)n.activeItem!==n.items[e]&&n.scrollTop>=n.offsets[e]&&(void 0===n.offsets[e+1]||n.scrollTop1&&(g=t[t.length-1]):g=t[0],g}function P(){return m(N().getAttribute("href"))}function H(t){t.preventDefault(),u=t.currentTarget,a.isAnimating||T.show()}T.show=function(){if(!(u=u||n).classList.contains("active")){if(v=m(u.getAttribute("href")),g=N(),p=P(),c=f("hide","tab",{relatedTarget:u}),h.call(g,c),c.defaultPrevented)return;a.isAnimating=!0,g.classList.remove("active"),g.setAttribute("aria-selected","false"),u.classList.add("active"),u.setAttribute("aria-selected","true"),o&&(n.parentNode.classList.contains("dropdown-menu")?o.classList.contains("active")||o.classList.add("active"):o.classList.contains("active")&&o.classList.remove("active")),p.classList.contains("fade")?(p.classList.remove("show"),r(p,C)):C()}},T.dispose=function(){n.removeEventListener("click",H,!1),delete n.Tab},(n=m(t)).Tab&&n.Tab.dispose();var M=n.getAttribute("data-height");a=n.closest(".nav"),o=a&&m(".dropdown-toggle",a);var S=!(!e||!1===A.height||"false"===M);a.isAnimating=!1,n.Tab||n.addEventListener("click",H,!1),S&&(E=P().parentNode),n.Tab=T}function S(t,e){var i,n,a,o,s,l,c=e||{},d=this,u=0,g={};function p(){n.classList.remove("showing"),n.classList.add("show"),h.call(n,s),g.autohide&&d.hide()}function v(){n.classList.add("hide"),h.call(n,l)}function L(){n.classList.remove("show"),g.animation?r(n,v):v()}function b(){clearTimeout(u),i.removeEventListener("click",d.hide,!1),delete i.Toast}d.show=function(){if(n&&!n.classList.contains("show")){if(h.call(n,a),a.defaultPrevented)return;g.animation&&n.classList.add("fade"),n.classList.remove("hide"),y(n),n.classList.add("showing"),g.animation?r(n,p):p()}},d.hide=function(t){if(n&&n.classList.contains("show")){if(h.call(n,o),o.defaultPrevented)return;t?L():u=setTimeout(L,g.delay)}},d.dispose=function(){g.animation?r(n,b):b()},(i=m(t)).Toast&&i.Toast.dispose(),n=i.closest(".toast");var w=i.getAttribute("data-animation"),A=i.getAttribute("data-autohide"),T=i.getAttribute("data-delay");a=f("show","toast"),o=f("hide","toast"),s=f("shown","toast"),l=f("hidden","toast"),g.animation=!1===c.animation||"false"===w?0:1,g.autohide=!1===c.autohide||"false"===A?0:1,g.delay=parseInt(c.delay||T,10)||500,i.Toast||i.addEventListener("click",d.hide,!1),i.Toast=d}function B(t,e){var i,n,a,o,s,l,c,d=e||{},u=this,g=null,p=0,b={};function y(){return i.getAttribute("title")||i.getAttribute("data-title")||i.getAttribute("data-original-title")}function w(t){g&&g.contains(t.target)||t.target===i||i.contains(t.target)||u.hide()}function A(t){var e=t?"addEventListener":"removeEventListener";document[e]("touchstart",w,L),window[e]("resize",u.hide,L)}function T(){A(1),h.call(i,s)}function E(){A(),b.container.removeChild(g),g=null,p=null,h.call(i,c)}function k(t){var e=t?"addEventListener":"removeEventListener";i[e](x,u.show,!1),i[e](v[0],u.show,!1),i[e](v[1],u.hide,!1)}u.show=function(){clearTimeout(p),p=setTimeout((function(){if(null===g){if(h.call(i,o),o.defaultPrevented)return;!1!==function(){if(n=y()){if(g=document.createElement("div"),b.template){var t=document.createElement("div");t.innerHTML=b.template.trim(),g.className=t.firstChild.className,g.innerHTML=t.firstChild.innerHTML,m(".tooltip-inner",g).innerHTML=n.trim()}else{var e=document.createElement("div");e.classList.add("arrow"),g.appendChild(e);var i=document.createElement("div");i.classList.add("tooltip-inner"),g.appendChild(i),i.innerHTML=n}g.style.left="0",g.style.top="0",g.setAttribute("role","tooltip"),g.classList.contains("tooltip")||g.classList.add("tooltip"),g.classList.contains(b.animation)||g.classList.add(b.animation),g.classList.contains(a)||g.classList.add(a),b.container.appendChild(g)}}()&&(N(i,g,b.placement,b.container),g.classList.contains("show")||g.classList.add("show"),b.animation?r(g,T):T())}}),20)},u.hide=function(){clearTimeout(p),p=setTimeout((function(){if(g&&g.classList.contains("show")){if(h.call(i,l),l.defaultPrevented)return;g.classList.remove("show"),b.animation?r(g,E):E()}}),b.delay)},u.toggle=function(){g?u.hide():u.show()},u.dispose=function(){k(),u.hide(),i.setAttribute("title",i.getAttribute("data-original-title")),i.removeAttribute("data-original-title"),delete i.Tooltip},(i=m(t)).Tooltip&&i.Tooltip.dispose();var C=i.getAttribute("data-animation"),P=i.getAttribute("data-placement"),H=i.getAttribute("data-delay"),M=i.getAttribute("data-container"),S=m(d.container),B=m(M),I=i.closest(".modal");o=f("show","tooltip"),s=f("shown","tooltip"),l=f("hide","tooltip"),c=f("hidden","tooltip");var D=i.closest(".fixed-top"),X=i.closest(".fixed-bottom");b.animation=d.animation&&"fade"!==d.animation?d.animation:C||"fade",b.placement=d.placement?d.placement:P||"top",b.template=d.template?d.template:null,b.delay=parseInt(d.delay||H,10)||200,b.container=S||B||D||X||I||document.body,a="bs-tooltip-"+b.placement,(n=y())&&(i.Tooltip||(i.setAttribute("data-original-title",n),i.removeAttribute("title"),k(1)),i.Tooltip=u)}var I={};function D(t){var e=t instanceof Element?t:document;Object.keys(I).forEach((function(t){var i,n;i=I[t][0],n=e.querySelectorAll(I[t][1]),Array.from(n).map((function(t){return new i(t)}))}))}I.Alert=[g,'[data-dismiss="alert"]'],I.Button=[p,'[data-toggle="buttons"]'],I.Carousel=[w,'[data-ride="carousel"]'],I.Collapse=[A,'[data-toggle="collapse"]'],I.Dropdown=[E,'[data-toggle="dropdown"]'],I.Modal=[k,'[data-toggle="modal"]'],I.Popover=[P,'[data-toggle="popover"],[data-tip="popover"]'],I.ScrollSpy=[H,'[data-spy="scroll"]'],I.Tab=[M,'[data-toggle="tab"]'],I.Toast=[S,'[data-dismiss="toast"]'],I.Tooltip=[B,'[data-toggle="tooltip"],[data-tip="tooltip"]'],document.body?D():document.addEventListener("DOMContentLoaded",(function t(){D(),document.removeEventListener("DOMContentLoaded",t,!1)}),!1);var X={Alert:g,Button:p,Carousel:w,Collapse:A,Dropdown:E,Modal:k,Popover:P,ScrollSpy:H,Tab:M,Toast:S,Tooltip:B,initCallback:D,removeDataAPI:function(t){var e=t instanceof Element?t:document;Object.keys(I).forEach((function(t){var i,n;i=t,n=e.querySelectorAll(I[t][1]),Array.from(n).map((function(t){return t[i].dispose()}))}))},componentsInit:I,Version:"4.1.0alpha6"};export{X as default}; +// Native JavaScript for Bootstrap v4.1.0alpha7 | 2022 © dnp_theme | MIT-License +var t=document.head,e="webkitTransition"in t.style||"transition"in t.style,i="webkitTransition"in t.style?"webkitTransitionEnd":"transitionend",n="webkitTransition"in t.style?"webkitTransitionDelay":"transitionDelay",a="webkitTransition"in t.style?"webkitTransitionProperty":"transitionProperty";function o(t,e){var i=getComputedStyle(t);return e in i?i[e]:""}var s="webkitTransition"in t.style?"webkitTransitionDuration":"transitionDuration";function l(t){var i=o(t,a),n=o(t,s),l=n.includes("ms")?1:1e3,r=e&&i&&"none"!==i?parseFloat(n)*l:0;return Number.isNaN(r)?0:r}function r(t,s){var r=0,c=new Event(i),d=l(t),u=function(t){var i=o(t,a),s=o(t,n),l=s.includes("ms")?1:1e3,r=e&&i&&"none"!==i?parseFloat(s)*l:0;return Number.isNaN(r)?0:r}(t);if(e&&d){var m=function(e){e.target===t&&(s.apply(t,[e]),t.removeEventListener(i,m),r=1)};t.addEventListener(i,m),setTimeout((function(){r||t.dispatchEvent(c)}),d+u+17)}else s.apply(t,[c])}function c(t){return t instanceof HTMLElement?t.ownerDocument:t instanceof Window?t.document:window.document}var d=[Document,Element,HTMLElement],u=[Element,HTMLElement];function m(t,e){var i=d.some((function(t){return e instanceof t}))?e:c();return u.some((function(e){return t instanceof e}))?t:i.querySelector(t)}function f(t,e,i){var n=new CustomEvent(t+".bs."+e,{cancelable:!0});return void 0!==i&&Object.keys(i).forEach((function(t){Object.defineProperty(n,t,{value:i[t]})})),n}function h(t){this&&this.dispatchEvent(t)}function g(t){var e,i,n=this,a=f("close","alert"),o=f("closed","alert");function s(t){e[t?"addEventListener":"removeEventListener"]("click",l,!1)}function l(t){i=t&&t.target.closest(".alert"),(e=m('[data-dismiss="alert"]',i))&&i&&(e===t.target||e.contains(t.target))&&n.close()}function c(){s(),i.parentNode.removeChild(i),h.call(i,o)}n.close=function(){if(i&&e&&i.classList.contains("show")){if(h.call(i,a),a.defaultPrevented)return;n.dispose(),i.classList.remove("show"),i.classList.contains("fade")?r(i,c):c()}},n.dispose=function(){s(),delete e.Alert},e=m(t),i=e.closest(".alert"),e.Alert&&e.Alert.dispose(),e.Alert||s(1),n.element=e,e.Alert=n}function p(t){var e,i,n=f("change","button");function a(t){var a=t.target,o=a.closest("LABEL"),s=null;"LABEL"===a.tagName?s=a:o&&(s=o);var l=s&&s.getElementsByTagName("INPUT")[0];if(l){if(h.call(l,n),h.call(e,n),"checkbox"===l.type){if(n.defaultPrevented)return;l.checked?(s.classList.remove("active"),l.getAttribute("checked"),l.removeAttribute("checked"),l.checked=!1):(s.classList.add("active"),l.getAttribute("checked"),l.setAttribute("checked","checked"),l.checked=!0),e.toggled||(e.toggled=!0)}if("radio"===l.type&&!e.toggled){if(n.defaultPrevented)return;(!l.checked||0===t.screenX&&0===t.screenY)&&(s.classList.add("active"),s.classList.add("focus"),l.setAttribute("checked","checked"),l.checked=!0,e.toggled=!0,Array.from(i).forEach((function(t){var e=t.getElementsByTagName("INPUT")[0];t!==s&&t.classList.contains("active")&&(h.call(e,n),t.classList.remove("active"),e.removeAttribute("checked"),e.checked=!1)})))}setTimeout((function(){e.toggled=!1}),50)}}function o(t){32===(t.which||t.keyCode)&&t.target===document.activeElement&&a(t)}function s(t){32===(t.which||t.keyCode)&&t.preventDefault()}function l(t){if("INPUT"===t.target.tagName){var e="focusin"===t.type?"add":"remove";t.target.closest(".btn").classList[e]("focus")}}function r(t){var i=t?"addEventListener":"removeEventListener";e[i]("click",a,!1),e[i]("keyup",o,!1),e[i]("keydown",s,!1),e[i]("focusin",l,!1),e[i]("focusout",l,!1)}this.dispose=function(){r(),delete e.Button},(e=m(t)).Button&&e.Button.dispose(),(i=e.getElementsByClassName("btn")).length&&(e.Button||r(1),e.toggled=!1,e.Button=this,Array.from(i).forEach((function(t){var e=m("input:checked",t);!t.classList.contains("active")&&e&&t.classList.add("active"),t.classList.contains("active")&&!e&&t.classList.remove("active")})))}var v="onmouseleave"in document?["mouseenter","mouseleave"]:["mouseover","mouseout"],L={passive:!0};var b=function(t){var e=function(t,e){var i=t.getBoundingClientRect(),n=i.width,a=i.height,o=i.top,s=i.right,l=i.bottom,r=i.left,c=1,d=1;if(e&&t instanceof HTMLElement){var u=t.offsetWidth,m=t.offsetHeight;c=u>0&&Math.round(n)/u||1,d=m>0&&Math.round(a)/m||1}return{width:n/c,height:a/d,top:o/d,right:s/c,bottom:l/d,left:r/c,x:r/c,y:o/d}}(t),i=e.top,n=e.bottom;return i<=c(t).documentElement.clientHeight&&n>=0},y=function(t){return t.offsetHeight};function w(t,e){var i,n,a,o,s,c,d,u,g,p,w,A,T,E=e||{},k=this;function x(){!1===c.interval||o.classList.contains("paused")||(o.classList.add("paused"),s.isSliding||(clearInterval(s.timer),s.timer=null))}function C(){!1!==c.interval&&o.classList.contains("paused")&&(o.classList.remove("paused"),s.isSliding||(clearInterval(s.timer),s.timer=null,k.cycle()))}function N(t){if(t.preventDefault(),!s.isSliding){var e=t.target;e&&!e.classList.contains("active")&&e.getAttribute("data-slide-to")&&(s.index=+e.getAttribute("data-slide-to"),k.slideTo(s.index))}}function P(t){if(t.preventDefault(),!s.isSliding){var e=t.currentTarget||t.srcElement;e===w?s.index+=1:e===p&&(s.index-=1),k.slideTo(s.index)}}function H(t){var e=t.which;if(!s.isSliding){switch(e){case 39:s.index+=1;break;case 37:s.index-=1;break;default:return}k.slideTo(s.index)}}function M(t){var e=t?"addEventListener":"removeEventListener";c.pause&&c.interval&&(o[e](v[0],x,!1),o[e](v[1],C,!1),o[e]("touchstart",x,L),o[e]("touchend",C,L)),c.touch&&g.length>1&&o[e]("touchstart",B,L),w&&w[e]("click",P,!1),p&&p[e]("click",P,!1),A&&A[e]("click",N,!1),c.keyboard&&window[e]("keydown",H,!1)}function S(t){var e=t?"addEventListener":"removeEventListener";o[e]("touchmove",I,L),o[e]("touchend",D,L)}function B(t){s.isTouch||(s.touchPosition.startX=t.changedTouches[0].pageX,o.contains(t.target)&&(s.isTouch=!0,S(1)))}function I(t){s.isTouch?(s.touchPosition.currentX=t.changedTouches[0].pageX,"touchmove"===t.type&&t.changedTouches.length>1&&t.preventDefault()):t.preventDefault()}function D(t){if(s.isTouch&&!s.isSliding&&(s.touchPosition.endX=s.touchPosition.currentX||t.changedTouches[0].pageX,s.isTouch)){if((!o.contains(t.target)||!o.contains(t.relatedTarget))&&Math.abs(s.touchPosition.startX-s.touchPosition.endX)<75)return;s.touchPosition.currentXs.touchPosition.startX&&(s.index-=1),s.isTouch=!1,k.slideTo(s.index),S()}}function X(t){Array.from(T).forEach((function(t){return t.classList.remove("active")})),T[t]&&T[t].classList.add("active")}function R(t){if(s.touchPosition){var e=s.index,i=t&&t.target!==g[e]?1e3*t.elapsedTime+100:20,n=k.getActiveIndex(),a="left"===s.direction?"next":"prev";s.isSliding&&setTimeout((function(){s.touchPosition&&(s.isSliding=!1,g[e].classList.add("active"),g[n].classList.remove("active"),g[e].classList.remove("carousel-item-"+a),g[e].classList.remove("carousel-item-"+s.direction),g[n].classList.remove("carousel-item-"+s.direction),h.call(o,u),document.hidden||!c.interval||o.classList.contains("paused")||k.cycle())}),i)}}if(k.cycle=function(){s.timer&&(clearInterval(s.timer),s.timer=null),s.timer=setInterval((function(){var t=s.index||k.getActiveIndex();b(o)&&(t+=1,k.slideTo(t))}),c.interval)},k.slideTo=function(t){if(!s.isSliding){var e=k.getActiveIndex(),i=t;if(e!==i){ei||e===g.length-1&&0===i)&&(s.direction="right"),i<0?i=g.length-1:i>=g.length&&(i=0);var n="left"===s.direction?"next":"prev",a={relatedTarget:g[i],direction:s.direction,from:e,to:i};d=f("slide","carousel",a),u=f("slid","carousel",a),h.call(o,d),d.defaultPrevented||(s.index=i,s.isSliding=!0,clearInterval(s.timer),s.timer=null,X(i),l(g[i])&&o.classList.contains("slide")?(g[i].classList.add("carousel-item-"+n),y(g[i]),g[i].classList.add("carousel-item-"+s.direction),g[e].classList.add("carousel-item-"+s.direction),r(g[i],R)):(g[i].classList.add("active"),y(g[i]),g[e].classList.remove("active"),setTimeout((function(){s.isSliding=!1,c.interval&&o&&!o.classList.contains("paused")&&k.cycle(),h.call(o,u)}),100)))}}},k.getActiveIndex=function(){return Array.from(g).indexOf(o.getElementsByClassName("carousel-item active")[0])||0},k.dispose=function(){var t=["left","right","prev","next"];Array.from(g).forEach((function(e,i){e.classList.contains("active")&&X(i),t.forEach((function(t){return e.classList.remove("carousel-item-"+t)}))})),clearInterval(s.timer),M(),s={},c={},delete o.Carousel},(o=m(t)).Carousel&&o.Carousel.dispose(),g=o.getElementsByClassName("carousel-item"),i=o.getElementsByClassName("carousel-control-prev"),p=i[0],n=o.getElementsByClassName("carousel-control-next"),w=n[0],a=o.getElementsByClassName("carousel-indicators"),A=a[0],T=A&&A.getElementsByTagName("LI")||[],!(g.length<2)){var W=o.getAttribute("data-interval"),O="false"===W?0:+W,j="false"===o.getAttribute("data-touch")?0:1,z="hover"===o.getAttribute("data-pause")||!1,U="true"===o.getAttribute("data-keyboard")||!1,q=E.interval,F=E.touch;(c={}).keyboard=!0===E.keyboard||U,c.pause=!("hover"!==E.pause&&!z)&&"hover",c.touch=F||j,c.interval=5e3,"number"==typeof q?c.interval=q:!1===q||0===O||!1===O?c.interval=0:Number.isNaN(O)||(c.interval=O),k.getActiveIndex()<0&&(g.length&&g[0].classList.add("active"),T.length&&X(0)),(s={}).direction="left",s.index=0,s.timer=null,s.isSliding=!1,s.isTouch=!1,s.touchPosition={startX:0,currentX:0,endX:0},M(1),c.interval&&k.cycle(),o.Carousel=k}}function A(t,e){var i,n,a,o,s,l,c,d=e||{},u=this,g=null,p=null;function v(t,e){h.call(t,l),l.defaultPrevented||(t.isAnimating=!0,t.style.height=t.scrollHeight+"px",t.classList.remove("collapse"),t.classList.remove("show"),t.classList.add("collapsing"),y(t),t.style.height="0px",r(t,(function(){t.isAnimating=!1,t.setAttribute("aria-expanded","false"),e.setAttribute("aria-expanded","false"),t.classList.remove("collapsing"),t.classList.add("collapse"),t.style.height="",h.call(t,c)})))}u.toggle=function(t){(t&&"A"===t.target.tagName||"A"===i.tagName)&&t.preventDefault(),(i.contains(t.target)||t.target===i)&&(p.classList.contains("show")?u.hide():u.show())},u.hide=function(){p.isAnimating||(v(p,i),i.classList.add("collapsed"))},u.show=function(){var t,e,l;g&&(t=g.getElementsByClassName("collapse show"),n=t[0],a=n&&(m('[data-target="#'+n.id+'"]',g)||m('[href="#'+n.id+'"]',g))),p.isAnimating||(a&&n!==p&&(v(n,a),a.classList.add("collapsed")),e=p,l=i,h.call(e,o),o.defaultPrevented||(e.isAnimating=!0,e.classList.add("collapsing"),e.classList.remove("collapse"),e.style.height=e.scrollHeight+"px",r(e,(function(){e.isAnimating=!1,e.setAttribute("aria-expanded","true"),l.setAttribute("aria-expanded","true"),e.classList.remove("collapsing"),e.classList.add("collapse"),e.classList.add("show"),e.style.height="",h.call(e,s)}))),i.classList.remove("collapsed"))},u.dispose=function(){i.removeEventListener("click",u.toggle,!1),delete i.Collapse},(i=m(t)).Collapse&&i.Collapse.dispose();var L=i.getAttribute("data-parent");o=f("show","collapse"),s=f("shown","collapse"),l=f("hide","collapse"),c=f("hidden","collapse"),null!==(p=m(d.target||i.getAttribute("data-target")||i.getAttribute("href")))&&(p.isAnimating=!1);var b=d.parent||L;g=b?i.closest(b):null,i.Collapse||i.addEventListener("click",u.toggle,!1),i.Collapse=u}var T=function(t){return t.focus()};function E(t,e){var i,n,a,o,s,l,r,c,d=this,u=null,g=[];function p(t){(t.hasAttribute("href")&&"#"===t.href.slice(-1)||t.parentNode&&t.parentNode.hasAttribute("href")&&"#"===t.parentNode.href.slice(-1))&&this.preventDefault()}function v(){var t=i.open?"addEventListener":"removeEventListener";document[t]("click",L,!1),document[t]("keydown",y,!1),document[t]("keyup",w,!1),document[t]("focus",L,!1)}function L(t){var e=t.target;if(e.getAttribute){var n=e&&e.getAttribute("data-toggle")||e.parentNode&&e.parentNode.getAttribute&&e.parentNode.getAttribute("data-toggle");("focus"!==t.type||e!==i&&e!==r&&!r.contains(e))&&(e!==r&&!r.contains(e)||!c&&!n)&&(u=e===i||i.contains(e)?i:null,d.hide(),p.call(t,e))}}function b(t){u=i,d.show(),p.call(t,t.target)}function y(t){var e=t.which||t.keyCode;38!==e&&40!==e||t.preventDefault()}function w(t){var e=t.which||t.keyCode,n=document.activeElement,a=n===i,o=r.contains(n),s=n.parentNode===r||n.parentNode.parentNode===r,l=g.indexOf(n);s&&(a?l=0:38===e?l=l>1?l-1:0:40===e&&(l=l=d,w=m.top+c/2+g/2>=u,A=m.top-c<0,T=m.left-r<0,E=m.top+c+g>=u,k=m.left+r+h>=d,x=i;x="right"===(x="left"===(x="bottom"===(x="top"===(x=("left"===x||"right"===x)&&T&&k?"top":x)&&A?"bottom":x)&&E?"top":x)&&T?"right":x)&&k?"left":x,-1===e.className.indexOf(x)&&(e.className=e.className.replace(/\b(top|bottom|left|right)+/,x));var N=v.offsetWidth,P=v.offsetHeight;"left"===x||"right"===x?(o="left"===x?m.left+f.x-r-(p?N:0):m.left+f.x+h,L?(a=m.top+f.y,s=g/2-N):w?(a=m.top+f.y-c+g,s=c-g/2-N):(a=m.top+f.y-c/2+g/2,s=c/2-(p?.9*P:P/2))):"top"!==x&&"bottom"!==x||(a="top"===x?m.top+f.y-c-(p?P:0):m.top+f.y+g,b?(o=0,l=m.left+h/2-N):y?(o=d-1.01*r,l=r-(d-m.left)+h/2-N/2):(o=m.left+f.x-r/2+h/2,l=r/2-(p?N:N/2))),e.style.top=a+"px",e.style.left=o+"px",s&&(v.style.top=s+"px"),l&&(v.style.left=l+"px")}function P(t,e){var i,n,a,o,s,l,c,d,u,g=e||{},p=this,b=null,y=0,w=/(iPhone|iPod|iPad)/.test(navigator.userAgent),A={};function T(t){null!==b&&t.target===m(".close",b)&&p.hide()}function E(t){return g[t]||i.dataset[t]||null}function k(){return E("title")}function C(){return E("content")}function P(){null===b&&i.focus()}function H(t){var e=t?"addEventListener":"removeEventListener";"hover"===A.trigger?(i[e](x,p.show),i[e](v[0],p.show),A.dismissible||i[e](v[1],p.hide)):"click"===A.trigger?i[e](A.trigger,p.toggle):"focus"===A.trigger&&(w&&i[e]("click",P,!1),i[e](A.trigger,p.toggle))}function M(t){b&&b.contains(t.target)||t.target===i||i.contains(t.target)||p.hide()}function S(t){var e=t?"addEventListener":"removeEventListener";A.dismissible?document[e]("click",T,!1):("focus"===A.trigger&&i[e]("blur",p.hide),"hover"===A.trigger&&document[e]("touchstart",M,L)),window[e]("resize",p.hide,L)}function B(){S(1),h.call(i,c)}function I(){S(),A.container.removeChild(b),y=null,b=null,h.call(i,u)}p.toggle=function(){null===b?p.show():p.hide()},p.show=function(){clearTimeout(y),y=setTimeout((function(){if(null===b){if(h.call(i,l),l.defaultPrevented)return;!function(){n=k(),a=(a=C())?a.trim():null,b=document.createElement("div");var t=document.createElement("div");if(t.classList.add("arrow"),b.appendChild(t),null!==a&&null===A.template){if(b.setAttribute("role","tooltip"),null!==n){var e=document.createElement("h3");e.classList.add("popover-header"),e.innerHTML=A.dismissible?n+s:n,b.appendChild(e)}var i=document.createElement("div");i.classList.add("popover-body"),i.innerHTML=A.dismissible&&null===n?a+s:a,b.appendChild(i)}else{var l=document.createElement("div");l.innerHTML=A.template.trim(),b.className=l.firstChild.className,b.innerHTML=l.firstChild.innerHTML;var r=m(".popover-header",b),c=m(".popover-body",b);n&&r&&(r.innerHTML=n.trim()),a&&c&&(c.innerHTML=a.trim())}A.container.appendChild(b),b.style.display="block",b.classList.contains("popover")||b.classList.add("popover"),b.classList.contains(A.animation)||b.classList.add(A.animation),b.classList.contains(o)||b.classList.add(o)}(),N(i,b,A.placement,A.container),b.classList.contains("show")||b.classList.add("show"),A.animation?r(b,B):B()}}),20)},p.hide=function(){clearTimeout(y),y=setTimeout((function(){if(b&&null!==b&&b.classList.contains("show")){if(h.call(i,d),d.defaultPrevented)return;b.classList.remove("show"),A.animation?r(b,I):I()}}),A.delay)},p.dispose=function(){p.hide(),H(),delete i.Popover},(i=m(t)).Popover&&i.Popover.dispose();var D=i.getAttribute("data-trigger"),X=i.getAttribute("data-animation"),R=i.getAttribute("data-placement"),W=i.getAttribute("data-dismissible"),O=i.getAttribute("data-delay"),j=i.getAttribute("data-container");s='',l=f("show","popover"),c=f("shown","popover"),d=f("hide","popover"),u=f("hidden","popover");var z=m(g.container),U=m(j),q=i.closest(".modal"),F=i.closest(".fixed-top"),Y=i.closest(".fixed-bottom");A.template=g.template?g.template:null,A.trigger=g.trigger?g.trigger:D||"hover",A.animation=g.animation&&"fade"!==g.animation?g.animation:X||"fade",A.placement=g.placement?g.placement:R||"top",A.delay=parseInt(g.delay||O,10)||200,A.dismissible=!(!g.dismissible&&"true"!==W),A.container=z||U||F||Y||q||document.body,o="bs-popover-"+A.placement,n=k(),((a=C())||A.template)&&(i.Popover||H(1),i.Popover=p)}function H(t,e){var i,n,a,o,s,l=e||{},r=this,c={};function d(){var t,e,s;(a=o.getElementsByTagName("A"),n.scrollTop=n.isWindow?C().y:i.scrollTop,n.length!==a.length||g()!==n.scrollHeight)&&(n.items=[],n.offsets=[],n.scrollHeight=g(),n.maxScroll=n.scrollHeight-(n.isWindow?window.innerHeight:i.getBoundingClientRect().height),Array.from(a).forEach((function(i){t=i.getAttribute("href"),(e=t&&"#"===t.charAt(0)&&"#"!==t.slice(-1)&&m(t))&&(n.items.push(i),s=e.getBoundingClientRect(),n.offsets.push((n.isWindow?s.top+n.scrollTop:e.offsetTop)-c.offset))})),n.length=n.items.length)}function u(t){var e=t?"addEventListener":"removeEventListener";s[e]("scroll",r.refresh,L),window[e]("resize",r.refresh,L)}function g(){return s.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}function p(){Array.from(a).map((function(t){return t.classList.contains("active")&&t.classList.remove("active")}))}function v(t){var e,a=t;p(),n.activeItem=a,a.classList.add("active");for(var o=[];a.parentNode!==document.body;)((e=(a=a.parentNode).classList).contains("dropdown-menu")||e.contains("nav"))&&o.push(a);o.forEach((function(t){var e=t.previousElementSibling;e&&!e.classList.contains("active")&&e.classList.add("active")})),h.call(i,f("activate","scrollspy",{relatedTarget:n.activeItem}))}r.refresh=function(){if(d(),n.scrollTop>=n.maxScroll){var t=n.items[n.length-1];n.activeItem!==t&&v(t)}else{if(n.activeItem&&n.scrollTop0)return n.activeItem=null,void p();for(var e=n.length;e>-1;)n.activeItem!==n.items[e]&&n.scrollTop>=n.offsets[e]&&(void 0===n.offsets[e+1]||n.scrollTop1&&(g=t[t.length-1]):g=t[0],g}function P(){return m(N().getAttribute("href"))}function H(t){t.preventDefault(),u=t.currentTarget,a.isAnimating||T.show()}T.show=function(){if(!(u=u||n).classList.contains("active")){if(v=m(u.getAttribute("href")),g=N(),p=P(),c=f("hide","tab",{relatedTarget:u}),h.call(g,c),c.defaultPrevented)return;a.isAnimating=!0,g.classList.remove("active"),g.setAttribute("aria-selected","false"),u.classList.add("active"),u.setAttribute("aria-selected","true"),o&&(n.parentNode.classList.contains("dropdown-menu")?o.classList.contains("active")||o.classList.add("active"):o.classList.contains("active")&&o.classList.remove("active")),p.classList.contains("fade")?(p.classList.remove("show"),r(p,C)):C()}},T.dispose=function(){n.removeEventListener("click",H,!1),delete n.Tab},(n=m(t)).Tab&&n.Tab.dispose();var M=n.getAttribute("data-height");a=n.closest(".nav"),o=a&&m(".dropdown-toggle",a);var S=!(!e||!1===A.height||"false"===M);a.isAnimating=!1,n.Tab||n.addEventListener("click",H,!1),S&&(E=P().parentNode),n.Tab=T}function S(t,e){var i,n,a,o,s,l,c=e||{},d=this,u=0,g={};function p(){n.classList.remove("showing"),n.classList.add("show"),h.call(n,s),g.autohide&&d.hide()}function v(){n.classList.add("hide"),h.call(n,l)}function L(){n.classList.remove("show"),g.animation?r(n,v):v()}function b(){clearTimeout(u),i.removeEventListener("click",d.hide,!1),delete i.Toast}d.show=function(){if(n&&!n.classList.contains("show")){if(h.call(n,a),a.defaultPrevented)return;g.animation&&n.classList.add("fade"),n.classList.remove("hide"),y(n),n.classList.add("showing"),g.animation?r(n,p):p()}},d.hide=function(t){if(n&&n.classList.contains("show")){if(h.call(n,o),o.defaultPrevented)return;t?L():u=setTimeout(L,g.delay)}},d.dispose=function(){g.animation?r(n,b):b()},(i=m(t)).Toast&&i.Toast.dispose(),n=i.closest(".toast");var w=i.getAttribute("data-animation"),A=i.getAttribute("data-autohide"),T=i.getAttribute("data-delay");a=f("show","toast"),o=f("hide","toast"),s=f("shown","toast"),l=f("hidden","toast"),g.animation=!1===c.animation||"false"===w?0:1,g.autohide=!1===c.autohide||"false"===A?0:1,g.delay=parseInt(c.delay||T,10)||500,i.Toast||i.addEventListener("click",d.hide,!1),i.Toast=d}function B(t,e){var i,n,a,o,s,l,c,d=e||{},u=this,g=null,p=0,b={};function y(){return i.getAttribute("title")||i.getAttribute("data-title")||i.getAttribute("data-original-title")}function w(t){g&&g.contains(t.target)||t.target===i||i.contains(t.target)||u.hide()}function A(t){var e=t?"addEventListener":"removeEventListener";document[e]("touchstart",w,L),window[e]("resize",u.hide,L)}function T(){A(1),h.call(i,s)}function E(){A(),b.container.removeChild(g),g=null,p=null,h.call(i,c)}function k(t){var e=t?"addEventListener":"removeEventListener";i[e](x,u.show,!1),i[e](v[0],u.show,!1),i[e](v[1],u.hide,!1)}u.show=function(){clearTimeout(p),p=setTimeout((function(){if(null===g){if(h.call(i,o),o.defaultPrevented)return;!1!==function(){if(n=y()){if(g=document.createElement("div"),b.template){var t=document.createElement("div");t.innerHTML=b.template.trim(),g.className=t.firstChild.className,g.innerHTML=t.firstChild.innerHTML,m(".tooltip-inner",g).innerHTML=n.trim()}else{var e=document.createElement("div");e.classList.add("arrow"),g.appendChild(e);var i=document.createElement("div");i.classList.add("tooltip-inner"),g.appendChild(i),i.innerHTML=n}g.style.left="0",g.style.top="0",g.setAttribute("role","tooltip"),g.classList.contains("tooltip")||g.classList.add("tooltip"),g.classList.contains(b.animation)||g.classList.add(b.animation),g.classList.contains(a)||g.classList.add(a),b.container.appendChild(g)}}()&&(N(i,g,b.placement,b.container),g.classList.contains("show")||g.classList.add("show"),b.animation?r(g,T):T())}}),20)},u.hide=function(){clearTimeout(p),p=setTimeout((function(){if(g&&g.classList.contains("show")){if(h.call(i,l),l.defaultPrevented)return;g.classList.remove("show"),b.animation?r(g,E):E()}}),b.delay)},u.toggle=function(){g?u.hide():u.show()},u.dispose=function(){k(),u.hide(),i.setAttribute("title",i.getAttribute("data-original-title")),i.removeAttribute("data-original-title"),delete i.Tooltip},(i=m(t)).Tooltip&&i.Tooltip.dispose();var C=i.getAttribute("data-animation"),P=i.getAttribute("data-placement"),H=i.getAttribute("data-delay"),M=i.getAttribute("data-container"),S=m(d.container),B=m(M),I=i.closest(".modal");o=f("show","tooltip"),s=f("shown","tooltip"),l=f("hide","tooltip"),c=f("hidden","tooltip");var D=i.closest(".fixed-top"),X=i.closest(".fixed-bottom");b.animation=d.animation&&"fade"!==d.animation?d.animation:C||"fade",b.placement=d.placement?d.placement:P||"top",b.template=d.template?d.template:null,b.delay=parseInt(d.delay||H,10)||200,b.container=S||B||D||X||I||document.body,a="bs-tooltip-"+b.placement,(n=y())&&(i.Tooltip||(i.setAttribute("data-original-title",n),i.removeAttribute("title"),k(1)),i.Tooltip=u)}var I={};function D(t){var e=t instanceof Element?t:document;Object.keys(I).forEach((function(t){var i,n;i=I[t][0],n=e.querySelectorAll(I[t][1]),Array.from(n).map((function(t){return new i(t)}))}))}I.Alert=[g,'[data-dismiss="alert"]'],I.Button=[p,'[data-toggle="buttons"]'],I.Carousel=[w,'[data-ride="carousel"]'],I.Collapse=[A,'[data-toggle="collapse"]'],I.Dropdown=[E,'[data-toggle="dropdown"]'],I.Modal=[k,'[data-toggle="modal"]'],I.Popover=[P,'[data-toggle="popover"],[data-tip="popover"]'],I.ScrollSpy=[H,'[data-spy="scroll"]'],I.Tab=[M,'[data-toggle="tab"]'],I.Toast=[S,'[data-dismiss="toast"]'],I.Tooltip=[B,'[data-toggle="tooltip"],[data-tip="tooltip"]'],document.body?D():document.addEventListener("DOMContentLoaded",(function t(){D(),document.removeEventListener("DOMContentLoaded",t,!1)}),!1);var X={Alert:g,Button:p,Carousel:w,Collapse:A,Dropdown:E,Modal:k,Popover:P,ScrollSpy:H,Tab:M,Toast:S,Tooltip:B,initCallback:D,removeDataAPI:function(t){var e=t instanceof Element?t:document;Object.keys(I).forEach((function(t){var i,n;i=t,n=e.querySelectorAll(I[t][1]),Array.from(n).map((function(t){return t[i].dispose()}))}))},componentsInit:I,Version:"4.1.0alpha7"};export{X as default}; diff --git a/dist/bootstrap-native-v4.js b/dist/bootstrap-native-v4.js index af31d5a4..ab47c42c 100644 --- a/dist/bootstrap-native-v4.js +++ b/dist/bootstrap-native-v4.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -34,9 +34,9 @@ /** * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `webkitTransition` for older Chrome / Safari browsers, - * * `transition` property for all other browsers. + * * `transitionProperty` string for modern brosers, + * * `webkitTransition` for legacy Chrome / Safari browsers + * * @type {string} */ var transitionProperty = 'webkitTransition' in documentHead.style ? 'webkitTransitionProperty' : 'transitionProperty'; @@ -2583,7 +2583,7 @@ }); } - var version = "4.1.0alpha6"; + var version = "4.1.0alpha7"; var Version = version; diff --git a/dist/bootstrap-native-v4.min.js b/dist/bootstrap-native-v4.min.js index 927592d6..a379ca8a 100644 --- a/dist/bootstrap-native-v4.min.js +++ b/dist/bootstrap-native-v4.min.js @@ -1,2 +1,2 @@ -// Native JavaScript for Bootstrap v4.1.0alpha6 | 2022 © dnp_theme | MIT-License -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).BSN=e()}(this,(function(){"use strict";var t=document.head,e="webkitTransition"in t.style||"transition"in t.style,i="webkitTransition"in t.style?"webkitTransitionEnd":"transitionend",n="webkitTransition"in t.style?"webkitTransitionDelay":"transitionDelay",a="webkitTransition"in t.style?"webkitTransitionProperty":"transitionProperty";function o(t,e){var i=getComputedStyle(t);return e in i?i[e]:""}var s="webkitTransition"in t.style?"webkitTransitionDuration":"transitionDuration";function l(t){var i=o(t,a),n=o(t,s),l=n.includes("ms")?1:1e3,r=e&&i&&"none"!==i?parseFloat(n)*l:0;return Number.isNaN(r)?0:r}function r(t,s){var r=0,c=new Event(i),d=l(t),u=function(t){var i=o(t,a),s=o(t,n),l=s.includes("ms")?1:1e3,r=e&&i&&"none"!==i?parseFloat(s)*l:0;return Number.isNaN(r)?0:r}(t);if(e&&d){var m=function(e){e.target===t&&(s.apply(t,[e]),t.removeEventListener(i,m),r=1)};t.addEventListener(i,m),setTimeout((function(){r||t.dispatchEvent(c)}),d+u+17)}else s.apply(t,[c])}function c(t){return t instanceof HTMLElement?t.ownerDocument:t instanceof Window?t.document:window.document}var d=[Document,Element,HTMLElement],u=[Element,HTMLElement];function m(t,e){var i=d.some((function(t){return e instanceof t}))?e:c();return u.some((function(e){return t instanceof e}))?t:i.querySelector(t)}function f(t,e,i){var n=new CustomEvent(t+".bs."+e,{cancelable:!0});return void 0!==i&&Object.keys(i).forEach((function(t){Object.defineProperty(n,t,{value:i[t]})})),n}function h(t){this&&this.dispatchEvent(t)}function g(t){var e,i,n=this,a=f("close","alert"),o=f("closed","alert");function s(t){e[t?"addEventListener":"removeEventListener"]("click",l,!1)}function l(t){i=t&&t.target.closest(".alert"),(e=m('[data-dismiss="alert"]',i))&&i&&(e===t.target||e.contains(t.target))&&n.close()}function c(){s(),i.parentNode.removeChild(i),h.call(i,o)}n.close=function(){if(i&&e&&i.classList.contains("show")){if(h.call(i,a),a.defaultPrevented)return;n.dispose(),i.classList.remove("show"),i.classList.contains("fade")?r(i,c):c()}},n.dispose=function(){s(),delete e.Alert},e=m(t),i=e.closest(".alert"),e.Alert&&e.Alert.dispose(),e.Alert||s(1),n.element=e,e.Alert=n}function p(t){var e,i,n=f("change","button");function a(t){var a=t.target,o=a.closest("LABEL"),s=null;"LABEL"===a.tagName?s=a:o&&(s=o);var l=s&&s.getElementsByTagName("INPUT")[0];if(l){if(h.call(l,n),h.call(e,n),"checkbox"===l.type){if(n.defaultPrevented)return;l.checked?(s.classList.remove("active"),l.getAttribute("checked"),l.removeAttribute("checked"),l.checked=!1):(s.classList.add("active"),l.getAttribute("checked"),l.setAttribute("checked","checked"),l.checked=!0),e.toggled||(e.toggled=!0)}if("radio"===l.type&&!e.toggled){if(n.defaultPrevented)return;(!l.checked||0===t.screenX&&0===t.screenY)&&(s.classList.add("active"),s.classList.add("focus"),l.setAttribute("checked","checked"),l.checked=!0,e.toggled=!0,Array.from(i).forEach((function(t){var e=t.getElementsByTagName("INPUT")[0];t!==s&&t.classList.contains("active")&&(h.call(e,n),t.classList.remove("active"),e.removeAttribute("checked"),e.checked=!1)})))}setTimeout((function(){e.toggled=!1}),50)}}function o(t){32===(t.which||t.keyCode)&&t.target===document.activeElement&&a(t)}function s(t){32===(t.which||t.keyCode)&&t.preventDefault()}function l(t){if("INPUT"===t.target.tagName){var e="focusin"===t.type?"add":"remove";t.target.closest(".btn").classList[e]("focus")}}function r(t){var i=t?"addEventListener":"removeEventListener";e[i]("click",a,!1),e[i]("keyup",o,!1),e[i]("keydown",s,!1),e[i]("focusin",l,!1),e[i]("focusout",l,!1)}this.dispose=function(){r(),delete e.Button},(e=m(t)).Button&&e.Button.dispose(),(i=e.getElementsByClassName("btn")).length&&(e.Button||r(1),e.toggled=!1,e.Button=this,Array.from(i).forEach((function(t){var e=m("input:checked",t);!t.classList.contains("active")&&e&&t.classList.add("active"),t.classList.contains("active")&&!e&&t.classList.remove("active")})))}var v="onmouseleave"in document?["mouseenter","mouseleave"]:["mouseover","mouseout"],L={passive:!0};var b=function(t){var e=function(t,e){var i=t.getBoundingClientRect(),n=i.width,a=i.height,o=i.top,s=i.right,l=i.bottom,r=i.left,c=1,d=1;if(e&&t instanceof HTMLElement){var u=t.offsetWidth,m=t.offsetHeight;c=u>0&&Math.round(n)/u||1,d=m>0&&Math.round(a)/m||1}return{width:n/c,height:a/d,top:o/d,right:s/c,bottom:l/d,left:r/c,x:r/c,y:o/d}}(t),i=e.top,n=e.bottom;return i<=c(t).documentElement.clientHeight&&n>=0},y=function(t){return t.offsetHeight};function w(t,e){var i,n,a,o,s,c,d,u,g,p,w,A,T,E=e||{},k=this;function x(){!1===c.interval||o.classList.contains("paused")||(o.classList.add("paused"),s.isSliding||(clearInterval(s.timer),s.timer=null))}function N(){!1!==c.interval&&o.classList.contains("paused")&&(o.classList.remove("paused"),s.isSliding||(clearInterval(s.timer),s.timer=null,k.cycle()))}function C(t){if(t.preventDefault(),!s.isSliding){var e=t.target;e&&!e.classList.contains("active")&&e.getAttribute("data-slide-to")&&(s.index=+e.getAttribute("data-slide-to"),k.slideTo(s.index))}}function P(t){if(t.preventDefault(),!s.isSliding){var e=t.currentTarget||t.srcElement;e===w?s.index+=1:e===p&&(s.index-=1),k.slideTo(s.index)}}function H(t){var e=t.which;if(!s.isSliding){switch(e){case 39:s.index+=1;break;case 37:s.index-=1;break;default:return}k.slideTo(s.index)}}function M(t){var e=t?"addEventListener":"removeEventListener";c.pause&&c.interval&&(o[e](v[0],x,!1),o[e](v[1],N,!1),o[e]("touchstart",x,L),o[e]("touchend",N,L)),c.touch&&g.length>1&&o[e]("touchstart",B,L),w&&w[e]("click",P,!1),p&&p[e]("click",P,!1),A&&A[e]("click",C,!1),c.keyboard&&window[e]("keydown",H,!1)}function S(t){var e=t?"addEventListener":"removeEventListener";o[e]("touchmove",I,L),o[e]("touchend",D,L)}function B(t){s.isTouch||(s.touchPosition.startX=t.changedTouches[0].pageX,o.contains(t.target)&&(s.isTouch=!0,S(1)))}function I(t){s.isTouch?(s.touchPosition.currentX=t.changedTouches[0].pageX,"touchmove"===t.type&&t.changedTouches.length>1&&t.preventDefault()):t.preventDefault()}function D(t){if(s.isTouch&&!s.isSliding&&(s.touchPosition.endX=s.touchPosition.currentX||t.changedTouches[0].pageX,s.isTouch)){if((!o.contains(t.target)||!o.contains(t.relatedTarget))&&Math.abs(s.touchPosition.startX-s.touchPosition.endX)<75)return;s.touchPosition.currentXs.touchPosition.startX&&(s.index-=1),s.isTouch=!1,k.slideTo(s.index),S()}}function X(t){Array.from(T).forEach((function(t){return t.classList.remove("active")})),T[t]&&T[t].classList.add("active")}function R(t){if(s.touchPosition){var e=s.index,i=t&&t.target!==g[e]?1e3*t.elapsedTime+100:20,n=k.getActiveIndex(),a="left"===s.direction?"next":"prev";s.isSliding&&setTimeout((function(){s.touchPosition&&(s.isSliding=!1,g[e].classList.add("active"),g[n].classList.remove("active"),g[e].classList.remove("carousel-item-"+a),g[e].classList.remove("carousel-item-"+s.direction),g[n].classList.remove("carousel-item-"+s.direction),h.call(o,u),document.hidden||!c.interval||o.classList.contains("paused")||k.cycle())}),i)}}if(k.cycle=function(){s.timer&&(clearInterval(s.timer),s.timer=null),s.timer=setInterval((function(){var t=s.index||k.getActiveIndex();b(o)&&(t+=1,k.slideTo(t))}),c.interval)},k.slideTo=function(t){if(!s.isSliding){var e=k.getActiveIndex(),i=t;if(e!==i){ei||e===g.length-1&&0===i)&&(s.direction="right"),i<0?i=g.length-1:i>=g.length&&(i=0);var n="left"===s.direction?"next":"prev",a={relatedTarget:g[i],direction:s.direction,from:e,to:i};d=f("slide","carousel",a),u=f("slid","carousel",a),h.call(o,d),d.defaultPrevented||(s.index=i,s.isSliding=!0,clearInterval(s.timer),s.timer=null,X(i),l(g[i])&&o.classList.contains("slide")?(g[i].classList.add("carousel-item-"+n),y(g[i]),g[i].classList.add("carousel-item-"+s.direction),g[e].classList.add("carousel-item-"+s.direction),r(g[i],R)):(g[i].classList.add("active"),y(g[i]),g[e].classList.remove("active"),setTimeout((function(){s.isSliding=!1,c.interval&&o&&!o.classList.contains("paused")&&k.cycle(),h.call(o,u)}),100)))}}},k.getActiveIndex=function(){return Array.from(g).indexOf(o.getElementsByClassName("carousel-item active")[0])||0},k.dispose=function(){var t=["left","right","prev","next"];Array.from(g).forEach((function(e,i){e.classList.contains("active")&&X(i),t.forEach((function(t){return e.classList.remove("carousel-item-"+t)}))})),clearInterval(s.timer),M(),s={},c={},delete o.Carousel},(o=m(t)).Carousel&&o.Carousel.dispose(),g=o.getElementsByClassName("carousel-item"),i=o.getElementsByClassName("carousel-control-prev"),p=i[0],n=o.getElementsByClassName("carousel-control-next"),w=n[0],a=o.getElementsByClassName("carousel-indicators"),A=a[0],T=A&&A.getElementsByTagName("LI")||[],!(g.length<2)){var W=o.getAttribute("data-interval"),O="false"===W?0:+W,j="false"===o.getAttribute("data-touch")?0:1,z="hover"===o.getAttribute("data-pause")||!1,U="true"===o.getAttribute("data-keyboard")||!1,q=E.interval,F=E.touch;(c={}).keyboard=!0===E.keyboard||U,c.pause=!("hover"!==E.pause&&!z)&&"hover",c.touch=F||j,c.interval=5e3,"number"==typeof q?c.interval=q:!1===q||0===O||!1===O?c.interval=0:Number.isNaN(O)||(c.interval=O),k.getActiveIndex()<0&&(g.length&&g[0].classList.add("active"),T.length&&X(0)),(s={}).direction="left",s.index=0,s.timer=null,s.isSliding=!1,s.isTouch=!1,s.touchPosition={startX:0,currentX:0,endX:0},M(1),c.interval&&k.cycle(),o.Carousel=k}}function A(t,e){var i,n,a,o,s,l,c,d=e||{},u=this,g=null,p=null;function v(t,e){h.call(t,l),l.defaultPrevented||(t.isAnimating=!0,t.style.height=t.scrollHeight+"px",t.classList.remove("collapse"),t.classList.remove("show"),t.classList.add("collapsing"),y(t),t.style.height="0px",r(t,(function(){t.isAnimating=!1,t.setAttribute("aria-expanded","false"),e.setAttribute("aria-expanded","false"),t.classList.remove("collapsing"),t.classList.add("collapse"),t.style.height="",h.call(t,c)})))}u.toggle=function(t){(t&&"A"===t.target.tagName||"A"===i.tagName)&&t.preventDefault(),(i.contains(t.target)||t.target===i)&&(p.classList.contains("show")?u.hide():u.show())},u.hide=function(){p.isAnimating||(v(p,i),i.classList.add("collapsed"))},u.show=function(){var t,e,l;g&&(t=g.getElementsByClassName("collapse show"),n=t[0],a=n&&(m('[data-target="#'+n.id+'"]',g)||m('[href="#'+n.id+'"]',g))),p.isAnimating||(a&&n!==p&&(v(n,a),a.classList.add("collapsed")),e=p,l=i,h.call(e,o),o.defaultPrevented||(e.isAnimating=!0,e.classList.add("collapsing"),e.classList.remove("collapse"),e.style.height=e.scrollHeight+"px",r(e,(function(){e.isAnimating=!1,e.setAttribute("aria-expanded","true"),l.setAttribute("aria-expanded","true"),e.classList.remove("collapsing"),e.classList.add("collapse"),e.classList.add("show"),e.style.height="",h.call(e,s)}))),i.classList.remove("collapsed"))},u.dispose=function(){i.removeEventListener("click",u.toggle,!1),delete i.Collapse},(i=m(t)).Collapse&&i.Collapse.dispose();var L=i.getAttribute("data-parent");o=f("show","collapse"),s=f("shown","collapse"),l=f("hide","collapse"),c=f("hidden","collapse"),null!==(p=m(d.target||i.getAttribute("data-target")||i.getAttribute("href")))&&(p.isAnimating=!1);var b=d.parent||L;g=b?i.closest(b):null,i.Collapse||i.addEventListener("click",u.toggle,!1),i.Collapse=u}var T=function(t){return t.focus()};function E(t,e){var i,n,a,o,s,l,r,c,d=this,u=null,g=[];function p(t){(t.hasAttribute("href")&&"#"===t.href.slice(-1)||t.parentNode&&t.parentNode.hasAttribute("href")&&"#"===t.parentNode.href.slice(-1))&&this.preventDefault()}function v(){var t=i.open?"addEventListener":"removeEventListener";document[t]("click",L,!1),document[t]("keydown",y,!1),document[t]("keyup",w,!1),document[t]("focus",L,!1)}function L(t){var e=t.target;if(e.getAttribute){var n=e&&e.getAttribute("data-toggle")||e.parentNode&&e.parentNode.getAttribute&&e.parentNode.getAttribute("data-toggle");("focus"!==t.type||e!==i&&e!==r&&!r.contains(e))&&(e!==r&&!r.contains(e)||!c&&!n)&&(u=e===i||i.contains(e)?i:null,d.hide(),p.call(t,e))}}function b(t){u=i,d.show(),p.call(t,t.target)}function y(t){var e=t.which||t.keyCode;38!==e&&40!==e||t.preventDefault()}function w(t){var e=t.which||t.keyCode,n=document.activeElement,a=n===i,o=r.contains(n),s=n.parentNode===r||n.parentNode.parentNode===r,l=g.indexOf(n);s&&(a?l=0:38===e?l=l>1?l-1:0:40===e&&(l=l=d,w=m.top+c/2+g/2>=u,A=m.top-c<0,T=m.left-r<0,E=m.top+c+g>=u,k=m.left+r+h>=d,x=i;x="right"===(x="left"===(x="bottom"===(x="top"===(x=("left"===x||"right"===x)&&T&&k?"top":x)&&A?"bottom":x)&&E?"top":x)&&T?"right":x)&&k?"left":x,-1===e.className.indexOf(x)&&(e.className=e.className.replace(/\b(top|bottom|left|right)+/,x));var C=v.offsetWidth,P=v.offsetHeight;"left"===x||"right"===x?(o="left"===x?m.left+f.x-r-(p?C:0):m.left+f.x+h,L?(a=m.top+f.y,s=g/2-C):w?(a=m.top+f.y-c+g,s=c-g/2-C):(a=m.top+f.y-c/2+g/2,s=c/2-(p?.9*P:P/2))):"top"!==x&&"bottom"!==x||(a="top"===x?m.top+f.y-c-(p?P:0):m.top+f.y+g,b?(o=0,l=m.left+h/2-C):y?(o=d-1.01*r,l=r-(d-m.left)+h/2-C/2):(o=m.left+f.x-r/2+h/2,l=r/2-(p?C:C/2))),e.style.top=a+"px",e.style.left=o+"px",s&&(v.style.top=s+"px"),l&&(v.style.left=l+"px")}function P(t,e){var i,n,a,o,s,l,c,d,u,g=e||{},p=this,b=null,y=0,w=/(iPhone|iPod|iPad)/.test(navigator.userAgent),A={};function T(t){null!==b&&t.target===m(".close",b)&&p.hide()}function E(t){return g[t]||i.dataset[t]||null}function k(){return E("title")}function N(){return E("content")}function P(){null===b&&i.focus()}function H(t){var e=t?"addEventListener":"removeEventListener";"hover"===A.trigger?(i[e](x,p.show),i[e](v[0],p.show),A.dismissible||i[e](v[1],p.hide)):"click"===A.trigger?i[e](A.trigger,p.toggle):"focus"===A.trigger&&(w&&i[e]("click",P,!1),i[e](A.trigger,p.toggle))}function M(t){b&&b.contains(t.target)||t.target===i||i.contains(t.target)||p.hide()}function S(t){var e=t?"addEventListener":"removeEventListener";A.dismissible?document[e]("click",T,!1):("focus"===A.trigger&&i[e]("blur",p.hide),"hover"===A.trigger&&document[e]("touchstart",M,L)),window[e]("resize",p.hide,L)}function B(){S(1),h.call(i,c)}function I(){S(),A.container.removeChild(b),y=null,b=null,h.call(i,u)}p.toggle=function(){null===b?p.show():p.hide()},p.show=function(){clearTimeout(y),y=setTimeout((function(){if(null===b){if(h.call(i,l),l.defaultPrevented)return;!function(){n=k(),a=(a=N())?a.trim():null,b=document.createElement("div");var t=document.createElement("div");if(t.classList.add("arrow"),b.appendChild(t),null!==a&&null===A.template){if(b.setAttribute("role","tooltip"),null!==n){var e=document.createElement("h3");e.classList.add("popover-header"),e.innerHTML=A.dismissible?n+s:n,b.appendChild(e)}var i=document.createElement("div");i.classList.add("popover-body"),i.innerHTML=A.dismissible&&null===n?a+s:a,b.appendChild(i)}else{var l=document.createElement("div");l.innerHTML=A.template.trim(),b.className=l.firstChild.className,b.innerHTML=l.firstChild.innerHTML;var r=m(".popover-header",b),c=m(".popover-body",b);n&&r&&(r.innerHTML=n.trim()),a&&c&&(c.innerHTML=a.trim())}A.container.appendChild(b),b.style.display="block",b.classList.contains("popover")||b.classList.add("popover"),b.classList.contains(A.animation)||b.classList.add(A.animation),b.classList.contains(o)||b.classList.add(o)}(),C(i,b,A.placement,A.container),b.classList.contains("show")||b.classList.add("show"),A.animation?r(b,B):B()}}),20)},p.hide=function(){clearTimeout(y),y=setTimeout((function(){if(b&&null!==b&&b.classList.contains("show")){if(h.call(i,d),d.defaultPrevented)return;b.classList.remove("show"),A.animation?r(b,I):I()}}),A.delay)},p.dispose=function(){p.hide(),H(),delete i.Popover},(i=m(t)).Popover&&i.Popover.dispose();var D=i.getAttribute("data-trigger"),X=i.getAttribute("data-animation"),R=i.getAttribute("data-placement"),W=i.getAttribute("data-dismissible"),O=i.getAttribute("data-delay"),j=i.getAttribute("data-container");s='',l=f("show","popover"),c=f("shown","popover"),d=f("hide","popover"),u=f("hidden","popover");var z=m(g.container),U=m(j),q=i.closest(".modal"),F=i.closest(".fixed-top"),Y=i.closest(".fixed-bottom");A.template=g.template?g.template:null,A.trigger=g.trigger?g.trigger:D||"hover",A.animation=g.animation&&"fade"!==g.animation?g.animation:X||"fade",A.placement=g.placement?g.placement:R||"top",A.delay=parseInt(g.delay||O,10)||200,A.dismissible=!(!g.dismissible&&"true"!==W),A.container=z||U||F||Y||q||document.body,o="bs-popover-"+A.placement,n=k(),((a=N())||A.template)&&(i.Popover||H(1),i.Popover=p)}function H(t,e){var i,n,a,o,s,l=e||{},r=this,c={};function d(){var t,e,s;(a=o.getElementsByTagName("A"),n.scrollTop=n.isWindow?N().y:i.scrollTop,n.length!==a.length||g()!==n.scrollHeight)&&(n.items=[],n.offsets=[],n.scrollHeight=g(),n.maxScroll=n.scrollHeight-(n.isWindow?window.innerHeight:i.getBoundingClientRect().height),Array.from(a).forEach((function(i){t=i.getAttribute("href"),(e=t&&"#"===t.charAt(0)&&"#"!==t.slice(-1)&&m(t))&&(n.items.push(i),s=e.getBoundingClientRect(),n.offsets.push((n.isWindow?s.top+n.scrollTop:e.offsetTop)-c.offset))})),n.length=n.items.length)}function u(t){var e=t?"addEventListener":"removeEventListener";s[e]("scroll",r.refresh,L),window[e]("resize",r.refresh,L)}function g(){return s.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}function p(){Array.from(a).map((function(t){return t.classList.contains("active")&&t.classList.remove("active")}))}function v(t){var e,a=t;p(),n.activeItem=a,a.classList.add("active");for(var o=[];a.parentNode!==document.body;)((e=(a=a.parentNode).classList).contains("dropdown-menu")||e.contains("nav"))&&o.push(a);o.forEach((function(t){var e=t.previousElementSibling;e&&!e.classList.contains("active")&&e.classList.add("active")})),h.call(i,f("activate","scrollspy",{relatedTarget:n.activeItem}))}r.refresh=function(){if(d(),n.scrollTop>=n.maxScroll){var t=n.items[n.length-1];n.activeItem!==t&&v(t)}else{if(n.activeItem&&n.scrollTop0)return n.activeItem=null,void p();for(var e=n.length;e>-1;)n.activeItem!==n.items[e]&&n.scrollTop>=n.offsets[e]&&(void 0===n.offsets[e+1]||n.scrollTop1&&(g=t[t.length-1]):g=t[0],g}function P(){return m(C().getAttribute("href"))}function H(t){t.preventDefault(),u=t.currentTarget,a.isAnimating||T.show()}T.show=function(){if(!(u=u||n).classList.contains("active")){if(v=m(u.getAttribute("href")),g=C(),p=P(),c=f("hide","tab",{relatedTarget:u}),h.call(g,c),c.defaultPrevented)return;a.isAnimating=!0,g.classList.remove("active"),g.setAttribute("aria-selected","false"),u.classList.add("active"),u.setAttribute("aria-selected","true"),o&&(n.parentNode.classList.contains("dropdown-menu")?o.classList.contains("active")||o.classList.add("active"):o.classList.contains("active")&&o.classList.remove("active")),p.classList.contains("fade")?(p.classList.remove("show"),r(p,N)):N()}},T.dispose=function(){n.removeEventListener("click",H,!1),delete n.Tab},(n=m(t)).Tab&&n.Tab.dispose();var M=n.getAttribute("data-height");a=n.closest(".nav"),o=a&&m(".dropdown-toggle",a);var S=!(!e||!1===A.height||"false"===M);a.isAnimating=!1,n.Tab||n.addEventListener("click",H,!1),S&&(E=P().parentNode),n.Tab=T}function S(t,e){var i,n,a,o,s,l,c=e||{},d=this,u=0,g={};function p(){n.classList.remove("showing"),n.classList.add("show"),h.call(n,s),g.autohide&&d.hide()}function v(){n.classList.add("hide"),h.call(n,l)}function L(){n.classList.remove("show"),g.animation?r(n,v):v()}function b(){clearTimeout(u),i.removeEventListener("click",d.hide,!1),delete i.Toast}d.show=function(){if(n&&!n.classList.contains("show")){if(h.call(n,a),a.defaultPrevented)return;g.animation&&n.classList.add("fade"),n.classList.remove("hide"),y(n),n.classList.add("showing"),g.animation?r(n,p):p()}},d.hide=function(t){if(n&&n.classList.contains("show")){if(h.call(n,o),o.defaultPrevented)return;t?L():u=setTimeout(L,g.delay)}},d.dispose=function(){g.animation?r(n,b):b()},(i=m(t)).Toast&&i.Toast.dispose(),n=i.closest(".toast");var w=i.getAttribute("data-animation"),A=i.getAttribute("data-autohide"),T=i.getAttribute("data-delay");a=f("show","toast"),o=f("hide","toast"),s=f("shown","toast"),l=f("hidden","toast"),g.animation=!1===c.animation||"false"===w?0:1,g.autohide=!1===c.autohide||"false"===A?0:1,g.delay=parseInt(c.delay||T,10)||500,i.Toast||i.addEventListener("click",d.hide,!1),i.Toast=d}function B(t,e){var i,n,a,o,s,l,c,d=e||{},u=this,g=null,p=0,b={};function y(){return i.getAttribute("title")||i.getAttribute("data-title")||i.getAttribute("data-original-title")}function w(t){g&&g.contains(t.target)||t.target===i||i.contains(t.target)||u.hide()}function A(t){var e=t?"addEventListener":"removeEventListener";document[e]("touchstart",w,L),window[e]("resize",u.hide,L)}function T(){A(1),h.call(i,s)}function E(){A(),b.container.removeChild(g),g=null,p=null,h.call(i,c)}function k(t){var e=t?"addEventListener":"removeEventListener";i[e](x,u.show,!1),i[e](v[0],u.show,!1),i[e](v[1],u.hide,!1)}u.show=function(){clearTimeout(p),p=setTimeout((function(){if(null===g){if(h.call(i,o),o.defaultPrevented)return;!1!==function(){if(n=y()){if(g=document.createElement("div"),b.template){var t=document.createElement("div");t.innerHTML=b.template.trim(),g.className=t.firstChild.className,g.innerHTML=t.firstChild.innerHTML,m(".tooltip-inner",g).innerHTML=n.trim()}else{var e=document.createElement("div");e.classList.add("arrow"),g.appendChild(e);var i=document.createElement("div");i.classList.add("tooltip-inner"),g.appendChild(i),i.innerHTML=n}g.style.left="0",g.style.top="0",g.setAttribute("role","tooltip"),g.classList.contains("tooltip")||g.classList.add("tooltip"),g.classList.contains(b.animation)||g.classList.add(b.animation),g.classList.contains(a)||g.classList.add(a),b.container.appendChild(g)}}()&&(C(i,g,b.placement,b.container),g.classList.contains("show")||g.classList.add("show"),b.animation?r(g,T):T())}}),20)},u.hide=function(){clearTimeout(p),p=setTimeout((function(){if(g&&g.classList.contains("show")){if(h.call(i,l),l.defaultPrevented)return;g.classList.remove("show"),b.animation?r(g,E):E()}}),b.delay)},u.toggle=function(){g?u.hide():u.show()},u.dispose=function(){k(),u.hide(),i.setAttribute("title",i.getAttribute("data-original-title")),i.removeAttribute("data-original-title"),delete i.Tooltip},(i=m(t)).Tooltip&&i.Tooltip.dispose();var N=i.getAttribute("data-animation"),P=i.getAttribute("data-placement"),H=i.getAttribute("data-delay"),M=i.getAttribute("data-container"),S=m(d.container),B=m(M),I=i.closest(".modal");o=f("show","tooltip"),s=f("shown","tooltip"),l=f("hide","tooltip"),c=f("hidden","tooltip");var D=i.closest(".fixed-top"),X=i.closest(".fixed-bottom");b.animation=d.animation&&"fade"!==d.animation?d.animation:N||"fade",b.placement=d.placement?d.placement:P||"top",b.template=d.template?d.template:null,b.delay=parseInt(d.delay||H,10)||200,b.container=S||B||D||X||I||document.body,a="bs-tooltip-"+b.placement,(n=y())&&(i.Tooltip||(i.setAttribute("data-original-title",n),i.removeAttribute("title"),k(1)),i.Tooltip=u)}var I={};function D(t){var e=t instanceof Element?t:document;Object.keys(I).forEach((function(t){var i,n;i=I[t][0],n=e.querySelectorAll(I[t][1]),Array.from(n).map((function(t){return new i(t)}))}))}I.Alert=[g,'[data-dismiss="alert"]'],I.Button=[p,'[data-toggle="buttons"]'],I.Carousel=[w,'[data-ride="carousel"]'],I.Collapse=[A,'[data-toggle="collapse"]'],I.Dropdown=[E,'[data-toggle="dropdown"]'],I.Modal=[k,'[data-toggle="modal"]'],I.Popover=[P,'[data-toggle="popover"],[data-tip="popover"]'],I.ScrollSpy=[H,'[data-spy="scroll"]'],I.Tab=[M,'[data-toggle="tab"]'],I.Toast=[S,'[data-dismiss="toast"]'],I.Tooltip=[B,'[data-toggle="tooltip"],[data-tip="tooltip"]'],document.body?D():document.addEventListener("DOMContentLoaded",(function t(){D(),document.removeEventListener("DOMContentLoaded",t,!1)}),!1);return{Alert:g,Button:p,Carousel:w,Collapse:A,Dropdown:E,Modal:k,Popover:P,ScrollSpy:H,Tab:M,Toast:S,Tooltip:B,initCallback:D,removeDataAPI:function(t){var e=t instanceof Element?t:document;Object.keys(I).forEach((function(t){var i,n;i=t,n=e.querySelectorAll(I[t][1]),Array.from(n).map((function(t){return t[i].dispose()}))}))},componentsInit:I,Version:"4.1.0alpha6"}})); +// Native JavaScript for Bootstrap v4.1.0alpha7 | 2022 © dnp_theme | MIT-License +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).BSN=e()}(this,(function(){"use strict";var t=document.head,e="webkitTransition"in t.style||"transition"in t.style,i="webkitTransition"in t.style?"webkitTransitionEnd":"transitionend",n="webkitTransition"in t.style?"webkitTransitionDelay":"transitionDelay",a="webkitTransition"in t.style?"webkitTransitionProperty":"transitionProperty";function o(t,e){var i=getComputedStyle(t);return e in i?i[e]:""}var s="webkitTransition"in t.style?"webkitTransitionDuration":"transitionDuration";function l(t){var i=o(t,a),n=o(t,s),l=n.includes("ms")?1:1e3,r=e&&i&&"none"!==i?parseFloat(n)*l:0;return Number.isNaN(r)?0:r}function r(t,s){var r=0,c=new Event(i),d=l(t),u=function(t){var i=o(t,a),s=o(t,n),l=s.includes("ms")?1:1e3,r=e&&i&&"none"!==i?parseFloat(s)*l:0;return Number.isNaN(r)?0:r}(t);if(e&&d){var m=function(e){e.target===t&&(s.apply(t,[e]),t.removeEventListener(i,m),r=1)};t.addEventListener(i,m),setTimeout((function(){r||t.dispatchEvent(c)}),d+u+17)}else s.apply(t,[c])}function c(t){return t instanceof HTMLElement?t.ownerDocument:t instanceof Window?t.document:window.document}var d=[Document,Element,HTMLElement],u=[Element,HTMLElement];function m(t,e){var i=d.some((function(t){return e instanceof t}))?e:c();return u.some((function(e){return t instanceof e}))?t:i.querySelector(t)}function f(t,e,i){var n=new CustomEvent(t+".bs."+e,{cancelable:!0});return void 0!==i&&Object.keys(i).forEach((function(t){Object.defineProperty(n,t,{value:i[t]})})),n}function h(t){this&&this.dispatchEvent(t)}function g(t){var e,i,n=this,a=f("close","alert"),o=f("closed","alert");function s(t){e[t?"addEventListener":"removeEventListener"]("click",l,!1)}function l(t){i=t&&t.target.closest(".alert"),(e=m('[data-dismiss="alert"]',i))&&i&&(e===t.target||e.contains(t.target))&&n.close()}function c(){s(),i.parentNode.removeChild(i),h.call(i,o)}n.close=function(){if(i&&e&&i.classList.contains("show")){if(h.call(i,a),a.defaultPrevented)return;n.dispose(),i.classList.remove("show"),i.classList.contains("fade")?r(i,c):c()}},n.dispose=function(){s(),delete e.Alert},e=m(t),i=e.closest(".alert"),e.Alert&&e.Alert.dispose(),e.Alert||s(1),n.element=e,e.Alert=n}function p(t){var e,i,n=f("change","button");function a(t){var a=t.target,o=a.closest("LABEL"),s=null;"LABEL"===a.tagName?s=a:o&&(s=o);var l=s&&s.getElementsByTagName("INPUT")[0];if(l){if(h.call(l,n),h.call(e,n),"checkbox"===l.type){if(n.defaultPrevented)return;l.checked?(s.classList.remove("active"),l.getAttribute("checked"),l.removeAttribute("checked"),l.checked=!1):(s.classList.add("active"),l.getAttribute("checked"),l.setAttribute("checked","checked"),l.checked=!0),e.toggled||(e.toggled=!0)}if("radio"===l.type&&!e.toggled){if(n.defaultPrevented)return;(!l.checked||0===t.screenX&&0===t.screenY)&&(s.classList.add("active"),s.classList.add("focus"),l.setAttribute("checked","checked"),l.checked=!0,e.toggled=!0,Array.from(i).forEach((function(t){var e=t.getElementsByTagName("INPUT")[0];t!==s&&t.classList.contains("active")&&(h.call(e,n),t.classList.remove("active"),e.removeAttribute("checked"),e.checked=!1)})))}setTimeout((function(){e.toggled=!1}),50)}}function o(t){32===(t.which||t.keyCode)&&t.target===document.activeElement&&a(t)}function s(t){32===(t.which||t.keyCode)&&t.preventDefault()}function l(t){if("INPUT"===t.target.tagName){var e="focusin"===t.type?"add":"remove";t.target.closest(".btn").classList[e]("focus")}}function r(t){var i=t?"addEventListener":"removeEventListener";e[i]("click",a,!1),e[i]("keyup",o,!1),e[i]("keydown",s,!1),e[i]("focusin",l,!1),e[i]("focusout",l,!1)}this.dispose=function(){r(),delete e.Button},(e=m(t)).Button&&e.Button.dispose(),(i=e.getElementsByClassName("btn")).length&&(e.Button||r(1),e.toggled=!1,e.Button=this,Array.from(i).forEach((function(t){var e=m("input:checked",t);!t.classList.contains("active")&&e&&t.classList.add("active"),t.classList.contains("active")&&!e&&t.classList.remove("active")})))}var v="onmouseleave"in document?["mouseenter","mouseleave"]:["mouseover","mouseout"],L={passive:!0};var b=function(t){var e=function(t,e){var i=t.getBoundingClientRect(),n=i.width,a=i.height,o=i.top,s=i.right,l=i.bottom,r=i.left,c=1,d=1;if(e&&t instanceof HTMLElement){var u=t.offsetWidth,m=t.offsetHeight;c=u>0&&Math.round(n)/u||1,d=m>0&&Math.round(a)/m||1}return{width:n/c,height:a/d,top:o/d,right:s/c,bottom:l/d,left:r/c,x:r/c,y:o/d}}(t),i=e.top,n=e.bottom;return i<=c(t).documentElement.clientHeight&&n>=0},y=function(t){return t.offsetHeight};function w(t,e){var i,n,a,o,s,c,d,u,g,p,w,A,T,E=e||{},k=this;function x(){!1===c.interval||o.classList.contains("paused")||(o.classList.add("paused"),s.isSliding||(clearInterval(s.timer),s.timer=null))}function N(){!1!==c.interval&&o.classList.contains("paused")&&(o.classList.remove("paused"),s.isSliding||(clearInterval(s.timer),s.timer=null,k.cycle()))}function C(t){if(t.preventDefault(),!s.isSliding){var e=t.target;e&&!e.classList.contains("active")&&e.getAttribute("data-slide-to")&&(s.index=+e.getAttribute("data-slide-to"),k.slideTo(s.index))}}function P(t){if(t.preventDefault(),!s.isSliding){var e=t.currentTarget||t.srcElement;e===w?s.index+=1:e===p&&(s.index-=1),k.slideTo(s.index)}}function H(t){var e=t.which;if(!s.isSliding){switch(e){case 39:s.index+=1;break;case 37:s.index-=1;break;default:return}k.slideTo(s.index)}}function M(t){var e=t?"addEventListener":"removeEventListener";c.pause&&c.interval&&(o[e](v[0],x,!1),o[e](v[1],N,!1),o[e]("touchstart",x,L),o[e]("touchend",N,L)),c.touch&&g.length>1&&o[e]("touchstart",B,L),w&&w[e]("click",P,!1),p&&p[e]("click",P,!1),A&&A[e]("click",C,!1),c.keyboard&&window[e]("keydown",H,!1)}function S(t){var e=t?"addEventListener":"removeEventListener";o[e]("touchmove",I,L),o[e]("touchend",D,L)}function B(t){s.isTouch||(s.touchPosition.startX=t.changedTouches[0].pageX,o.contains(t.target)&&(s.isTouch=!0,S(1)))}function I(t){s.isTouch?(s.touchPosition.currentX=t.changedTouches[0].pageX,"touchmove"===t.type&&t.changedTouches.length>1&&t.preventDefault()):t.preventDefault()}function D(t){if(s.isTouch&&!s.isSliding&&(s.touchPosition.endX=s.touchPosition.currentX||t.changedTouches[0].pageX,s.isTouch)){if((!o.contains(t.target)||!o.contains(t.relatedTarget))&&Math.abs(s.touchPosition.startX-s.touchPosition.endX)<75)return;s.touchPosition.currentXs.touchPosition.startX&&(s.index-=1),s.isTouch=!1,k.slideTo(s.index),S()}}function X(t){Array.from(T).forEach((function(t){return t.classList.remove("active")})),T[t]&&T[t].classList.add("active")}function R(t){if(s.touchPosition){var e=s.index,i=t&&t.target!==g[e]?1e3*t.elapsedTime+100:20,n=k.getActiveIndex(),a="left"===s.direction?"next":"prev";s.isSliding&&setTimeout((function(){s.touchPosition&&(s.isSliding=!1,g[e].classList.add("active"),g[n].classList.remove("active"),g[e].classList.remove("carousel-item-"+a),g[e].classList.remove("carousel-item-"+s.direction),g[n].classList.remove("carousel-item-"+s.direction),h.call(o,u),document.hidden||!c.interval||o.classList.contains("paused")||k.cycle())}),i)}}if(k.cycle=function(){s.timer&&(clearInterval(s.timer),s.timer=null),s.timer=setInterval((function(){var t=s.index||k.getActiveIndex();b(o)&&(t+=1,k.slideTo(t))}),c.interval)},k.slideTo=function(t){if(!s.isSliding){var e=k.getActiveIndex(),i=t;if(e!==i){ei||e===g.length-1&&0===i)&&(s.direction="right"),i<0?i=g.length-1:i>=g.length&&(i=0);var n="left"===s.direction?"next":"prev",a={relatedTarget:g[i],direction:s.direction,from:e,to:i};d=f("slide","carousel",a),u=f("slid","carousel",a),h.call(o,d),d.defaultPrevented||(s.index=i,s.isSliding=!0,clearInterval(s.timer),s.timer=null,X(i),l(g[i])&&o.classList.contains("slide")?(g[i].classList.add("carousel-item-"+n),y(g[i]),g[i].classList.add("carousel-item-"+s.direction),g[e].classList.add("carousel-item-"+s.direction),r(g[i],R)):(g[i].classList.add("active"),y(g[i]),g[e].classList.remove("active"),setTimeout((function(){s.isSliding=!1,c.interval&&o&&!o.classList.contains("paused")&&k.cycle(),h.call(o,u)}),100)))}}},k.getActiveIndex=function(){return Array.from(g).indexOf(o.getElementsByClassName("carousel-item active")[0])||0},k.dispose=function(){var t=["left","right","prev","next"];Array.from(g).forEach((function(e,i){e.classList.contains("active")&&X(i),t.forEach((function(t){return e.classList.remove("carousel-item-"+t)}))})),clearInterval(s.timer),M(),s={},c={},delete o.Carousel},(o=m(t)).Carousel&&o.Carousel.dispose(),g=o.getElementsByClassName("carousel-item"),i=o.getElementsByClassName("carousel-control-prev"),p=i[0],n=o.getElementsByClassName("carousel-control-next"),w=n[0],a=o.getElementsByClassName("carousel-indicators"),A=a[0],T=A&&A.getElementsByTagName("LI")||[],!(g.length<2)){var W=o.getAttribute("data-interval"),O="false"===W?0:+W,j="false"===o.getAttribute("data-touch")?0:1,z="hover"===o.getAttribute("data-pause")||!1,U="true"===o.getAttribute("data-keyboard")||!1,q=E.interval,F=E.touch;(c={}).keyboard=!0===E.keyboard||U,c.pause=!("hover"!==E.pause&&!z)&&"hover",c.touch=F||j,c.interval=5e3,"number"==typeof q?c.interval=q:!1===q||0===O||!1===O?c.interval=0:Number.isNaN(O)||(c.interval=O),k.getActiveIndex()<0&&(g.length&&g[0].classList.add("active"),T.length&&X(0)),(s={}).direction="left",s.index=0,s.timer=null,s.isSliding=!1,s.isTouch=!1,s.touchPosition={startX:0,currentX:0,endX:0},M(1),c.interval&&k.cycle(),o.Carousel=k}}function A(t,e){var i,n,a,o,s,l,c,d=e||{},u=this,g=null,p=null;function v(t,e){h.call(t,l),l.defaultPrevented||(t.isAnimating=!0,t.style.height=t.scrollHeight+"px",t.classList.remove("collapse"),t.classList.remove("show"),t.classList.add("collapsing"),y(t),t.style.height="0px",r(t,(function(){t.isAnimating=!1,t.setAttribute("aria-expanded","false"),e.setAttribute("aria-expanded","false"),t.classList.remove("collapsing"),t.classList.add("collapse"),t.style.height="",h.call(t,c)})))}u.toggle=function(t){(t&&"A"===t.target.tagName||"A"===i.tagName)&&t.preventDefault(),(i.contains(t.target)||t.target===i)&&(p.classList.contains("show")?u.hide():u.show())},u.hide=function(){p.isAnimating||(v(p,i),i.classList.add("collapsed"))},u.show=function(){var t,e,l;g&&(t=g.getElementsByClassName("collapse show"),n=t[0],a=n&&(m('[data-target="#'+n.id+'"]',g)||m('[href="#'+n.id+'"]',g))),p.isAnimating||(a&&n!==p&&(v(n,a),a.classList.add("collapsed")),e=p,l=i,h.call(e,o),o.defaultPrevented||(e.isAnimating=!0,e.classList.add("collapsing"),e.classList.remove("collapse"),e.style.height=e.scrollHeight+"px",r(e,(function(){e.isAnimating=!1,e.setAttribute("aria-expanded","true"),l.setAttribute("aria-expanded","true"),e.classList.remove("collapsing"),e.classList.add("collapse"),e.classList.add("show"),e.style.height="",h.call(e,s)}))),i.classList.remove("collapsed"))},u.dispose=function(){i.removeEventListener("click",u.toggle,!1),delete i.Collapse},(i=m(t)).Collapse&&i.Collapse.dispose();var L=i.getAttribute("data-parent");o=f("show","collapse"),s=f("shown","collapse"),l=f("hide","collapse"),c=f("hidden","collapse"),null!==(p=m(d.target||i.getAttribute("data-target")||i.getAttribute("href")))&&(p.isAnimating=!1);var b=d.parent||L;g=b?i.closest(b):null,i.Collapse||i.addEventListener("click",u.toggle,!1),i.Collapse=u}var T=function(t){return t.focus()};function E(t,e){var i,n,a,o,s,l,r,c,d=this,u=null,g=[];function p(t){(t.hasAttribute("href")&&"#"===t.href.slice(-1)||t.parentNode&&t.parentNode.hasAttribute("href")&&"#"===t.parentNode.href.slice(-1))&&this.preventDefault()}function v(){var t=i.open?"addEventListener":"removeEventListener";document[t]("click",L,!1),document[t]("keydown",y,!1),document[t]("keyup",w,!1),document[t]("focus",L,!1)}function L(t){var e=t.target;if(e.getAttribute){var n=e&&e.getAttribute("data-toggle")||e.parentNode&&e.parentNode.getAttribute&&e.parentNode.getAttribute("data-toggle");("focus"!==t.type||e!==i&&e!==r&&!r.contains(e))&&(e!==r&&!r.contains(e)||!c&&!n)&&(u=e===i||i.contains(e)?i:null,d.hide(),p.call(t,e))}}function b(t){u=i,d.show(),p.call(t,t.target)}function y(t){var e=t.which||t.keyCode;38!==e&&40!==e||t.preventDefault()}function w(t){var e=t.which||t.keyCode,n=document.activeElement,a=n===i,o=r.contains(n),s=n.parentNode===r||n.parentNode.parentNode===r,l=g.indexOf(n);s&&(a?l=0:38===e?l=l>1?l-1:0:40===e&&(l=l=d,w=m.top+c/2+g/2>=u,A=m.top-c<0,T=m.left-r<0,E=m.top+c+g>=u,k=m.left+r+h>=d,x=i;x="right"===(x="left"===(x="bottom"===(x="top"===(x=("left"===x||"right"===x)&&T&&k?"top":x)&&A?"bottom":x)&&E?"top":x)&&T?"right":x)&&k?"left":x,-1===e.className.indexOf(x)&&(e.className=e.className.replace(/\b(top|bottom|left|right)+/,x));var C=v.offsetWidth,P=v.offsetHeight;"left"===x||"right"===x?(o="left"===x?m.left+f.x-r-(p?C:0):m.left+f.x+h,L?(a=m.top+f.y,s=g/2-C):w?(a=m.top+f.y-c+g,s=c-g/2-C):(a=m.top+f.y-c/2+g/2,s=c/2-(p?.9*P:P/2))):"top"!==x&&"bottom"!==x||(a="top"===x?m.top+f.y-c-(p?P:0):m.top+f.y+g,b?(o=0,l=m.left+h/2-C):y?(o=d-1.01*r,l=r-(d-m.left)+h/2-C/2):(o=m.left+f.x-r/2+h/2,l=r/2-(p?C:C/2))),e.style.top=a+"px",e.style.left=o+"px",s&&(v.style.top=s+"px"),l&&(v.style.left=l+"px")}function P(t,e){var i,n,a,o,s,l,c,d,u,g=e||{},p=this,b=null,y=0,w=/(iPhone|iPod|iPad)/.test(navigator.userAgent),A={};function T(t){null!==b&&t.target===m(".close",b)&&p.hide()}function E(t){return g[t]||i.dataset[t]||null}function k(){return E("title")}function N(){return E("content")}function P(){null===b&&i.focus()}function H(t){var e=t?"addEventListener":"removeEventListener";"hover"===A.trigger?(i[e](x,p.show),i[e](v[0],p.show),A.dismissible||i[e](v[1],p.hide)):"click"===A.trigger?i[e](A.trigger,p.toggle):"focus"===A.trigger&&(w&&i[e]("click",P,!1),i[e](A.trigger,p.toggle))}function M(t){b&&b.contains(t.target)||t.target===i||i.contains(t.target)||p.hide()}function S(t){var e=t?"addEventListener":"removeEventListener";A.dismissible?document[e]("click",T,!1):("focus"===A.trigger&&i[e]("blur",p.hide),"hover"===A.trigger&&document[e]("touchstart",M,L)),window[e]("resize",p.hide,L)}function B(){S(1),h.call(i,c)}function I(){S(),A.container.removeChild(b),y=null,b=null,h.call(i,u)}p.toggle=function(){null===b?p.show():p.hide()},p.show=function(){clearTimeout(y),y=setTimeout((function(){if(null===b){if(h.call(i,l),l.defaultPrevented)return;!function(){n=k(),a=(a=N())?a.trim():null,b=document.createElement("div");var t=document.createElement("div");if(t.classList.add("arrow"),b.appendChild(t),null!==a&&null===A.template){if(b.setAttribute("role","tooltip"),null!==n){var e=document.createElement("h3");e.classList.add("popover-header"),e.innerHTML=A.dismissible?n+s:n,b.appendChild(e)}var i=document.createElement("div");i.classList.add("popover-body"),i.innerHTML=A.dismissible&&null===n?a+s:a,b.appendChild(i)}else{var l=document.createElement("div");l.innerHTML=A.template.trim(),b.className=l.firstChild.className,b.innerHTML=l.firstChild.innerHTML;var r=m(".popover-header",b),c=m(".popover-body",b);n&&r&&(r.innerHTML=n.trim()),a&&c&&(c.innerHTML=a.trim())}A.container.appendChild(b),b.style.display="block",b.classList.contains("popover")||b.classList.add("popover"),b.classList.contains(A.animation)||b.classList.add(A.animation),b.classList.contains(o)||b.classList.add(o)}(),C(i,b,A.placement,A.container),b.classList.contains("show")||b.classList.add("show"),A.animation?r(b,B):B()}}),20)},p.hide=function(){clearTimeout(y),y=setTimeout((function(){if(b&&null!==b&&b.classList.contains("show")){if(h.call(i,d),d.defaultPrevented)return;b.classList.remove("show"),A.animation?r(b,I):I()}}),A.delay)},p.dispose=function(){p.hide(),H(),delete i.Popover},(i=m(t)).Popover&&i.Popover.dispose();var D=i.getAttribute("data-trigger"),X=i.getAttribute("data-animation"),R=i.getAttribute("data-placement"),W=i.getAttribute("data-dismissible"),O=i.getAttribute("data-delay"),j=i.getAttribute("data-container");s='',l=f("show","popover"),c=f("shown","popover"),d=f("hide","popover"),u=f("hidden","popover");var z=m(g.container),U=m(j),q=i.closest(".modal"),F=i.closest(".fixed-top"),Y=i.closest(".fixed-bottom");A.template=g.template?g.template:null,A.trigger=g.trigger?g.trigger:D||"hover",A.animation=g.animation&&"fade"!==g.animation?g.animation:X||"fade",A.placement=g.placement?g.placement:R||"top",A.delay=parseInt(g.delay||O,10)||200,A.dismissible=!(!g.dismissible&&"true"!==W),A.container=z||U||F||Y||q||document.body,o="bs-popover-"+A.placement,n=k(),((a=N())||A.template)&&(i.Popover||H(1),i.Popover=p)}function H(t,e){var i,n,a,o,s,l=e||{},r=this,c={};function d(){var t,e,s;(a=o.getElementsByTagName("A"),n.scrollTop=n.isWindow?N().y:i.scrollTop,n.length!==a.length||g()!==n.scrollHeight)&&(n.items=[],n.offsets=[],n.scrollHeight=g(),n.maxScroll=n.scrollHeight-(n.isWindow?window.innerHeight:i.getBoundingClientRect().height),Array.from(a).forEach((function(i){t=i.getAttribute("href"),(e=t&&"#"===t.charAt(0)&&"#"!==t.slice(-1)&&m(t))&&(n.items.push(i),s=e.getBoundingClientRect(),n.offsets.push((n.isWindow?s.top+n.scrollTop:e.offsetTop)-c.offset))})),n.length=n.items.length)}function u(t){var e=t?"addEventListener":"removeEventListener";s[e]("scroll",r.refresh,L),window[e]("resize",r.refresh,L)}function g(){return s.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}function p(){Array.from(a).map((function(t){return t.classList.contains("active")&&t.classList.remove("active")}))}function v(t){var e,a=t;p(),n.activeItem=a,a.classList.add("active");for(var o=[];a.parentNode!==document.body;)((e=(a=a.parentNode).classList).contains("dropdown-menu")||e.contains("nav"))&&o.push(a);o.forEach((function(t){var e=t.previousElementSibling;e&&!e.classList.contains("active")&&e.classList.add("active")})),h.call(i,f("activate","scrollspy",{relatedTarget:n.activeItem}))}r.refresh=function(){if(d(),n.scrollTop>=n.maxScroll){var t=n.items[n.length-1];n.activeItem!==t&&v(t)}else{if(n.activeItem&&n.scrollTop0)return n.activeItem=null,void p();for(var e=n.length;e>-1;)n.activeItem!==n.items[e]&&n.scrollTop>=n.offsets[e]&&(void 0===n.offsets[e+1]||n.scrollTop1&&(g=t[t.length-1]):g=t[0],g}function P(){return m(C().getAttribute("href"))}function H(t){t.preventDefault(),u=t.currentTarget,a.isAnimating||T.show()}T.show=function(){if(!(u=u||n).classList.contains("active")){if(v=m(u.getAttribute("href")),g=C(),p=P(),c=f("hide","tab",{relatedTarget:u}),h.call(g,c),c.defaultPrevented)return;a.isAnimating=!0,g.classList.remove("active"),g.setAttribute("aria-selected","false"),u.classList.add("active"),u.setAttribute("aria-selected","true"),o&&(n.parentNode.classList.contains("dropdown-menu")?o.classList.contains("active")||o.classList.add("active"):o.classList.contains("active")&&o.classList.remove("active")),p.classList.contains("fade")?(p.classList.remove("show"),r(p,N)):N()}},T.dispose=function(){n.removeEventListener("click",H,!1),delete n.Tab},(n=m(t)).Tab&&n.Tab.dispose();var M=n.getAttribute("data-height");a=n.closest(".nav"),o=a&&m(".dropdown-toggle",a);var S=!(!e||!1===A.height||"false"===M);a.isAnimating=!1,n.Tab||n.addEventListener("click",H,!1),S&&(E=P().parentNode),n.Tab=T}function S(t,e){var i,n,a,o,s,l,c=e||{},d=this,u=0,g={};function p(){n.classList.remove("showing"),n.classList.add("show"),h.call(n,s),g.autohide&&d.hide()}function v(){n.classList.add("hide"),h.call(n,l)}function L(){n.classList.remove("show"),g.animation?r(n,v):v()}function b(){clearTimeout(u),i.removeEventListener("click",d.hide,!1),delete i.Toast}d.show=function(){if(n&&!n.classList.contains("show")){if(h.call(n,a),a.defaultPrevented)return;g.animation&&n.classList.add("fade"),n.classList.remove("hide"),y(n),n.classList.add("showing"),g.animation?r(n,p):p()}},d.hide=function(t){if(n&&n.classList.contains("show")){if(h.call(n,o),o.defaultPrevented)return;t?L():u=setTimeout(L,g.delay)}},d.dispose=function(){g.animation?r(n,b):b()},(i=m(t)).Toast&&i.Toast.dispose(),n=i.closest(".toast");var w=i.getAttribute("data-animation"),A=i.getAttribute("data-autohide"),T=i.getAttribute("data-delay");a=f("show","toast"),o=f("hide","toast"),s=f("shown","toast"),l=f("hidden","toast"),g.animation=!1===c.animation||"false"===w?0:1,g.autohide=!1===c.autohide||"false"===A?0:1,g.delay=parseInt(c.delay||T,10)||500,i.Toast||i.addEventListener("click",d.hide,!1),i.Toast=d}function B(t,e){var i,n,a,o,s,l,c,d=e||{},u=this,g=null,p=0,b={};function y(){return i.getAttribute("title")||i.getAttribute("data-title")||i.getAttribute("data-original-title")}function w(t){g&&g.contains(t.target)||t.target===i||i.contains(t.target)||u.hide()}function A(t){var e=t?"addEventListener":"removeEventListener";document[e]("touchstart",w,L),window[e]("resize",u.hide,L)}function T(){A(1),h.call(i,s)}function E(){A(),b.container.removeChild(g),g=null,p=null,h.call(i,c)}function k(t){var e=t?"addEventListener":"removeEventListener";i[e](x,u.show,!1),i[e](v[0],u.show,!1),i[e](v[1],u.hide,!1)}u.show=function(){clearTimeout(p),p=setTimeout((function(){if(null===g){if(h.call(i,o),o.defaultPrevented)return;!1!==function(){if(n=y()){if(g=document.createElement("div"),b.template){var t=document.createElement("div");t.innerHTML=b.template.trim(),g.className=t.firstChild.className,g.innerHTML=t.firstChild.innerHTML,m(".tooltip-inner",g).innerHTML=n.trim()}else{var e=document.createElement("div");e.classList.add("arrow"),g.appendChild(e);var i=document.createElement("div");i.classList.add("tooltip-inner"),g.appendChild(i),i.innerHTML=n}g.style.left="0",g.style.top="0",g.setAttribute("role","tooltip"),g.classList.contains("tooltip")||g.classList.add("tooltip"),g.classList.contains(b.animation)||g.classList.add(b.animation),g.classList.contains(a)||g.classList.add(a),b.container.appendChild(g)}}()&&(C(i,g,b.placement,b.container),g.classList.contains("show")||g.classList.add("show"),b.animation?r(g,T):T())}}),20)},u.hide=function(){clearTimeout(p),p=setTimeout((function(){if(g&&g.classList.contains("show")){if(h.call(i,l),l.defaultPrevented)return;g.classList.remove("show"),b.animation?r(g,E):E()}}),b.delay)},u.toggle=function(){g?u.hide():u.show()},u.dispose=function(){k(),u.hide(),i.setAttribute("title",i.getAttribute("data-original-title")),i.removeAttribute("data-original-title"),delete i.Tooltip},(i=m(t)).Tooltip&&i.Tooltip.dispose();var N=i.getAttribute("data-animation"),P=i.getAttribute("data-placement"),H=i.getAttribute("data-delay"),M=i.getAttribute("data-container"),S=m(d.container),B=m(M),I=i.closest(".modal");o=f("show","tooltip"),s=f("shown","tooltip"),l=f("hide","tooltip"),c=f("hidden","tooltip");var D=i.closest(".fixed-top"),X=i.closest(".fixed-bottom");b.animation=d.animation&&"fade"!==d.animation?d.animation:N||"fade",b.placement=d.placement?d.placement:P||"top",b.template=d.template?d.template:null,b.delay=parseInt(d.delay||H,10)||200,b.container=S||B||D||X||I||document.body,a="bs-tooltip-"+b.placement,(n=y())&&(i.Tooltip||(i.setAttribute("data-original-title",n),i.removeAttribute("title"),k(1)),i.Tooltip=u)}var I={};function D(t){var e=t instanceof Element?t:document;Object.keys(I).forEach((function(t){var i,n;i=I[t][0],n=e.querySelectorAll(I[t][1]),Array.from(n).map((function(t){return new i(t)}))}))}I.Alert=[g,'[data-dismiss="alert"]'],I.Button=[p,'[data-toggle="buttons"]'],I.Carousel=[w,'[data-ride="carousel"]'],I.Collapse=[A,'[data-toggle="collapse"]'],I.Dropdown=[E,'[data-toggle="dropdown"]'],I.Modal=[k,'[data-toggle="modal"]'],I.Popover=[P,'[data-toggle="popover"],[data-tip="popover"]'],I.ScrollSpy=[H,'[data-spy="scroll"]'],I.Tab=[M,'[data-toggle="tab"]'],I.Toast=[S,'[data-dismiss="toast"]'],I.Tooltip=[B,'[data-toggle="tooltip"],[data-tip="tooltip"]'],document.body?D():document.addEventListener("DOMContentLoaded",(function t(){D(),document.removeEventListener("DOMContentLoaded",t,!1)}),!1);return{Alert:g,Button:p,Carousel:w,Collapse:A,Dropdown:E,Modal:k,Popover:P,ScrollSpy:H,Tab:M,Toast:S,Tooltip:B,initCallback:D,removeDataAPI:function(t){var e=t instanceof Element?t:document;Object.keys(I).forEach((function(t){var i,n;i=t,n=e.querySelectorAll(I[t][1]),Array.from(n).map((function(t){return t[i].dispose()}))}))},componentsInit:I,Version:"4.1.0alpha7"}})); diff --git a/dist/bootstrap-native.esm.js b/dist/bootstrap-native.esm.js index 203f632a..a4177fff 100644 --- a/dist/bootstrap-native.esm.js +++ b/dist/bootstrap-native.esm.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -131,9 +131,7 @@ const transitionEndEvent = 'transitionend'; const transitionDelay = 'transitionDelay'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -215,7 +213,7 @@ function emulateTransitionEnd(element, handler) { if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -302,7 +300,7 @@ const ObjectAssign = (obj, source) => Object.assign(obj, source); * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -313,6 +311,7 @@ function hasClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -441,8 +440,9 @@ const alertComponent = 'Alert'; /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -539,7 +539,7 @@ function normalizeOptions(element, defaultOps, inputOps, ns) { return normalOps; } -var version = "4.1.0alpha6"; +var version = "4.1.0alpha7"; const Version = version; @@ -736,6 +736,7 @@ const ariaPressed = 'aria-pressed'; * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name * @param {string} value attribute value + * @returns {void} */ const setAttribute = (element, attribute, value) => element.setAttribute(attribute, value); @@ -744,6 +745,7 @@ const setAttribute = (element, attribute, value) => element.setAttribute(attribu * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -1039,7 +1041,7 @@ const Timer = { * @param {HTMLElement | Element | string} target target element * @param {ReturnType} callback the callback * @param {number} delay the execution delay - * @param {string=} key a unique + * @param {string=} key a unique key */ set: (target, callback, delay, key) => { const element = querySelector(target); @@ -2041,6 +2043,7 @@ const keyEscape = 'Escape'; * Shortcut for `HTMLElement.hasAttribute()` method. * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name + * @returns {boolean} the query result */ const hasAttribute = (element, attribute) => element.hasAttribute(attribute); @@ -2579,6 +2582,7 @@ const ariaModal = 'aria-modal'; * Shortcut for `HTMLElement.removeAttribute()` method. * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name + * @returns {void} */ const removeAttribute = (element, attribute) => element.removeAttribute(attribute); @@ -4045,30 +4049,6 @@ const focusoutEvent = 'focusout'; */ const mousehoverEvent = 'hover'; -// @ts-ignore -const { userAgentData: uaDATA } = navigator; - -/** - * A global namespace for `userAgentData` object. - */ -const userAgentData = uaDATA; - -const { userAgent: userAgentString } = navigator; - -/** - * A global namespace for `navigator.userAgent` string. - */ -const userAgent = userAgentString; - -const appleBrands = /(iPhone|iPod|iPad)/; - -/** - * A global `boolean` for Apple browsers. - * @type {boolean} - */ -const isApple = !userAgentData ? appleBrands.test(userAgent) - : userAgentData.brands.some((/** @type {Record} */x) => appleBrands.test(x.brand)); - let elementUID = 1; const elementIDMap = new Map(); @@ -4105,6 +4085,30 @@ function getUID(element, key) { return result; } +// @ts-ignore +const { userAgentData: uaDATA } = navigator; + +/** + * A global namespace for `userAgentData` object. + */ +const userAgentData = uaDATA; + +const { userAgent: userAgentString } = navigator; + +/** + * A global namespace for `navigator.userAgent` string. + */ +const userAgent = userAgentString; + +const appleBrands = /(iPhone|iPod|iPad)/; + +/** + * A global `boolean` for Apple browsers. + * @type {boolean} + */ +const isApple = !userAgentData ? appleBrands.test(userAgent) + : userAgentData.brands.some((/** @type {Record} */x) => appleBrands.test(x.brand)); + /** * Global namespace for `data-bs-title` attribute. */ diff --git a/dist/bootstrap-native.esm.min.js b/dist/bootstrap-native.esm.min.js index cdd2c8e5..2bcebb77 100644 --- a/dist/bootstrap-native.esm.min.js +++ b/dist/bootstrap-native.esm.min.js @@ -1,2 +1,2 @@ -// Native JavaScript for Bootstrap v4.1.0alpha6 | 2022 © dnp_theme | MIT-License -const t={};function e(e){const n=this,{type:s}=e;(t[s]?[...t[s]]:[]).forEach(t=>{const[i,a]=t;[...a].forEach(t=>{if(i===n){const[n,a]=t;n.apply(i,[e]),a&&a.once&&o(i,s,n,a)}})})}const n=(n,o,s,i)=>{t[o]||(t[o]=new Map);const a=t[o];a.has(n)||a.set(n,new Map);const l=a.get(n),{size:r}=l;l&&l.set(s,i),r||n.addEventListener(o,e,i)},o=(n,o,s,i)=>{const a=t[o],l=a&&a.get(n),r=l&&l.get(s),{options:c}=void 0!==r?r:{options:i};l&&l.has(s)&&l.delete(s),!a||l&&l.size||a.delete(n),a&&a.size||delete t[o],l&&l.size||n.removeEventListener(o,e,c)},s={on:n,off:o,globalListener:e,registry:t};function i(t,e){const n=getComputedStyle(t);return e in n?n[e]:""}function a(t){const e=i(t,"transitionProperty"),n=i(t,"transitionDuration"),o=n.includes("ms")?1:1e3,s=e&&"none"!==e?parseFloat(n)*o:0;return Number.isNaN(s)?0:s}function l(t,e){let n=0;const o=new Event("transitionend"),s=a(t),l=function(t){const e=i(t,"transitionProperty"),n=i(t,"transitionDelay"),o=n.includes("ms")?1:1e3,s=e&&"none"!==e?parseFloat(n)*o:0;return Number.isNaN(s)?0:s}(t);if(s){const i=o=>{o.target===t&&(e.apply(t,[o]),t.removeEventListener("transitionend",i),n=1)};t.addEventListener("transitionend",i),setTimeout(()=>{n||t.dispatchEvent(o)},s+l+17)}else e.apply(t,[o])}function r(t){return t instanceof HTMLElement?t.ownerDocument:t instanceof Window?t.document:window.document}const c=[Document,Element,HTMLElement],d=[Element,HTMLElement];function h(t,e){const n=c.some(t=>e instanceof t)?e:r();return d.some(e=>t instanceof e)?t:n.querySelector(t)}function u(t,e){return t?t.closest(e)||u(t.getRootNode().host,e):null}const f=(t,e)=>Object.assign(t,e);function p(t,e){return t.classList.contains(e)}function g(t,e){t.classList.remove(e)}const m=(t,e)=>t.dispatchEvent(e),b=new Map,v={set:(t,e,n)=>{const o=h(t);if(!o)return;b.has(e)||b.set(e,new Map);b.get(e).set(o,n)},getAllFor:t=>b.get(t)||null,get:(t,e)=>{const n=h(t),o=v.getAllFor(e);return n&&o&&o.get(n)||null},remove:(t,e)=>{const n=h(t),o=b.get(e);o&&n&&(o.delete(n),0===o.size&&b.delete(e))}},w=(t,e)=>v.get(t,e);function T(t,e){const n=new CustomEvent(t,{cancelable:!0,bubbles:!0});return e instanceof Object&&f(n,e),n}const y=(t,e)=>t.getAttribute(e);function E(t){return"true"===t||"false"!==t&&(Number.isNaN(+t)?""===t||"null"===t?null:t:+t)}const x=t=>Object.keys(t),H=t=>t.toLowerCase();class k{constructor(t,e){const n=this,o=h(t);if(!o)throw Error(`${n.name} Error: "${t}" is not a valid selector.`);n.options={};const s=v.get(o,n.name);s&&s.dispose(),n.element=o,n.defaults&&Object.keys(n.defaults).length&&(n.options=function(t,e,n,o){const s={...t.dataset},i={},a={};return x(s).forEach(t=>{const e=o&&t.includes(o)?t.replace(o,"").replace(/[A-Z]/,t=>H(t)):t;a[e]=E(s[t])}),x(n).forEach(t=>{n[t]=E(n[t])}),x(e).forEach(o=>{i[o]=o in n?n[o]:o in a?a[o]:"title"===o?y(t,"title"):e[o]}),i}(o,n.defaults,e||{},"bs")),v.set(o,n.name,n)}get version(){return"4.1.0alpha6"}get name(){return this.constructor.name}get defaults(){return this.constructor.defaults}dispose(){const t=this;v.remove(t.element,t.name),x(t).forEach(e=>{t[e]=null})}}const A=t=>w(t,"Alert"),P=T("close.bs.alert"),M=T("closed.bs.alert");function N(t){const{element:e}=t;L(t),m(e,M),t.dispose(),e.remove()}function L(t,e){const s=e?n:o,{dismiss:i}=t;i&&s(i,"click",t.close)}class D extends k{constructor(t){super(t);const{element:e}=this;this.dismiss=h('[data-bs-dismiss="alert"]',e),L(this,!0)}get name(){return"Alert"}close(t){const e=t?A(u(this,".alert")):this;if(!e)return;const{element:n}=e;if(p(n,"show")){if(m(n,P),P.defaultPrevented)return;g(n,"show"),p(n,"fade")?l(n,()=>N(e)):N(e)}}dispose(){L(this),super.dispose()}}f(D,{selector:".alert",init:t=>new D(t),getInstance:A});const C=(t,e,n)=>t.setAttribute(e,n);function S(t,e){t.classList.add(e)}const I="data-bs-toggle",R=t=>w(t,"Button");function $(t,e){(e?n:o)(t.element,"click",t.toggle)}class O extends k{constructor(t){super(t);const{element:e}=this;this.isActive=p(e,"active"),C(e,"aria-pressed",""+!!this.isActive),$(this,!0)}get name(){return"Button"}toggle(t){t&&t.preventDefault();const e=t?R(this):this;if(!e)return;const{element:n}=e;if(p(n,"disabled"))return;e.isActive=p(n,"active");const{isActive:o}=e;(o?g:S)(n,"active"),C(n,"aria-pressed",o?"false":"true")}dispose(){$(this),super.dispose()}}f(O,{selector:'[data-bs-toggle="button"]',init:t=>new O(t),getInstance:R});const W="mouseenter",F="mouseleave";function B(t){if(null==t)return window;if(!(t instanceof Window)){const{ownerDocument:e}=t;return e&&e.defaultView||window}return t}function z(t,e){const{width:n,height:o,top:s,right:i,bottom:a,left:l}=t.getBoundingClientRect();let r=1,c=1;if(e&&t instanceof HTMLElement){const{offsetWidth:e,offsetHeight:s}=t;r=e>0&&Math.round(n)/e||1,c=s>0&&Math.round(o)/s||1}return{width:n/r,height:o/c,top:s/c,right:i/r,bottom:a/c,left:l/r,x:l/r,y:s/c}}function X(t){return r(t).documentElement}const j=t=>{const{top:e,bottom:n}=z(t),{clientHeight:o}=X(t);return e<=o&&n>=0},Y=t=>"rtl"===X(t).dir;function V(t,e){return(e&&c.some(t=>e instanceof t)?e:r()).querySelectorAll(t)}function q(t,e){return(e&&c.some(t=>e instanceof t)?e:r()).getElementsByClassName(t)}const U=new Map,G=(t,e,n,o)=>{const s=h(t);if(s)if(o&&o.length){U.has(s)||U.set(s,new Map);U.get(s).set(o,setTimeout(e,n))}else U.set(s,setTimeout(e,n))},Z=(t,e)=>{const n=h(t);if(!n)return null;const o=U.get(n);return e&&e.length&&o&&o.get?o.get(e)||null:o||null},J=(t,e)=>{const n=h(t);if(n)if(e&&e.length){const t=U.get(n);t&&t.get&&(clearTimeout(t.get(e)),t.delete(e),0===t.size&&U.delete(n))}else clearTimeout(U.get(n)),U.delete(n)},K=t=>t.offsetHeight,Q={passive:!0};function _(t){const e=["data-bs-target","data-bs-parent","data-bs-container","href"],n=r(t);return e.map(e=>{const o=y(t,e);return o?"data-bs-parent"===e?u(t,o):h(o,n):null}).filter(t=>t)[0]}const tt="carousel-item",et={pause:"hover",keyboard:!1,touch:!0,interval:5e3},nt=t=>w(t,"Carousel");let ot=0,st=0,it=0;const at=T("slide.bs.carousel"),lt=T("slid.bs.carousel");function rt(){const t=this,e=nt(t);!e||e.isPaused||Z(t,"paused")||S(t,"paused")}function ct(){const t=nt(this);t&&t.isPaused&&!Z(this,"paused")&&t.cycle()}function dt(t){t.preventDefault();const e=u(this,'[data-bs-ride="carousel"]')||_(this);if(!e)return;const n=nt(e);if(!n||n.isAnimating)return;const o=+y(this,"data-bs-slide-to");!this||p(this,"active")||Number.isNaN(o)||n.to(o)}function ht(t){t.preventDefault();const e=u(this,'[data-bs-ride="carousel"]')||_(this),n=e&&nt(e);if(!n||n.isAnimating)return;const o=y(this,"data-bs-slide");"next"===o?n.next():"prev"===o&&n.prev()}function ut({code:t}){const[e]=[...V('[data-bs-ride="carousel"]')].filter(t=>j(t)),n=nt(e);if(!n)return;const o=Y(),s=o?"ArrowLeft":"ArrowRight";t===(o?"ArrowRight":"ArrowLeft")?n.prev():t===s&&n.next()}function ft(t){const e=nt(this);e&&!e.isTouch&&(ot=t.changedTouches[0].pageX,this.contains(t.target)&&(e.isTouch=!0,bt(e,!0)))}function pt(t){const{changedTouches:e,type:n}=t,o=nt(this);o&&o.isTouch&&(st=e[0].pageX,"touchmove"===n&&e.length>1&&t.preventDefault())}function gt(t){const e=this,n=nt(e);if(n&&n.isTouch&&(it=st||t.changedTouches[0].pageX,n.isTouch)){if((!e.contains(t.target)||!e.contains(t.relatedTarget))&&Math.abs(ot-it)<75)return;stot&&(n.index-=1),n.isTouch=!1,n.to(n.index),bt(n)}}function mt(t,e){const{indicators:n}=t;[...n].forEach(t=>g(t,"active")),t.indicators[e]&&S(n[e],"active")}function bt(t,e){const{element:s}=t,i=e?n:o;i(s,"touchmove",pt,Q),i(s,"touchend",gt,Q)}function vt(t,e){const{element:s,options:i,slides:a,controls:l,indicators:r}=t,{touch:c,pause:d,interval:h,keyboard:u}=i,f=e?n:o;d&&h&&(f(s,W,rt),f(s,F,ct),f(s,"touchstart",rt,Q),f(s,"touchend",ct,Q)),c&&a.length>1&&f(s,"touchstart",ft,Q),l.length&&l.forEach(t=>{t&&f(t,"click",ht)}),r.length&&r.forEach(t=>{f(t,"click",dt)}),u&&f(B(s),"keydown",ut)}function wt(t){const{slides:e,element:n}=t,o=h(".carousel-item.active",n);return[...e].indexOf(o)}class Tt extends k{constructor(t,e){super(t,e);const n=this;n.direction=Y()?"right":"left",n.index=0,n.isTouch=!1;const{element:o}=n;n.slides=q(tt,o);const{slides:s}=n;if(s.length<2)return;n.controls=[...V("[data-bs-slide]",o),...V(`[data-bs-slide][data-bs-target="#${o.id}"]`)],n.indicator=h(".carousel-indicators",o),n.indicators=[...n.indicator?V("[data-bs-slide-to]",n.indicator):[],...V(`[data-bs-slide-to][data-bs-target="#${o.id}"]`)];const{options:i}=n;n.options.interval=!0===i.interval?et.interval:i.interval,wt(n)<0&&(s.length&&S(s[0],"active"),n.indicators.length&&mt(n,0)),vt(n,!0),i.interval&&n.cycle()}get name(){return"Carousel"}get defaults(){return et}get isPaused(){return p(this.element,"paused")}get isAnimating(){return null!==h(".carousel-item-next,.carousel-item-prev",this.element)}cycle(){const t=this,{element:e,options:n,isPaused:o}=t;J(e,"carousel"),o&&(J(e,"paused"),g(e,"paused")),G(e,()=>{!t.isPaused&&j(e)&&(t.index+=1,t.to(t.index))},n.interval,"carousel")}pause(){const{element:t,options:e}=this;!this.isPaused&&e.interval&&(S(t,"paused"),G(t,()=>{},1,"paused"))}next(){const t=this;t.isAnimating||(t.index+=1,t.to(t.index))}prev(){const t=this;t.isAnimating||(t.index-=1,t.to(t.index))}to(t){const e=this,{element:n,slides:o,options:s}=e,i=wt(e),c=Y();let d=t;if(e.isAnimating||i===d)return;id||i===o.length-1&&0===d)&&(e.direction=c?"left":"right");const{direction:h}=e;d<0?d=o.length-1:d>=o.length&&(d=0);const u="left"===h?"next":"prev",b="left"===h?"start":"end",v={relatedTarget:o[d],from:i,to:d,direction:h};f(at,v),f(lt,v),m(n,at),at.defaultPrevented||(e.index=d,mt(e,d),a(o[d])&&p(n,"slide")?G(n,()=>{S(o[d],"carousel-item-"+u),K(o[d]),S(o[d],"carousel-item-"+b),S(o[i],"carousel-item-"+b),l(o[d],()=>function(t){const{index:e,direction:n,element:o,slides:s,options:i}=t;if(t.isAnimating&&nt(o)){const a=wt(t),l="left"===n?"next":"prev",c="left"===n?"start":"end";S(s[e],"active"),g(s[e],"carousel-item-"+l),g(s[e],"carousel-item-"+c),g(s[a],"active"),g(s[a],"carousel-item-"+c),m(o,lt),J(o,"data-bs-slide"),r(o).hidden||!i.interval||t.isPaused||t.cycle()}}(e))},17,"data-bs-slide"):(S(o[d],"active"),g(o[i],"active"),G(n,()=>{J(n,"data-bs-slide"),n&&s.interval&&!e.isPaused&&e.cycle(),m(n,lt)},17,"data-bs-slide")))}dispose(){const t=this,{slides:e}=t,n=["start","end","prev","next"];[...e].forEach((e,o)=>{p(e,"active")&&mt(t,o),n.forEach(t=>g(e,"carousel-item-"+t))}),vt(t),super.dispose()}}f(Tt,{selector:'[data-bs-ride="carousel"]',init:t=>new Tt(t),getInstance:nt});const yt={parent:null},Et=t=>w(t,"Collapse"),xt=T("show.bs.collapse"),Ht=T("shown.bs.collapse"),kt=T("hide.bs.collapse"),At=T("hidden.bs.collapse");function Pt(t){const{element:e,parent:n,triggers:o}=t;m(e,kt),kt.defaultPrevented||(G(e,()=>{},17),n&&G(n,()=>{},17),e.style.height=e.scrollHeight+"px",g(e,"collapse"),g(e,"show"),S(e,"collapsing"),K(e),e.style.height="0px",l(e,()=>{J(e),n&&J(n),o.forEach(t=>C(t,"aria-expanded","false")),g(e,"collapsing"),S(e,"collapse"),e.style.height="",m(e,At)}))}function Mt(t,e){const s=e?n:o,{triggers:i}=t;i.length&&i.forEach(t=>s(t,"click",Nt))}function Nt(t){const{target:e}=t,n=e&&u(e,'[data-bs-toggle="collapse"]'),o=n&&_(n),s=o&&Et(o);s&&s.toggle(),n&&"A"===n.tagName&&t.preventDefault()}class Lt extends k{constructor(t,e){super(t,e);const{element:n,options:o}=this;this.triggers=[...V('[data-bs-toggle="collapse"]')].filter(t=>_(t)===n),this.parent=h(o.parent),Mt(this,!0)}get name(){return"Collapse"}get defaults(){return yt}toggle(){p(this.element,"show")?this.hide():this.show()}hide(){const{triggers:t,element:e}=this;Z(e)||(Pt(this),t.length&&t.forEach(t=>S(t,"collapsed")))}show(){const t=this,{element:e,parent:n,triggers:o}=t;let s,i;n&&(s=[...V(".collapse.show",n)].find(t=>Et(t)),i=s&&Et(s)),n&&(!n||Z(n))||Z(e)||(i&&s!==e&&(Pt(i),i.triggers.forEach(t=>{S(t,"collapsed")})),function(t){const{element:e,parent:n,triggers:o}=t;m(e,xt),xt.defaultPrevented||(G(e,()=>{},17),n&&G(n,()=>{},17),S(e,"collapsing"),g(e,"collapse"),e.style.height=e.scrollHeight+"px",l(e,()=>{J(e),n&&J(n),o.forEach(t=>C(t,"aria-expanded","true")),g(e,"collapsing"),S(e,"collapse"),S(e,"show"),e.style.height="",m(e,Ht)}))}(t),o.length&&o.forEach(t=>g(t,"collapsed")))}dispose(){Mt(this),super.dispose()}}f(Lt,{selector:".collapse",init:t=>new Lt(t),getInstance:Et});const Dt="scroll",Ct="resize",St="ArrowUp",It="ArrowDown",Rt=(t,e)=>t.hasAttribute(e),$t=(t,e)=>{f(t.style,e)},Ot=t=>t.focus(),Wt=["dropdown","dropup","dropstart","dropend"];function Ft(t){const e=u(t,"A");return t&&(Rt(t,"href")&&"#"===t.href.slice(-1)||e&&Rt(e,"href")&&"#"===e.href.slice(-1))}const[Bt,zt,Xt,jt]=Wt,Yt=`[data-bs-toggle="${Bt}"]`,Vt=t=>w(t,"Dropdown"),qt=[Bt,zt],Ut=[Xt,jt],Gt=["A","BUTTON"],Zt={offset:5,display:"dynamic"},Jt=T("show.bs."+Bt),Kt=T("shown.bs."+Bt),Qt=T("hide.bs."+Bt),_t=T("hidden.bs."+Bt);function te(t){const{element:e,menu:n,parentElement:o,options:s}=t,{offset:a}=s;if("static"===i(n,"position"))return;const l=Y(e),r=p(o,"dropdown-menu-end");["margin","top","bottom","left","right"].forEach(t=>{n.style[t]=""});let c=Wt.find(t=>p(o,t))||Bt,d={dropdown:[a,0,0],dropup:[0,0,a],dropstart:l?[-1,0,0,a]:[-1,a,0],dropend:l?[-1,a,0]:[-1,0,0,a]};const h={dropdown:{top:"100%"},dropup:{top:"auto",bottom:"100%"},dropstart:l?{left:"100%",right:"auto"}:{left:"auto",right:"100%"},dropend:l?{left:"auto",right:"100%"}:{left:"100%",right:"auto"},menuEnd:l?{right:"auto",left:0}:{right:0,left:"auto"}},{offsetWidth:u,offsetHeight:g}=n,{clientWidth:m,clientHeight:b}=X(e),{left:v,top:w,width:T,height:y}=z(e),E=v-u-a<0,x=v+u+T+a>=m,H=w+g+a>=b,k=w+g+y+a>=b,A=w-g-a<0,P=(!l&&r||l&&!r)&&v+T-u<0,M=(l&&r||!l&&!r)&&v+u>=m;Ut.includes(c)&&E&&x&&(c=Bt),c===Xt&&(l?x:E)&&(c=jt),c===jt&&(l?E:x)&&(c=Xt),c===zt&&A&&!k&&(c=Bt),c===Bt&&k&&!A&&(c=zt),Ut.includes(c)&&H&&f(h[c],{top:"auto",bottom:0}),qt.includes(c)&&(P||M)&&v+T+Math.abs(u-T)+at?t+"px":t).join(" "),$t(n,h[c]),p(n,"dropdown-menu-end")&&$t(n,h.menuEnd)}function ee(t){const{element:e}=t,s=t.open?n:o,i=r(e);s(i,"click",se),s(i,"focus",se),s(i,"keydown",ae),s(i,"keyup",le),"dynamic"===t.options.display&&[Dt,Ct].forEach(t=>{s(B(e),t,re,Q)})}function ne(t,e){(e?n:o)(t.element,"click",ie)}function oe(t){const e=[...Wt,"btn-group","input-group"].map(t=>q(t+" show"),r(t)).find(t=>t.length);return e&&e.length?[...e[0].children].find(t=>Rt(t,I)):null}function se(t){const{target:e,type:n}=t;if(!e||!e.closest)return;const o=oe(e);if(!o)return;const s=Vt(o);if(!s)return;const{parentElement:i,menu:a}=s,l=null!==u(e,Yt),r=i&&i.contains(e)&&("form"===e.tagName||null!==u(e,"form"));"click"===n&&Ft(e)&&t.preventDefault(),("focus"!==n||e!==o&&e!==a&&!a.contains(e))&&(r||l||s&&s.hide())}function ie(t){const{target:e}=t,n=Vt(this);n&&(n.toggle(),e&&Ft(e)&&t.preventDefault())}function ae(t){[It,St].includes(t.code)&&t.preventDefault()}function le(t){const{code:e}=t,n=oe(this),o=n&&Vt(n),s=n&&r(n).activeElement;if(!o||!s)return;const{menu:i,open:a}=o,l=function(t){return[...t.children].map(t=>{if(t&&Gt.includes(t.tagName))return t;const{firstElementChild:e}=t;return e&&Gt.includes(e.tagName)?e:null}).filter(t=>t)}(i);if(l&&l.length&&[It,St].includes(e)){let t=l.indexOf(s);s===n?t=0:e===St?t=t>1?t-1:0:e===It&&(t=t{t.relatedTarget=e}),m(s,Jt),Jt.defaultPrevented||(S(o,"show"),S(s,"show"),C(e,"aria-expanded","true"),te(t),t.open=!n,setTimeout(()=>{Ot(e),ee(t),m(s,Kt)},1))}hide(){const t=this,{element:e,open:n,menu:o,parentElement:s}=t;[Qt,_t].forEach(t=>{t.relatedTarget=e}),m(s,Qt),Qt.defaultPrevented||(g(o,"show"),g(s,"show"),C(e,"aria-expanded","false"),t.open=!n,setTimeout(()=>ee(t),1),m(s,_t))}dispose(){const{parentElement:t}=this;p(t,"show")&&this.open&&this.hide(),ne(this),super.dispose()}}f(ce,{selector:Yt,init:t=>new ce(t),getInstance:Vt});const de=(t,e)=>t.removeAttribute(e);function he(t){return r(t).body}const ue=t=>t instanceof B(t).ShadowRoot||t instanceof ShadowRoot;const fe=t=>["TABLE","TD","TH"].includes(t.tagName),pe=t=>t instanceof HTMLElement;function ge(t,e){const n=["HTML","BODY"];if(e){let{offsetParent:e}=t;const o=B(t);for(;e&&(fe(e)||pe(e)&&!["sticky","fixed"].includes(i(e,"position")));)e=e.offsetParent;return(!e||e&&(n.includes(e.tagName)||"static"===i(e,"position")))&&(e=o),e}const o=[];let{parentNode:s}=t;for(;s&&!n.includes(s.nodeName);)s="HTML"===(a=s).nodeName?a:a.assignedSlot||a.parentNode||(ue(a)?a.host:null)||X(a),ue(s)||s.shadowRoot||fe(s)||o.push(s);var a;return o.find((t,e)=>"relative"!==i(t,"position")&&o.slice(e+1).every(t=>"static"===i(t,"position"))?t:null)||he(t)}const me="sticky-top",be="position-sticky",ve=t=>[...q("fixed-top",t),...q("fixed-bottom",t),...q(me,t),...q(be,t),...q("is-fixed",t)];function we(t){const{clientWidth:e}=X(t),{innerWidth:n}=B(t);return Math.abs(n-e)}function Te(t,e){const n=he(t),o=parseInt(i(n,"paddingRight"),10),s="hidden"===i(n,"overflow")&&o?0:we(t),a=ve(n);e&&($t(n,{overflow:"hidden",paddingRight:o+s+"px"}),a.length&&a.forEach(t=>{const e=i(t,"paddingRight");if(t.style.paddingRight=parseInt(e,10)+s+"px",[me,be].some(e=>p(t,e))){const e=i(t,"marginRight");t.style.marginRight=parseInt(e,10)-s+"px"}}))}const ye="modal-backdrop",Ee="offcanvas-backdrop",xe=r().createElement("div");function He(t){return h(".modal.show,.offcanvas.show",r(t))}function ke(t){const e=t?ye:Ee;[ye,Ee].forEach(t=>{g(xe,t)}),S(xe,e)}function Ae(t,e,n){ke(n),t.append(xe),e&&S(xe,"fade")}function Pe(){S(xe,"show"),K(xe)}function Me(){g(xe,"show")}function Ne(t){He(t)||(g(xe,"fade"),xe.remove(),function(t){const e=he(t);$t(e,{paddingRight:"",overflow:""});const n=ve(e);n.length&&n.forEach(t=>{$t(t,{paddingRight:"",marginRight:""})})}(t))}function Le(t){return t&&"hidden"!==i(t,"visibility")&&null!==t.offsetParent}const De={backdrop:!0,keyboard:!0},Ce=t=>w(t,"Modal"),Se=T("show.bs.modal"),Ie=T("shown.bs.modal"),Re=T("hide.bs.modal"),$e=T("hidden.bs.modal");function Oe(t){const{element:e}=t,n=we(e),{clientHeight:o,scrollHeight:s}=X(e),{clientHeight:i,scrollHeight:a}=e,l=i!==a;if(!l&&n){const t=Y(e)?"paddingLeft":"paddingRight";e.style[t]=n+"px"}Te(e,l||o!==s)}function We(t,e){const s=e?n:o,{element:i}=t;s(i,"click",qe),s(B(i),Ct,t.update,Q),s(r(i),"keydown",Ve)}function Fe(t,e){const s=e?n:o,{triggers:i}=t;i.length&&i.forEach(t=>s(t,"click",Ye))}function Be(t){const{triggers:e,element:n}=t;if(Ne(n),n.style.paddingRight="",e.length){const t=e.find(t=>Le(t));t&&Ot(t)}}function ze(t){const{element:e,relatedTarget:n}=t;Ot(e),We(t,!0),Ie.relatedTarget=n,m(e,Ie)}function Xe(t){const{element:e,hasFade:n}=t;e.style.display="block",Oe(t),He(e)||(he(e).style.overflow="hidden"),S(e,"show"),de(e,"aria-hidden"),C(e,"aria-modal","true"),n?l(e,()=>ze(t)):ze(t)}function je(t,e){const{element:n,options:o,relatedTarget:s,hasFade:i}=t;n.style.display="",o.backdrop&&!e&&i&&p(xe,"show")&&!He(n)?(Me(),l(xe,()=>Be(t))):Be(t),We(t),$e.relatedTarget=s,m(n,$e)}function Ye(t){const{target:e}=t,n=e&&u(this,'[data-bs-toggle="modal"]'),o=n&&_(n),s=o&&Ce(o);s&&(n&&"A"===n.tagName&&t.preventDefault(),s.relatedTarget=n,s.toggle())}function Ve({code:t}){const e=h(".modal.show"),n=e&&Ce(e);if(!n)return;const{options:o}=n;o.keyboard&&"Escape"===t&&p(e,"show")&&(n.relatedTarget=null,n.hide())}function qe(t){const e=this,n=Ce(e);if(!n||Z(e))return;const{options:o,isStatic:s,modalDialog:i}=n,{backdrop:c}=o,{target:d}=t,h=r(e).getSelection().toString().length,f=i.contains(d),p=d&&u(d,'[data-bs-dismiss="modal"]');s&&!f?G(e,()=>{S(e,"modal-static"),l(i,()=>function(t){const{element:e,modalDialog:n}=t,o=a(n)+17;g(e,"modal-static"),G(e,()=>J(e),o)}(n))},17):(p||!h&&!s&&!f&&c)&&(n.relatedTarget=p||null,n.hide(),t.preventDefault())}class Ue extends k{constructor(t,e){super(t,e);const{element:n}=this;this.modalDialog=h(".modal-dialog",n),this.triggers=[...V('[data-bs-toggle="modal"]')].filter(t=>_(t)===n),this.isStatic="static"===this.options.backdrop,this.hasFade=p(n,"fade"),this.relatedTarget=null,this.container=ge(n),Fe(this,!0),this.update=this.update.bind(this)}get name(){return"Modal"}get defaults(){return De}toggle(){p(this.element,"show")?this.hide():this.show()}show(){const t=this,{element:e,options:n,hasFade:o,relatedTarget:s,container:i}=t,{backdrop:l}=n;let r=0;if(p(e,"show"))return;if(Se.relatedTarget=s||null,m(e,Se),Se.defaultPrevented)return;const c=He(e);if(c&&c!==e){(Ce(c)||w(c,"Offcanvas")).hide()}l?(c||p(xe,"show")?ke(!0):Ae(i,o,!0),r=a(xe),p(xe,"show")||Pe(),setTimeout(()=>Xe(t),r)):(Xe(t),c&&p(xe,"show")&&Me())}hide(t){const e=this,{element:n,hasFade:o,relatedTarget:s}=e;p(n,"show")&&(Re.relatedTarget=s||null,m(n,Re),Re.defaultPrevented||(g(n,"show"),C(n,"aria-hidden","true"),de(n,"aria-modal"),o&&!1!==t?l(n,()=>je(e)):je(e,t)))}update(){p(this.element,"show")&&Oe(this)}dispose(){this.hide(!0),Fe(this),super.dispose()}}f(Ue,{selector:".modal",init:t=>new Ue(t),getInstance:Ce});const Ge={backdrop:!0,keyboard:!0,scroll:!1},Ze=t=>w(t,"Offcanvas"),Je=T("show.bs.offcanvas"),Ke=T("shown.bs.offcanvas"),Qe=T("hide.bs.offcanvas"),_e=T("hidden.bs.offcanvas");function tn(t,e){const s=e?n:o;t.triggers.forEach(t=>s(t,"click",sn))}function en(t,e){const s=e?n:o,i=r(t.element);s(i,"keydown",ln),s(i,"click",an)}function nn(t){const{element:e,options:n}=t;n.scroll||(!function(t){const{element:e}=t,{clientHeight:n,scrollHeight:o}=X(e);Te(e,n!==o)}(t),he(e).style.overflow="hidden"),S(e,"offcanvas-toggling"),S(e,"show"),e.style.visibility="visible",l(e,()=>function(t){const{element:e,triggers:n}=t;g(e,"offcanvas-toggling"),de(e,"aria-hidden"),C(e,"aria-modal","true"),C(e,"role","dialog"),n.length&&n.forEach(t=>C(t,"aria-expanded","true"));m(e,Ke),en(t,!0),Ot(e)}(t))}function on(t){const{element:e,options:n}=t,o=He(e);e.blur(),!o&&n.backdrop&&p(xe,"show")?(Me(),l(xe,()=>rn(t))):rn(t)}function sn(t){const e=u(this,'[data-bs-toggle="offcanvas"]'),n=e&&_(e),o=n&&Ze(n);o&&(o.relatedTarget=e,o.toggle(),e&&"A"===e.tagName&&t.preventDefault())}function an(t){const e=h(".offcanvas.show",this);if(!e)return;const n=h('[data-bs-dismiss="offcanvas"]',e),o=Ze(e);if(!o)return;const{options:s,triggers:i}=o,{target:a}=t,l=u(a,'[data-bs-toggle="offcanvas"]'),c=r(e).getSelection();c&&c.toString().length||!(!e.contains(a)&&s.backdrop&&(!l||l&&!i.includes(l))||n&&n.contains(a))||(o.relatedTarget=n&&n.contains(a)?n:null,o.hide()),l&&"A"===l.tagName&&t.preventDefault()}function ln({code:t}){const e=h(".offcanvas.show",this);if(!e)return;const n=Ze(e);n&&n.options.keyboard&&"Escape"===t&&(n.relatedTarget=null,n.hide())}function rn(t){const{element:e,triggers:n}=t;if(C(e,"aria-hidden","true"),de(e,"aria-modal"),de(e,"role"),e.style.visibility="",n.length){n.forEach(t=>C(t,"aria-expanded","false"));const t=n.find(t=>Le(t));t&&Ot(t)}Ne(e),m(e,_e),g(e,"offcanvas-toggling"),He(e)||en(t)}class cn extends k{constructor(t,e){super(t,e);const{element:n}=this;this.triggers=[...V('[data-bs-toggle="offcanvas"]')].filter(t=>_(t)===n),this.container=ge(n),this.relatedTarget=null,tn(this,!0)}get name(){return"Offcanvas"}get defaults(){return Ge}toggle(){p(this.element,"show")?this.hide():this.show()}show(){const t=this,{element:e,options:n,container:o,relatedTarget:s}=t;let i=0;if(p(e,"show"))return;if(Je.relatedTarget=s,Ke.relatedTarget=s,m(e,Je),Je.defaultPrevented)return;const l=He(e);if(l&&l!==e){(Ze(l)||w(l,"Modal")).hide()}n.backdrop?(l?ke():Ae(o,!0),i=a(xe),p(xe,"show")||Pe(),setTimeout(()=>nn(t),i)):(nn(t),l&&p(xe,"show")&&Me())}hide(t){const e=this,{element:n,relatedTarget:o}=e;p(n,"show")&&(Qe.relatedTarget=o,_e.relatedTarget=o,m(n,Qe),Qe.defaultPrevented||(S(n,"offcanvas-toggling"),g(n,"show"),t?on(e):l(n,()=>on(e))))}dispose(){this.hide(!0),tn(this),super.dispose()}}f(cn,{selector:".offcanvas",init:t=>new cn(t),getInstance:Ze});function dn(t){const e="tooltip"===t;return``}const hn=t=>t&&[SVGElement,HTMLImageElement,HTMLVideoElement].some(e=>t instanceof e);function un(t,e,n){const o=e instanceof HTMLElement,s=z(t,o&&function(t){const{width:e,height:n}=z(t),{offsetWidth:o,offsetHeight:s}=t;return Math.round(e)!==o||Math.round(n)!==s}(e)),i={x:0,y:0};if(o){const t=z(e,!0);i.x=t.x+e.clientLeft,i.y=t.y+e.clientTop}return{x:s.left+n.x-i.x,y:s.top+n.y-i.y,width:s.width,height:s.height}}var fn={top:"top",bottom:"bottom",left:"start",right:"end"};function pn(t,e){const n=/\b(top|bottom|start|end)+/,{element:o,tooltip:s,options:a,arrow:l,offsetParent:r}=t,c={...fn};$t(s,{top:"0px",left:"0px",right:""});const d="Popover"===t.name,h=s.offsetWidth,u=s.offsetHeight,f=Y(o);f&&(c.left="end",c.right="start");const p=X(o),g=p.clientWidth,m=p.clientHeight,{container:b}=a;let{placement:v}=a;const{left:w,right:T,top:y}=z(b,!0),E=b.clientWidth,x=Math.abs(E-b.offsetWidth),H=i(b,"position"),k="fixed"===H,A="static"===H,P="sticky"===H&&y===parseFloat(i(b,"top")),M=f&&k?x:0,N=k?E+w+(f?x:0):E+w+(g-T)-1,{width:L,height:D,left:C,right:S,top:I}=z(o,!0),R=function(t){const e="scrollX"in t;return{x:e?t.scrollX:t.scrollLeft,y:e?t.scrollY:t.scrollTop}}(r),{x:$,y:O}=un(o,r,R);let W,F,B,j,V,q;$t(l,{top:"",left:"",right:""});const U=l.offsetWidth||0,G=l.offsetHeight||0,Z=U/2;let J=I-u-G<0,K=I+u+D+G>=m,Q=C-h-U=N;const tt=["left","right"],et=["top","bottom"];if(J=tt.includes(v)?I+D/2-u/2-G<0:J,K=tt.includes(v)?I+u/2+D/2+G>=m:K,Q=et.includes(v)?C+L/2-h/2=N:_,v=tt.includes(v)&&Q&&_?"top":v,v="top"===v&&J?"bottom":v,v="bottom"===v&&K?"top":v,v="left"===v&&Q?"right":v,v="right"===v&&_?"left":v,s.className.includes(v)||(s.className=s.className.replace(n,c[v])),tt.includes(v))F="left"===v?$-h-(d?U:0):$+L+(d?U:0),J?(W=O,W+=P?-y-R.y:0,j=D/2-U):K?(W=O-u+D,W+=P?-y-R.y:0,j=u-D/2-U):(W=O-u/2+D/2,W+=P?-y-R.y:0,j=u/2-G/2);else if(et.includes(v))if(e&&hn(o)){let t=0,n=0;A?(t=e.pageX,n=e.pageY):(t=e.clientX-w+(k?R.x:0),n=e.clientY-y+(k?R.y:0)),t-=f&&k&&x?x:0,W="top"===v?n-u-U:n+U,e.clientX-h/2N?(F="auto",B=0,q=N-t-Z,q-=k?w+(f?x:0):0):(F=t-h/2,V=h/2-Z)}else W="top"===v?O-u-(d?G:0):O+D+(d?G:0),Q?(F=0,V=$+L/2-Z):_?(F="auto",B=0,q=L/2+N-S-Z):(F=$-h/2+L/2,V=h/2-Z);$t(s,{top:W+"px",left:"auto"===F?F:F+"px",right:void 0!==B?B+"px":""}),l instanceof HTMLElement&&(void 0!==j&&(l.style.top=j+"px"),void 0!==V?l.style.left=V+"px":void 0!==q&&(l.style.right=q+"px"))}const gn={template:dn("tooltip"),title:null,customClass:null,trigger:"hover focus",placement:"top",sanitizeFn:null,animation:!0,delay:200,container:null},mn="focusin",bn="focusout",{userAgentData:vn}=navigator,wn=vn,{userAgent:Tn}=navigator,yn=Tn,En=/(iPhone|iPod|iPad)/,xn=wn?wn.brands.some(t=>En.test(t.brand)):En.test(yn);let Hn=1;const kn=new Map;function An(t,e,n){if("string"!=typeof e||e.length)if("string"==typeof e){let o=e.trim();"function"==typeof n&&(o=n(o));const s=(new DOMParser).parseFromString(o,"text/html"),{body:i}=s,a=i.children.length?"innerHTML":"innerText";t[a]=i[a]}else e instanceof HTMLElement&&t.append(e)}function Pn(t,e){return t instanceof HTMLElement&&e.contains(t)}let Mn=t=>w(t,"Tooltip");function Nn(t){const{element:e}=t;Sn(t),e.hasAttribute("data-original-title")&&"tooltip"===t.name&&Rn(t)}function Ln(t,e){const s=e?n:o,{element:i}=t;s(r(i),"touchstart",t.handleTouch,Q),hn(i)||[Dt,Ct].forEach(e=>{s(B(i),e,t.update,Q)})}function Dn(t){const{element:e}=t,n=T("shown.bs."+H(t.name));Ln(t,!0),m(e,n),J(e,"in")}function Cn(t){const{element:e}=t,n=T("hidden.bs."+H(t.name));Ln(t),function(t){const{element:e,tooltip:n}=t;de(e,"aria-describedby"),n.remove()}(t),m(e,n),J(e,"out")}function Sn(t,e){const s=e?n:o,{element:i,options:a,btn:l}=t,{trigger:c,dismissible:d}=a;if(c.includes("manual"))return;t.enabled=!!e;const h=c.split(" "),u=hn(i);u&&s(i,"mousemove",t.update,Q),h.forEach(e=>{u||"hover"===e?(s(i,"mousedown",t.show),s(i,W,t.show),d&&l?s(l,"click",t.hide):(s(i,F,t.hide),s(r(i),"touchstart",t.handleTouch,Q))):"click"===e?s(i,e,d?t.show:t.toggle):"focus"===e&&(s(i,mn,t.show),d||s(i,bn,t.hide),xn&&s(i,"click",()=>Ot(i)))})}function In(t,e){const s=e?n:o,{element:i,options:a,offsetParent:l}=t,{container:r}=a,{offsetHeight:c,scrollHeight:d}=r,h=u(i,".modal"),f=u(i,".offcanvas");if(!hn(i)){const e=B(i),n=c!==d||l!==e?r:e;s(e,Ct,t.update,Q),s(n,Dt,t.update,Q)}h&&s(h,"hide.bs.modal",t.hide),f&&s(f,"hide.bs.offcanvas",t.hide)}function Rn(t,e){const n=["data-original-title","title"],{element:o}=t;C(o,n[e?0:1],e||y(o,n[0])),de(o,n[e?1:0])}class $n extends k{constructor(t,e){super(t,e);const n=this,{element:o}=n,s="Tooltip"===n.name,a=s?"tooltip":"popover",l=s?"Tooltip":"Popover";Mn=t=>w(t,l),n.tooltip={},s||(n.btn=null),n.arrow={},n.offsetParent={},n.enabled=!0,n.id=`${a}-${function(t,e){Hn+=1;let n=kn.get(t),o=Hn;if(e&&e.length)if(n){const t=n.get(e);Number.isNaN(t)?n.set(e,o):o=t}else kn.set(t,new Map),n=kn.get(t),n.set(e,o);else Number.isNaN(n)?kn.set(t,o):o=n;return o}(o,a)}`;const{options:c}=n;if(!c.title&&s||!s&&!c.content)return;const d=h(c.container),u=ge(o);n.options.container=!d||d&&["static","relative"].includes(i(d,"position"))?u:d||he(o),gn.title=null,n.handleTouch=n.handleTouch.bind(n),n.update=n.update.bind(n),n.show=n.show.bind(n),n.hide=n.hide.bind(n),n.toggle=n.toggle.bind(n),o.hasAttribute("title")&&s&&Rn(n,c.title),function(t){const{id:e,element:n,options:o}=t,{animation:s,customClass:i,sanitizeFn:a,placement:l,dismissible:c}=o;let{title:d,content:u}=o;const f="Tooltip"===t.name,g=f?"tooltip":"popover",{template:m,btnClose:b}=o,v={...fn};Y(n)&&(v.left="end",v.right="start");const w=`bs-${g}-${v[l]}`;let T;if([Element,HTMLElement].some(t=>m instanceof t))T=m;else{const t=r(n).createElement("div");An(t,m,a),T=t.firstElementChild}t.tooltip=T&&T.cloneNode(!0);const{tooltip:y}=t;C(y,"id",e),C(y,"role","tooltip");const E=f?"tooltip-inner":"popover-body",x=f?null:h(".popover-header",y),H=h("."+E,y);t.arrow=h(`.${g}-arrow`,y),c&&(d?d instanceof HTMLElement?An(d,b,a):d+=b:(x&&x.remove(),u instanceof HTMLElement?An(u,b,a):u+=b)),f?d&&H&&An(H,d,a):(d&&x&&An(x,d,a),u&&H&&An(H,u,a),t.btn=h(".btn-close",y)),p(y,g)||S(y,g),s&&!p(y,"fade")&&S(y,"fade"),i&&!p(y,i)&&S(y,i),p(y,w)||S(y,w)}(n),Sn(n,!0)}get name(){return"Tooltip"}get defaults(){return gn}show(t){const e=this,{options:n,tooltip:o,element:s,id:i}=e,{container:a,animation:r}=n,c=Z(s,"out");J(s,"out"),!o||c||Pn(o,a)||G(s,()=>{const n=T("show.bs."+H(e.name));m(s,n),n.defaultPrevented||(a.append(o),C(s,"aria-describedby","#"+i),e.offsetParent=ge(o,!0),e.update(t),In(e,!0),p(o,"show")||S(o,"show"),r?l(o,()=>Dn(e)):Dn(e))},17,"in")}hide(){const t=this,{options:e,tooltip:n,element:o}=t,{container:s,animation:i,delay:a}=e;J(o,"in"),n&&Pn(n,s)&&G(o,()=>{const e=T("hide.bs."+H(t.name));m(o,e),e.defaultPrevented||(g(n,"show"),In(t),i?l(n,()=>Cn(t)):Cn(t))},a+17,"out")}update(t){pn(this,t)}toggle(t){const{tooltip:e,options:n}=this;Pn(e,n.container)?this.hide():this.show(t)}enable(){const t=this,{enabled:e}=t;e||(Sn(t,!0),t.enabled=!e)}disable(){const t=this,{element:e,tooltip:n,options:o,enabled:s}=t,{animation:i,container:l,delay:r}=o;s&&(Pn(n,l)&&i?(t.hide(),G(e,()=>{Sn(t),J(e,"tooltip")},a(n)+r+17,"tooltip")):Sn(t),t.enabled=!s)}toggleEnabled(){this.enabled?this.disable():this.enable()}handleTouch({target:t}){const{tooltip:e,element:n}=this;e.contains(t)||t===n||t&&n.contains(t)||this.hide()}dispose(){const t=this,{tooltip:e,options:n}=t;n.animation&&Pn(e,n.container)?(n.delay=0,t.hide(),l(e,()=>Nn(t))):Nn(t),super.dispose()}}f($n,{selector:'[data-bs-toggle="tooltip"],[data-tip="tooltip"]',init:t=>new $n(t),getInstance:Mn,styleTip:pn});const On={...gn,template:dn("popover"),btnClose:'',dismissible:!1,content:null};class Wn extends $n{constructor(t,e){super(t,e)}get name(){return"Popover"}get defaults(){return On}show(){super.show();const{options:t,btn:e}=this;t.dismissible&&e&&setTimeout(()=>Ot(e),17)}}function Fn(t,e){return(e&&c.some(t=>e instanceof t)?e:r()).getElementsByTagName(t)}f(Wn,{selector:'[data-bs-toggle="popover"],[data-tip="popover"]',init:t=>new Wn(t),getInstance:t=>w(t,"Popover"),styleTip:pn});const Bn={offset:10,target:null},zn=T("activate.bs.scrollspy");function Xn(t){const{target:e,scrollTarget:n,options:o,itemsLength:s,scrollHeight:i,element:a}=t,{offset:l}=o,c=n instanceof Window,d=e&&Fn("A",e),u=n&&function(t){return t instanceof HTMLElement?t.scrollHeight:X(t).scrollHeight}(n);if(t.scrollTop=c?n.scrollY:n.scrollTop,d&&(s!==d.length||u!==i)){let e,n,o;t.items=[],t.offsets=[],t.scrollHeight=u,t.maxScroll=t.scrollHeight-function({element:t,scrollTarget:e}){return e instanceof Window?e.innerHeight:z(t).height}(t),[...d].forEach(s=>{e=y(s,"href"),n=e&&"#"===e.charAt(0)&&"#"!==e.slice(-1)&&h(e,r(a)),n&&(t.items.push(s),o=z(n),t.offsets.push((c?o.top+t.scrollTop:n.offsetTop)-l))}),t.itemsLength=t.items.length}}function jn(t){[...Fn("A",t)].forEach(t=>{p(t,"active")&&g(t,"active")})}function Yn(t,e){const{target:n,element:o}=t;jn(n),t.activeItem=e,S(e,"active");const s=[];let i=e;for(;i!==he(o);)i=i.parentElement,(p(i,"nav")||p(i,"dropdown-menu"))&&s.push(i);s.forEach(t=>{const e=t.previousElementSibling;e&&!p(e,"active")&&S(e,"active")}),zn.relatedTarget=e,m(o,zn)}function Vn(t,e){(e?n:o)(t.scrollTarget,Dt,t.refresh,Q)}class qn extends k{constructor(t,e){super(t,e);const{element:n,options:o}=this;if(this.target=h(o.target,r(n)),!this.target)return;const s=B(n);this.scrollTarget=n.clientHeight=o){const e=i[s-1];return void(a!==e&&Yn(t,e))}const{offsets:l}=t;if(a&&n0)return t.activeItem=null,void jn(e);i.forEach((e,o)=>{a!==e&&n>=l[o]&&(void 0===l[o+1]||nnew qn(t),getInstance:t=>w(t,"ScrollSpy")});const Un=t=>w(t,"Tab"),Gn=T("show.bs.tab"),Zn=T("shown.bs.tab"),Jn=T("hide.bs.tab"),Kn=T("hidden.bs.tab"),Qn=new Map;function _n(t){const{tabContent:e,nav:n}=t;e&&(e.style.height="",g(e,"collapsing")),n&&J(n)}function to(t){const{element:e,tabContent:n,nav:o}=t,{currentHeight:s,nextHeight:i}=Qn.get(e),{tab:a}=o&&Qn.get(o);n?s===i?_n(t):setTimeout(()=>{n.style.height=i+"px",K(n),l(n,()=>_n(t))},50):o&&J(o),Zn.relatedTarget=a,m(e,Zn)}function eo(t){const{element:e,content:n,tabContent:o,nav:s}=t,{tab:i,content:a}=s&&Qn.get(s);let r=0;if(o&&([a,n].forEach(t=>S(t,"overflow-hidden")),r=a.scrollHeight),Gn.relatedTarget=i,Kn.relatedTarget=e,m(e,Gn),!Gn.defaultPrevented){if(S(n,"active"),g(a,"active"),o){const t=n.scrollHeight;Qn.set(e,{currentHeight:r,nextHeight:t}),S(o,"collapsing"),o.style.height=r+"px",K(o),[a,n].forEach(t=>g(t,"overflow-hidden"))}n&&p(n,"fade")?setTimeout(()=>{S(n,"show"),l(n,()=>{to(t)})},17):to(t),m(i,Kn)}}function no(t,e){(e?n:o)(t.element,"click",oo)}function oo(t){const e=Un(this);e&&(t.preventDefault(),e.show())}class so extends k{constructor(t){super(t);const{element:e}=this,n=_(e);if(!n)return;const o=u(e,".nav"),s=u(n,".tab-content");this.nav=o,this.content=n,this.tabContent=s,this.dropdown=o&&h(`.${Wt[0]}-toggle`,o),no(this,!0)}get name(){return"Tab"}show(){const t=this,{element:e,nav:n,dropdown:o}=t;if(!(n&&Z(n)||p(e,"active"))){const{tab:s,content:i}=function(t){const{nav:e}=t,n=q("active",e);let o;return 1!==n.length||Wt.some(t=>p(n[0].parentElement,t))?n.length>1&&(o=n[n.length-1]):[o]=n,{tab:o,content:o?_(o):null}}(t);if(n&&Qn.set(n,{tab:s,content:i}),Jn.relatedTarget=e,m(s,Jn),Jn.defaultPrevented)return;n&&G(n,()=>{},17),g(s,"active"),C(s,"aria-selected","false"),S(e,"active"),C(e,"aria-selected","true"),o&&(p(e.parentNode,"dropdown-menu")?p(o,"active")||S(o,"active"):p(o,"active")&&g(o,"active")),p(i,"fade")?(g(i,"show"),l(i,()=>eo(t))):eo(t)}}dispose(){no(this),super.dispose()}}f(so,{selector:'[data-bs-toggle="tab"]',init:t=>new so(t),getInstance:Un});const io={animation:!0,autohide:!0,delay:5e3},ao=t=>w(t,"Toast"),lo=T("show.bs.toast"),ro=T("shown.bs.toast"),co=T("hide.bs.toast"),ho=T("hidden.bs.toast");function uo(t){const{element:e,options:n}=t;g(e,"showing"),J(e,"showing"),m(e,ro),n.autohide&&G(e,()=>t.hide(),n.delay,"toast")}function fo(t){const{element:e}=t;g(e,"showing"),g(e,"show"),S(e,"hide"),J(e,"toast"),m(e,ho)}function po(t,e){const s=e?n:o,{element:i,dismiss:a,options:l}=t;a&&s(a,"click",t.hide),l.autohide&&[mn,bn,W,F].forEach(t=>s(i,t,go))}function go(t){const e=this,n=ao(e),{type:o,relatedTarget:s}=t;n&&e!==s&&!e.contains(s)&&([W,mn].includes(o)?J(e,"toast"):G(e,()=>n.hide(),n.options.delay,"toast"))}class mo extends k{constructor(t,e){super(t,e);const{element:n,options:o}=this;o.animation&&!p(n,"fade")?S(n,"fade"):!o.animation&&p(n,"fade")&&g(n,"fade"),this.dismiss=h('[data-bs-dismiss="toast"]',n),this.show=this.show.bind(this),this.hide=this.hide.bind(this),po(this,!0)}get name(){return"Toast"}get defaults(){return io}show(){const t=this,{element:e}=t;if(e&&!p(e,"show")){if(m(e,lo),lo.defaultPrevented)return;!function(t){const{element:e,options:n}=t;G(e,()=>{g(e,"hide"),K(e),S(e,"show"),S(e,"showing"),n.animation?l(e,()=>uo(t)):uo(t)},17,"showing")}(t)}}hide(){const t=this,{element:e}=t;if(e&&p(e,"show")){if(m(e,co),co.defaultPrevented)return;!function(t){const{element:e,options:n}=t;S(e,"showing"),n.animation?(K(e),l(e,()=>fo(t))):fo(t)}(t)}}dispose(){const{element:t}=this;p(t,"show")&&g(t,"show"),function(t){J(t.element,"toast"),po(t)}(this),super.dispose()}}f(mo,{selector:".toast",init:t=>new mo(t),getInstance:ao});const bo={Alert:D,Button:O,Carousel:Tt,Collapse:Lt,Dropdown:ce,Modal:Ue,Offcanvas:cn,Popover:Wn,ScrollSpy:qn,Tab:so,Toast:mo,Tooltip:$n};function vo(t){const e=[...Fn("*",t&&c.some(e=>t instanceof e)?t:void 0)];x(bo).forEach(t=>{const{init:n,selector:o}=bo[t];var s,i;s=n,i=e.filter(t=>function(t,e){return t.matches(e)}(t,o)),[...i].forEach(t=>s(t))})}document.body?vo():n(document,"DOMContentLoaded",()=>vo(),{once:!0});const wo={Alert:D,Button:O,Carousel:Tt,Collapse:Lt,Dropdown:ce,Modal:Ue,Offcanvas:cn,Popover:Wn,ScrollSpy:qn,Tab:so,Toast:mo,Tooltip:$n,initCallback:vo,removeDataAPI:function(t){const e=t&&c.some(e=>t instanceof e)?t:void 0;x(bo).forEach(t=>{!function(t,e){const n=v.getAllFor(t);n&&[...n].forEach(t=>{const[n,o]=t;e&&e.contains(n)&&o.dispose()})}(t,e)})},Version:"4.1.0alpha6",EventListener:s};export{wo as default}; +// Native JavaScript for Bootstrap v4.1.0alpha7 | 2022 © dnp_theme | MIT-License +const t={};function e(e){const n=this,{type:s}=e;(t[s]?[...t[s]]:[]).forEach(t=>{const[i,a]=t;[...a].forEach(t=>{if(i===n){const[n,a]=t;n.apply(i,[e]),a&&a.once&&o(i,s,n,a)}})})}const n=(n,o,s,i)=>{t[o]||(t[o]=new Map);const a=t[o];a.has(n)||a.set(n,new Map);const l=a.get(n),{size:r}=l;l&&l.set(s,i),r||n.addEventListener(o,e,i)},o=(n,o,s,i)=>{const a=t[o],l=a&&a.get(n),r=l&&l.get(s),{options:c}=void 0!==r?r:{options:i};l&&l.has(s)&&l.delete(s),!a||l&&l.size||a.delete(n),a&&a.size||delete t[o],l&&l.size||n.removeEventListener(o,e,c)},s={on:n,off:o,globalListener:e,registry:t};function i(t,e){const n=getComputedStyle(t);return e in n?n[e]:""}function a(t){const e=i(t,"transitionProperty"),n=i(t,"transitionDuration"),o=n.includes("ms")?1:1e3,s=e&&"none"!==e?parseFloat(n)*o:0;return Number.isNaN(s)?0:s}function l(t,e){let n=0;const o=new Event("transitionend"),s=a(t),l=function(t){const e=i(t,"transitionProperty"),n=i(t,"transitionDelay"),o=n.includes("ms")?1:1e3,s=e&&"none"!==e?parseFloat(n)*o:0;return Number.isNaN(s)?0:s}(t);if(s){const i=o=>{o.target===t&&(e.apply(t,[o]),t.removeEventListener("transitionend",i),n=1)};t.addEventListener("transitionend",i),setTimeout(()=>{n||t.dispatchEvent(o)},s+l+17)}else e.apply(t,[o])}function r(t){return t instanceof HTMLElement?t.ownerDocument:t instanceof Window?t.document:window.document}const c=[Document,Element,HTMLElement],d=[Element,HTMLElement];function h(t,e){const n=c.some(t=>e instanceof t)?e:r();return d.some(e=>t instanceof e)?t:n.querySelector(t)}function u(t,e){return t?t.closest(e)||u(t.getRootNode().host,e):null}const f=(t,e)=>Object.assign(t,e);function p(t,e){return t.classList.contains(e)}function g(t,e){t.classList.remove(e)}const m=(t,e)=>t.dispatchEvent(e),b=new Map,v={set:(t,e,n)=>{const o=h(t);if(!o)return;b.has(e)||b.set(e,new Map);b.get(e).set(o,n)},getAllFor:t=>b.get(t)||null,get:(t,e)=>{const n=h(t),o=v.getAllFor(e);return n&&o&&o.get(n)||null},remove:(t,e)=>{const n=h(t),o=b.get(e);o&&n&&(o.delete(n),0===o.size&&b.delete(e))}},w=(t,e)=>v.get(t,e);function T(t,e){const n=new CustomEvent(t,{cancelable:!0,bubbles:!0});return e instanceof Object&&f(n,e),n}const y=(t,e)=>t.getAttribute(e);function E(t){return"true"===t||"false"!==t&&(Number.isNaN(+t)?""===t||"null"===t?null:t:+t)}const x=t=>Object.keys(t),H=t=>t.toLowerCase();class k{constructor(t,e){const n=this,o=h(t);if(!o)throw Error(`${n.name} Error: "${t}" is not a valid selector.`);n.options={};const s=v.get(o,n.name);s&&s.dispose(),n.element=o,n.defaults&&Object.keys(n.defaults).length&&(n.options=function(t,e,n,o){const s={...t.dataset},i={},a={};return x(s).forEach(t=>{const e=o&&t.includes(o)?t.replace(o,"").replace(/[A-Z]/,t=>H(t)):t;a[e]=E(s[t])}),x(n).forEach(t=>{n[t]=E(n[t])}),x(e).forEach(o=>{i[o]=o in n?n[o]:o in a?a[o]:"title"===o?y(t,"title"):e[o]}),i}(o,n.defaults,e||{},"bs")),v.set(o,n.name,n)}get version(){return"4.1.0alpha7"}get name(){return this.constructor.name}get defaults(){return this.constructor.defaults}dispose(){const t=this;v.remove(t.element,t.name),x(t).forEach(e=>{t[e]=null})}}const A=t=>w(t,"Alert"),P=T("close.bs.alert"),M=T("closed.bs.alert");function N(t){const{element:e}=t;L(t),m(e,M),t.dispose(),e.remove()}function L(t,e){const s=e?n:o,{dismiss:i}=t;i&&s(i,"click",t.close)}class D extends k{constructor(t){super(t);const{element:e}=this;this.dismiss=h('[data-bs-dismiss="alert"]',e),L(this,!0)}get name(){return"Alert"}close(t){const e=t?A(u(this,".alert")):this;if(!e)return;const{element:n}=e;if(p(n,"show")){if(m(n,P),P.defaultPrevented)return;g(n,"show"),p(n,"fade")?l(n,()=>N(e)):N(e)}}dispose(){L(this),super.dispose()}}f(D,{selector:".alert",init:t=>new D(t),getInstance:A});const C=(t,e,n)=>t.setAttribute(e,n);function S(t,e){t.classList.add(e)}const I="data-bs-toggle",R=t=>w(t,"Button");function $(t,e){(e?n:o)(t.element,"click",t.toggle)}class O extends k{constructor(t){super(t);const{element:e}=this;this.isActive=p(e,"active"),C(e,"aria-pressed",""+!!this.isActive),$(this,!0)}get name(){return"Button"}toggle(t){t&&t.preventDefault();const e=t?R(this):this;if(!e)return;const{element:n}=e;if(p(n,"disabled"))return;e.isActive=p(n,"active");const{isActive:o}=e;(o?g:S)(n,"active"),C(n,"aria-pressed",o?"false":"true")}dispose(){$(this),super.dispose()}}f(O,{selector:'[data-bs-toggle="button"]',init:t=>new O(t),getInstance:R});const W="mouseenter",F="mouseleave";function B(t){if(null==t)return window;if(!(t instanceof Window)){const{ownerDocument:e}=t;return e&&e.defaultView||window}return t}function z(t,e){const{width:n,height:o,top:s,right:i,bottom:a,left:l}=t.getBoundingClientRect();let r=1,c=1;if(e&&t instanceof HTMLElement){const{offsetWidth:e,offsetHeight:s}=t;r=e>0&&Math.round(n)/e||1,c=s>0&&Math.round(o)/s||1}return{width:n/r,height:o/c,top:s/c,right:i/r,bottom:a/c,left:l/r,x:l/r,y:s/c}}function X(t){return r(t).documentElement}const j=t=>{const{top:e,bottom:n}=z(t),{clientHeight:o}=X(t);return e<=o&&n>=0},Y=t=>"rtl"===X(t).dir;function V(t,e){return(e&&c.some(t=>e instanceof t)?e:r()).querySelectorAll(t)}function q(t,e){return(e&&c.some(t=>e instanceof t)?e:r()).getElementsByClassName(t)}const U=new Map,G=(t,e,n,o)=>{const s=h(t);if(s)if(o&&o.length){U.has(s)||U.set(s,new Map);U.get(s).set(o,setTimeout(e,n))}else U.set(s,setTimeout(e,n))},Z=(t,e)=>{const n=h(t);if(!n)return null;const o=U.get(n);return e&&e.length&&o&&o.get?o.get(e)||null:o||null},J=(t,e)=>{const n=h(t);if(n)if(e&&e.length){const t=U.get(n);t&&t.get&&(clearTimeout(t.get(e)),t.delete(e),0===t.size&&U.delete(n))}else clearTimeout(U.get(n)),U.delete(n)},K=t=>t.offsetHeight,Q={passive:!0};function _(t){const e=["data-bs-target","data-bs-parent","data-bs-container","href"],n=r(t);return e.map(e=>{const o=y(t,e);return o?"data-bs-parent"===e?u(t,o):h(o,n):null}).filter(t=>t)[0]}const tt="carousel-item",et={pause:"hover",keyboard:!1,touch:!0,interval:5e3},nt=t=>w(t,"Carousel");let ot=0,st=0,it=0;const at=T("slide.bs.carousel"),lt=T("slid.bs.carousel");function rt(){const t=this,e=nt(t);!e||e.isPaused||Z(t,"paused")||S(t,"paused")}function ct(){const t=nt(this);t&&t.isPaused&&!Z(this,"paused")&&t.cycle()}function dt(t){t.preventDefault();const e=u(this,'[data-bs-ride="carousel"]')||_(this);if(!e)return;const n=nt(e);if(!n||n.isAnimating)return;const o=+y(this,"data-bs-slide-to");!this||p(this,"active")||Number.isNaN(o)||n.to(o)}function ht(t){t.preventDefault();const e=u(this,'[data-bs-ride="carousel"]')||_(this),n=e&&nt(e);if(!n||n.isAnimating)return;const o=y(this,"data-bs-slide");"next"===o?n.next():"prev"===o&&n.prev()}function ut({code:t}){const[e]=[...V('[data-bs-ride="carousel"]')].filter(t=>j(t)),n=nt(e);if(!n)return;const o=Y(),s=o?"ArrowLeft":"ArrowRight";t===(o?"ArrowRight":"ArrowLeft")?n.prev():t===s&&n.next()}function ft(t){const e=nt(this);e&&!e.isTouch&&(ot=t.changedTouches[0].pageX,this.contains(t.target)&&(e.isTouch=!0,bt(e,!0)))}function pt(t){const{changedTouches:e,type:n}=t,o=nt(this);o&&o.isTouch&&(st=e[0].pageX,"touchmove"===n&&e.length>1&&t.preventDefault())}function gt(t){const e=this,n=nt(e);if(n&&n.isTouch&&(it=st||t.changedTouches[0].pageX,n.isTouch)){if((!e.contains(t.target)||!e.contains(t.relatedTarget))&&Math.abs(ot-it)<75)return;stot&&(n.index-=1),n.isTouch=!1,n.to(n.index),bt(n)}}function mt(t,e){const{indicators:n}=t;[...n].forEach(t=>g(t,"active")),t.indicators[e]&&S(n[e],"active")}function bt(t,e){const{element:s}=t,i=e?n:o;i(s,"touchmove",pt,Q),i(s,"touchend",gt,Q)}function vt(t,e){const{element:s,options:i,slides:a,controls:l,indicators:r}=t,{touch:c,pause:d,interval:h,keyboard:u}=i,f=e?n:o;d&&h&&(f(s,W,rt),f(s,F,ct),f(s,"touchstart",rt,Q),f(s,"touchend",ct,Q)),c&&a.length>1&&f(s,"touchstart",ft,Q),l.length&&l.forEach(t=>{t&&f(t,"click",ht)}),r.length&&r.forEach(t=>{f(t,"click",dt)}),u&&f(B(s),"keydown",ut)}function wt(t){const{slides:e,element:n}=t,o=h(".carousel-item.active",n);return[...e].indexOf(o)}class Tt extends k{constructor(t,e){super(t,e);const n=this;n.direction=Y()?"right":"left",n.index=0,n.isTouch=!1;const{element:o}=n;n.slides=q(tt,o);const{slides:s}=n;if(s.length<2)return;n.controls=[...V("[data-bs-slide]",o),...V(`[data-bs-slide][data-bs-target="#${o.id}"]`)],n.indicator=h(".carousel-indicators",o),n.indicators=[...n.indicator?V("[data-bs-slide-to]",n.indicator):[],...V(`[data-bs-slide-to][data-bs-target="#${o.id}"]`)];const{options:i}=n;n.options.interval=!0===i.interval?et.interval:i.interval,wt(n)<0&&(s.length&&S(s[0],"active"),n.indicators.length&&mt(n,0)),vt(n,!0),i.interval&&n.cycle()}get name(){return"Carousel"}get defaults(){return et}get isPaused(){return p(this.element,"paused")}get isAnimating(){return null!==h(".carousel-item-next,.carousel-item-prev",this.element)}cycle(){const t=this,{element:e,options:n,isPaused:o}=t;J(e,"carousel"),o&&(J(e,"paused"),g(e,"paused")),G(e,()=>{!t.isPaused&&j(e)&&(t.index+=1,t.to(t.index))},n.interval,"carousel")}pause(){const{element:t,options:e}=this;!this.isPaused&&e.interval&&(S(t,"paused"),G(t,()=>{},1,"paused"))}next(){const t=this;t.isAnimating||(t.index+=1,t.to(t.index))}prev(){const t=this;t.isAnimating||(t.index-=1,t.to(t.index))}to(t){const e=this,{element:n,slides:o,options:s}=e,i=wt(e),c=Y();let d=t;if(e.isAnimating||i===d)return;id||i===o.length-1&&0===d)&&(e.direction=c?"left":"right");const{direction:h}=e;d<0?d=o.length-1:d>=o.length&&(d=0);const u="left"===h?"next":"prev",b="left"===h?"start":"end",v={relatedTarget:o[d],from:i,to:d,direction:h};f(at,v),f(lt,v),m(n,at),at.defaultPrevented||(e.index=d,mt(e,d),a(o[d])&&p(n,"slide")?G(n,()=>{S(o[d],"carousel-item-"+u),K(o[d]),S(o[d],"carousel-item-"+b),S(o[i],"carousel-item-"+b),l(o[d],()=>function(t){const{index:e,direction:n,element:o,slides:s,options:i}=t;if(t.isAnimating&&nt(o)){const a=wt(t),l="left"===n?"next":"prev",c="left"===n?"start":"end";S(s[e],"active"),g(s[e],"carousel-item-"+l),g(s[e],"carousel-item-"+c),g(s[a],"active"),g(s[a],"carousel-item-"+c),m(o,lt),J(o,"data-bs-slide"),r(o).hidden||!i.interval||t.isPaused||t.cycle()}}(e))},17,"data-bs-slide"):(S(o[d],"active"),g(o[i],"active"),G(n,()=>{J(n,"data-bs-slide"),n&&s.interval&&!e.isPaused&&e.cycle(),m(n,lt)},17,"data-bs-slide")))}dispose(){const t=this,{slides:e}=t,n=["start","end","prev","next"];[...e].forEach((e,o)=>{p(e,"active")&&mt(t,o),n.forEach(t=>g(e,"carousel-item-"+t))}),vt(t),super.dispose()}}f(Tt,{selector:'[data-bs-ride="carousel"]',init:t=>new Tt(t),getInstance:nt});const yt={parent:null},Et=t=>w(t,"Collapse"),xt=T("show.bs.collapse"),Ht=T("shown.bs.collapse"),kt=T("hide.bs.collapse"),At=T("hidden.bs.collapse");function Pt(t){const{element:e,parent:n,triggers:o}=t;m(e,kt),kt.defaultPrevented||(G(e,()=>{},17),n&&G(n,()=>{},17),e.style.height=e.scrollHeight+"px",g(e,"collapse"),g(e,"show"),S(e,"collapsing"),K(e),e.style.height="0px",l(e,()=>{J(e),n&&J(n),o.forEach(t=>C(t,"aria-expanded","false")),g(e,"collapsing"),S(e,"collapse"),e.style.height="",m(e,At)}))}function Mt(t,e){const s=e?n:o,{triggers:i}=t;i.length&&i.forEach(t=>s(t,"click",Nt))}function Nt(t){const{target:e}=t,n=e&&u(e,'[data-bs-toggle="collapse"]'),o=n&&_(n),s=o&&Et(o);s&&s.toggle(),n&&"A"===n.tagName&&t.preventDefault()}class Lt extends k{constructor(t,e){super(t,e);const{element:n,options:o}=this;this.triggers=[...V('[data-bs-toggle="collapse"]')].filter(t=>_(t)===n),this.parent=h(o.parent),Mt(this,!0)}get name(){return"Collapse"}get defaults(){return yt}toggle(){p(this.element,"show")?this.hide():this.show()}hide(){const{triggers:t,element:e}=this;Z(e)||(Pt(this),t.length&&t.forEach(t=>S(t,"collapsed")))}show(){const t=this,{element:e,parent:n,triggers:o}=t;let s,i;n&&(s=[...V(".collapse.show",n)].find(t=>Et(t)),i=s&&Et(s)),n&&(!n||Z(n))||Z(e)||(i&&s!==e&&(Pt(i),i.triggers.forEach(t=>{S(t,"collapsed")})),function(t){const{element:e,parent:n,triggers:o}=t;m(e,xt),xt.defaultPrevented||(G(e,()=>{},17),n&&G(n,()=>{},17),S(e,"collapsing"),g(e,"collapse"),e.style.height=e.scrollHeight+"px",l(e,()=>{J(e),n&&J(n),o.forEach(t=>C(t,"aria-expanded","true")),g(e,"collapsing"),S(e,"collapse"),S(e,"show"),e.style.height="",m(e,Ht)}))}(t),o.length&&o.forEach(t=>g(t,"collapsed")))}dispose(){Mt(this),super.dispose()}}f(Lt,{selector:".collapse",init:t=>new Lt(t),getInstance:Et});const Dt="scroll",Ct="resize",St="ArrowUp",It="ArrowDown",Rt=(t,e)=>t.hasAttribute(e),$t=(t,e)=>{f(t.style,e)},Ot=t=>t.focus(),Wt=["dropdown","dropup","dropstart","dropend"];function Ft(t){const e=u(t,"A");return t&&(Rt(t,"href")&&"#"===t.href.slice(-1)||e&&Rt(e,"href")&&"#"===e.href.slice(-1))}const[Bt,zt,Xt,jt]=Wt,Yt=`[data-bs-toggle="${Bt}"]`,Vt=t=>w(t,"Dropdown"),qt=[Bt,zt],Ut=[Xt,jt],Gt=["A","BUTTON"],Zt={offset:5,display:"dynamic"},Jt=T("show.bs."+Bt),Kt=T("shown.bs."+Bt),Qt=T("hide.bs."+Bt),_t=T("hidden.bs."+Bt);function te(t){const{element:e,menu:n,parentElement:o,options:s}=t,{offset:a}=s;if("static"===i(n,"position"))return;const l=Y(e),r=p(o,"dropdown-menu-end");["margin","top","bottom","left","right"].forEach(t=>{n.style[t]=""});let c=Wt.find(t=>p(o,t))||Bt,d={dropdown:[a,0,0],dropup:[0,0,a],dropstart:l?[-1,0,0,a]:[-1,a,0],dropend:l?[-1,a,0]:[-1,0,0,a]};const h={dropdown:{top:"100%"},dropup:{top:"auto",bottom:"100%"},dropstart:l?{left:"100%",right:"auto"}:{left:"auto",right:"100%"},dropend:l?{left:"auto",right:"100%"}:{left:"100%",right:"auto"},menuEnd:l?{right:"auto",left:0}:{right:0,left:"auto"}},{offsetWidth:u,offsetHeight:g}=n,{clientWidth:m,clientHeight:b}=X(e),{left:v,top:w,width:T,height:y}=z(e),E=v-u-a<0,x=v+u+T+a>=m,H=w+g+a>=b,k=w+g+y+a>=b,A=w-g-a<0,P=(!l&&r||l&&!r)&&v+T-u<0,M=(l&&r||!l&&!r)&&v+u>=m;Ut.includes(c)&&E&&x&&(c=Bt),c===Xt&&(l?x:E)&&(c=jt),c===jt&&(l?E:x)&&(c=Xt),c===zt&&A&&!k&&(c=Bt),c===Bt&&k&&!A&&(c=zt),Ut.includes(c)&&H&&f(h[c],{top:"auto",bottom:0}),qt.includes(c)&&(P||M)&&v+T+Math.abs(u-T)+at?t+"px":t).join(" "),$t(n,h[c]),p(n,"dropdown-menu-end")&&$t(n,h.menuEnd)}function ee(t){const{element:e}=t,s=t.open?n:o,i=r(e);s(i,"click",se),s(i,"focus",se),s(i,"keydown",ae),s(i,"keyup",le),"dynamic"===t.options.display&&[Dt,Ct].forEach(t=>{s(B(e),t,re,Q)})}function ne(t,e){(e?n:o)(t.element,"click",ie)}function oe(t){const e=[...Wt,"btn-group","input-group"].map(t=>q(t+" show"),r(t)).find(t=>t.length);return e&&e.length?[...e[0].children].find(t=>Rt(t,I)):null}function se(t){const{target:e,type:n}=t;if(!e||!e.closest)return;const o=oe(e);if(!o)return;const s=Vt(o);if(!s)return;const{parentElement:i,menu:a}=s,l=null!==u(e,Yt),r=i&&i.contains(e)&&("form"===e.tagName||null!==u(e,"form"));"click"===n&&Ft(e)&&t.preventDefault(),("focus"!==n||e!==o&&e!==a&&!a.contains(e))&&(r||l||s&&s.hide())}function ie(t){const{target:e}=t,n=Vt(this);n&&(n.toggle(),e&&Ft(e)&&t.preventDefault())}function ae(t){[It,St].includes(t.code)&&t.preventDefault()}function le(t){const{code:e}=t,n=oe(this),o=n&&Vt(n),s=n&&r(n).activeElement;if(!o||!s)return;const{menu:i,open:a}=o,l=function(t){return[...t.children].map(t=>{if(t&&Gt.includes(t.tagName))return t;const{firstElementChild:e}=t;return e&&Gt.includes(e.tagName)?e:null}).filter(t=>t)}(i);if(l&&l.length&&[It,St].includes(e)){let t=l.indexOf(s);s===n?t=0:e===St?t=t>1?t-1:0:e===It&&(t=t{t.relatedTarget=e}),m(s,Jt),Jt.defaultPrevented||(S(o,"show"),S(s,"show"),C(e,"aria-expanded","true"),te(t),t.open=!n,setTimeout(()=>{Ot(e),ee(t),m(s,Kt)},1))}hide(){const t=this,{element:e,open:n,menu:o,parentElement:s}=t;[Qt,_t].forEach(t=>{t.relatedTarget=e}),m(s,Qt),Qt.defaultPrevented||(g(o,"show"),g(s,"show"),C(e,"aria-expanded","false"),t.open=!n,setTimeout(()=>ee(t),1),m(s,_t))}dispose(){const{parentElement:t}=this;p(t,"show")&&this.open&&this.hide(),ne(this),super.dispose()}}f(ce,{selector:Yt,init:t=>new ce(t),getInstance:Vt});const de=(t,e)=>t.removeAttribute(e);function he(t){return r(t).body}const ue=t=>t instanceof B(t).ShadowRoot||t instanceof ShadowRoot;const fe=t=>["TABLE","TD","TH"].includes(t.tagName),pe=t=>t instanceof HTMLElement;function ge(t,e){const n=["HTML","BODY"];if(e){let{offsetParent:e}=t;const o=B(t);for(;e&&(fe(e)||pe(e)&&!["sticky","fixed"].includes(i(e,"position")));)e=e.offsetParent;return(!e||e&&(n.includes(e.tagName)||"static"===i(e,"position")))&&(e=o),e}const o=[];let{parentNode:s}=t;for(;s&&!n.includes(s.nodeName);)s="HTML"===(a=s).nodeName?a:a.assignedSlot||a.parentNode||(ue(a)?a.host:null)||X(a),ue(s)||s.shadowRoot||fe(s)||o.push(s);var a;return o.find((t,e)=>"relative"!==i(t,"position")&&o.slice(e+1).every(t=>"static"===i(t,"position"))?t:null)||he(t)}const me="sticky-top",be="position-sticky",ve=t=>[...q("fixed-top",t),...q("fixed-bottom",t),...q(me,t),...q(be,t),...q("is-fixed",t)];function we(t){const{clientWidth:e}=X(t),{innerWidth:n}=B(t);return Math.abs(n-e)}function Te(t,e){const n=he(t),o=parseInt(i(n,"paddingRight"),10),s="hidden"===i(n,"overflow")&&o?0:we(t),a=ve(n);e&&($t(n,{overflow:"hidden",paddingRight:o+s+"px"}),a.length&&a.forEach(t=>{const e=i(t,"paddingRight");if(t.style.paddingRight=parseInt(e,10)+s+"px",[me,be].some(e=>p(t,e))){const e=i(t,"marginRight");t.style.marginRight=parseInt(e,10)-s+"px"}}))}const ye="modal-backdrop",Ee="offcanvas-backdrop",xe=r().createElement("div");function He(t){return h(".modal.show,.offcanvas.show",r(t))}function ke(t){const e=t?ye:Ee;[ye,Ee].forEach(t=>{g(xe,t)}),S(xe,e)}function Ae(t,e,n){ke(n),t.append(xe),e&&S(xe,"fade")}function Pe(){S(xe,"show"),K(xe)}function Me(){g(xe,"show")}function Ne(t){He(t)||(g(xe,"fade"),xe.remove(),function(t){const e=he(t);$t(e,{paddingRight:"",overflow:""});const n=ve(e);n.length&&n.forEach(t=>{$t(t,{paddingRight:"",marginRight:""})})}(t))}function Le(t){return t&&"hidden"!==i(t,"visibility")&&null!==t.offsetParent}const De={backdrop:!0,keyboard:!0},Ce=t=>w(t,"Modal"),Se=T("show.bs.modal"),Ie=T("shown.bs.modal"),Re=T("hide.bs.modal"),$e=T("hidden.bs.modal");function Oe(t){const{element:e}=t,n=we(e),{clientHeight:o,scrollHeight:s}=X(e),{clientHeight:i,scrollHeight:a}=e,l=i!==a;if(!l&&n){const t=Y(e)?"paddingLeft":"paddingRight";e.style[t]=n+"px"}Te(e,l||o!==s)}function We(t,e){const s=e?n:o,{element:i}=t;s(i,"click",qe),s(B(i),Ct,t.update,Q),s(r(i),"keydown",Ve)}function Fe(t,e){const s=e?n:o,{triggers:i}=t;i.length&&i.forEach(t=>s(t,"click",Ye))}function Be(t){const{triggers:e,element:n}=t;if(Ne(n),n.style.paddingRight="",e.length){const t=e.find(t=>Le(t));t&&Ot(t)}}function ze(t){const{element:e,relatedTarget:n}=t;Ot(e),We(t,!0),Ie.relatedTarget=n,m(e,Ie)}function Xe(t){const{element:e,hasFade:n}=t;e.style.display="block",Oe(t),He(e)||(he(e).style.overflow="hidden"),S(e,"show"),de(e,"aria-hidden"),C(e,"aria-modal","true"),n?l(e,()=>ze(t)):ze(t)}function je(t,e){const{element:n,options:o,relatedTarget:s,hasFade:i}=t;n.style.display="",o.backdrop&&!e&&i&&p(xe,"show")&&!He(n)?(Me(),l(xe,()=>Be(t))):Be(t),We(t),$e.relatedTarget=s,m(n,$e)}function Ye(t){const{target:e}=t,n=e&&u(this,'[data-bs-toggle="modal"]'),o=n&&_(n),s=o&&Ce(o);s&&(n&&"A"===n.tagName&&t.preventDefault(),s.relatedTarget=n,s.toggle())}function Ve({code:t}){const e=h(".modal.show"),n=e&&Ce(e);if(!n)return;const{options:o}=n;o.keyboard&&"Escape"===t&&p(e,"show")&&(n.relatedTarget=null,n.hide())}function qe(t){const e=this,n=Ce(e);if(!n||Z(e))return;const{options:o,isStatic:s,modalDialog:i}=n,{backdrop:c}=o,{target:d}=t,h=r(e).getSelection().toString().length,f=i.contains(d),p=d&&u(d,'[data-bs-dismiss="modal"]');s&&!f?G(e,()=>{S(e,"modal-static"),l(i,()=>function(t){const{element:e,modalDialog:n}=t,o=a(n)+17;g(e,"modal-static"),G(e,()=>J(e),o)}(n))},17):(p||!h&&!s&&!f&&c)&&(n.relatedTarget=p||null,n.hide(),t.preventDefault())}class Ue extends k{constructor(t,e){super(t,e);const{element:n}=this;this.modalDialog=h(".modal-dialog",n),this.triggers=[...V('[data-bs-toggle="modal"]')].filter(t=>_(t)===n),this.isStatic="static"===this.options.backdrop,this.hasFade=p(n,"fade"),this.relatedTarget=null,this.container=ge(n),Fe(this,!0),this.update=this.update.bind(this)}get name(){return"Modal"}get defaults(){return De}toggle(){p(this.element,"show")?this.hide():this.show()}show(){const t=this,{element:e,options:n,hasFade:o,relatedTarget:s,container:i}=t,{backdrop:l}=n;let r=0;if(p(e,"show"))return;if(Se.relatedTarget=s||null,m(e,Se),Se.defaultPrevented)return;const c=He(e);if(c&&c!==e){(Ce(c)||w(c,"Offcanvas")).hide()}l?(c||p(xe,"show")?ke(!0):Ae(i,o,!0),r=a(xe),p(xe,"show")||Pe(),setTimeout(()=>Xe(t),r)):(Xe(t),c&&p(xe,"show")&&Me())}hide(t){const e=this,{element:n,hasFade:o,relatedTarget:s}=e;p(n,"show")&&(Re.relatedTarget=s||null,m(n,Re),Re.defaultPrevented||(g(n,"show"),C(n,"aria-hidden","true"),de(n,"aria-modal"),o&&!1!==t?l(n,()=>je(e)):je(e,t)))}update(){p(this.element,"show")&&Oe(this)}dispose(){this.hide(!0),Fe(this),super.dispose()}}f(Ue,{selector:".modal",init:t=>new Ue(t),getInstance:Ce});const Ge={backdrop:!0,keyboard:!0,scroll:!1},Ze=t=>w(t,"Offcanvas"),Je=T("show.bs.offcanvas"),Ke=T("shown.bs.offcanvas"),Qe=T("hide.bs.offcanvas"),_e=T("hidden.bs.offcanvas");function tn(t,e){const s=e?n:o;t.triggers.forEach(t=>s(t,"click",sn))}function en(t,e){const s=e?n:o,i=r(t.element);s(i,"keydown",ln),s(i,"click",an)}function nn(t){const{element:e,options:n}=t;n.scroll||(!function(t){const{element:e}=t,{clientHeight:n,scrollHeight:o}=X(e);Te(e,n!==o)}(t),he(e).style.overflow="hidden"),S(e,"offcanvas-toggling"),S(e,"show"),e.style.visibility="visible",l(e,()=>function(t){const{element:e,triggers:n}=t;g(e,"offcanvas-toggling"),de(e,"aria-hidden"),C(e,"aria-modal","true"),C(e,"role","dialog"),n.length&&n.forEach(t=>C(t,"aria-expanded","true"));m(e,Ke),en(t,!0),Ot(e)}(t))}function on(t){const{element:e,options:n}=t,o=He(e);e.blur(),!o&&n.backdrop&&p(xe,"show")?(Me(),l(xe,()=>rn(t))):rn(t)}function sn(t){const e=u(this,'[data-bs-toggle="offcanvas"]'),n=e&&_(e),o=n&&Ze(n);o&&(o.relatedTarget=e,o.toggle(),e&&"A"===e.tagName&&t.preventDefault())}function an(t){const e=h(".offcanvas.show",this);if(!e)return;const n=h('[data-bs-dismiss="offcanvas"]',e),o=Ze(e);if(!o)return;const{options:s,triggers:i}=o,{target:a}=t,l=u(a,'[data-bs-toggle="offcanvas"]'),c=r(e).getSelection();c&&c.toString().length||!(!e.contains(a)&&s.backdrop&&(!l||l&&!i.includes(l))||n&&n.contains(a))||(o.relatedTarget=n&&n.contains(a)?n:null,o.hide()),l&&"A"===l.tagName&&t.preventDefault()}function ln({code:t}){const e=h(".offcanvas.show",this);if(!e)return;const n=Ze(e);n&&n.options.keyboard&&"Escape"===t&&(n.relatedTarget=null,n.hide())}function rn(t){const{element:e,triggers:n}=t;if(C(e,"aria-hidden","true"),de(e,"aria-modal"),de(e,"role"),e.style.visibility="",n.length){n.forEach(t=>C(t,"aria-expanded","false"));const t=n.find(t=>Le(t));t&&Ot(t)}Ne(e),m(e,_e),g(e,"offcanvas-toggling"),He(e)||en(t)}class cn extends k{constructor(t,e){super(t,e);const{element:n}=this;this.triggers=[...V('[data-bs-toggle="offcanvas"]')].filter(t=>_(t)===n),this.container=ge(n),this.relatedTarget=null,tn(this,!0)}get name(){return"Offcanvas"}get defaults(){return Ge}toggle(){p(this.element,"show")?this.hide():this.show()}show(){const t=this,{element:e,options:n,container:o,relatedTarget:s}=t;let i=0;if(p(e,"show"))return;if(Je.relatedTarget=s,Ke.relatedTarget=s,m(e,Je),Je.defaultPrevented)return;const l=He(e);if(l&&l!==e){(Ze(l)||w(l,"Modal")).hide()}n.backdrop?(l?ke():Ae(o,!0),i=a(xe),p(xe,"show")||Pe(),setTimeout(()=>nn(t),i)):(nn(t),l&&p(xe,"show")&&Me())}hide(t){const e=this,{element:n,relatedTarget:o}=e;p(n,"show")&&(Qe.relatedTarget=o,_e.relatedTarget=o,m(n,Qe),Qe.defaultPrevented||(S(n,"offcanvas-toggling"),g(n,"show"),t?on(e):l(n,()=>on(e))))}dispose(){this.hide(!0),tn(this),super.dispose()}}f(cn,{selector:".offcanvas",init:t=>new cn(t),getInstance:Ze});function dn(t){const e="tooltip"===t;return``}const hn=t=>t&&[SVGElement,HTMLImageElement,HTMLVideoElement].some(e=>t instanceof e);function un(t,e,n){const o=e instanceof HTMLElement,s=z(t,o&&function(t){const{width:e,height:n}=z(t),{offsetWidth:o,offsetHeight:s}=t;return Math.round(e)!==o||Math.round(n)!==s}(e)),i={x:0,y:0};if(o){const t=z(e,!0);i.x=t.x+e.clientLeft,i.y=t.y+e.clientTop}return{x:s.left+n.x-i.x,y:s.top+n.y-i.y,width:s.width,height:s.height}}var fn={top:"top",bottom:"bottom",left:"start",right:"end"};function pn(t,e){const n=/\b(top|bottom|start|end)+/,{element:o,tooltip:s,options:a,arrow:l,offsetParent:r}=t,c={...fn};$t(s,{top:"0px",left:"0px",right:""});const d="Popover"===t.name,h=s.offsetWidth,u=s.offsetHeight,f=Y(o);f&&(c.left="end",c.right="start");const p=X(o),g=p.clientWidth,m=p.clientHeight,{container:b}=a;let{placement:v}=a;const{left:w,right:T,top:y}=z(b,!0),E=b.clientWidth,x=Math.abs(E-b.offsetWidth),H=i(b,"position"),k="fixed"===H,A="static"===H,P="sticky"===H&&y===parseFloat(i(b,"top")),M=f&&k?x:0,N=k?E+w+(f?x:0):E+w+(g-T)-1,{width:L,height:D,left:C,right:S,top:I}=z(o,!0),R=function(t){const e="scrollX"in t;return{x:e?t.scrollX:t.scrollLeft,y:e?t.scrollY:t.scrollTop}}(r),{x:$,y:O}=un(o,r,R);let W,F,B,j,V,q;$t(l,{top:"",left:"",right:""});const U=l.offsetWidth||0,G=l.offsetHeight||0,Z=U/2;let J=I-u-G<0,K=I+u+D+G>=m,Q=C-h-U=N;const tt=["left","right"],et=["top","bottom"];if(J=tt.includes(v)?I+D/2-u/2-G<0:J,K=tt.includes(v)?I+u/2+D/2+G>=m:K,Q=et.includes(v)?C+L/2-h/2=N:_,v=tt.includes(v)&&Q&&_?"top":v,v="top"===v&&J?"bottom":v,v="bottom"===v&&K?"top":v,v="left"===v&&Q?"right":v,v="right"===v&&_?"left":v,s.className.includes(v)||(s.className=s.className.replace(n,c[v])),tt.includes(v))F="left"===v?$-h-(d?U:0):$+L+(d?U:0),J?(W=O,W+=P?-y-R.y:0,j=D/2-U):K?(W=O-u+D,W+=P?-y-R.y:0,j=u-D/2-U):(W=O-u/2+D/2,W+=P?-y-R.y:0,j=u/2-G/2);else if(et.includes(v))if(e&&hn(o)){let t=0,n=0;A?(t=e.pageX,n=e.pageY):(t=e.clientX-w+(k?R.x:0),n=e.clientY-y+(k?R.y:0)),t-=f&&k&&x?x:0,W="top"===v?n-u-U:n+U,e.clientX-h/2N?(F="auto",B=0,q=N-t-Z,q-=k?w+(f?x:0):0):(F=t-h/2,V=h/2-Z)}else W="top"===v?O-u-(d?G:0):O+D+(d?G:0),Q?(F=0,V=$+L/2-Z):_?(F="auto",B=0,q=L/2+N-S-Z):(F=$-h/2+L/2,V=h/2-Z);$t(s,{top:W+"px",left:"auto"===F?F:F+"px",right:void 0!==B?B+"px":""}),l instanceof HTMLElement&&(void 0!==j&&(l.style.top=j+"px"),void 0!==V?l.style.left=V+"px":void 0!==q&&(l.style.right=q+"px"))}const gn={template:dn("tooltip"),title:null,customClass:null,trigger:"hover focus",placement:"top",sanitizeFn:null,animation:!0,delay:200,container:null},mn="focusin",bn="focusout";let vn=1;const wn=new Map;const{userAgentData:Tn}=navigator,yn=Tn,{userAgent:En}=navigator,xn=En,Hn=/(iPhone|iPod|iPad)/,kn=yn?yn.brands.some(t=>Hn.test(t.brand)):Hn.test(xn);function An(t,e,n){if("string"!=typeof e||e.length)if("string"==typeof e){let o=e.trim();"function"==typeof n&&(o=n(o));const s=(new DOMParser).parseFromString(o,"text/html"),{body:i}=s,a=i.children.length?"innerHTML":"innerText";t[a]=i[a]}else e instanceof HTMLElement&&t.append(e)}function Pn(t,e){return t instanceof HTMLElement&&e.contains(t)}let Mn=t=>w(t,"Tooltip");function Nn(t){const{element:e}=t;Sn(t),e.hasAttribute("data-original-title")&&"tooltip"===t.name&&Rn(t)}function Ln(t,e){const s=e?n:o,{element:i}=t;s(r(i),"touchstart",t.handleTouch,Q),hn(i)||[Dt,Ct].forEach(e=>{s(B(i),e,t.update,Q)})}function Dn(t){const{element:e}=t,n=T("shown.bs."+H(t.name));Ln(t,!0),m(e,n),J(e,"in")}function Cn(t){const{element:e}=t,n=T("hidden.bs."+H(t.name));Ln(t),function(t){const{element:e,tooltip:n}=t;de(e,"aria-describedby"),n.remove()}(t),m(e,n),J(e,"out")}function Sn(t,e){const s=e?n:o,{element:i,options:a,btn:l}=t,{trigger:c,dismissible:d}=a;if(c.includes("manual"))return;t.enabled=!!e;const h=c.split(" "),u=hn(i);u&&s(i,"mousemove",t.update,Q),h.forEach(e=>{u||"hover"===e?(s(i,"mousedown",t.show),s(i,W,t.show),d&&l?s(l,"click",t.hide):(s(i,F,t.hide),s(r(i),"touchstart",t.handleTouch,Q))):"click"===e?s(i,e,d?t.show:t.toggle):"focus"===e&&(s(i,mn,t.show),d||s(i,bn,t.hide),kn&&s(i,"click",()=>Ot(i)))})}function In(t,e){const s=e?n:o,{element:i,options:a,offsetParent:l}=t,{container:r}=a,{offsetHeight:c,scrollHeight:d}=r,h=u(i,".modal"),f=u(i,".offcanvas");if(!hn(i)){const e=B(i),n=c!==d||l!==e?r:e;s(e,Ct,t.update,Q),s(n,Dt,t.update,Q)}h&&s(h,"hide.bs.modal",t.hide),f&&s(f,"hide.bs.offcanvas",t.hide)}function Rn(t,e){const n=["data-original-title","title"],{element:o}=t;C(o,n[e?0:1],e||y(o,n[0])),de(o,n[e?1:0])}class $n extends k{constructor(t,e){super(t,e);const n=this,{element:o}=n,s="Tooltip"===n.name,a=s?"tooltip":"popover",l=s?"Tooltip":"Popover";Mn=t=>w(t,l),n.tooltip={},s||(n.btn=null),n.arrow={},n.offsetParent={},n.enabled=!0,n.id=`${a}-${function(t,e){vn+=1;let n=wn.get(t),o=vn;if(e&&e.length)if(n){const t=n.get(e);Number.isNaN(t)?n.set(e,o):o=t}else wn.set(t,new Map),n=wn.get(t),n.set(e,o);else Number.isNaN(n)?wn.set(t,o):o=n;return o}(o,a)}`;const{options:c}=n;if(!c.title&&s||!s&&!c.content)return;const d=h(c.container),u=ge(o);n.options.container=!d||d&&["static","relative"].includes(i(d,"position"))?u:d||he(o),gn.title=null,n.handleTouch=n.handleTouch.bind(n),n.update=n.update.bind(n),n.show=n.show.bind(n),n.hide=n.hide.bind(n),n.toggle=n.toggle.bind(n),o.hasAttribute("title")&&s&&Rn(n,c.title),function(t){const{id:e,element:n,options:o}=t,{animation:s,customClass:i,sanitizeFn:a,placement:l,dismissible:c}=o;let{title:d,content:u}=o;const f="Tooltip"===t.name,g=f?"tooltip":"popover",{template:m,btnClose:b}=o,v={...fn};Y(n)&&(v.left="end",v.right="start");const w=`bs-${g}-${v[l]}`;let T;if([Element,HTMLElement].some(t=>m instanceof t))T=m;else{const t=r(n).createElement("div");An(t,m,a),T=t.firstElementChild}t.tooltip=T&&T.cloneNode(!0);const{tooltip:y}=t;C(y,"id",e),C(y,"role","tooltip");const E=f?"tooltip-inner":"popover-body",x=f?null:h(".popover-header",y),H=h("."+E,y);t.arrow=h(`.${g}-arrow`,y),c&&(d?d instanceof HTMLElement?An(d,b,a):d+=b:(x&&x.remove(),u instanceof HTMLElement?An(u,b,a):u+=b)),f?d&&H&&An(H,d,a):(d&&x&&An(x,d,a),u&&H&&An(H,u,a),t.btn=h(".btn-close",y)),p(y,g)||S(y,g),s&&!p(y,"fade")&&S(y,"fade"),i&&!p(y,i)&&S(y,i),p(y,w)||S(y,w)}(n),Sn(n,!0)}get name(){return"Tooltip"}get defaults(){return gn}show(t){const e=this,{options:n,tooltip:o,element:s,id:i}=e,{container:a,animation:r}=n,c=Z(s,"out");J(s,"out"),!o||c||Pn(o,a)||G(s,()=>{const n=T("show.bs."+H(e.name));m(s,n),n.defaultPrevented||(a.append(o),C(s,"aria-describedby","#"+i),e.offsetParent=ge(o,!0),e.update(t),In(e,!0),p(o,"show")||S(o,"show"),r?l(o,()=>Dn(e)):Dn(e))},17,"in")}hide(){const t=this,{options:e,tooltip:n,element:o}=t,{container:s,animation:i,delay:a}=e;J(o,"in"),n&&Pn(n,s)&&G(o,()=>{const e=T("hide.bs."+H(t.name));m(o,e),e.defaultPrevented||(g(n,"show"),In(t),i?l(n,()=>Cn(t)):Cn(t))},a+17,"out")}update(t){pn(this,t)}toggle(t){const{tooltip:e,options:n}=this;Pn(e,n.container)?this.hide():this.show(t)}enable(){const t=this,{enabled:e}=t;e||(Sn(t,!0),t.enabled=!e)}disable(){const t=this,{element:e,tooltip:n,options:o,enabled:s}=t,{animation:i,container:l,delay:r}=o;s&&(Pn(n,l)&&i?(t.hide(),G(e,()=>{Sn(t),J(e,"tooltip")},a(n)+r+17,"tooltip")):Sn(t),t.enabled=!s)}toggleEnabled(){this.enabled?this.disable():this.enable()}handleTouch({target:t}){const{tooltip:e,element:n}=this;e.contains(t)||t===n||t&&n.contains(t)||this.hide()}dispose(){const t=this,{tooltip:e,options:n}=t;n.animation&&Pn(e,n.container)?(n.delay=0,t.hide(),l(e,()=>Nn(t))):Nn(t),super.dispose()}}f($n,{selector:'[data-bs-toggle="tooltip"],[data-tip="tooltip"]',init:t=>new $n(t),getInstance:Mn,styleTip:pn});const On={...gn,template:dn("popover"),btnClose:'',dismissible:!1,content:null};class Wn extends $n{constructor(t,e){super(t,e)}get name(){return"Popover"}get defaults(){return On}show(){super.show();const{options:t,btn:e}=this;t.dismissible&&e&&setTimeout(()=>Ot(e),17)}}function Fn(t,e){return(e&&c.some(t=>e instanceof t)?e:r()).getElementsByTagName(t)}f(Wn,{selector:'[data-bs-toggle="popover"],[data-tip="popover"]',init:t=>new Wn(t),getInstance:t=>w(t,"Popover"),styleTip:pn});const Bn={offset:10,target:null},zn=T("activate.bs.scrollspy");function Xn(t){const{target:e,scrollTarget:n,options:o,itemsLength:s,scrollHeight:i,element:a}=t,{offset:l}=o,c=n instanceof Window,d=e&&Fn("A",e),u=n&&function(t){return t instanceof HTMLElement?t.scrollHeight:X(t).scrollHeight}(n);if(t.scrollTop=c?n.scrollY:n.scrollTop,d&&(s!==d.length||u!==i)){let e,n,o;t.items=[],t.offsets=[],t.scrollHeight=u,t.maxScroll=t.scrollHeight-function({element:t,scrollTarget:e}){return e instanceof Window?e.innerHeight:z(t).height}(t),[...d].forEach(s=>{e=y(s,"href"),n=e&&"#"===e.charAt(0)&&"#"!==e.slice(-1)&&h(e,r(a)),n&&(t.items.push(s),o=z(n),t.offsets.push((c?o.top+t.scrollTop:n.offsetTop)-l))}),t.itemsLength=t.items.length}}function jn(t){[...Fn("A",t)].forEach(t=>{p(t,"active")&&g(t,"active")})}function Yn(t,e){const{target:n,element:o}=t;jn(n),t.activeItem=e,S(e,"active");const s=[];let i=e;for(;i!==he(o);)i=i.parentElement,(p(i,"nav")||p(i,"dropdown-menu"))&&s.push(i);s.forEach(t=>{const e=t.previousElementSibling;e&&!p(e,"active")&&S(e,"active")}),zn.relatedTarget=e,m(o,zn)}function Vn(t,e){(e?n:o)(t.scrollTarget,Dt,t.refresh,Q)}class qn extends k{constructor(t,e){super(t,e);const{element:n,options:o}=this;if(this.target=h(o.target,r(n)),!this.target)return;const s=B(n);this.scrollTarget=n.clientHeight=o){const e=i[s-1];return void(a!==e&&Yn(t,e))}const{offsets:l}=t;if(a&&n0)return t.activeItem=null,void jn(e);i.forEach((e,o)=>{a!==e&&n>=l[o]&&(void 0===l[o+1]||nnew qn(t),getInstance:t=>w(t,"ScrollSpy")});const Un=t=>w(t,"Tab"),Gn=T("show.bs.tab"),Zn=T("shown.bs.tab"),Jn=T("hide.bs.tab"),Kn=T("hidden.bs.tab"),Qn=new Map;function _n(t){const{tabContent:e,nav:n}=t;e&&(e.style.height="",g(e,"collapsing")),n&&J(n)}function to(t){const{element:e,tabContent:n,nav:o}=t,{currentHeight:s,nextHeight:i}=Qn.get(e),{tab:a}=o&&Qn.get(o);n?s===i?_n(t):setTimeout(()=>{n.style.height=i+"px",K(n),l(n,()=>_n(t))},50):o&&J(o),Zn.relatedTarget=a,m(e,Zn)}function eo(t){const{element:e,content:n,tabContent:o,nav:s}=t,{tab:i,content:a}=s&&Qn.get(s);let r=0;if(o&&([a,n].forEach(t=>S(t,"overflow-hidden")),r=a.scrollHeight),Gn.relatedTarget=i,Kn.relatedTarget=e,m(e,Gn),!Gn.defaultPrevented){if(S(n,"active"),g(a,"active"),o){const t=n.scrollHeight;Qn.set(e,{currentHeight:r,nextHeight:t}),S(o,"collapsing"),o.style.height=r+"px",K(o),[a,n].forEach(t=>g(t,"overflow-hidden"))}n&&p(n,"fade")?setTimeout(()=>{S(n,"show"),l(n,()=>{to(t)})},17):to(t),m(i,Kn)}}function no(t,e){(e?n:o)(t.element,"click",oo)}function oo(t){const e=Un(this);e&&(t.preventDefault(),e.show())}class so extends k{constructor(t){super(t);const{element:e}=this,n=_(e);if(!n)return;const o=u(e,".nav"),s=u(n,".tab-content");this.nav=o,this.content=n,this.tabContent=s,this.dropdown=o&&h(`.${Wt[0]}-toggle`,o),no(this,!0)}get name(){return"Tab"}show(){const t=this,{element:e,nav:n,dropdown:o}=t;if(!(n&&Z(n)||p(e,"active"))){const{tab:s,content:i}=function(t){const{nav:e}=t,n=q("active",e);let o;return 1!==n.length||Wt.some(t=>p(n[0].parentElement,t))?n.length>1&&(o=n[n.length-1]):[o]=n,{tab:o,content:o?_(o):null}}(t);if(n&&Qn.set(n,{tab:s,content:i}),Jn.relatedTarget=e,m(s,Jn),Jn.defaultPrevented)return;n&&G(n,()=>{},17),g(s,"active"),C(s,"aria-selected","false"),S(e,"active"),C(e,"aria-selected","true"),o&&(p(e.parentNode,"dropdown-menu")?p(o,"active")||S(o,"active"):p(o,"active")&&g(o,"active")),p(i,"fade")?(g(i,"show"),l(i,()=>eo(t))):eo(t)}}dispose(){no(this),super.dispose()}}f(so,{selector:'[data-bs-toggle="tab"]',init:t=>new so(t),getInstance:Un});const io={animation:!0,autohide:!0,delay:5e3},ao=t=>w(t,"Toast"),lo=T("show.bs.toast"),ro=T("shown.bs.toast"),co=T("hide.bs.toast"),ho=T("hidden.bs.toast");function uo(t){const{element:e,options:n}=t;g(e,"showing"),J(e,"showing"),m(e,ro),n.autohide&&G(e,()=>t.hide(),n.delay,"toast")}function fo(t){const{element:e}=t;g(e,"showing"),g(e,"show"),S(e,"hide"),J(e,"toast"),m(e,ho)}function po(t,e){const s=e?n:o,{element:i,dismiss:a,options:l}=t;a&&s(a,"click",t.hide),l.autohide&&[mn,bn,W,F].forEach(t=>s(i,t,go))}function go(t){const e=this,n=ao(e),{type:o,relatedTarget:s}=t;n&&e!==s&&!e.contains(s)&&([W,mn].includes(o)?J(e,"toast"):G(e,()=>n.hide(),n.options.delay,"toast"))}class mo extends k{constructor(t,e){super(t,e);const{element:n,options:o}=this;o.animation&&!p(n,"fade")?S(n,"fade"):!o.animation&&p(n,"fade")&&g(n,"fade"),this.dismiss=h('[data-bs-dismiss="toast"]',n),this.show=this.show.bind(this),this.hide=this.hide.bind(this),po(this,!0)}get name(){return"Toast"}get defaults(){return io}show(){const t=this,{element:e}=t;if(e&&!p(e,"show")){if(m(e,lo),lo.defaultPrevented)return;!function(t){const{element:e,options:n}=t;G(e,()=>{g(e,"hide"),K(e),S(e,"show"),S(e,"showing"),n.animation?l(e,()=>uo(t)):uo(t)},17,"showing")}(t)}}hide(){const t=this,{element:e}=t;if(e&&p(e,"show")){if(m(e,co),co.defaultPrevented)return;!function(t){const{element:e,options:n}=t;S(e,"showing"),n.animation?(K(e),l(e,()=>fo(t))):fo(t)}(t)}}dispose(){const{element:t}=this;p(t,"show")&&g(t,"show"),function(t){J(t.element,"toast"),po(t)}(this),super.dispose()}}f(mo,{selector:".toast",init:t=>new mo(t),getInstance:ao});const bo={Alert:D,Button:O,Carousel:Tt,Collapse:Lt,Dropdown:ce,Modal:Ue,Offcanvas:cn,Popover:Wn,ScrollSpy:qn,Tab:so,Toast:mo,Tooltip:$n};function vo(t){const e=[...Fn("*",t&&c.some(e=>t instanceof e)?t:void 0)];x(bo).forEach(t=>{const{init:n,selector:o}=bo[t];var s,i;s=n,i=e.filter(t=>function(t,e){return t.matches(e)}(t,o)),[...i].forEach(t=>s(t))})}document.body?vo():n(document,"DOMContentLoaded",()=>vo(),{once:!0});const wo={Alert:D,Button:O,Carousel:Tt,Collapse:Lt,Dropdown:ce,Modal:Ue,Offcanvas:cn,Popover:Wn,ScrollSpy:qn,Tab:so,Toast:mo,Tooltip:$n,initCallback:vo,removeDataAPI:function(t){const e=t&&c.some(e=>t instanceof e)?t:void 0;x(bo).forEach(t=>{!function(t,e){const n=v.getAllFor(t);n&&[...n].forEach(t=>{const[n,o]=t;e&&e.contains(n)&&o.dispose()})}(t,e)})},Version:"4.1.0alpha7",EventListener:s};export{wo as default}; diff --git a/dist/bootstrap-native.js b/dist/bootstrap-native.js index 1e6c5836..ad23a3cf 100644 --- a/dist/bootstrap-native.js +++ b/dist/bootstrap-native.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -137,9 +137,7 @@ const transitionDelay = 'transitionDelay'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -221,7 +219,7 @@ if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -308,7 +306,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -319,6 +317,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -447,8 +446,9 @@ /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -545,7 +545,7 @@ return normalOps; } - var version = "4.1.0alpha6"; + var version = "4.1.0alpha7"; const Version = version; @@ -742,6 +742,7 @@ * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name * @param {string} value attribute value + * @returns {void} */ const setAttribute = (element, attribute, value) => element.setAttribute(attribute, value); @@ -750,6 +751,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -1045,7 +1047,7 @@ * @param {HTMLElement | Element | string} target target element * @param {ReturnType} callback the callback * @param {number} delay the execution delay - * @param {string=} key a unique + * @param {string=} key a unique key */ set: (target, callback, delay, key) => { const element = querySelector(target); @@ -2047,6 +2049,7 @@ * Shortcut for `HTMLElement.hasAttribute()` method. * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name + * @returns {boolean} the query result */ const hasAttribute = (element, attribute) => element.hasAttribute(attribute); @@ -2585,6 +2588,7 @@ * Shortcut for `HTMLElement.removeAttribute()` method. * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name + * @returns {void} */ const removeAttribute = (element, attribute) => element.removeAttribute(attribute); @@ -4051,30 +4055,6 @@ */ const mousehoverEvent = 'hover'; - // @ts-ignore - const { userAgentData: uaDATA } = navigator; - - /** - * A global namespace for `userAgentData` object. - */ - const userAgentData = uaDATA; - - const { userAgent: userAgentString } = navigator; - - /** - * A global namespace for `navigator.userAgent` string. - */ - const userAgent = userAgentString; - - const appleBrands = /(iPhone|iPod|iPad)/; - - /** - * A global `boolean` for Apple browsers. - * @type {boolean} - */ - const isApple = !userAgentData ? appleBrands.test(userAgent) - : userAgentData.brands.some((/** @type {Record} */x) => appleBrands.test(x.brand)); - let elementUID = 1; const elementIDMap = new Map(); @@ -4111,6 +4091,30 @@ return result; } + // @ts-ignore + const { userAgentData: uaDATA } = navigator; + + /** + * A global namespace for `userAgentData` object. + */ + const userAgentData = uaDATA; + + const { userAgent: userAgentString } = navigator; + + /** + * A global namespace for `navigator.userAgent` string. + */ + const userAgent = userAgentString; + + const appleBrands = /(iPhone|iPod|iPad)/; + + /** + * A global `boolean` for Apple browsers. + * @type {boolean} + */ + const isApple = !userAgentData ? appleBrands.test(userAgent) + : userAgentData.brands.some((/** @type {Record} */x) => appleBrands.test(x.brand)); + /** * Global namespace for `data-bs-title` attribute. */ diff --git a/dist/bootstrap-native.min.js b/dist/bootstrap-native.min.js index 26470592..68d21a70 100644 --- a/dist/bootstrap-native.min.js +++ b/dist/bootstrap-native.min.js @@ -1,2 +1,2 @@ -// Native JavaScript for Bootstrap v4.1.0alpha6 | 2022 © dnp_theme | MIT-License -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).BSN=e()}(this,(function(){"use strict";const t={};function e(e){const n=this,{type:s}=e;(t[s]?[...t[s]]:[]).forEach(t=>{const[i,a]=t;[...a].forEach(t=>{if(i===n){const[n,a]=t;n.apply(i,[e]),a&&a.once&&o(i,s,n,a)}})})}const n=(n,o,s,i)=>{t[o]||(t[o]=new Map);const a=t[o];a.has(n)||a.set(n,new Map);const l=a.get(n),{size:r}=l;l&&l.set(s,i),r||n.addEventListener(o,e,i)},o=(n,o,s,i)=>{const a=t[o],l=a&&a.get(n),r=l&&l.get(s),{options:c}=void 0!==r?r:{options:i};l&&l.has(s)&&l.delete(s),!a||l&&l.size||a.delete(n),a&&a.size||delete t[o],l&&l.size||n.removeEventListener(o,e,c)},s={on:n,off:o,globalListener:e,registry:t};function i(t,e){const n=getComputedStyle(t);return e in n?n[e]:""}function a(t){const e=i(t,"transitionProperty"),n=i(t,"transitionDuration"),o=n.includes("ms")?1:1e3,s=e&&"none"!==e?parseFloat(n)*o:0;return Number.isNaN(s)?0:s}function l(t,e){let n=0;const o=new Event("transitionend"),s=a(t),l=function(t){const e=i(t,"transitionProperty"),n=i(t,"transitionDelay"),o=n.includes("ms")?1:1e3,s=e&&"none"!==e?parseFloat(n)*o:0;return Number.isNaN(s)?0:s}(t);if(s){const i=o=>{o.target===t&&(e.apply(t,[o]),t.removeEventListener("transitionend",i),n=1)};t.addEventListener("transitionend",i),setTimeout(()=>{n||t.dispatchEvent(o)},s+l+17)}else e.apply(t,[o])}function r(t){return t instanceof HTMLElement?t.ownerDocument:t instanceof Window?t.document:window.document}const c=[Document,Element,HTMLElement],d=[Element,HTMLElement];function h(t,e){const n=c.some(t=>e instanceof t)?e:r();return d.some(e=>t instanceof e)?t:n.querySelector(t)}function u(t,e){return t?t.closest(e)||u(t.getRootNode().host,e):null}const f=(t,e)=>Object.assign(t,e);function p(t,e){return t.classList.contains(e)}function g(t,e){t.classList.remove(e)}const m=(t,e)=>t.dispatchEvent(e),b=new Map,v={set:(t,e,n)=>{const o=h(t);if(!o)return;b.has(e)||b.set(e,new Map);b.get(e).set(o,n)},getAllFor:t=>b.get(t)||null,get:(t,e)=>{const n=h(t),o=v.getAllFor(e);return n&&o&&o.get(n)||null},remove:(t,e)=>{const n=h(t),o=b.get(e);o&&n&&(o.delete(n),0===o.size&&b.delete(e))}},w=(t,e)=>v.get(t,e);function T(t,e){const n=new CustomEvent(t,{cancelable:!0,bubbles:!0});return e instanceof Object&&f(n,e),n}const y=(t,e)=>t.getAttribute(e);function E(t){return"true"===t||"false"!==t&&(Number.isNaN(+t)?""===t||"null"===t?null:t:+t)}const x=t=>Object.keys(t),H=t=>t.toLowerCase();class k{constructor(t,e){const n=this,o=h(t);if(!o)throw Error(`${n.name} Error: "${t}" is not a valid selector.`);n.options={};const s=v.get(o,n.name);s&&s.dispose(),n.element=o,n.defaults&&Object.keys(n.defaults).length&&(n.options=function(t,e,n,o){const s={...t.dataset},i={},a={};return x(s).forEach(t=>{const e=o&&t.includes(o)?t.replace(o,"").replace(/[A-Z]/,t=>H(t)):t;a[e]=E(s[t])}),x(n).forEach(t=>{n[t]=E(n[t])}),x(e).forEach(o=>{i[o]=o in n?n[o]:o in a?a[o]:"title"===o?y(t,"title"):e[o]}),i}(o,n.defaults,e||{},"bs")),v.set(o,n.name,n)}get version(){return"4.1.0alpha6"}get name(){return this.constructor.name}get defaults(){return this.constructor.defaults}dispose(){const t=this;v.remove(t.element,t.name),x(t).forEach(e=>{t[e]=null})}}const A=t=>w(t,"Alert"),P=T("close.bs.alert"),M=T("closed.bs.alert");function N(t){const{element:e}=t;$(t),m(e,M),t.dispose(),e.remove()}function $(t,e){const s=e?n:o,{dismiss:i}=t;i&&s(i,"click",t.close)}class L extends k{constructor(t){super(t);const{element:e}=this;this.dismiss=h('[data-bs-dismiss="alert"]',e),$(this,!0)}get name(){return"Alert"}close(t){const e=t?A(u(this,".alert")):this;if(!e)return;const{element:n}=e;if(p(n,"show")){if(m(n,P),P.defaultPrevented)return;g(n,"show"),p(n,"fade")?l(n,()=>N(e)):N(e)}}dispose(){$(this),super.dispose()}}f(L,{selector:".alert",init:t=>new L(t),getInstance:A});const D=(t,e,n)=>t.setAttribute(e,n);function S(t,e){t.classList.add(e)}const C="data-bs-toggle",I=`[${C}="button"]`,R=t=>w(t,"Button");function O(t,e){(e?n:o)(t.element,"click",t.toggle)}class W extends k{constructor(t){super(t);const{element:e}=this;this.isActive=p(e,"active"),D(e,"aria-pressed",""+!!this.isActive),O(this,!0)}get name(){return"Button"}toggle(t){t&&t.preventDefault();const e=t?R(this):this;if(!e)return;const{element:n}=e;if(p(n,"disabled"))return;e.isActive=p(n,"active");const{isActive:o}=e;(o?g:S)(n,"active"),D(n,"aria-pressed",o?"false":"true")}dispose(){O(this),super.dispose()}}f(W,{selector:I,init:t=>new W(t),getInstance:R});const F="mouseenter",B="mouseleave";function z(t){if(null==t)return window;if(!(t instanceof Window)){const{ownerDocument:e}=t;return e&&e.defaultView||window}return t}function X(t,e){const{width:n,height:o,top:s,right:i,bottom:a,left:l}=t.getBoundingClientRect();let r=1,c=1;if(e&&t instanceof HTMLElement){const{offsetWidth:e,offsetHeight:s}=t;r=e>0&&Math.round(n)/e||1,c=s>0&&Math.round(o)/s||1}return{width:n/r,height:o/c,top:s/c,right:i/r,bottom:a/c,left:l/r,x:l/r,y:s/c}}function j(t){return r(t).documentElement}const Y=t=>{const{top:e,bottom:n}=X(t),{clientHeight:o}=j(t);return e<=o&&n>=0},V=t=>"rtl"===j(t).dir;function q(t,e){return(e&&c.some(t=>e instanceof t)?e:r()).querySelectorAll(t)}function U(t,e){return(e&&c.some(t=>e instanceof t)?e:r()).getElementsByClassName(t)}const G=new Map,Z=(t,e,n,o)=>{const s=h(t);if(s)if(o&&o.length){G.has(s)||G.set(s,new Map);G.get(s).set(o,setTimeout(e,n))}else G.set(s,setTimeout(e,n))},J=(t,e)=>{const n=h(t);if(!n)return null;const o=G.get(n);return e&&e.length&&o&&o.get?o.get(e)||null:o||null},K=(t,e)=>{const n=h(t);if(n)if(e&&e.length){const t=G.get(n);t&&t.get&&(clearTimeout(t.get(e)),t.delete(e),0===t.size&&G.delete(n))}else clearTimeout(G.get(n)),G.delete(n)},Q=t=>t.offsetHeight,_={passive:!0};function tt(t){const e=["data-bs-target","data-bs-parent","data-bs-container","href"],n=r(t);return e.map(e=>{const o=y(t,e);return o?"data-bs-parent"===e?u(t,o):h(o,n):null}).filter(t=>t)[0]}const et="carousel-item",nt={pause:"hover",keyboard:!1,touch:!0,interval:5e3},ot=t=>w(t,"Carousel");let st=0,it=0,at=0;const lt=T("slide.bs.carousel"),rt=T("slid.bs.carousel");function ct(){const t=this,e=ot(t);!e||e.isPaused||J(t,"paused")||S(t,"paused")}function dt(){const t=ot(this);t&&t.isPaused&&!J(this,"paused")&&t.cycle()}function ht(t){t.preventDefault();const e=u(this,'[data-bs-ride="carousel"]')||tt(this);if(!e)return;const n=ot(e);if(!n||n.isAnimating)return;const o=+y(this,"data-bs-slide-to");!this||p(this,"active")||Number.isNaN(o)||n.to(o)}function ut(t){t.preventDefault();const e=u(this,'[data-bs-ride="carousel"]')||tt(this),n=e&&ot(e);if(!n||n.isAnimating)return;const o=y(this,"data-bs-slide");"next"===o?n.next():"prev"===o&&n.prev()}function ft({code:t}){const[e]=[...q('[data-bs-ride="carousel"]')].filter(t=>Y(t)),n=ot(e);if(!n)return;const o=V(),s=o?"ArrowLeft":"ArrowRight";t===(o?"ArrowRight":"ArrowLeft")?n.prev():t===s&&n.next()}function pt(t){const e=ot(this);e&&!e.isTouch&&(st=t.changedTouches[0].pageX,this.contains(t.target)&&(e.isTouch=!0,vt(e,!0)))}function gt(t){const{changedTouches:e,type:n}=t,o=ot(this);o&&o.isTouch&&(it=e[0].pageX,"touchmove"===n&&e.length>1&&t.preventDefault())}function mt(t){const e=this,n=ot(e);if(n&&n.isTouch&&(at=it||t.changedTouches[0].pageX,n.isTouch)){if((!e.contains(t.target)||!e.contains(t.relatedTarget))&&Math.abs(st-at)<75)return;itst&&(n.index-=1),n.isTouch=!1,n.to(n.index),vt(n)}}function bt(t,e){const{indicators:n}=t;[...n].forEach(t=>g(t,"active")),t.indicators[e]&&S(n[e],"active")}function vt(t,e){const{element:s}=t,i=e?n:o;i(s,"touchmove",gt,_),i(s,"touchend",mt,_)}function wt(t,e){const{element:s,options:i,slides:a,controls:l,indicators:r}=t,{touch:c,pause:d,interval:h,keyboard:u}=i,f=e?n:o;d&&h&&(f(s,F,ct),f(s,B,dt),f(s,"touchstart",ct,_),f(s,"touchend",dt,_)),c&&a.length>1&&f(s,"touchstart",pt,_),l.length&&l.forEach(t=>{t&&f(t,"click",ut)}),r.length&&r.forEach(t=>{f(t,"click",ht)}),u&&f(z(s),"keydown",ft)}function Tt(t){const{slides:e,element:n}=t,o=h(`.${et}.active`,n);return[...e].indexOf(o)}class yt extends k{constructor(t,e){super(t,e);const n=this;n.direction=V()?"right":"left",n.index=0,n.isTouch=!1;const{element:o}=n;n.slides=U(et,o);const{slides:s}=n;if(s.length<2)return;n.controls=[...q("[data-bs-slide]",o),...q(`[data-bs-slide][data-bs-target="#${o.id}"]`)],n.indicator=h(".carousel-indicators",o),n.indicators=[...n.indicator?q("[data-bs-slide-to]",n.indicator):[],...q(`[data-bs-slide-to][data-bs-target="#${o.id}"]`)];const{options:i}=n;n.options.interval=!0===i.interval?nt.interval:i.interval,Tt(n)<0&&(s.length&&S(s[0],"active"),n.indicators.length&&bt(n,0)),wt(n,!0),i.interval&&n.cycle()}get name(){return"Carousel"}get defaults(){return nt}get isPaused(){return p(this.element,"paused")}get isAnimating(){return null!==h(`.${et}-next,.${et}-prev`,this.element)}cycle(){const t=this,{element:e,options:n,isPaused:o}=t;K(e,"carousel"),o&&(K(e,"paused"),g(e,"paused")),Z(e,()=>{!t.isPaused&&Y(e)&&(t.index+=1,t.to(t.index))},n.interval,"carousel")}pause(){const{element:t,options:e}=this;!this.isPaused&&e.interval&&(S(t,"paused"),Z(t,()=>{},1,"paused"))}next(){const t=this;t.isAnimating||(t.index+=1,t.to(t.index))}prev(){const t=this;t.isAnimating||(t.index-=1,t.to(t.index))}to(t){const e=this,{element:n,slides:o,options:s}=e,i=Tt(e),c=V();let d=t;if(e.isAnimating||i===d)return;id||i===o.length-1&&0===d)&&(e.direction=c?"left":"right");const{direction:h}=e;d<0?d=o.length-1:d>=o.length&&(d=0);const u="left"===h?"next":"prev",b="left"===h?"start":"end",v={relatedTarget:o[d],from:i,to:d,direction:h};f(lt,v),f(rt,v),m(n,lt),lt.defaultPrevented||(e.index=d,bt(e,d),a(o[d])&&p(n,"slide")?Z(n,()=>{S(o[d],`${et}-${u}`),Q(o[d]),S(o[d],`${et}-${b}`),S(o[i],`${et}-${b}`),l(o[d],()=>function(t){const{index:e,direction:n,element:o,slides:s,options:i}=t;if(t.isAnimating&&ot(o)){const a=Tt(t),l="left"===n?"next":"prev",c="left"===n?"start":"end";S(s[e],"active"),g(s[e],`${et}-${l}`),g(s[e],`${et}-${c}`),g(s[a],"active"),g(s[a],`${et}-${c}`),m(o,rt),K(o,"data-bs-slide"),r(o).hidden||!i.interval||t.isPaused||t.cycle()}}(e))},17,"data-bs-slide"):(S(o[d],"active"),g(o[i],"active"),Z(n,()=>{K(n,"data-bs-slide"),n&&s.interval&&!e.isPaused&&e.cycle(),m(n,rt)},17,"data-bs-slide")))}dispose(){const t=this,{slides:e}=t,n=["start","end","prev","next"];[...e].forEach((e,o)=>{p(e,"active")&&bt(t,o),n.forEach(t=>g(e,`${et}-${t}`))}),wt(t),super.dispose()}}f(yt,{selector:'[data-bs-ride="carousel"]',init:t=>new yt(t),getInstance:ot});const Et=`[${C}="collapse"]`,xt={parent:null},Ht=t=>w(t,"Collapse"),kt=T("show.bs.collapse"),At=T("shown.bs.collapse"),Pt=T("hide.bs.collapse"),Mt=T("hidden.bs.collapse");function Nt(t){const{element:e,parent:n,triggers:o}=t;m(e,Pt),Pt.defaultPrevented||(Z(e,()=>{},17),n&&Z(n,()=>{},17),e.style.height=e.scrollHeight+"px",g(e,"collapse"),g(e,"show"),S(e,"collapsing"),Q(e),e.style.height="0px",l(e,()=>{K(e),n&&K(n),o.forEach(t=>D(t,"aria-expanded","false")),g(e,"collapsing"),S(e,"collapse"),e.style.height="",m(e,Mt)}))}function $t(t,e){const s=e?n:o,{triggers:i}=t;i.length&&i.forEach(t=>s(t,"click",Lt))}function Lt(t){const{target:e}=t,n=e&&u(e,Et),o=n&&tt(n),s=o&&Ht(o);s&&s.toggle(),n&&"A"===n.tagName&&t.preventDefault()}class Dt extends k{constructor(t,e){super(t,e);const{element:n,options:o}=this;this.triggers=[...q(Et)].filter(t=>tt(t)===n),this.parent=h(o.parent),$t(this,!0)}get name(){return"Collapse"}get defaults(){return xt}toggle(){p(this.element,"show")?this.hide():this.show()}hide(){const{triggers:t,element:e}=this;J(e)||(Nt(this),t.length&&t.forEach(t=>S(t,"collapsed")))}show(){const t=this,{element:e,parent:n,triggers:o}=t;let s,i;n&&(s=[...q(".collapse.show",n)].find(t=>Ht(t)),i=s&&Ht(s)),n&&(!n||J(n))||J(e)||(i&&s!==e&&(Nt(i),i.triggers.forEach(t=>{S(t,"collapsed")})),function(t){const{element:e,parent:n,triggers:o}=t;m(e,kt),kt.defaultPrevented||(Z(e,()=>{},17),n&&Z(n,()=>{},17),S(e,"collapsing"),g(e,"collapse"),e.style.height=e.scrollHeight+"px",l(e,()=>{K(e),n&&K(n),o.forEach(t=>D(t,"aria-expanded","true")),g(e,"collapsing"),S(e,"collapse"),S(e,"show"),e.style.height="",m(e,At)}))}(t),o.length&&o.forEach(t=>g(t,"collapsed")))}dispose(){$t(this),super.dispose()}}f(Dt,{selector:".collapse",init:t=>new Dt(t),getInstance:Ht});const St="scroll",Ct="resize",It="ArrowUp",Rt="ArrowDown",Ot=(t,e)=>t.hasAttribute(e),Wt=(t,e)=>{f(t.style,e)},Ft=t=>t.focus(),Bt=["dropdown","dropup","dropstart","dropend"];function zt(t){const e=u(t,"A");return t&&(Ot(t,"href")&&"#"===t.href.slice(-1)||e&&Ot(e,"href")&&"#"===e.href.slice(-1))}const[Xt,jt,Yt,Vt]=Bt,qt=`[${C}="${Xt}"]`,Ut=t=>w(t,"Dropdown"),Gt=[Xt,jt],Zt=[Yt,Vt],Jt=["A","BUTTON"],Kt={offset:5,display:"dynamic"},Qt=T("show.bs."+Xt),_t=T("shown.bs."+Xt),te=T("hide.bs."+Xt),ee=T("hidden.bs."+Xt);function ne(t){const{element:e,menu:n,parentElement:o,options:s}=t,{offset:a}=s;if("static"===i(n,"position"))return;const l=V(e),r=p(o,"dropdown-menu-end");["margin","top","bottom","left","right"].forEach(t=>{n.style[t]=""});let c=Bt.find(t=>p(o,t))||Xt,d={dropdown:[a,0,0],dropup:[0,0,a],dropstart:l?[-1,0,0,a]:[-1,a,0],dropend:l?[-1,a,0]:[-1,0,0,a]};const h={dropdown:{top:"100%"},dropup:{top:"auto",bottom:"100%"},dropstart:l?{left:"100%",right:"auto"}:{left:"auto",right:"100%"},dropend:l?{left:"auto",right:"100%"}:{left:"100%",right:"auto"},menuEnd:l?{right:"auto",left:0}:{right:0,left:"auto"}},{offsetWidth:u,offsetHeight:g}=n,{clientWidth:m,clientHeight:b}=j(e),{left:v,top:w,width:T,height:y}=X(e),E=v-u-a<0,x=v+u+T+a>=m,H=w+g+a>=b,k=w+g+y+a>=b,A=w-g-a<0,P=(!l&&r||l&&!r)&&v+T-u<0,M=(l&&r||!l&&!r)&&v+u>=m;Zt.includes(c)&&E&&x&&(c=Xt),c===Yt&&(l?x:E)&&(c=Vt),c===Vt&&(l?E:x)&&(c=Yt),c===jt&&A&&!k&&(c=Xt),c===Xt&&k&&!A&&(c=jt),Zt.includes(c)&&H&&f(h[c],{top:"auto",bottom:0}),Gt.includes(c)&&(P||M)&&v+T+Math.abs(u-T)+at?t+"px":t).join(" "),Wt(n,h[c]),p(n,"dropdown-menu-end")&&Wt(n,h.menuEnd)}function oe(t){const{element:e}=t,s=t.open?n:o,i=r(e);s(i,"click",ae),s(i,"focus",ae),s(i,"keydown",re),s(i,"keyup",ce),"dynamic"===t.options.display&&[St,Ct].forEach(t=>{s(z(e),t,de,_)})}function se(t,e){(e?n:o)(t.element,"click",le)}function ie(t){const e=[...Bt,"btn-group","input-group"].map(t=>U(t+" show"),r(t)).find(t=>t.length);return e&&e.length?[...e[0].children].find(t=>Ot(t,C)):null}function ae(t){const{target:e,type:n}=t;if(!e||!e.closest)return;const o=ie(e);if(!o)return;const s=Ut(o);if(!s)return;const{parentElement:i,menu:a}=s,l=null!==u(e,qt),r=i&&i.contains(e)&&("form"===e.tagName||null!==u(e,"form"));"click"===n&&zt(e)&&t.preventDefault(),("focus"!==n||e!==o&&e!==a&&!a.contains(e))&&(r||l||s&&s.hide())}function le(t){const{target:e}=t,n=Ut(this);n&&(n.toggle(),e&&zt(e)&&t.preventDefault())}function re(t){[Rt,It].includes(t.code)&&t.preventDefault()}function ce(t){const{code:e}=t,n=ie(this),o=n&&Ut(n),s=n&&r(n).activeElement;if(!o||!s)return;const{menu:i,open:a}=o,l=function(t){return[...t.children].map(t=>{if(t&&Jt.includes(t.tagName))return t;const{firstElementChild:e}=t;return e&&Jt.includes(e.tagName)?e:null}).filter(t=>t)}(i);if(l&&l.length&&[Rt,It].includes(e)){let t=l.indexOf(s);s===n?t=0:e===It?t=t>1?t-1:0:e===Rt&&(t=t{t.relatedTarget=e}),m(s,Qt),Qt.defaultPrevented||(S(o,"show"),S(s,"show"),D(e,"aria-expanded","true"),ne(t),t.open=!n,setTimeout(()=>{Ft(e),oe(t),m(s,_t)},1))}hide(){const t=this,{element:e,open:n,menu:o,parentElement:s}=t;[te,ee].forEach(t=>{t.relatedTarget=e}),m(s,te),te.defaultPrevented||(g(o,"show"),g(s,"show"),D(e,"aria-expanded","false"),t.open=!n,setTimeout(()=>oe(t),1),m(s,ee))}dispose(){const{parentElement:t}=this;p(t,"show")&&this.open&&this.hide(),se(this),super.dispose()}}f(he,{selector:qt,init:t=>new he(t),getInstance:Ut});const ue=(t,e)=>t.removeAttribute(e);function fe(t){return r(t).body}const pe=t=>t instanceof z(t).ShadowRoot||t instanceof ShadowRoot;const ge=t=>["TABLE","TD","TH"].includes(t.tagName),me=t=>t instanceof HTMLElement;function be(t,e){const n=["HTML","BODY"];if(e){let{offsetParent:e}=t;const o=z(t);for(;e&&(ge(e)||me(e)&&!["sticky","fixed"].includes(i(e,"position")));)e=e.offsetParent;return(!e||e&&(n.includes(e.tagName)||"static"===i(e,"position")))&&(e=o),e}const o=[];let{parentNode:s}=t;for(;s&&!n.includes(s.nodeName);)s="HTML"===(a=s).nodeName?a:a.assignedSlot||a.parentNode||(pe(a)?a.host:null)||j(a),pe(s)||s.shadowRoot||ge(s)||o.push(s);var a;return o.find((t,e)=>"relative"!==i(t,"position")&&o.slice(e+1).every(t=>"static"===i(t,"position"))?t:null)||fe(t)}const ve="sticky-top",we="position-sticky",Te=t=>[...U("fixed-top",t),...U("fixed-bottom",t),...U(ve,t),...U(we,t),...U("is-fixed",t)];function ye(t){const{clientWidth:e}=j(t),{innerWidth:n}=z(t);return Math.abs(n-e)}function Ee(t,e){const n=fe(t),o=parseInt(i(n,"paddingRight"),10),s="hidden"===i(n,"overflow")&&o?0:ye(t),a=Te(n);e&&(Wt(n,{overflow:"hidden",paddingRight:o+s+"px"}),a.length&&a.forEach(t=>{const e=i(t,"paddingRight");if(t.style.paddingRight=parseInt(e,10)+s+"px",[ve,we].some(e=>p(t,e))){const e=i(t,"marginRight");t.style.marginRight=parseInt(e,10)-s+"px"}}))}const xe="modal-backdrop",He="offcanvas-backdrop",ke=r().createElement("div");function Ae(t){return h(".modal.show,.offcanvas.show",r(t))}function Pe(t){const e=t?xe:He;[xe,He].forEach(t=>{g(ke,t)}),S(ke,e)}function Me(t,e,n){Pe(n),t.append(ke),e&&S(ke,"fade")}function Ne(){S(ke,"show"),Q(ke)}function $e(){g(ke,"show")}function Le(t){Ae(t)||(g(ke,"fade"),ke.remove(),function(t){const e=fe(t);Wt(e,{paddingRight:"",overflow:""});const n=Te(e);n.length&&n.forEach(t=>{Wt(t,{paddingRight:"",marginRight:""})})}(t))}function De(t){return t&&"hidden"!==i(t,"visibility")&&null!==t.offsetParent}const Se=`[${C}="modal"]`,Ce={backdrop:!0,keyboard:!0},Ie=t=>w(t,"Modal"),Re=T("show.bs.modal"),Oe=T("shown.bs.modal"),We=T("hide.bs.modal"),Fe=T("hidden.bs.modal");function Be(t){const{element:e}=t,n=ye(e),{clientHeight:o,scrollHeight:s}=j(e),{clientHeight:i,scrollHeight:a}=e,l=i!==a;if(!l&&n){const t=V(e)?"paddingLeft":"paddingRight";e.style[t]=n+"px"}Ee(e,l||o!==s)}function ze(t,e){const s=e?n:o,{element:i}=t;s(i,"click",Ze),s(z(i),Ct,t.update,_),s(r(i),"keydown",Ge)}function Xe(t,e){const s=e?n:o,{triggers:i}=t;i.length&&i.forEach(t=>s(t,"click",Ue))}function je(t){const{triggers:e,element:n}=t;if(Le(n),n.style.paddingRight="",e.length){const t=e.find(t=>De(t));t&&Ft(t)}}function Ye(t){const{element:e,relatedTarget:n}=t;Ft(e),ze(t,!0),Oe.relatedTarget=n,m(e,Oe)}function Ve(t){const{element:e,hasFade:n}=t;e.style.display="block",Be(t),Ae(e)||(fe(e).style.overflow="hidden"),S(e,"show"),ue(e,"aria-hidden"),D(e,"aria-modal","true"),n?l(e,()=>Ye(t)):Ye(t)}function qe(t,e){const{element:n,options:o,relatedTarget:s,hasFade:i}=t;n.style.display="",o.backdrop&&!e&&i&&p(ke,"show")&&!Ae(n)?($e(),l(ke,()=>je(t))):je(t),ze(t),Fe.relatedTarget=s,m(n,Fe)}function Ue(t){const{target:e}=t,n=e&&u(this,Se),o=n&&tt(n),s=o&&Ie(o);s&&(n&&"A"===n.tagName&&t.preventDefault(),s.relatedTarget=n,s.toggle())}function Ge({code:t}){const e=h(".modal.show"),n=e&&Ie(e);if(!n)return;const{options:o}=n;o.keyboard&&"Escape"===t&&p(e,"show")&&(n.relatedTarget=null,n.hide())}function Ze(t){const e=this,n=Ie(e);if(!n||J(e))return;const{options:o,isStatic:s,modalDialog:i}=n,{backdrop:c}=o,{target:d}=t,h=r(e).getSelection().toString().length,f=i.contains(d),p=d&&u(d,'[data-bs-dismiss="modal"]');s&&!f?Z(e,()=>{S(e,"modal-static"),l(i,()=>function(t){const{element:e,modalDialog:n}=t,o=a(n)+17;g(e,"modal-static"),Z(e,()=>K(e),o)}(n))},17):(p||!h&&!s&&!f&&c)&&(n.relatedTarget=p||null,n.hide(),t.preventDefault())}class Je extends k{constructor(t,e){super(t,e);const{element:n}=this;this.modalDialog=h(".modal-dialog",n),this.triggers=[...q(Se)].filter(t=>tt(t)===n),this.isStatic="static"===this.options.backdrop,this.hasFade=p(n,"fade"),this.relatedTarget=null,this.container=be(n),Xe(this,!0),this.update=this.update.bind(this)}get name(){return"Modal"}get defaults(){return Ce}toggle(){p(this.element,"show")?this.hide():this.show()}show(){const t=this,{element:e,options:n,hasFade:o,relatedTarget:s,container:i}=t,{backdrop:l}=n;let r=0;if(p(e,"show"))return;if(Re.relatedTarget=s||null,m(e,Re),Re.defaultPrevented)return;const c=Ae(e);if(c&&c!==e){(Ie(c)||w(c,"Offcanvas")).hide()}l?(c||p(ke,"show")?Pe(!0):Me(i,o,!0),r=a(ke),p(ke,"show")||Ne(),setTimeout(()=>Ve(t),r)):(Ve(t),c&&p(ke,"show")&&$e())}hide(t){const e=this,{element:n,hasFade:o,relatedTarget:s}=e;p(n,"show")&&(We.relatedTarget=s||null,m(n,We),We.defaultPrevented||(g(n,"show"),D(n,"aria-hidden","true"),ue(n,"aria-modal"),o&&!1!==t?l(n,()=>qe(e)):qe(e,t)))}update(){p(this.element,"show")&&Be(this)}dispose(){this.hide(!0),Xe(this),super.dispose()}}f(Je,{selector:".modal",init:t=>new Je(t),getInstance:Ie});const Ke=`[${C}="offcanvas"]`,Qe={backdrop:!0,keyboard:!0,scroll:!1},_e=t=>w(t,"Offcanvas"),tn=T("show.bs.offcanvas"),en=T("shown.bs.offcanvas"),nn=T("hide.bs.offcanvas"),on=T("hidden.bs.offcanvas");function sn(t,e){const s=e?n:o;t.triggers.forEach(t=>s(t,"click",cn))}function an(t,e){const s=e?n:o,i=r(t.element);s(i,"keydown",hn),s(i,"click",dn)}function ln(t){const{element:e,options:n}=t;n.scroll||(!function(t){const{element:e}=t,{clientHeight:n,scrollHeight:o}=j(e);Ee(e,n!==o)}(t),fe(e).style.overflow="hidden"),S(e,"offcanvas-toggling"),S(e,"show"),e.style.visibility="visible",l(e,()=>function(t){const{element:e,triggers:n}=t;g(e,"offcanvas-toggling"),ue(e,"aria-hidden"),D(e,"aria-modal","true"),D(e,"role","dialog"),n.length&&n.forEach(t=>D(t,"aria-expanded","true"));m(e,en),an(t,!0),Ft(e)}(t))}function rn(t){const{element:e,options:n}=t,o=Ae(e);e.blur(),!o&&n.backdrop&&p(ke,"show")?($e(),l(ke,()=>un(t))):un(t)}function cn(t){const e=u(this,Ke),n=e&&tt(e),o=n&&_e(n);o&&(o.relatedTarget=e,o.toggle(),e&&"A"===e.tagName&&t.preventDefault())}function dn(t){const e=h(".offcanvas.show",this);if(!e)return;const n=h('[data-bs-dismiss="offcanvas"]',e),o=_e(e);if(!o)return;const{options:s,triggers:i}=o,{target:a}=t,l=u(a,Ke),c=r(e).getSelection();c&&c.toString().length||!(!e.contains(a)&&s.backdrop&&(!l||l&&!i.includes(l))||n&&n.contains(a))||(o.relatedTarget=n&&n.contains(a)?n:null,o.hide()),l&&"A"===l.tagName&&t.preventDefault()}function hn({code:t}){const e=h(".offcanvas.show",this);if(!e)return;const n=_e(e);n&&n.options.keyboard&&"Escape"===t&&(n.relatedTarget=null,n.hide())}function un(t){const{element:e,triggers:n}=t;if(D(e,"aria-hidden","true"),ue(e,"aria-modal"),ue(e,"role"),e.style.visibility="",n.length){n.forEach(t=>D(t,"aria-expanded","false"));const t=n.find(t=>De(t));t&&Ft(t)}Le(e),m(e,on),g(e,"offcanvas-toggling"),Ae(e)||an(t)}class fn extends k{constructor(t,e){super(t,e);const{element:n}=this;this.triggers=[...q(Ke)].filter(t=>tt(t)===n),this.container=be(n),this.relatedTarget=null,sn(this,!0)}get name(){return"Offcanvas"}get defaults(){return Qe}toggle(){p(this.element,"show")?this.hide():this.show()}show(){const t=this,{element:e,options:n,container:o,relatedTarget:s}=t;let i=0;if(p(e,"show"))return;if(tn.relatedTarget=s,en.relatedTarget=s,m(e,tn),tn.defaultPrevented)return;const l=Ae(e);if(l&&l!==e){(_e(l)||w(l,"Modal")).hide()}n.backdrop?(l?Pe():Me(o,!0),i=a(ke),p(ke,"show")||Ne(),setTimeout(()=>ln(t),i)):(ln(t),l&&p(ke,"show")&&$e())}hide(t){const e=this,{element:n,relatedTarget:o}=e;p(n,"show")&&(nn.relatedTarget=o,on.relatedTarget=o,m(n,nn),nn.defaultPrevented||(S(n,"offcanvas-toggling"),g(n,"show"),t?rn(e):l(n,()=>rn(e))))}dispose(){this.hide(!0),sn(this),super.dispose()}}f(fn,{selector:".offcanvas",init:t=>new fn(t),getInstance:_e});function pn(t){const e="tooltip"===t;return``}const gn=t=>t&&[SVGElement,HTMLImageElement,HTMLVideoElement].some(e=>t instanceof e);function mn(t,e,n){const o=e instanceof HTMLElement,s=X(t,o&&function(t){const{width:e,height:n}=X(t),{offsetWidth:o,offsetHeight:s}=t;return Math.round(e)!==o||Math.round(n)!==s}(e)),i={x:0,y:0};if(o){const t=X(e,!0);i.x=t.x+e.clientLeft,i.y=t.y+e.clientTop}return{x:s.left+n.x-i.x,y:s.top+n.y-i.y,width:s.width,height:s.height}}var bn={top:"top",bottom:"bottom",left:"start",right:"end"};function vn(t,e){const n=/\b(top|bottom|start|end)+/,{element:o,tooltip:s,options:a,arrow:l,offsetParent:r}=t,c={...bn};Wt(s,{top:"0px",left:"0px",right:""});const d="Popover"===t.name,h=s.offsetWidth,u=s.offsetHeight,f=V(o);f&&(c.left="end",c.right="start");const p=j(o),g=p.clientWidth,m=p.clientHeight,{container:b}=a;let{placement:v}=a;const{left:w,right:T,top:y}=X(b,!0),E=b.clientWidth,x=Math.abs(E-b.offsetWidth),H=i(b,"position"),k="fixed"===H,A="static"===H,P="sticky"===H&&y===parseFloat(i(b,"top")),M=f&&k?x:0,N=k?E+w+(f?x:0):E+w+(g-T)-1,{width:$,height:L,left:D,right:S,top:C}=X(o,!0),I=function(t){const e="scrollX"in t;return{x:e?t.scrollX:t.scrollLeft,y:e?t.scrollY:t.scrollTop}}(r),{x:R,y:O}=mn(o,r,I);let W,F,B,z,Y,q;Wt(l,{top:"",left:"",right:""});const U=l.offsetWidth||0,G=l.offsetHeight||0,Z=U/2;let J=C-u-G<0,K=C+u+L+G>=m,Q=D-h-U=N;const tt=["left","right"],et=["top","bottom"];if(J=tt.includes(v)?C+L/2-u/2-G<0:J,K=tt.includes(v)?C+u/2+L/2+G>=m:K,Q=et.includes(v)?D+$/2-h/2=N:_,v=tt.includes(v)&&Q&&_?"top":v,v="top"===v&&J?"bottom":v,v="bottom"===v&&K?"top":v,v="left"===v&&Q?"right":v,v="right"===v&&_?"left":v,s.className.includes(v)||(s.className=s.className.replace(n,c[v])),tt.includes(v))F="left"===v?R-h-(d?U:0):R+$+(d?U:0),J?(W=O,W+=P?-y-I.y:0,z=L/2-U):K?(W=O-u+L,W+=P?-y-I.y:0,z=u-L/2-U):(W=O-u/2+L/2,W+=P?-y-I.y:0,z=u/2-G/2);else if(et.includes(v))if(e&&gn(o)){let t=0,n=0;A?(t=e.pageX,n=e.pageY):(t=e.clientX-w+(k?I.x:0),n=e.clientY-y+(k?I.y:0)),t-=f&&k&&x?x:0,W="top"===v?n-u-U:n+U,e.clientX-h/2N?(F="auto",B=0,q=N-t-Z,q-=k?w+(f?x:0):0):(F=t-h/2,Y=h/2-Z)}else W="top"===v?O-u-(d?G:0):O+L+(d?G:0),Q?(F=0,Y=R+$/2-Z):_?(F="auto",B=0,q=$/2+N-S-Z):(F=R-h/2+$/2,Y=h/2-Z);Wt(s,{top:W+"px",left:"auto"===F?F:F+"px",right:void 0!==B?B+"px":""}),l instanceof HTMLElement&&(void 0!==z&&(l.style.top=z+"px"),void 0!==Y?l.style.left=Y+"px":void 0!==q&&(l.style.right=q+"px"))}const wn={template:pn("tooltip"),title:null,customClass:null,trigger:"hover focus",placement:"top",sanitizeFn:null,animation:!0,delay:200,container:null},Tn="focusin",yn="focusout",{userAgentData:En}=navigator,xn=En,{userAgent:Hn}=navigator,kn=Hn,An=/(iPhone|iPod|iPad)/,Pn=xn?xn.brands.some(t=>An.test(t.brand)):An.test(kn);let Mn=1;const Nn=new Map;function $n(t,e,n){if("string"!=typeof e||e.length)if("string"==typeof e){let o=e.trim();"function"==typeof n&&(o=n(o));const s=(new DOMParser).parseFromString(o,"text/html"),{body:i}=s,a=i.children.length?"innerHTML":"innerText";t[a]=i[a]}else e instanceof HTMLElement&&t.append(e)}function Ln(t,e){return t instanceof HTMLElement&&e.contains(t)}const Dn=`[${C}="tooltip"],[data-tip="tooltip"]`;let Sn=t=>w(t,"Tooltip");function Cn(t){const{element:e}=t;Wn(t),e.hasAttribute("data-original-title")&&"tooltip"===t.name&&Bn(t)}function In(t,e){const s=e?n:o,{element:i}=t;s(r(i),"touchstart",t.handleTouch,_),gn(i)||[St,Ct].forEach(e=>{s(z(i),e,t.update,_)})}function Rn(t){const{element:e}=t,n=T("shown.bs."+H(t.name));In(t,!0),m(e,n),K(e,"in")}function On(t){const{element:e}=t,n=T("hidden.bs."+H(t.name));In(t),function(t){const{element:e,tooltip:n}=t;ue(e,"aria-describedby"),n.remove()}(t),m(e,n),K(e,"out")}function Wn(t,e){const s=e?n:o,{element:i,options:a,btn:l}=t,{trigger:c,dismissible:d}=a;if(c.includes("manual"))return;t.enabled=!!e;const h=c.split(" "),u=gn(i);u&&s(i,"mousemove",t.update,_),h.forEach(e=>{u||"hover"===e?(s(i,"mousedown",t.show),s(i,F,t.show),d&&l?s(l,"click",t.hide):(s(i,B,t.hide),s(r(i),"touchstart",t.handleTouch,_))):"click"===e?s(i,e,d?t.show:t.toggle):"focus"===e&&(s(i,Tn,t.show),d||s(i,yn,t.hide),Pn&&s(i,"click",()=>Ft(i)))})}function Fn(t,e){const s=e?n:o,{element:i,options:a,offsetParent:l}=t,{container:r}=a,{offsetHeight:c,scrollHeight:d}=r,h=u(i,".modal"),f=u(i,".offcanvas");if(!gn(i)){const e=z(i),n=c!==d||l!==e?r:e;s(e,Ct,t.update,_),s(n,St,t.update,_)}h&&s(h,"hide.bs.modal",t.hide),f&&s(f,"hide.bs.offcanvas",t.hide)}function Bn(t,e){const n=["data-original-title","title"],{element:o}=t;D(o,n[e?0:1],e||y(o,n[0])),ue(o,n[e?1:0])}class zn extends k{constructor(t,e){super(t,e);const n=this,{element:o}=n,s="Tooltip"===n.name,a=s?"tooltip":"popover",l=s?"Tooltip":"Popover";Sn=t=>w(t,l),n.tooltip={},s||(n.btn=null),n.arrow={},n.offsetParent={},n.enabled=!0,n.id=`${a}-${function(t,e){Mn+=1;let n=Nn.get(t),o=Mn;if(e&&e.length)if(n){const t=n.get(e);Number.isNaN(t)?n.set(e,o):o=t}else Nn.set(t,new Map),n=Nn.get(t),n.set(e,o);else Number.isNaN(n)?Nn.set(t,o):o=n;return o}(o,a)}`;const{options:c}=n;if(!c.title&&s||!s&&!c.content)return;const d=h(c.container),u=be(o);n.options.container=!d||d&&["static","relative"].includes(i(d,"position"))?u:d||fe(o),wn.title=null,n.handleTouch=n.handleTouch.bind(n),n.update=n.update.bind(n),n.show=n.show.bind(n),n.hide=n.hide.bind(n),n.toggle=n.toggle.bind(n),o.hasAttribute("title")&&s&&Bn(n,c.title),function(t){const{id:e,element:n,options:o}=t,{animation:s,customClass:i,sanitizeFn:a,placement:l,dismissible:c}=o;let{title:d,content:u}=o;const f="Tooltip"===t.name,g=f?"tooltip":"popover",{template:m,btnClose:b}=o,v={...bn};V(n)&&(v.left="end",v.right="start");const w=`bs-${g}-${v[l]}`;let T;if([Element,HTMLElement].some(t=>m instanceof t))T=m;else{const t=r(n).createElement("div");$n(t,m,a),T=t.firstElementChild}t.tooltip=T&&T.cloneNode(!0);const{tooltip:y}=t;D(y,"id",e),D(y,"role","tooltip");const E=f?"tooltip-inner":"popover-body",x=f?null:h(".popover-header",y),H=h("."+E,y);t.arrow=h(`.${g}-arrow`,y),c&&(d?d instanceof HTMLElement?$n(d,b,a):d+=b:(x&&x.remove(),u instanceof HTMLElement?$n(u,b,a):u+=b)),f?d&&H&&$n(H,d,a):(d&&x&&$n(x,d,a),u&&H&&$n(H,u,a),t.btn=h(".btn-close",y)),p(y,g)||S(y,g),s&&!p(y,"fade")&&S(y,"fade"),i&&!p(y,i)&&S(y,i),p(y,w)||S(y,w)}(n),Wn(n,!0)}get name(){return"Tooltip"}get defaults(){return wn}show(t){const e=this,{options:n,tooltip:o,element:s,id:i}=e,{container:a,animation:r}=n,c=J(s,"out");K(s,"out"),!o||c||Ln(o,a)||Z(s,()=>{const n=T("show.bs."+H(e.name));m(s,n),n.defaultPrevented||(a.append(o),D(s,"aria-describedby","#"+i),e.offsetParent=be(o,!0),e.update(t),Fn(e,!0),p(o,"show")||S(o,"show"),r?l(o,()=>Rn(e)):Rn(e))},17,"in")}hide(){const t=this,{options:e,tooltip:n,element:o}=t,{container:s,animation:i,delay:a}=e;K(o,"in"),n&&Ln(n,s)&&Z(o,()=>{const e=T("hide.bs."+H(t.name));m(o,e),e.defaultPrevented||(g(n,"show"),Fn(t),i?l(n,()=>On(t)):On(t))},a+17,"out")}update(t){vn(this,t)}toggle(t){const{tooltip:e,options:n}=this;Ln(e,n.container)?this.hide():this.show(t)}enable(){const t=this,{enabled:e}=t;e||(Wn(t,!0),t.enabled=!e)}disable(){const t=this,{element:e,tooltip:n,options:o,enabled:s}=t,{animation:i,container:l,delay:r}=o;s&&(Ln(n,l)&&i?(t.hide(),Z(e,()=>{Wn(t),K(e,"tooltip")},a(n)+r+17,"tooltip")):Wn(t),t.enabled=!s)}toggleEnabled(){this.enabled?this.disable():this.enable()}handleTouch({target:t}){const{tooltip:e,element:n}=this;e.contains(t)||t===n||t&&n.contains(t)||this.hide()}dispose(){const t=this,{tooltip:e,options:n}=t;n.animation&&Ln(e,n.container)?(n.delay=0,t.hide(),l(e,()=>Cn(t))):Cn(t),super.dispose()}}f(zn,{selector:Dn,init:t=>new zn(t),getInstance:Sn,styleTip:vn});const Xn=`[${C}="popover"],[data-tip="popover"]`,jn={...wn,template:pn("popover"),btnClose:'',dismissible:!1,content:null};class Yn extends zn{constructor(t,e){super(t,e)}get name(){return"Popover"}get defaults(){return jn}show(){super.show();const{options:t,btn:e}=this;t.dismissible&&e&&setTimeout(()=>Ft(e),17)}}function Vn(t,e){return(e&&c.some(t=>e instanceof t)?e:r()).getElementsByTagName(t)}f(Yn,{selector:Xn,init:t=>new Yn(t),getInstance:t=>w(t,"Popover"),styleTip:vn});const qn={offset:10,target:null},Un=T("activate.bs.scrollspy");function Gn(t){const{target:e,scrollTarget:n,options:o,itemsLength:s,scrollHeight:i,element:a}=t,{offset:l}=o,c=n instanceof Window,d=e&&Vn("A",e),u=n&&function(t){return t instanceof HTMLElement?t.scrollHeight:j(t).scrollHeight}(n);if(t.scrollTop=c?n.scrollY:n.scrollTop,d&&(s!==d.length||u!==i)){let e,n,o;t.items=[],t.offsets=[],t.scrollHeight=u,t.maxScroll=t.scrollHeight-function({element:t,scrollTarget:e}){return e instanceof Window?e.innerHeight:X(t).height}(t),[...d].forEach(s=>{e=y(s,"href"),n=e&&"#"===e.charAt(0)&&"#"!==e.slice(-1)&&h(e,r(a)),n&&(t.items.push(s),o=X(n),t.offsets.push((c?o.top+t.scrollTop:n.offsetTop)-l))}),t.itemsLength=t.items.length}}function Zn(t){[...Vn("A",t)].forEach(t=>{p(t,"active")&&g(t,"active")})}function Jn(t,e){const{target:n,element:o}=t;Zn(n),t.activeItem=e,S(e,"active");const s=[];let i=e;for(;i!==fe(o);)i=i.parentElement,(p(i,"nav")||p(i,"dropdown-menu"))&&s.push(i);s.forEach(t=>{const e=t.previousElementSibling;e&&!p(e,"active")&&S(e,"active")}),Un.relatedTarget=e,m(o,Un)}function Kn(t,e){(e?n:o)(t.scrollTarget,St,t.refresh,_)}class Qn extends k{constructor(t,e){super(t,e);const{element:n,options:o}=this;if(this.target=h(o.target,r(n)),!this.target)return;const s=z(n);this.scrollTarget=n.clientHeight=o){const e=i[s-1];return void(a!==e&&Jn(t,e))}const{offsets:l}=t;if(a&&n0)return t.activeItem=null,void Zn(e);i.forEach((e,o)=>{a!==e&&n>=l[o]&&(void 0===l[o+1]||nnew Qn(t),getInstance:t=>w(t,"ScrollSpy")});const _n=`[${C}="tab"]`,to=t=>w(t,"Tab"),eo=T("show.bs.tab"),no=T("shown.bs.tab"),oo=T("hide.bs.tab"),so=T("hidden.bs.tab"),io=new Map;function ao(t){const{tabContent:e,nav:n}=t;e&&(e.style.height="",g(e,"collapsing")),n&&K(n)}function lo(t){const{element:e,tabContent:n,nav:o}=t,{currentHeight:s,nextHeight:i}=io.get(e),{tab:a}=o&&io.get(o);n?s===i?ao(t):setTimeout(()=>{n.style.height=i+"px",Q(n),l(n,()=>ao(t))},50):o&&K(o),no.relatedTarget=a,m(e,no)}function ro(t){const{element:e,content:n,tabContent:o,nav:s}=t,{tab:i,content:a}=s&&io.get(s);let r=0;if(o&&([a,n].forEach(t=>S(t,"overflow-hidden")),r=a.scrollHeight),eo.relatedTarget=i,so.relatedTarget=e,m(e,eo),!eo.defaultPrevented){if(S(n,"active"),g(a,"active"),o){const t=n.scrollHeight;io.set(e,{currentHeight:r,nextHeight:t}),S(o,"collapsing"),o.style.height=r+"px",Q(o),[a,n].forEach(t=>g(t,"overflow-hidden"))}n&&p(n,"fade")?setTimeout(()=>{S(n,"show"),l(n,()=>{lo(t)})},17):lo(t),m(i,so)}}function co(t,e){(e?n:o)(t.element,"click",ho)}function ho(t){const e=to(this);e&&(t.preventDefault(),e.show())}class uo extends k{constructor(t){super(t);const{element:e}=this,n=tt(e);if(!n)return;const o=u(e,".nav"),s=u(n,".tab-content");this.nav=o,this.content=n,this.tabContent=s,this.dropdown=o&&h(`.${Bt[0]}-toggle`,o),co(this,!0)}get name(){return"Tab"}show(){const t=this,{element:e,nav:n,dropdown:o}=t;if(!(n&&J(n)||p(e,"active"))){const{tab:s,content:i}=function(t){const{nav:e}=t,n=U("active",e);let o;return 1!==n.length||Bt.some(t=>p(n[0].parentElement,t))?n.length>1&&(o=n[n.length-1]):[o]=n,{tab:o,content:o?tt(o):null}}(t);if(n&&io.set(n,{tab:s,content:i}),oo.relatedTarget=e,m(s,oo),oo.defaultPrevented)return;n&&Z(n,()=>{},17),g(s,"active"),D(s,"aria-selected","false"),S(e,"active"),D(e,"aria-selected","true"),o&&(p(e.parentNode,"dropdown-menu")?p(o,"active")||S(o,"active"):p(o,"active")&&g(o,"active")),p(i,"fade")?(g(i,"show"),l(i,()=>ro(t))):ro(t)}}dispose(){co(this),super.dispose()}}f(uo,{selector:_n,init:t=>new uo(t),getInstance:to});const fo={animation:!0,autohide:!0,delay:5e3},po=t=>w(t,"Toast"),go=T("show.bs.toast"),mo=T("shown.bs.toast"),bo=T("hide.bs.toast"),vo=T("hidden.bs.toast");function wo(t){const{element:e,options:n}=t;g(e,"showing"),K(e,"showing"),m(e,mo),n.autohide&&Z(e,()=>t.hide(),n.delay,"toast")}function To(t){const{element:e}=t;g(e,"showing"),g(e,"show"),S(e,"hide"),K(e,"toast"),m(e,vo)}function yo(t,e){const s=e?n:o,{element:i,dismiss:a,options:l}=t;a&&s(a,"click",t.hide),l.autohide&&[Tn,yn,F,B].forEach(t=>s(i,t,Eo))}function Eo(t){const e=this,n=po(e),{type:o,relatedTarget:s}=t;n&&e!==s&&!e.contains(s)&&([F,Tn].includes(o)?K(e,"toast"):Z(e,()=>n.hide(),n.options.delay,"toast"))}class xo extends k{constructor(t,e){super(t,e);const{element:n,options:o}=this;o.animation&&!p(n,"fade")?S(n,"fade"):!o.animation&&p(n,"fade")&&g(n,"fade"),this.dismiss=h('[data-bs-dismiss="toast"]',n),this.show=this.show.bind(this),this.hide=this.hide.bind(this),yo(this,!0)}get name(){return"Toast"}get defaults(){return fo}show(){const t=this,{element:e}=t;if(e&&!p(e,"show")){if(m(e,go),go.defaultPrevented)return;!function(t){const{element:e,options:n}=t;Z(e,()=>{g(e,"hide"),Q(e),S(e,"show"),S(e,"showing"),n.animation?l(e,()=>wo(t)):wo(t)},17,"showing")}(t)}}hide(){const t=this,{element:e}=t;if(e&&p(e,"show")){if(m(e,bo),bo.defaultPrevented)return;!function(t){const{element:e,options:n}=t;S(e,"showing"),n.animation?(Q(e),l(e,()=>To(t))):To(t)}(t)}}dispose(){const{element:t}=this;p(t,"show")&&g(t,"show"),function(t){K(t.element,"toast"),yo(t)}(this),super.dispose()}}f(xo,{selector:".toast",init:t=>new xo(t),getInstance:po});const Ho={Alert:L,Button:W,Carousel:yt,Collapse:Dt,Dropdown:he,Modal:Je,Offcanvas:fn,Popover:Yn,ScrollSpy:Qn,Tab:uo,Toast:xo,Tooltip:zn};function ko(t){const e=[...Vn("*",t&&c.some(e=>t instanceof e)?t:void 0)];x(Ho).forEach(t=>{const{init:n,selector:o}=Ho[t];var s,i;s=n,i=e.filter(t=>function(t,e){return t.matches(e)}(t,o)),[...i].forEach(t=>s(t))})}document.body?ko():n(document,"DOMContentLoaded",()=>ko(),{once:!0});return{Alert:L,Button:W,Carousel:yt,Collapse:Dt,Dropdown:he,Modal:Je,Offcanvas:fn,Popover:Yn,ScrollSpy:Qn,Tab:uo,Toast:xo,Tooltip:zn,initCallback:ko,removeDataAPI:function(t){const e=t&&c.some(e=>t instanceof e)?t:void 0;x(Ho).forEach(t=>{!function(t,e){const n=v.getAllFor(t);n&&[...n].forEach(t=>{const[n,o]=t;e&&e.contains(n)&&o.dispose()})}(t,e)})},Version:"4.1.0alpha6",EventListener:s}})); +// Native JavaScript for Bootstrap v4.1.0alpha7 | 2022 © dnp_theme | MIT-License +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).BSN=e()}(this,(function(){"use strict";const t={};function e(e){const n=this,{type:s}=e;(t[s]?[...t[s]]:[]).forEach(t=>{const[i,a]=t;[...a].forEach(t=>{if(i===n){const[n,a]=t;n.apply(i,[e]),a&&a.once&&o(i,s,n,a)}})})}const n=(n,o,s,i)=>{t[o]||(t[o]=new Map);const a=t[o];a.has(n)||a.set(n,new Map);const l=a.get(n),{size:r}=l;l&&l.set(s,i),r||n.addEventListener(o,e,i)},o=(n,o,s,i)=>{const a=t[o],l=a&&a.get(n),r=l&&l.get(s),{options:c}=void 0!==r?r:{options:i};l&&l.has(s)&&l.delete(s),!a||l&&l.size||a.delete(n),a&&a.size||delete t[o],l&&l.size||n.removeEventListener(o,e,c)},s={on:n,off:o,globalListener:e,registry:t};function i(t,e){const n=getComputedStyle(t);return e in n?n[e]:""}function a(t){const e=i(t,"transitionProperty"),n=i(t,"transitionDuration"),o=n.includes("ms")?1:1e3,s=e&&"none"!==e?parseFloat(n)*o:0;return Number.isNaN(s)?0:s}function l(t,e){let n=0;const o=new Event("transitionend"),s=a(t),l=function(t){const e=i(t,"transitionProperty"),n=i(t,"transitionDelay"),o=n.includes("ms")?1:1e3,s=e&&"none"!==e?parseFloat(n)*o:0;return Number.isNaN(s)?0:s}(t);if(s){const i=o=>{o.target===t&&(e.apply(t,[o]),t.removeEventListener("transitionend",i),n=1)};t.addEventListener("transitionend",i),setTimeout(()=>{n||t.dispatchEvent(o)},s+l+17)}else e.apply(t,[o])}function r(t){return t instanceof HTMLElement?t.ownerDocument:t instanceof Window?t.document:window.document}const c=[Document,Element,HTMLElement],d=[Element,HTMLElement];function h(t,e){const n=c.some(t=>e instanceof t)?e:r();return d.some(e=>t instanceof e)?t:n.querySelector(t)}function u(t,e){return t?t.closest(e)||u(t.getRootNode().host,e):null}const f=(t,e)=>Object.assign(t,e);function p(t,e){return t.classList.contains(e)}function g(t,e){t.classList.remove(e)}const m=(t,e)=>t.dispatchEvent(e),b=new Map,v={set:(t,e,n)=>{const o=h(t);if(!o)return;b.has(e)||b.set(e,new Map);b.get(e).set(o,n)},getAllFor:t=>b.get(t)||null,get:(t,e)=>{const n=h(t),o=v.getAllFor(e);return n&&o&&o.get(n)||null},remove:(t,e)=>{const n=h(t),o=b.get(e);o&&n&&(o.delete(n),0===o.size&&b.delete(e))}},w=(t,e)=>v.get(t,e);function T(t,e){const n=new CustomEvent(t,{cancelable:!0,bubbles:!0});return e instanceof Object&&f(n,e),n}const y=(t,e)=>t.getAttribute(e);function E(t){return"true"===t||"false"!==t&&(Number.isNaN(+t)?""===t||"null"===t?null:t:+t)}const x=t=>Object.keys(t),H=t=>t.toLowerCase();class k{constructor(t,e){const n=this,o=h(t);if(!o)throw Error(`${n.name} Error: "${t}" is not a valid selector.`);n.options={};const s=v.get(o,n.name);s&&s.dispose(),n.element=o,n.defaults&&Object.keys(n.defaults).length&&(n.options=function(t,e,n,o){const s={...t.dataset},i={},a={};return x(s).forEach(t=>{const e=o&&t.includes(o)?t.replace(o,"").replace(/[A-Z]/,t=>H(t)):t;a[e]=E(s[t])}),x(n).forEach(t=>{n[t]=E(n[t])}),x(e).forEach(o=>{i[o]=o in n?n[o]:o in a?a[o]:"title"===o?y(t,"title"):e[o]}),i}(o,n.defaults,e||{},"bs")),v.set(o,n.name,n)}get version(){return"4.1.0alpha7"}get name(){return this.constructor.name}get defaults(){return this.constructor.defaults}dispose(){const t=this;v.remove(t.element,t.name),x(t).forEach(e=>{t[e]=null})}}const A=t=>w(t,"Alert"),P=T("close.bs.alert"),M=T("closed.bs.alert");function N(t){const{element:e}=t;$(t),m(e,M),t.dispose(),e.remove()}function $(t,e){const s=e?n:o,{dismiss:i}=t;i&&s(i,"click",t.close)}class L extends k{constructor(t){super(t);const{element:e}=this;this.dismiss=h('[data-bs-dismiss="alert"]',e),$(this,!0)}get name(){return"Alert"}close(t){const e=t?A(u(this,".alert")):this;if(!e)return;const{element:n}=e;if(p(n,"show")){if(m(n,P),P.defaultPrevented)return;g(n,"show"),p(n,"fade")?l(n,()=>N(e)):N(e)}}dispose(){$(this),super.dispose()}}f(L,{selector:".alert",init:t=>new L(t),getInstance:A});const D=(t,e,n)=>t.setAttribute(e,n);function S(t,e){t.classList.add(e)}const C="data-bs-toggle",I=`[${C}="button"]`,R=t=>w(t,"Button");function O(t,e){(e?n:o)(t.element,"click",t.toggle)}class W extends k{constructor(t){super(t);const{element:e}=this;this.isActive=p(e,"active"),D(e,"aria-pressed",""+!!this.isActive),O(this,!0)}get name(){return"Button"}toggle(t){t&&t.preventDefault();const e=t?R(this):this;if(!e)return;const{element:n}=e;if(p(n,"disabled"))return;e.isActive=p(n,"active");const{isActive:o}=e;(o?g:S)(n,"active"),D(n,"aria-pressed",o?"false":"true")}dispose(){O(this),super.dispose()}}f(W,{selector:I,init:t=>new W(t),getInstance:R});const F="mouseenter",B="mouseleave";function z(t){if(null==t)return window;if(!(t instanceof Window)){const{ownerDocument:e}=t;return e&&e.defaultView||window}return t}function X(t,e){const{width:n,height:o,top:s,right:i,bottom:a,left:l}=t.getBoundingClientRect();let r=1,c=1;if(e&&t instanceof HTMLElement){const{offsetWidth:e,offsetHeight:s}=t;r=e>0&&Math.round(n)/e||1,c=s>0&&Math.round(o)/s||1}return{width:n/r,height:o/c,top:s/c,right:i/r,bottom:a/c,left:l/r,x:l/r,y:s/c}}function j(t){return r(t).documentElement}const Y=t=>{const{top:e,bottom:n}=X(t),{clientHeight:o}=j(t);return e<=o&&n>=0},V=t=>"rtl"===j(t).dir;function q(t,e){return(e&&c.some(t=>e instanceof t)?e:r()).querySelectorAll(t)}function U(t,e){return(e&&c.some(t=>e instanceof t)?e:r()).getElementsByClassName(t)}const G=new Map,Z=(t,e,n,o)=>{const s=h(t);if(s)if(o&&o.length){G.has(s)||G.set(s,new Map);G.get(s).set(o,setTimeout(e,n))}else G.set(s,setTimeout(e,n))},J=(t,e)=>{const n=h(t);if(!n)return null;const o=G.get(n);return e&&e.length&&o&&o.get?o.get(e)||null:o||null},K=(t,e)=>{const n=h(t);if(n)if(e&&e.length){const t=G.get(n);t&&t.get&&(clearTimeout(t.get(e)),t.delete(e),0===t.size&&G.delete(n))}else clearTimeout(G.get(n)),G.delete(n)},Q=t=>t.offsetHeight,_={passive:!0};function tt(t){const e=["data-bs-target","data-bs-parent","data-bs-container","href"],n=r(t);return e.map(e=>{const o=y(t,e);return o?"data-bs-parent"===e?u(t,o):h(o,n):null}).filter(t=>t)[0]}const et="carousel-item",nt={pause:"hover",keyboard:!1,touch:!0,interval:5e3},ot=t=>w(t,"Carousel");let st=0,it=0,at=0;const lt=T("slide.bs.carousel"),rt=T("slid.bs.carousel");function ct(){const t=this,e=ot(t);!e||e.isPaused||J(t,"paused")||S(t,"paused")}function dt(){const t=ot(this);t&&t.isPaused&&!J(this,"paused")&&t.cycle()}function ht(t){t.preventDefault();const e=u(this,'[data-bs-ride="carousel"]')||tt(this);if(!e)return;const n=ot(e);if(!n||n.isAnimating)return;const o=+y(this,"data-bs-slide-to");!this||p(this,"active")||Number.isNaN(o)||n.to(o)}function ut(t){t.preventDefault();const e=u(this,'[data-bs-ride="carousel"]')||tt(this),n=e&&ot(e);if(!n||n.isAnimating)return;const o=y(this,"data-bs-slide");"next"===o?n.next():"prev"===o&&n.prev()}function ft({code:t}){const[e]=[...q('[data-bs-ride="carousel"]')].filter(t=>Y(t)),n=ot(e);if(!n)return;const o=V(),s=o?"ArrowLeft":"ArrowRight";t===(o?"ArrowRight":"ArrowLeft")?n.prev():t===s&&n.next()}function pt(t){const e=ot(this);e&&!e.isTouch&&(st=t.changedTouches[0].pageX,this.contains(t.target)&&(e.isTouch=!0,vt(e,!0)))}function gt(t){const{changedTouches:e,type:n}=t,o=ot(this);o&&o.isTouch&&(it=e[0].pageX,"touchmove"===n&&e.length>1&&t.preventDefault())}function mt(t){const e=this,n=ot(e);if(n&&n.isTouch&&(at=it||t.changedTouches[0].pageX,n.isTouch)){if((!e.contains(t.target)||!e.contains(t.relatedTarget))&&Math.abs(st-at)<75)return;itst&&(n.index-=1),n.isTouch=!1,n.to(n.index),vt(n)}}function bt(t,e){const{indicators:n}=t;[...n].forEach(t=>g(t,"active")),t.indicators[e]&&S(n[e],"active")}function vt(t,e){const{element:s}=t,i=e?n:o;i(s,"touchmove",gt,_),i(s,"touchend",mt,_)}function wt(t,e){const{element:s,options:i,slides:a,controls:l,indicators:r}=t,{touch:c,pause:d,interval:h,keyboard:u}=i,f=e?n:o;d&&h&&(f(s,F,ct),f(s,B,dt),f(s,"touchstart",ct,_),f(s,"touchend",dt,_)),c&&a.length>1&&f(s,"touchstart",pt,_),l.length&&l.forEach(t=>{t&&f(t,"click",ut)}),r.length&&r.forEach(t=>{f(t,"click",ht)}),u&&f(z(s),"keydown",ft)}function Tt(t){const{slides:e,element:n}=t,o=h(`.${et}.active`,n);return[...e].indexOf(o)}class yt extends k{constructor(t,e){super(t,e);const n=this;n.direction=V()?"right":"left",n.index=0,n.isTouch=!1;const{element:o}=n;n.slides=U(et,o);const{slides:s}=n;if(s.length<2)return;n.controls=[...q("[data-bs-slide]",o),...q(`[data-bs-slide][data-bs-target="#${o.id}"]`)],n.indicator=h(".carousel-indicators",o),n.indicators=[...n.indicator?q("[data-bs-slide-to]",n.indicator):[],...q(`[data-bs-slide-to][data-bs-target="#${o.id}"]`)];const{options:i}=n;n.options.interval=!0===i.interval?nt.interval:i.interval,Tt(n)<0&&(s.length&&S(s[0],"active"),n.indicators.length&&bt(n,0)),wt(n,!0),i.interval&&n.cycle()}get name(){return"Carousel"}get defaults(){return nt}get isPaused(){return p(this.element,"paused")}get isAnimating(){return null!==h(`.${et}-next,.${et}-prev`,this.element)}cycle(){const t=this,{element:e,options:n,isPaused:o}=t;K(e,"carousel"),o&&(K(e,"paused"),g(e,"paused")),Z(e,()=>{!t.isPaused&&Y(e)&&(t.index+=1,t.to(t.index))},n.interval,"carousel")}pause(){const{element:t,options:e}=this;!this.isPaused&&e.interval&&(S(t,"paused"),Z(t,()=>{},1,"paused"))}next(){const t=this;t.isAnimating||(t.index+=1,t.to(t.index))}prev(){const t=this;t.isAnimating||(t.index-=1,t.to(t.index))}to(t){const e=this,{element:n,slides:o,options:s}=e,i=Tt(e),c=V();let d=t;if(e.isAnimating||i===d)return;id||i===o.length-1&&0===d)&&(e.direction=c?"left":"right");const{direction:h}=e;d<0?d=o.length-1:d>=o.length&&(d=0);const u="left"===h?"next":"prev",b="left"===h?"start":"end",v={relatedTarget:o[d],from:i,to:d,direction:h};f(lt,v),f(rt,v),m(n,lt),lt.defaultPrevented||(e.index=d,bt(e,d),a(o[d])&&p(n,"slide")?Z(n,()=>{S(o[d],`${et}-${u}`),Q(o[d]),S(o[d],`${et}-${b}`),S(o[i],`${et}-${b}`),l(o[d],()=>function(t){const{index:e,direction:n,element:o,slides:s,options:i}=t;if(t.isAnimating&&ot(o)){const a=Tt(t),l="left"===n?"next":"prev",c="left"===n?"start":"end";S(s[e],"active"),g(s[e],`${et}-${l}`),g(s[e],`${et}-${c}`),g(s[a],"active"),g(s[a],`${et}-${c}`),m(o,rt),K(o,"data-bs-slide"),r(o).hidden||!i.interval||t.isPaused||t.cycle()}}(e))},17,"data-bs-slide"):(S(o[d],"active"),g(o[i],"active"),Z(n,()=>{K(n,"data-bs-slide"),n&&s.interval&&!e.isPaused&&e.cycle(),m(n,rt)},17,"data-bs-slide")))}dispose(){const t=this,{slides:e}=t,n=["start","end","prev","next"];[...e].forEach((e,o)=>{p(e,"active")&&bt(t,o),n.forEach(t=>g(e,`${et}-${t}`))}),wt(t),super.dispose()}}f(yt,{selector:'[data-bs-ride="carousel"]',init:t=>new yt(t),getInstance:ot});const Et=`[${C}="collapse"]`,xt={parent:null},Ht=t=>w(t,"Collapse"),kt=T("show.bs.collapse"),At=T("shown.bs.collapse"),Pt=T("hide.bs.collapse"),Mt=T("hidden.bs.collapse");function Nt(t){const{element:e,parent:n,triggers:o}=t;m(e,Pt),Pt.defaultPrevented||(Z(e,()=>{},17),n&&Z(n,()=>{},17),e.style.height=e.scrollHeight+"px",g(e,"collapse"),g(e,"show"),S(e,"collapsing"),Q(e),e.style.height="0px",l(e,()=>{K(e),n&&K(n),o.forEach(t=>D(t,"aria-expanded","false")),g(e,"collapsing"),S(e,"collapse"),e.style.height="",m(e,Mt)}))}function $t(t,e){const s=e?n:o,{triggers:i}=t;i.length&&i.forEach(t=>s(t,"click",Lt))}function Lt(t){const{target:e}=t,n=e&&u(e,Et),o=n&&tt(n),s=o&&Ht(o);s&&s.toggle(),n&&"A"===n.tagName&&t.preventDefault()}class Dt extends k{constructor(t,e){super(t,e);const{element:n,options:o}=this;this.triggers=[...q(Et)].filter(t=>tt(t)===n),this.parent=h(o.parent),$t(this,!0)}get name(){return"Collapse"}get defaults(){return xt}toggle(){p(this.element,"show")?this.hide():this.show()}hide(){const{triggers:t,element:e}=this;J(e)||(Nt(this),t.length&&t.forEach(t=>S(t,"collapsed")))}show(){const t=this,{element:e,parent:n,triggers:o}=t;let s,i;n&&(s=[...q(".collapse.show",n)].find(t=>Ht(t)),i=s&&Ht(s)),n&&(!n||J(n))||J(e)||(i&&s!==e&&(Nt(i),i.triggers.forEach(t=>{S(t,"collapsed")})),function(t){const{element:e,parent:n,triggers:o}=t;m(e,kt),kt.defaultPrevented||(Z(e,()=>{},17),n&&Z(n,()=>{},17),S(e,"collapsing"),g(e,"collapse"),e.style.height=e.scrollHeight+"px",l(e,()=>{K(e),n&&K(n),o.forEach(t=>D(t,"aria-expanded","true")),g(e,"collapsing"),S(e,"collapse"),S(e,"show"),e.style.height="",m(e,At)}))}(t),o.length&&o.forEach(t=>g(t,"collapsed")))}dispose(){$t(this),super.dispose()}}f(Dt,{selector:".collapse",init:t=>new Dt(t),getInstance:Ht});const St="scroll",Ct="resize",It="ArrowUp",Rt="ArrowDown",Ot=(t,e)=>t.hasAttribute(e),Wt=(t,e)=>{f(t.style,e)},Ft=t=>t.focus(),Bt=["dropdown","dropup","dropstart","dropend"];function zt(t){const e=u(t,"A");return t&&(Ot(t,"href")&&"#"===t.href.slice(-1)||e&&Ot(e,"href")&&"#"===e.href.slice(-1))}const[Xt,jt,Yt,Vt]=Bt,qt=`[${C}="${Xt}"]`,Ut=t=>w(t,"Dropdown"),Gt=[Xt,jt],Zt=[Yt,Vt],Jt=["A","BUTTON"],Kt={offset:5,display:"dynamic"},Qt=T("show.bs."+Xt),_t=T("shown.bs."+Xt),te=T("hide.bs."+Xt),ee=T("hidden.bs."+Xt);function ne(t){const{element:e,menu:n,parentElement:o,options:s}=t,{offset:a}=s;if("static"===i(n,"position"))return;const l=V(e),r=p(o,"dropdown-menu-end");["margin","top","bottom","left","right"].forEach(t=>{n.style[t]=""});let c=Bt.find(t=>p(o,t))||Xt,d={dropdown:[a,0,0],dropup:[0,0,a],dropstart:l?[-1,0,0,a]:[-1,a,0],dropend:l?[-1,a,0]:[-1,0,0,a]};const h={dropdown:{top:"100%"},dropup:{top:"auto",bottom:"100%"},dropstart:l?{left:"100%",right:"auto"}:{left:"auto",right:"100%"},dropend:l?{left:"auto",right:"100%"}:{left:"100%",right:"auto"},menuEnd:l?{right:"auto",left:0}:{right:0,left:"auto"}},{offsetWidth:u,offsetHeight:g}=n,{clientWidth:m,clientHeight:b}=j(e),{left:v,top:w,width:T,height:y}=X(e),E=v-u-a<0,x=v+u+T+a>=m,H=w+g+a>=b,k=w+g+y+a>=b,A=w-g-a<0,P=(!l&&r||l&&!r)&&v+T-u<0,M=(l&&r||!l&&!r)&&v+u>=m;Zt.includes(c)&&E&&x&&(c=Xt),c===Yt&&(l?x:E)&&(c=Vt),c===Vt&&(l?E:x)&&(c=Yt),c===jt&&A&&!k&&(c=Xt),c===Xt&&k&&!A&&(c=jt),Zt.includes(c)&&H&&f(h[c],{top:"auto",bottom:0}),Gt.includes(c)&&(P||M)&&v+T+Math.abs(u-T)+at?t+"px":t).join(" "),Wt(n,h[c]),p(n,"dropdown-menu-end")&&Wt(n,h.menuEnd)}function oe(t){const{element:e}=t,s=t.open?n:o,i=r(e);s(i,"click",ae),s(i,"focus",ae),s(i,"keydown",re),s(i,"keyup",ce),"dynamic"===t.options.display&&[St,Ct].forEach(t=>{s(z(e),t,de,_)})}function se(t,e){(e?n:o)(t.element,"click",le)}function ie(t){const e=[...Bt,"btn-group","input-group"].map(t=>U(t+" show"),r(t)).find(t=>t.length);return e&&e.length?[...e[0].children].find(t=>Ot(t,C)):null}function ae(t){const{target:e,type:n}=t;if(!e||!e.closest)return;const o=ie(e);if(!o)return;const s=Ut(o);if(!s)return;const{parentElement:i,menu:a}=s,l=null!==u(e,qt),r=i&&i.contains(e)&&("form"===e.tagName||null!==u(e,"form"));"click"===n&&zt(e)&&t.preventDefault(),("focus"!==n||e!==o&&e!==a&&!a.contains(e))&&(r||l||s&&s.hide())}function le(t){const{target:e}=t,n=Ut(this);n&&(n.toggle(),e&&zt(e)&&t.preventDefault())}function re(t){[Rt,It].includes(t.code)&&t.preventDefault()}function ce(t){const{code:e}=t,n=ie(this),o=n&&Ut(n),s=n&&r(n).activeElement;if(!o||!s)return;const{menu:i,open:a}=o,l=function(t){return[...t.children].map(t=>{if(t&&Jt.includes(t.tagName))return t;const{firstElementChild:e}=t;return e&&Jt.includes(e.tagName)?e:null}).filter(t=>t)}(i);if(l&&l.length&&[Rt,It].includes(e)){let t=l.indexOf(s);s===n?t=0:e===It?t=t>1?t-1:0:e===Rt&&(t=t{t.relatedTarget=e}),m(s,Qt),Qt.defaultPrevented||(S(o,"show"),S(s,"show"),D(e,"aria-expanded","true"),ne(t),t.open=!n,setTimeout(()=>{Ft(e),oe(t),m(s,_t)},1))}hide(){const t=this,{element:e,open:n,menu:o,parentElement:s}=t;[te,ee].forEach(t=>{t.relatedTarget=e}),m(s,te),te.defaultPrevented||(g(o,"show"),g(s,"show"),D(e,"aria-expanded","false"),t.open=!n,setTimeout(()=>oe(t),1),m(s,ee))}dispose(){const{parentElement:t}=this;p(t,"show")&&this.open&&this.hide(),se(this),super.dispose()}}f(he,{selector:qt,init:t=>new he(t),getInstance:Ut});const ue=(t,e)=>t.removeAttribute(e);function fe(t){return r(t).body}const pe=t=>t instanceof z(t).ShadowRoot||t instanceof ShadowRoot;const ge=t=>["TABLE","TD","TH"].includes(t.tagName),me=t=>t instanceof HTMLElement;function be(t,e){const n=["HTML","BODY"];if(e){let{offsetParent:e}=t;const o=z(t);for(;e&&(ge(e)||me(e)&&!["sticky","fixed"].includes(i(e,"position")));)e=e.offsetParent;return(!e||e&&(n.includes(e.tagName)||"static"===i(e,"position")))&&(e=o),e}const o=[];let{parentNode:s}=t;for(;s&&!n.includes(s.nodeName);)s="HTML"===(a=s).nodeName?a:a.assignedSlot||a.parentNode||(pe(a)?a.host:null)||j(a),pe(s)||s.shadowRoot||ge(s)||o.push(s);var a;return o.find((t,e)=>"relative"!==i(t,"position")&&o.slice(e+1).every(t=>"static"===i(t,"position"))?t:null)||fe(t)}const ve="sticky-top",we="position-sticky",Te=t=>[...U("fixed-top",t),...U("fixed-bottom",t),...U(ve,t),...U(we,t),...U("is-fixed",t)];function ye(t){const{clientWidth:e}=j(t),{innerWidth:n}=z(t);return Math.abs(n-e)}function Ee(t,e){const n=fe(t),o=parseInt(i(n,"paddingRight"),10),s="hidden"===i(n,"overflow")&&o?0:ye(t),a=Te(n);e&&(Wt(n,{overflow:"hidden",paddingRight:o+s+"px"}),a.length&&a.forEach(t=>{const e=i(t,"paddingRight");if(t.style.paddingRight=parseInt(e,10)+s+"px",[ve,we].some(e=>p(t,e))){const e=i(t,"marginRight");t.style.marginRight=parseInt(e,10)-s+"px"}}))}const xe="modal-backdrop",He="offcanvas-backdrop",ke=r().createElement("div");function Ae(t){return h(".modal.show,.offcanvas.show",r(t))}function Pe(t){const e=t?xe:He;[xe,He].forEach(t=>{g(ke,t)}),S(ke,e)}function Me(t,e,n){Pe(n),t.append(ke),e&&S(ke,"fade")}function Ne(){S(ke,"show"),Q(ke)}function $e(){g(ke,"show")}function Le(t){Ae(t)||(g(ke,"fade"),ke.remove(),function(t){const e=fe(t);Wt(e,{paddingRight:"",overflow:""});const n=Te(e);n.length&&n.forEach(t=>{Wt(t,{paddingRight:"",marginRight:""})})}(t))}function De(t){return t&&"hidden"!==i(t,"visibility")&&null!==t.offsetParent}const Se=`[${C}="modal"]`,Ce={backdrop:!0,keyboard:!0},Ie=t=>w(t,"Modal"),Re=T("show.bs.modal"),Oe=T("shown.bs.modal"),We=T("hide.bs.modal"),Fe=T("hidden.bs.modal");function Be(t){const{element:e}=t,n=ye(e),{clientHeight:o,scrollHeight:s}=j(e),{clientHeight:i,scrollHeight:a}=e,l=i!==a;if(!l&&n){const t=V(e)?"paddingLeft":"paddingRight";e.style[t]=n+"px"}Ee(e,l||o!==s)}function ze(t,e){const s=e?n:o,{element:i}=t;s(i,"click",Ze),s(z(i),Ct,t.update,_),s(r(i),"keydown",Ge)}function Xe(t,e){const s=e?n:o,{triggers:i}=t;i.length&&i.forEach(t=>s(t,"click",Ue))}function je(t){const{triggers:e,element:n}=t;if(Le(n),n.style.paddingRight="",e.length){const t=e.find(t=>De(t));t&&Ft(t)}}function Ye(t){const{element:e,relatedTarget:n}=t;Ft(e),ze(t,!0),Oe.relatedTarget=n,m(e,Oe)}function Ve(t){const{element:e,hasFade:n}=t;e.style.display="block",Be(t),Ae(e)||(fe(e).style.overflow="hidden"),S(e,"show"),ue(e,"aria-hidden"),D(e,"aria-modal","true"),n?l(e,()=>Ye(t)):Ye(t)}function qe(t,e){const{element:n,options:o,relatedTarget:s,hasFade:i}=t;n.style.display="",o.backdrop&&!e&&i&&p(ke,"show")&&!Ae(n)?($e(),l(ke,()=>je(t))):je(t),ze(t),Fe.relatedTarget=s,m(n,Fe)}function Ue(t){const{target:e}=t,n=e&&u(this,Se),o=n&&tt(n),s=o&&Ie(o);s&&(n&&"A"===n.tagName&&t.preventDefault(),s.relatedTarget=n,s.toggle())}function Ge({code:t}){const e=h(".modal.show"),n=e&&Ie(e);if(!n)return;const{options:o}=n;o.keyboard&&"Escape"===t&&p(e,"show")&&(n.relatedTarget=null,n.hide())}function Ze(t){const e=this,n=Ie(e);if(!n||J(e))return;const{options:o,isStatic:s,modalDialog:i}=n,{backdrop:c}=o,{target:d}=t,h=r(e).getSelection().toString().length,f=i.contains(d),p=d&&u(d,'[data-bs-dismiss="modal"]');s&&!f?Z(e,()=>{S(e,"modal-static"),l(i,()=>function(t){const{element:e,modalDialog:n}=t,o=a(n)+17;g(e,"modal-static"),Z(e,()=>K(e),o)}(n))},17):(p||!h&&!s&&!f&&c)&&(n.relatedTarget=p||null,n.hide(),t.preventDefault())}class Je extends k{constructor(t,e){super(t,e);const{element:n}=this;this.modalDialog=h(".modal-dialog",n),this.triggers=[...q(Se)].filter(t=>tt(t)===n),this.isStatic="static"===this.options.backdrop,this.hasFade=p(n,"fade"),this.relatedTarget=null,this.container=be(n),Xe(this,!0),this.update=this.update.bind(this)}get name(){return"Modal"}get defaults(){return Ce}toggle(){p(this.element,"show")?this.hide():this.show()}show(){const t=this,{element:e,options:n,hasFade:o,relatedTarget:s,container:i}=t,{backdrop:l}=n;let r=0;if(p(e,"show"))return;if(Re.relatedTarget=s||null,m(e,Re),Re.defaultPrevented)return;const c=Ae(e);if(c&&c!==e){(Ie(c)||w(c,"Offcanvas")).hide()}l?(c||p(ke,"show")?Pe(!0):Me(i,o,!0),r=a(ke),p(ke,"show")||Ne(),setTimeout(()=>Ve(t),r)):(Ve(t),c&&p(ke,"show")&&$e())}hide(t){const e=this,{element:n,hasFade:o,relatedTarget:s}=e;p(n,"show")&&(We.relatedTarget=s||null,m(n,We),We.defaultPrevented||(g(n,"show"),D(n,"aria-hidden","true"),ue(n,"aria-modal"),o&&!1!==t?l(n,()=>qe(e)):qe(e,t)))}update(){p(this.element,"show")&&Be(this)}dispose(){this.hide(!0),Xe(this),super.dispose()}}f(Je,{selector:".modal",init:t=>new Je(t),getInstance:Ie});const Ke=`[${C}="offcanvas"]`,Qe={backdrop:!0,keyboard:!0,scroll:!1},_e=t=>w(t,"Offcanvas"),tn=T("show.bs.offcanvas"),en=T("shown.bs.offcanvas"),nn=T("hide.bs.offcanvas"),on=T("hidden.bs.offcanvas");function sn(t,e){const s=e?n:o;t.triggers.forEach(t=>s(t,"click",cn))}function an(t,e){const s=e?n:o,i=r(t.element);s(i,"keydown",hn),s(i,"click",dn)}function ln(t){const{element:e,options:n}=t;n.scroll||(!function(t){const{element:e}=t,{clientHeight:n,scrollHeight:o}=j(e);Ee(e,n!==o)}(t),fe(e).style.overflow="hidden"),S(e,"offcanvas-toggling"),S(e,"show"),e.style.visibility="visible",l(e,()=>function(t){const{element:e,triggers:n}=t;g(e,"offcanvas-toggling"),ue(e,"aria-hidden"),D(e,"aria-modal","true"),D(e,"role","dialog"),n.length&&n.forEach(t=>D(t,"aria-expanded","true"));m(e,en),an(t,!0),Ft(e)}(t))}function rn(t){const{element:e,options:n}=t,o=Ae(e);e.blur(),!o&&n.backdrop&&p(ke,"show")?($e(),l(ke,()=>un(t))):un(t)}function cn(t){const e=u(this,Ke),n=e&&tt(e),o=n&&_e(n);o&&(o.relatedTarget=e,o.toggle(),e&&"A"===e.tagName&&t.preventDefault())}function dn(t){const e=h(".offcanvas.show",this);if(!e)return;const n=h('[data-bs-dismiss="offcanvas"]',e),o=_e(e);if(!o)return;const{options:s,triggers:i}=o,{target:a}=t,l=u(a,Ke),c=r(e).getSelection();c&&c.toString().length||!(!e.contains(a)&&s.backdrop&&(!l||l&&!i.includes(l))||n&&n.contains(a))||(o.relatedTarget=n&&n.contains(a)?n:null,o.hide()),l&&"A"===l.tagName&&t.preventDefault()}function hn({code:t}){const e=h(".offcanvas.show",this);if(!e)return;const n=_e(e);n&&n.options.keyboard&&"Escape"===t&&(n.relatedTarget=null,n.hide())}function un(t){const{element:e,triggers:n}=t;if(D(e,"aria-hidden","true"),ue(e,"aria-modal"),ue(e,"role"),e.style.visibility="",n.length){n.forEach(t=>D(t,"aria-expanded","false"));const t=n.find(t=>De(t));t&&Ft(t)}Le(e),m(e,on),g(e,"offcanvas-toggling"),Ae(e)||an(t)}class fn extends k{constructor(t,e){super(t,e);const{element:n}=this;this.triggers=[...q(Ke)].filter(t=>tt(t)===n),this.container=be(n),this.relatedTarget=null,sn(this,!0)}get name(){return"Offcanvas"}get defaults(){return Qe}toggle(){p(this.element,"show")?this.hide():this.show()}show(){const t=this,{element:e,options:n,container:o,relatedTarget:s}=t;let i=0;if(p(e,"show"))return;if(tn.relatedTarget=s,en.relatedTarget=s,m(e,tn),tn.defaultPrevented)return;const l=Ae(e);if(l&&l!==e){(_e(l)||w(l,"Modal")).hide()}n.backdrop?(l?Pe():Me(o,!0),i=a(ke),p(ke,"show")||Ne(),setTimeout(()=>ln(t),i)):(ln(t),l&&p(ke,"show")&&$e())}hide(t){const e=this,{element:n,relatedTarget:o}=e;p(n,"show")&&(nn.relatedTarget=o,on.relatedTarget=o,m(n,nn),nn.defaultPrevented||(S(n,"offcanvas-toggling"),g(n,"show"),t?rn(e):l(n,()=>rn(e))))}dispose(){this.hide(!0),sn(this),super.dispose()}}f(fn,{selector:".offcanvas",init:t=>new fn(t),getInstance:_e});function pn(t){const e="tooltip"===t;return``}const gn=t=>t&&[SVGElement,HTMLImageElement,HTMLVideoElement].some(e=>t instanceof e);function mn(t,e,n){const o=e instanceof HTMLElement,s=X(t,o&&function(t){const{width:e,height:n}=X(t),{offsetWidth:o,offsetHeight:s}=t;return Math.round(e)!==o||Math.round(n)!==s}(e)),i={x:0,y:0};if(o){const t=X(e,!0);i.x=t.x+e.clientLeft,i.y=t.y+e.clientTop}return{x:s.left+n.x-i.x,y:s.top+n.y-i.y,width:s.width,height:s.height}}var bn={top:"top",bottom:"bottom",left:"start",right:"end"};function vn(t,e){const n=/\b(top|bottom|start|end)+/,{element:o,tooltip:s,options:a,arrow:l,offsetParent:r}=t,c={...bn};Wt(s,{top:"0px",left:"0px",right:""});const d="Popover"===t.name,h=s.offsetWidth,u=s.offsetHeight,f=V(o);f&&(c.left="end",c.right="start");const p=j(o),g=p.clientWidth,m=p.clientHeight,{container:b}=a;let{placement:v}=a;const{left:w,right:T,top:y}=X(b,!0),E=b.clientWidth,x=Math.abs(E-b.offsetWidth),H=i(b,"position"),k="fixed"===H,A="static"===H,P="sticky"===H&&y===parseFloat(i(b,"top")),M=f&&k?x:0,N=k?E+w+(f?x:0):E+w+(g-T)-1,{width:$,height:L,left:D,right:S,top:C}=X(o,!0),I=function(t){const e="scrollX"in t;return{x:e?t.scrollX:t.scrollLeft,y:e?t.scrollY:t.scrollTop}}(r),{x:R,y:O}=mn(o,r,I);let W,F,B,z,Y,q;Wt(l,{top:"",left:"",right:""});const U=l.offsetWidth||0,G=l.offsetHeight||0,Z=U/2;let J=C-u-G<0,K=C+u+L+G>=m,Q=D-h-U=N;const tt=["left","right"],et=["top","bottom"];if(J=tt.includes(v)?C+L/2-u/2-G<0:J,K=tt.includes(v)?C+u/2+L/2+G>=m:K,Q=et.includes(v)?D+$/2-h/2=N:_,v=tt.includes(v)&&Q&&_?"top":v,v="top"===v&&J?"bottom":v,v="bottom"===v&&K?"top":v,v="left"===v&&Q?"right":v,v="right"===v&&_?"left":v,s.className.includes(v)||(s.className=s.className.replace(n,c[v])),tt.includes(v))F="left"===v?R-h-(d?U:0):R+$+(d?U:0),J?(W=O,W+=P?-y-I.y:0,z=L/2-U):K?(W=O-u+L,W+=P?-y-I.y:0,z=u-L/2-U):(W=O-u/2+L/2,W+=P?-y-I.y:0,z=u/2-G/2);else if(et.includes(v))if(e&&gn(o)){let t=0,n=0;A?(t=e.pageX,n=e.pageY):(t=e.clientX-w+(k?I.x:0),n=e.clientY-y+(k?I.y:0)),t-=f&&k&&x?x:0,W="top"===v?n-u-U:n+U,e.clientX-h/2N?(F="auto",B=0,q=N-t-Z,q-=k?w+(f?x:0):0):(F=t-h/2,Y=h/2-Z)}else W="top"===v?O-u-(d?G:0):O+L+(d?G:0),Q?(F=0,Y=R+$/2-Z):_?(F="auto",B=0,q=$/2+N-S-Z):(F=R-h/2+$/2,Y=h/2-Z);Wt(s,{top:W+"px",left:"auto"===F?F:F+"px",right:void 0!==B?B+"px":""}),l instanceof HTMLElement&&(void 0!==z&&(l.style.top=z+"px"),void 0!==Y?l.style.left=Y+"px":void 0!==q&&(l.style.right=q+"px"))}const wn={template:pn("tooltip"),title:null,customClass:null,trigger:"hover focus",placement:"top",sanitizeFn:null,animation:!0,delay:200,container:null},Tn="focusin",yn="focusout";let En=1;const xn=new Map;const{userAgentData:Hn}=navigator,kn=Hn,{userAgent:An}=navigator,Pn=An,Mn=/(iPhone|iPod|iPad)/,Nn=kn?kn.brands.some(t=>Mn.test(t.brand)):Mn.test(Pn);function $n(t,e,n){if("string"!=typeof e||e.length)if("string"==typeof e){let o=e.trim();"function"==typeof n&&(o=n(o));const s=(new DOMParser).parseFromString(o,"text/html"),{body:i}=s,a=i.children.length?"innerHTML":"innerText";t[a]=i[a]}else e instanceof HTMLElement&&t.append(e)}function Ln(t,e){return t instanceof HTMLElement&&e.contains(t)}const Dn=`[${C}="tooltip"],[data-tip="tooltip"]`;let Sn=t=>w(t,"Tooltip");function Cn(t){const{element:e}=t;Wn(t),e.hasAttribute("data-original-title")&&"tooltip"===t.name&&Bn(t)}function In(t,e){const s=e?n:o,{element:i}=t;s(r(i),"touchstart",t.handleTouch,_),gn(i)||[St,Ct].forEach(e=>{s(z(i),e,t.update,_)})}function Rn(t){const{element:e}=t,n=T("shown.bs."+H(t.name));In(t,!0),m(e,n),K(e,"in")}function On(t){const{element:e}=t,n=T("hidden.bs."+H(t.name));In(t),function(t){const{element:e,tooltip:n}=t;ue(e,"aria-describedby"),n.remove()}(t),m(e,n),K(e,"out")}function Wn(t,e){const s=e?n:o,{element:i,options:a,btn:l}=t,{trigger:c,dismissible:d}=a;if(c.includes("manual"))return;t.enabled=!!e;const h=c.split(" "),u=gn(i);u&&s(i,"mousemove",t.update,_),h.forEach(e=>{u||"hover"===e?(s(i,"mousedown",t.show),s(i,F,t.show),d&&l?s(l,"click",t.hide):(s(i,B,t.hide),s(r(i),"touchstart",t.handleTouch,_))):"click"===e?s(i,e,d?t.show:t.toggle):"focus"===e&&(s(i,Tn,t.show),d||s(i,yn,t.hide),Nn&&s(i,"click",()=>Ft(i)))})}function Fn(t,e){const s=e?n:o,{element:i,options:a,offsetParent:l}=t,{container:r}=a,{offsetHeight:c,scrollHeight:d}=r,h=u(i,".modal"),f=u(i,".offcanvas");if(!gn(i)){const e=z(i),n=c!==d||l!==e?r:e;s(e,Ct,t.update,_),s(n,St,t.update,_)}h&&s(h,"hide.bs.modal",t.hide),f&&s(f,"hide.bs.offcanvas",t.hide)}function Bn(t,e){const n=["data-original-title","title"],{element:o}=t;D(o,n[e?0:1],e||y(o,n[0])),ue(o,n[e?1:0])}class zn extends k{constructor(t,e){super(t,e);const n=this,{element:o}=n,s="Tooltip"===n.name,a=s?"tooltip":"popover",l=s?"Tooltip":"Popover";Sn=t=>w(t,l),n.tooltip={},s||(n.btn=null),n.arrow={},n.offsetParent={},n.enabled=!0,n.id=`${a}-${function(t,e){En+=1;let n=xn.get(t),o=En;if(e&&e.length)if(n){const t=n.get(e);Number.isNaN(t)?n.set(e,o):o=t}else xn.set(t,new Map),n=xn.get(t),n.set(e,o);else Number.isNaN(n)?xn.set(t,o):o=n;return o}(o,a)}`;const{options:c}=n;if(!c.title&&s||!s&&!c.content)return;const d=h(c.container),u=be(o);n.options.container=!d||d&&["static","relative"].includes(i(d,"position"))?u:d||fe(o),wn.title=null,n.handleTouch=n.handleTouch.bind(n),n.update=n.update.bind(n),n.show=n.show.bind(n),n.hide=n.hide.bind(n),n.toggle=n.toggle.bind(n),o.hasAttribute("title")&&s&&Bn(n,c.title),function(t){const{id:e,element:n,options:o}=t,{animation:s,customClass:i,sanitizeFn:a,placement:l,dismissible:c}=o;let{title:d,content:u}=o;const f="Tooltip"===t.name,g=f?"tooltip":"popover",{template:m,btnClose:b}=o,v={...bn};V(n)&&(v.left="end",v.right="start");const w=`bs-${g}-${v[l]}`;let T;if([Element,HTMLElement].some(t=>m instanceof t))T=m;else{const t=r(n).createElement("div");$n(t,m,a),T=t.firstElementChild}t.tooltip=T&&T.cloneNode(!0);const{tooltip:y}=t;D(y,"id",e),D(y,"role","tooltip");const E=f?"tooltip-inner":"popover-body",x=f?null:h(".popover-header",y),H=h("."+E,y);t.arrow=h(`.${g}-arrow`,y),c&&(d?d instanceof HTMLElement?$n(d,b,a):d+=b:(x&&x.remove(),u instanceof HTMLElement?$n(u,b,a):u+=b)),f?d&&H&&$n(H,d,a):(d&&x&&$n(x,d,a),u&&H&&$n(H,u,a),t.btn=h(".btn-close",y)),p(y,g)||S(y,g),s&&!p(y,"fade")&&S(y,"fade"),i&&!p(y,i)&&S(y,i),p(y,w)||S(y,w)}(n),Wn(n,!0)}get name(){return"Tooltip"}get defaults(){return wn}show(t){const e=this,{options:n,tooltip:o,element:s,id:i}=e,{container:a,animation:r}=n,c=J(s,"out");K(s,"out"),!o||c||Ln(o,a)||Z(s,()=>{const n=T("show.bs."+H(e.name));m(s,n),n.defaultPrevented||(a.append(o),D(s,"aria-describedby","#"+i),e.offsetParent=be(o,!0),e.update(t),Fn(e,!0),p(o,"show")||S(o,"show"),r?l(o,()=>Rn(e)):Rn(e))},17,"in")}hide(){const t=this,{options:e,tooltip:n,element:o}=t,{container:s,animation:i,delay:a}=e;K(o,"in"),n&&Ln(n,s)&&Z(o,()=>{const e=T("hide.bs."+H(t.name));m(o,e),e.defaultPrevented||(g(n,"show"),Fn(t),i?l(n,()=>On(t)):On(t))},a+17,"out")}update(t){vn(this,t)}toggle(t){const{tooltip:e,options:n}=this;Ln(e,n.container)?this.hide():this.show(t)}enable(){const t=this,{enabled:e}=t;e||(Wn(t,!0),t.enabled=!e)}disable(){const t=this,{element:e,tooltip:n,options:o,enabled:s}=t,{animation:i,container:l,delay:r}=o;s&&(Ln(n,l)&&i?(t.hide(),Z(e,()=>{Wn(t),K(e,"tooltip")},a(n)+r+17,"tooltip")):Wn(t),t.enabled=!s)}toggleEnabled(){this.enabled?this.disable():this.enable()}handleTouch({target:t}){const{tooltip:e,element:n}=this;e.contains(t)||t===n||t&&n.contains(t)||this.hide()}dispose(){const t=this,{tooltip:e,options:n}=t;n.animation&&Ln(e,n.container)?(n.delay=0,t.hide(),l(e,()=>Cn(t))):Cn(t),super.dispose()}}f(zn,{selector:Dn,init:t=>new zn(t),getInstance:Sn,styleTip:vn});const Xn=`[${C}="popover"],[data-tip="popover"]`,jn={...wn,template:pn("popover"),btnClose:'',dismissible:!1,content:null};class Yn extends zn{constructor(t,e){super(t,e)}get name(){return"Popover"}get defaults(){return jn}show(){super.show();const{options:t,btn:e}=this;t.dismissible&&e&&setTimeout(()=>Ft(e),17)}}function Vn(t,e){return(e&&c.some(t=>e instanceof t)?e:r()).getElementsByTagName(t)}f(Yn,{selector:Xn,init:t=>new Yn(t),getInstance:t=>w(t,"Popover"),styleTip:vn});const qn={offset:10,target:null},Un=T("activate.bs.scrollspy");function Gn(t){const{target:e,scrollTarget:n,options:o,itemsLength:s,scrollHeight:i,element:a}=t,{offset:l}=o,c=n instanceof Window,d=e&&Vn("A",e),u=n&&function(t){return t instanceof HTMLElement?t.scrollHeight:j(t).scrollHeight}(n);if(t.scrollTop=c?n.scrollY:n.scrollTop,d&&(s!==d.length||u!==i)){let e,n,o;t.items=[],t.offsets=[],t.scrollHeight=u,t.maxScroll=t.scrollHeight-function({element:t,scrollTarget:e}){return e instanceof Window?e.innerHeight:X(t).height}(t),[...d].forEach(s=>{e=y(s,"href"),n=e&&"#"===e.charAt(0)&&"#"!==e.slice(-1)&&h(e,r(a)),n&&(t.items.push(s),o=X(n),t.offsets.push((c?o.top+t.scrollTop:n.offsetTop)-l))}),t.itemsLength=t.items.length}}function Zn(t){[...Vn("A",t)].forEach(t=>{p(t,"active")&&g(t,"active")})}function Jn(t,e){const{target:n,element:o}=t;Zn(n),t.activeItem=e,S(e,"active");const s=[];let i=e;for(;i!==fe(o);)i=i.parentElement,(p(i,"nav")||p(i,"dropdown-menu"))&&s.push(i);s.forEach(t=>{const e=t.previousElementSibling;e&&!p(e,"active")&&S(e,"active")}),Un.relatedTarget=e,m(o,Un)}function Kn(t,e){(e?n:o)(t.scrollTarget,St,t.refresh,_)}class Qn extends k{constructor(t,e){super(t,e);const{element:n,options:o}=this;if(this.target=h(o.target,r(n)),!this.target)return;const s=z(n);this.scrollTarget=n.clientHeight=o){const e=i[s-1];return void(a!==e&&Jn(t,e))}const{offsets:l}=t;if(a&&n0)return t.activeItem=null,void Zn(e);i.forEach((e,o)=>{a!==e&&n>=l[o]&&(void 0===l[o+1]||nnew Qn(t),getInstance:t=>w(t,"ScrollSpy")});const _n=`[${C}="tab"]`,to=t=>w(t,"Tab"),eo=T("show.bs.tab"),no=T("shown.bs.tab"),oo=T("hide.bs.tab"),so=T("hidden.bs.tab"),io=new Map;function ao(t){const{tabContent:e,nav:n}=t;e&&(e.style.height="",g(e,"collapsing")),n&&K(n)}function lo(t){const{element:e,tabContent:n,nav:o}=t,{currentHeight:s,nextHeight:i}=io.get(e),{tab:a}=o&&io.get(o);n?s===i?ao(t):setTimeout(()=>{n.style.height=i+"px",Q(n),l(n,()=>ao(t))},50):o&&K(o),no.relatedTarget=a,m(e,no)}function ro(t){const{element:e,content:n,tabContent:o,nav:s}=t,{tab:i,content:a}=s&&io.get(s);let r=0;if(o&&([a,n].forEach(t=>S(t,"overflow-hidden")),r=a.scrollHeight),eo.relatedTarget=i,so.relatedTarget=e,m(e,eo),!eo.defaultPrevented){if(S(n,"active"),g(a,"active"),o){const t=n.scrollHeight;io.set(e,{currentHeight:r,nextHeight:t}),S(o,"collapsing"),o.style.height=r+"px",Q(o),[a,n].forEach(t=>g(t,"overflow-hidden"))}n&&p(n,"fade")?setTimeout(()=>{S(n,"show"),l(n,()=>{lo(t)})},17):lo(t),m(i,so)}}function co(t,e){(e?n:o)(t.element,"click",ho)}function ho(t){const e=to(this);e&&(t.preventDefault(),e.show())}class uo extends k{constructor(t){super(t);const{element:e}=this,n=tt(e);if(!n)return;const o=u(e,".nav"),s=u(n,".tab-content");this.nav=o,this.content=n,this.tabContent=s,this.dropdown=o&&h(`.${Bt[0]}-toggle`,o),co(this,!0)}get name(){return"Tab"}show(){const t=this,{element:e,nav:n,dropdown:o}=t;if(!(n&&J(n)||p(e,"active"))){const{tab:s,content:i}=function(t){const{nav:e}=t,n=U("active",e);let o;return 1!==n.length||Bt.some(t=>p(n[0].parentElement,t))?n.length>1&&(o=n[n.length-1]):[o]=n,{tab:o,content:o?tt(o):null}}(t);if(n&&io.set(n,{tab:s,content:i}),oo.relatedTarget=e,m(s,oo),oo.defaultPrevented)return;n&&Z(n,()=>{},17),g(s,"active"),D(s,"aria-selected","false"),S(e,"active"),D(e,"aria-selected","true"),o&&(p(e.parentNode,"dropdown-menu")?p(o,"active")||S(o,"active"):p(o,"active")&&g(o,"active")),p(i,"fade")?(g(i,"show"),l(i,()=>ro(t))):ro(t)}}dispose(){co(this),super.dispose()}}f(uo,{selector:_n,init:t=>new uo(t),getInstance:to});const fo={animation:!0,autohide:!0,delay:5e3},po=t=>w(t,"Toast"),go=T("show.bs.toast"),mo=T("shown.bs.toast"),bo=T("hide.bs.toast"),vo=T("hidden.bs.toast");function wo(t){const{element:e,options:n}=t;g(e,"showing"),K(e,"showing"),m(e,mo),n.autohide&&Z(e,()=>t.hide(),n.delay,"toast")}function To(t){const{element:e}=t;g(e,"showing"),g(e,"show"),S(e,"hide"),K(e,"toast"),m(e,vo)}function yo(t,e){const s=e?n:o,{element:i,dismiss:a,options:l}=t;a&&s(a,"click",t.hide),l.autohide&&[Tn,yn,F,B].forEach(t=>s(i,t,Eo))}function Eo(t){const e=this,n=po(e),{type:o,relatedTarget:s}=t;n&&e!==s&&!e.contains(s)&&([F,Tn].includes(o)?K(e,"toast"):Z(e,()=>n.hide(),n.options.delay,"toast"))}class xo extends k{constructor(t,e){super(t,e);const{element:n,options:o}=this;o.animation&&!p(n,"fade")?S(n,"fade"):!o.animation&&p(n,"fade")&&g(n,"fade"),this.dismiss=h('[data-bs-dismiss="toast"]',n),this.show=this.show.bind(this),this.hide=this.hide.bind(this),yo(this,!0)}get name(){return"Toast"}get defaults(){return fo}show(){const t=this,{element:e}=t;if(e&&!p(e,"show")){if(m(e,go),go.defaultPrevented)return;!function(t){const{element:e,options:n}=t;Z(e,()=>{g(e,"hide"),Q(e),S(e,"show"),S(e,"showing"),n.animation?l(e,()=>wo(t)):wo(t)},17,"showing")}(t)}}hide(){const t=this,{element:e}=t;if(e&&p(e,"show")){if(m(e,bo),bo.defaultPrevented)return;!function(t){const{element:e,options:n}=t;S(e,"showing"),n.animation?(Q(e),l(e,()=>To(t))):To(t)}(t)}}dispose(){const{element:t}=this;p(t,"show")&&g(t,"show"),function(t){K(t.element,"toast"),yo(t)}(this),super.dispose()}}f(xo,{selector:".toast",init:t=>new xo(t),getInstance:po});const Ho={Alert:L,Button:W,Carousel:yt,Collapse:Dt,Dropdown:he,Modal:Je,Offcanvas:fn,Popover:Yn,ScrollSpy:Qn,Tab:uo,Toast:xo,Tooltip:zn};function ko(t){const e=[...Vn("*",t&&c.some(e=>t instanceof e)?t:void 0)];x(Ho).forEach(t=>{const{init:n,selector:o}=Ho[t];var s,i;s=n,i=e.filter(t=>function(t,e){return t.matches(e)}(t,o)),[...i].forEach(t=>s(t))})}document.body?ko():n(document,"DOMContentLoaded",()=>ko(),{once:!0});return{Alert:L,Button:W,Carousel:yt,Collapse:Dt,Dropdown:he,Modal:Je,Offcanvas:fn,Popover:Yn,ScrollSpy:Qn,Tab:uo,Toast:xo,Tooltip:zn,initCallback:ko,removeDataAPI:function(t){const e=t&&c.some(e=>t instanceof e)?t:void 0;x(Ho).forEach(t=>{!function(t,e){const n=v.getAllFor(t);n&&[...n].forEach(t=>{const[n,o]=t;e&&e.contains(n)&&o.dispose()})}(t,e)})},Version:"4.1.0alpha7",EventListener:s}})); diff --git a/dist/components/alert-native.esm.js b/dist/components/alert-native.esm.js index 288768b4..46c34a90 100644 --- a/dist/components/alert-native.esm.js +++ b/dist/components/alert-native.esm.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Alert v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Alert v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -22,9 +22,7 @@ const transitionEndEvent = 'transitionend'; const transitionDelay = 'transitionDelay'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -106,7 +104,7 @@ function emulateTransitionEnd(element, handler) { if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -193,7 +191,7 @@ const ObjectAssign = (obj, source) => Object.assign(obj, source); * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -204,6 +202,7 @@ function hasClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -428,8 +427,9 @@ const alertComponent = 'Alert'; /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -526,7 +526,7 @@ function normalizeOptions(element, defaultOps, inputOps, ns) { return normalOps; } -var version = "4.1.0alpha6"; +var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/alert-native.js b/dist/components/alert-native.js index a0b3acb1..a72159c7 100644 --- a/dist/components/alert-native.js +++ b/dist/components/alert-native.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Alert v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Alert v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -28,9 +28,7 @@ const transitionDelay = 'transitionDelay'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -112,7 +110,7 @@ if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -199,7 +197,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -210,6 +208,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -434,8 +433,9 @@ /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -532,7 +532,7 @@ return normalOps; } - var version = "4.1.0alpha6"; + var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/button-native.esm.js b/dist/components/button-native.esm.js index 8f87bf5c..7d56edde 100644 --- a/dist/components/button-native.esm.js +++ b/dist/components/button-native.esm.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Button v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Button v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -20,6 +20,7 @@ const mouseclickEvent = 'click'; * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name * @param {string} value attribute value + * @returns {void} */ const setAttribute = (element, attribute, value) => element.setAttribute(attribute, value); @@ -35,6 +36,7 @@ const ObjectAssign = (obj, source) => Object.assign(obj, source); * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -45,7 +47,7 @@ function addClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -56,6 +58,7 @@ function hasClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -290,8 +293,9 @@ const buttonComponent = 'Button'; /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -388,7 +392,7 @@ function normalizeOptions(element, defaultOps, inputOps, ns) { return normalOps; } -var version = "4.1.0alpha6"; +var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/button-native.js b/dist/components/button-native.js index 034f6b23..c08666a7 100644 --- a/dist/components/button-native.js +++ b/dist/components/button-native.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Button v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Button v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -26,6 +26,7 @@ * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name * @param {string} value attribute value + * @returns {void} */ const setAttribute = (element, attribute, value) => element.setAttribute(attribute, value); @@ -41,6 +42,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -51,7 +53,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -62,6 +64,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -296,8 +299,9 @@ /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -394,7 +398,7 @@ return normalOps; } - var version = "4.1.0alpha6"; + var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/carousel-native.esm.js b/dist/components/carousel-native.esm.js index ecd2b2dc..15087d6f 100644 --- a/dist/components/carousel-native.esm.js +++ b/dist/components/carousel-native.esm.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Carousel v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Carousel v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -97,9 +97,7 @@ function getDocument(node) { const transitionDuration = 'transitionDuration'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -281,8 +279,9 @@ function getElementsByClassName(selector, parent) { /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -298,7 +297,7 @@ const Timer = { * @param {HTMLElement | Element | string} target target element * @param {ReturnType} callback the callback * @param {number} delay the execution delay - * @param {string=} key a unique + * @param {string=} key a unique key */ set: (target, callback, delay, key) => { const element = querySelector(target); @@ -422,7 +421,7 @@ function emulateTransitionEnd(element, handler) { if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -552,6 +551,7 @@ function OriginalEvent(EventType, config) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -562,7 +562,7 @@ function addClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -573,6 +573,7 @@ function hasClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -813,7 +814,7 @@ function normalizeOptions(element, defaultOps, inputOps, ns) { return normalOps; } -var version = "4.1.0alpha6"; +var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/carousel-native.js b/dist/components/carousel-native.js index 524d4af0..6e39b5ab 100644 --- a/dist/components/carousel-native.js +++ b/dist/components/carousel-native.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Carousel v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Carousel v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -103,9 +103,7 @@ const transitionDuration = 'transitionDuration'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -287,8 +285,9 @@ /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -304,7 +303,7 @@ * @param {HTMLElement | Element | string} target target element * @param {ReturnType} callback the callback * @param {number} delay the execution delay - * @param {string=} key a unique + * @param {string=} key a unique key */ set: (target, callback, delay, key) => { const element = querySelector(target); @@ -428,7 +427,7 @@ if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -558,6 +557,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -568,7 +568,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -579,6 +579,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -819,7 +820,7 @@ return normalOps; } - var version = "4.1.0alpha6"; + var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/collapse-native.esm.js b/dist/components/collapse-native.esm.js index 32aa4e1e..f246c30e 100644 --- a/dist/components/collapse-native.esm.js +++ b/dist/components/collapse-native.esm.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Collapse v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Collapse v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -8,6 +8,7 @@ * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name * @param {string} value attribute value + * @returns {void} */ const setAttribute = (element, attribute, value) => element.setAttribute(attribute, value); @@ -24,9 +25,7 @@ const transitionEndEvent = 'transitionend'; const transitionDelay = 'transitionDelay'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -108,7 +107,7 @@ function emulateTransitionEnd(element, handler) { if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -211,6 +210,7 @@ const reflow = (element) => element.offsetHeight; * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -221,7 +221,7 @@ function addClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -232,6 +232,7 @@ function hasClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -351,7 +352,7 @@ const Timer = { * @param {HTMLElement | Element | string} target target element * @param {ReturnType} callback the callback * @param {number} delay the execution delay - * @param {string=} key a unique + * @param {string=} key a unique key */ set: (target, callback, delay, key) => { const element = querySelector(target); @@ -551,8 +552,9 @@ const collapseComponent = 'Collapse'; /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -684,7 +686,7 @@ function normalizeOptions(element, defaultOps, inputOps, ns) { return normalOps; } -var version = "4.1.0alpha6"; +var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/collapse-native.js b/dist/components/collapse-native.js index e5fb98d6..1409cf04 100644 --- a/dist/components/collapse-native.js +++ b/dist/components/collapse-native.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Collapse v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Collapse v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -14,6 +14,7 @@ * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name * @param {string} value attribute value + * @returns {void} */ const setAttribute = (element, attribute, value) => element.setAttribute(attribute, value); @@ -30,9 +31,7 @@ const transitionDelay = 'transitionDelay'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -114,7 +113,7 @@ if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -217,6 +216,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -227,7 +227,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -238,6 +238,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -357,7 +358,7 @@ * @param {HTMLElement | Element | string} target target element * @param {ReturnType} callback the callback * @param {number} delay the execution delay - * @param {string=} key a unique + * @param {string=} key a unique key */ set: (target, callback, delay, key) => { const element = querySelector(target); @@ -557,8 +558,9 @@ /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -690,7 +692,7 @@ return normalOps; } - var version = "4.1.0alpha6"; + var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/dropdown-native.esm.js b/dist/components/dropdown-native.esm.js index f9ef2a26..6e5504ad 100644 --- a/dist/components/dropdown-native.esm.js +++ b/dist/components/dropdown-native.esm.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Dropdown v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Dropdown v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -68,6 +68,7 @@ const keyEscape = 'Escape'; * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name * @param {string} value attribute value + * @returns {void} */ const setAttribute = (element, attribute, value) => element.setAttribute(attribute, value); @@ -75,6 +76,7 @@ const setAttribute = (element, attribute, value) => element.setAttribute(attribu * Shortcut for `HTMLElement.hasAttribute()` method. * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name + * @returns {boolean} the query result */ const hasAttribute = (element, attribute) => element.hasAttribute(attribute); @@ -283,6 +285,7 @@ function OriginalEvent(EventType, config) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -293,7 +296,7 @@ function addClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -304,6 +307,7 @@ function hasClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -537,8 +541,9 @@ function isEmptyAnchor(element) { /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -635,7 +640,7 @@ function normalizeOptions(element, defaultOps, inputOps, ns) { return normalOps; } -var version = "4.1.0alpha6"; +var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/dropdown-native.js b/dist/components/dropdown-native.js index 1fac7370..b956166d 100644 --- a/dist/components/dropdown-native.js +++ b/dist/components/dropdown-native.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Dropdown v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Dropdown v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -74,6 +74,7 @@ * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name * @param {string} value attribute value + * @returns {void} */ const setAttribute = (element, attribute, value) => element.setAttribute(attribute, value); @@ -81,6 +82,7 @@ * Shortcut for `HTMLElement.hasAttribute()` method. * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name + * @returns {boolean} the query result */ const hasAttribute = (element, attribute) => element.hasAttribute(attribute); @@ -289,6 +291,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -299,7 +302,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -310,6 +313,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -543,8 +547,9 @@ /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -641,7 +646,7 @@ return normalOps; } - var version = "4.1.0alpha6"; + var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/modal-native.esm.js b/dist/components/modal-native.esm.js index 320c752f..dcb9af6d 100644 --- a/dist/components/modal-native.esm.js +++ b/dist/components/modal-native.esm.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Modal v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Modal v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -44,6 +44,7 @@ const keydownEvent = 'keydown'; * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name * @param {string} value attribute value + * @returns {void} */ const setAttribute = (element, attribute, value) => element.setAttribute(attribute, value); @@ -51,6 +52,7 @@ const setAttribute = (element, attribute, value) => element.setAttribute(attribu * Shortcut for `HTMLElement.removeAttribute()` method. * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name + * @returns {void} */ const removeAttribute = (element, attribute) => element.removeAttribute(attribute); @@ -61,9 +63,7 @@ const removeAttribute = (element, attribute) => element.removeAttribute(attribut const transitionDuration = 'transitionDuration'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -222,6 +222,7 @@ function closest(element, selector) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -232,7 +233,7 @@ function addClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -243,6 +244,7 @@ function hasClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -342,7 +344,7 @@ const Timer = { * @param {HTMLElement | Element | string} target target element * @param {ReturnType} callback the callback * @param {number} delay the execution delay - * @param {string=} key a unique + * @param {string=} key a unique key */ set: (target, callback, delay, key) => { const element = querySelector(target); @@ -480,7 +482,7 @@ function emulateTransitionEnd(element, handler) { if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -745,8 +747,9 @@ function getElementContainer(element, getOffset) { /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -1091,7 +1094,7 @@ function normalizeOptions(element, defaultOps, inputOps, ns) { return normalOps; } -var version = "4.1.0alpha6"; +var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/modal-native.js b/dist/components/modal-native.js index 28f83e50..ba303c91 100644 --- a/dist/components/modal-native.js +++ b/dist/components/modal-native.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Modal v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Modal v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -50,6 +50,7 @@ * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name * @param {string} value attribute value + * @returns {void} */ const setAttribute = (element, attribute, value) => element.setAttribute(attribute, value); @@ -57,6 +58,7 @@ * Shortcut for `HTMLElement.removeAttribute()` method. * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name + * @returns {void} */ const removeAttribute = (element, attribute) => element.removeAttribute(attribute); @@ -67,9 +69,7 @@ const transitionDuration = 'transitionDuration'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -228,6 +228,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -238,7 +239,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -249,6 +250,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -348,7 +350,7 @@ * @param {HTMLElement | Element | string} target target element * @param {ReturnType} callback the callback * @param {number} delay the execution delay - * @param {string=} key a unique + * @param {string=} key a unique key */ set: (target, callback, delay, key) => { const element = querySelector(target); @@ -486,7 +488,7 @@ if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -751,8 +753,9 @@ /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -1097,7 +1100,7 @@ return normalOps; } - var version = "4.1.0alpha6"; + var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/offcanvas-native.esm.js b/dist/components/offcanvas-native.esm.js index 530d33d4..c20835bd 100644 --- a/dist/components/offcanvas-native.esm.js +++ b/dist/components/offcanvas-native.esm.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Offcanvas v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Offcanvas v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -44,6 +44,7 @@ const keyEscape = 'Escape'; * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name * @param {string} value attribute value + * @returns {void} */ const setAttribute = (element, attribute, value) => element.setAttribute(attribute, value); @@ -51,6 +52,7 @@ const setAttribute = (element, attribute, value) => element.setAttribute(attribu * Shortcut for `HTMLElement.removeAttribute()` method. * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name + * @returns {void} */ const removeAttribute = (element, attribute) => element.removeAttribute(attribute); @@ -130,7 +132,7 @@ function closest(element, selector) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -141,6 +143,7 @@ function hasClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -151,6 +154,7 @@ function addClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -183,9 +187,7 @@ function getDocumentBody(node) { const transitionDuration = 'transitionDuration'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -281,7 +283,7 @@ function emulateTransitionEnd(element, handler) { if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -525,8 +527,9 @@ const offcanvasComponent = 'Offcanvas'; /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -1003,7 +1006,7 @@ function normalizeOptions(element, defaultOps, inputOps, ns) { return normalOps; } -var version = "4.1.0alpha6"; +var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/offcanvas-native.js b/dist/components/offcanvas-native.js index 73990c3c..b54508a0 100644 --- a/dist/components/offcanvas-native.js +++ b/dist/components/offcanvas-native.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Offcanvas v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Offcanvas v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -50,6 +50,7 @@ * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name * @param {string} value attribute value + * @returns {void} */ const setAttribute = (element, attribute, value) => element.setAttribute(attribute, value); @@ -57,6 +58,7 @@ * Shortcut for `HTMLElement.removeAttribute()` method. * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name + * @returns {void} */ const removeAttribute = (element, attribute) => element.removeAttribute(attribute); @@ -136,7 +138,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -147,6 +149,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -157,6 +160,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -189,9 +193,7 @@ const transitionDuration = 'transitionDuration'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -287,7 +289,7 @@ if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -531,8 +533,9 @@ /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -1009,7 +1012,7 @@ return normalOps; } - var version = "4.1.0alpha6"; + var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/popover-native.esm.js b/dist/components/popover-native.esm.js index e63d474c..88943ec4 100644 --- a/dist/components/popover-native.esm.js +++ b/dist/components/popover-native.esm.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Popover v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Popover v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -629,13 +629,15 @@ const touchstartEvent = 'touchstart'; * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name * @param {string} value attribute value + * @returns {void} */ const setAttribute = (element, attribute, value) => element.setAttribute(attribute, value); /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -643,6 +645,7 @@ const getAttribute = (element, attribute) => element.getAttribute(attribute); * Shortcut for `HTMLElement.removeAttribute()` method. * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name + * @returns {void} */ const removeAttribute = (element, attribute) => element.removeAttribute(attribute); @@ -684,9 +687,7 @@ function getDocumentBody(node) { const transitionDuration = 'transitionDuration'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -709,6 +710,42 @@ function getElementTransitionDuration(element) { return !Number.isNaN(duration) ? duration : 0; } +let elementUID = 1; +const elementIDMap = new Map(); + +/** + * Returns a unique identifier for popover, tooltip, scrollspy. + * + * @param {HTMLElement | Element} element target element + * @param {string=} key predefined key + * @returns {number} an existing or new unique ID + */ +function getUID(element, key) { + elementUID += 1; + let elMap = elementIDMap.get(element); + let result = elementUID; + + if (key && key.length) { + if (elMap) { + const elMapId = elMap.get(key); + if (!Number.isNaN(elMapId)) { + result = elMapId; + } else { + elMap.set(key, result); + } + } else { + elementIDMap.set(element, new Map()); + elMap = elementIDMap.get(element); + elMap.set(key, result); + } + } else if (!Number.isNaN(elMap)) { + result = elMap; + } else { + elementIDMap.set(element, result); + } + return result; +} + /** * Shortcut for `HTMLElement.closest` method which also works * with children of `ShadowRoot`. The order of the parameters @@ -731,6 +768,7 @@ function closest(element, selector) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -741,7 +779,7 @@ function addClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -752,6 +790,7 @@ function hasClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -841,7 +880,7 @@ function emulateTransitionEnd(element, handler) { if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -871,7 +910,7 @@ const Timer = { * @param {HTMLElement | Element | string} target target element * @param {ReturnType} callback the callback * @param {number} delay the execution delay - * @param {string=} key a unique + * @param {string=} key a unique key */ set: (target, callback, delay, key) => { const element = querySelector(target); @@ -934,42 +973,6 @@ const Timer = { }, }; -let elementUID = 1; -const elementIDMap = new Map(); - -/** - * Returns a unique identifier for popover, tooltip, scrollspy. - * - * @param {HTMLElement | Element} element target element - * @param {string=} key predefined key - * @returns {number} an existing or new unique ID - */ -function getUID(element, key) { - elementUID += 1; - let elMap = elementIDMap.get(element); - let result = elementUID; - - if (key && key.length) { - if (elMap) { - const elMapId = elMap.get(key); - if (!Number.isNaN(elMapId)) { - result = elMapId; - } else { - elMap.set(key, result); - } - } else { - elementIDMap.set(element, new Map()); - elMap = elementIDMap.get(element); - elMap.set(key, result); - } - } else if (!Number.isNaN(elMap)) { - result = elMap; - } else { - elementIDMap.set(element, result); - } - return result; -} - /** * Returns a namespaced `CustomEvent` specific to each component. * @param {string} EventType Event.type @@ -1422,7 +1425,7 @@ function normalizeOptions(element, defaultOps, inputOps, ns) { return normalOps; } -var version = "4.1.0alpha6"; +var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/popover-native.js b/dist/components/popover-native.js index e9278828..9542e4f4 100644 --- a/dist/components/popover-native.js +++ b/dist/components/popover-native.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Popover v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Popover v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -635,13 +635,15 @@ * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name * @param {string} value attribute value + * @returns {void} */ const setAttribute = (element, attribute, value) => element.setAttribute(attribute, value); /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -649,6 +651,7 @@ * Shortcut for `HTMLElement.removeAttribute()` method. * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name + * @returns {void} */ const removeAttribute = (element, attribute) => element.removeAttribute(attribute); @@ -690,9 +693,7 @@ const transitionDuration = 'transitionDuration'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -715,6 +716,42 @@ return !Number.isNaN(duration) ? duration : 0; } + let elementUID = 1; + const elementIDMap = new Map(); + + /** + * Returns a unique identifier for popover, tooltip, scrollspy. + * + * @param {HTMLElement | Element} element target element + * @param {string=} key predefined key + * @returns {number} an existing or new unique ID + */ + function getUID(element, key) { + elementUID += 1; + let elMap = elementIDMap.get(element); + let result = elementUID; + + if (key && key.length) { + if (elMap) { + const elMapId = elMap.get(key); + if (!Number.isNaN(elMapId)) { + result = elMapId; + } else { + elMap.set(key, result); + } + } else { + elementIDMap.set(element, new Map()); + elMap = elementIDMap.get(element); + elMap.set(key, result); + } + } else if (!Number.isNaN(elMap)) { + result = elMap; + } else { + elementIDMap.set(element, result); + } + return result; + } + /** * Shortcut for `HTMLElement.closest` method which also works * with children of `ShadowRoot`. The order of the parameters @@ -737,6 +774,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -747,7 +785,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -758,6 +796,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -847,7 +886,7 @@ if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -877,7 +916,7 @@ * @param {HTMLElement | Element | string} target target element * @param {ReturnType} callback the callback * @param {number} delay the execution delay - * @param {string=} key a unique + * @param {string=} key a unique key */ set: (target, callback, delay, key) => { const element = querySelector(target); @@ -940,42 +979,6 @@ }, }; - let elementUID = 1; - const elementIDMap = new Map(); - - /** - * Returns a unique identifier for popover, tooltip, scrollspy. - * - * @param {HTMLElement | Element} element target element - * @param {string=} key predefined key - * @returns {number} an existing or new unique ID - */ - function getUID(element, key) { - elementUID += 1; - let elMap = elementIDMap.get(element); - let result = elementUID; - - if (key && key.length) { - if (elMap) { - const elMapId = elMap.get(key); - if (!Number.isNaN(elMapId)) { - result = elMapId; - } else { - elMap.set(key, result); - } - } else { - elementIDMap.set(element, new Map()); - elMap = elementIDMap.get(element); - elMap.set(key, result); - } - } else if (!Number.isNaN(elMap)) { - result = elMap; - } else { - elementIDMap.set(element, result); - } - return result; - } - /** * Returns a namespaced `CustomEvent` specific to each component. * @param {string} EventType Event.type @@ -1428,7 +1431,7 @@ return normalOps; } - var version = "4.1.0alpha6"; + var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/scrollspy-native.esm.js b/dist/components/scrollspy-native.esm.js index 0baba2d7..322e3b8a 100644 --- a/dist/components/scrollspy-native.esm.js +++ b/dist/components/scrollspy-native.esm.js @@ -1,12 +1,13 @@ /*! - * Native JavaScript for Bootstrap - ScrollSpy v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - ScrollSpy v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -69,6 +70,7 @@ function getElementsByTagName(selector, parent) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -79,7 +81,7 @@ function addClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -90,6 +92,7 @@ function hasClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -489,7 +492,7 @@ function normalizeOptions(element, defaultOps, inputOps, ns) { return normalOps; } -var version = "4.1.0alpha6"; +var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/scrollspy-native.js b/dist/components/scrollspy-native.js index a4788c97..8965e813 100644 --- a/dist/components/scrollspy-native.js +++ b/dist/components/scrollspy-native.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - ScrollSpy v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - ScrollSpy v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -11,8 +11,9 @@ /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -75,6 +76,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -85,7 +87,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -96,6 +98,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -495,7 +498,7 @@ return normalOps; } - var version = "4.1.0alpha6"; + var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/tab-native.esm.js b/dist/components/tab-native.esm.js index e2d28c34..59724748 100644 --- a/dist/components/tab-native.esm.js +++ b/dist/components/tab-native.esm.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Tab v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Tab v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -20,6 +20,7 @@ const mouseclickEvent = 'click'; * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name * @param {string} value attribute value + * @returns {void} */ const setAttribute = (element, attribute, value) => element.setAttribute(attribute, value); @@ -99,6 +100,7 @@ function querySelector(selector, parent) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -109,7 +111,7 @@ function addClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -120,6 +122,7 @@ function hasClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -146,9 +149,7 @@ const transitionEndEvent = 'transitionend'; const transitionDelay = 'transitionDelay'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -230,7 +231,7 @@ function emulateTransitionEnd(element, handler) { if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -351,7 +352,7 @@ const Timer = { * @param {HTMLElement | Element | string} target target element * @param {ReturnType} callback the callback * @param {number} delay the execution delay - * @param {string=} key a unique + * @param {string=} key a unique key */ set: (target, callback, delay, key) => { const element = querySelector(target); @@ -571,8 +572,9 @@ const tabComponent = 'Tab'; /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -704,7 +706,7 @@ function normalizeOptions(element, defaultOps, inputOps, ns) { return normalOps; } -var version = "4.1.0alpha6"; +var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/tab-native.js b/dist/components/tab-native.js index d3d4f61d..101a9966 100644 --- a/dist/components/tab-native.js +++ b/dist/components/tab-native.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Tab v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Tab v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -26,6 +26,7 @@ * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name * @param {string} value attribute value + * @returns {void} */ const setAttribute = (element, attribute, value) => element.setAttribute(attribute, value); @@ -105,6 +106,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -115,7 +117,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -126,6 +128,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -152,9 +155,7 @@ const transitionDelay = 'transitionDelay'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -236,7 +237,7 @@ if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -357,7 +358,7 @@ * @param {HTMLElement | Element | string} target target element * @param {ReturnType} callback the callback * @param {number} delay the execution delay - * @param {string=} key a unique + * @param {string=} key a unique key */ set: (target, callback, delay, key) => { const element = querySelector(target); @@ -577,8 +578,9 @@ /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -710,7 +712,7 @@ return normalOps; } - var version = "4.1.0alpha6"; + var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/toast-native.esm.js b/dist/components/toast-native.esm.js index 6ffc4adb..22dc17d7 100644 --- a/dist/components/toast-native.esm.js +++ b/dist/components/toast-native.esm.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Toast v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Toast v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -38,6 +38,7 @@ const focusoutEvent = 'focusout'; * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -48,7 +49,7 @@ function addClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -59,6 +60,7 @@ function hasClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -125,9 +127,7 @@ const transitionEndEvent = 'transitionend'; const transitionDelay = 'transitionDelay'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -209,7 +209,7 @@ function emulateTransitionEnd(element, handler) { if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -330,7 +330,7 @@ const Timer = { * @param {HTMLElement | Element | string} target target element * @param {ReturnType} callback the callback * @param {number} delay the execution delay - * @param {string=} key a unique + * @param {string=} key a unique key */ set: (target, callback, delay, key) => { const element = querySelector(target); @@ -529,8 +529,9 @@ const toastComponent = 'Toast'; /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -627,7 +628,7 @@ function normalizeOptions(element, defaultOps, inputOps, ns) { return normalOps; } -var version = "4.1.0alpha6"; +var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/toast-native.js b/dist/components/toast-native.js index 464acc62..defa17b1 100644 --- a/dist/components/toast-native.js +++ b/dist/components/toast-native.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Toast v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Toast v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -44,6 +44,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -54,7 +55,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -65,6 +66,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -131,9 +133,7 @@ const transitionDelay = 'transitionDelay'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -215,7 +215,7 @@ if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -336,7 +336,7 @@ * @param {HTMLElement | Element | string} target target element * @param {ReturnType} callback the callback * @param {number} delay the execution delay - * @param {string=} key a unique + * @param {string=} key a unique key */ set: (target, callback, delay, key) => { const element = querySelector(target); @@ -535,8 +535,9 @@ /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -633,7 +634,7 @@ return normalOps; } - var version = "4.1.0alpha6"; + var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/tooltip-native.esm.js b/dist/components/tooltip-native.esm.js index 4d3b600c..e847032a 100644 --- a/dist/components/tooltip-native.esm.js +++ b/dist/components/tooltip-native.esm.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Tooltip v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Tooltip v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -86,13 +86,15 @@ const touchstartEvent = 'touchstart'; * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name * @param {string} value attribute value + * @returns {void} */ const setAttribute = (element, attribute, value) => element.setAttribute(attribute, value); /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -100,6 +102,7 @@ const getAttribute = (element, attribute) => element.getAttribute(attribute); * Shortcut for `HTMLElement.removeAttribute()` method. * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name + * @returns {void} */ const removeAttribute = (element, attribute) => element.removeAttribute(attribute); @@ -153,9 +156,7 @@ function getDocumentBody(node) { const transitionDuration = 'transitionDuration'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -197,6 +198,42 @@ function getElementTransitionDuration(element) { return !Number.isNaN(duration) ? duration : 0; } +let elementUID = 1; +const elementIDMap = new Map(); + +/** + * Returns a unique identifier for popover, tooltip, scrollspy. + * + * @param {HTMLElement | Element} element target element + * @param {string=} key predefined key + * @returns {number} an existing or new unique ID + */ +function getUID(element, key) { + elementUID += 1; + let elMap = elementIDMap.get(element); + let result = elementUID; + + if (key && key.length) { + if (elMap) { + const elMapId = elMap.get(key); + if (!Number.isNaN(elMapId)) { + result = elMapId; + } else { + elMap.set(key, result); + } + } else { + elementIDMap.set(element, new Map()); + elMap = elementIDMap.get(element); + elMap.set(key, result); + } + } else if (!Number.isNaN(elMap)) { + result = elMap; + } else { + elementIDMap.set(element, result); + } + return result; +} + /** * Shortcut for `HTMLElement.closest` method which also works * with children of `ShadowRoot`. The order of the parameters @@ -247,6 +284,7 @@ function querySelector(selector, parent) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -257,7 +295,7 @@ function addClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -268,6 +306,7 @@ function hasClass(element, classNAME) { * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -451,7 +490,7 @@ function emulateTransitionEnd(element, handler) { if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -481,7 +520,7 @@ const Timer = { * @param {HTMLElement | Element | string} target target element * @param {ReturnType} callback the callback * @param {number} delay the execution delay - * @param {string=} key a unique + * @param {string=} key a unique key */ set: (target, callback, delay, key) => { const element = querySelector(target); @@ -544,42 +583,6 @@ const Timer = { }, }; -let elementUID = 1; -const elementIDMap = new Map(); - -/** - * Returns a unique identifier for popover, tooltip, scrollspy. - * - * @param {HTMLElement | Element} element target element - * @param {string=} key predefined key - * @returns {number} an existing or new unique ID - */ -function getUID(element, key) { - elementUID += 1; - let elMap = elementIDMap.get(element); - let result = elementUID; - - if (key && key.length) { - if (elMap) { - const elMapId = elMap.get(key); - if (!Number.isNaN(elMapId)) { - result = elMapId; - } else { - elMap.set(key, result); - } - } else { - elementIDMap.set(element, new Map()); - elMap = elementIDMap.get(element); - elMap.set(key, result); - } - } else if (!Number.isNaN(elMap)) { - result = elMap; - } else { - elementIDMap.set(element, result); - } - return result; -} - /** * Utility to focus an `HTMLElement` target. * @@ -1422,7 +1425,7 @@ function normalizeOptions(element, defaultOps, inputOps, ns) { return normalOps; } -var version = "4.1.0alpha6"; +var version = "4.1.0alpha7"; const Version = version; diff --git a/dist/components/tooltip-native.js b/dist/components/tooltip-native.js index eb33d5f9..a1ce69c8 100644 --- a/dist/components/tooltip-native.js +++ b/dist/components/tooltip-native.js @@ -1,5 +1,5 @@ /*! - * Native JavaScript for Bootstrap - Tooltip v4.1.0alpha6 (https://thednp.github.io/bootstrap.native/) + * Native JavaScript for Bootstrap - Tooltip v4.1.0alpha7 (https://thednp.github.io/bootstrap.native/) * Copyright 2015-2022 © dnp_theme * Licensed under MIT (https://github.com/thednp/bootstrap.native/blob/master/LICENSE) */ @@ -92,13 +92,15 @@ * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name * @param {string} value attribute value + * @returns {void} */ const setAttribute = (element, attribute, value) => element.setAttribute(attribute, value); /** * Shortcut for `HTMLElement.getAttribute()` method. - * @param {HTMLElement | Element} element target element - * @param {string} attribute attribute name + * @param {HTMLElement | Element} element target element + * @param {string} attribute attribute name + * @returns {string?} attribute value */ const getAttribute = (element, attribute) => element.getAttribute(attribute); @@ -106,6 +108,7 @@ * Shortcut for `HTMLElement.removeAttribute()` method. * @param {HTMLElement | Element} element target element * @param {string} attribute attribute name + * @returns {void} */ const removeAttribute = (element, attribute) => element.removeAttribute(attribute); @@ -159,9 +162,7 @@ const transitionDuration = 'transitionDuration'; /** - * A global namespace for: - * * `transitionProperty` string for Firefox, - * * `transition` property for all other browsers. + * A global namespace for `transitionProperty` string for modern browsers. * * @type {string} */ @@ -203,6 +204,42 @@ return !Number.isNaN(duration) ? duration : 0; } + let elementUID = 1; + const elementIDMap = new Map(); + + /** + * Returns a unique identifier for popover, tooltip, scrollspy. + * + * @param {HTMLElement | Element} element target element + * @param {string=} key predefined key + * @returns {number} an existing or new unique ID + */ + function getUID(element, key) { + elementUID += 1; + let elMap = elementIDMap.get(element); + let result = elementUID; + + if (key && key.length) { + if (elMap) { + const elMapId = elMap.get(key); + if (!Number.isNaN(elMapId)) { + result = elMapId; + } else { + elMap.set(key, result); + } + } else { + elementIDMap.set(element, new Map()); + elMap = elementIDMap.get(element); + elMap.set(key, result); + } + } else if (!Number.isNaN(elMap)) { + result = elMap; + } else { + elementIDMap.set(element, result); + } + return result; + } + /** * Shortcut for `HTMLElement.closest` method which also works * with children of `ShadowRoot`. The order of the parameters @@ -253,6 +290,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to add + * @returns {void} */ function addClass(element, classNAME) { element.classList.add(classNAME); @@ -263,7 +301,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to check - * @return {boolean} + * @returns {boolean} */ function hasClass(element, classNAME) { return element.classList.contains(classNAME); @@ -274,6 +312,7 @@ * * @param {HTMLElement | Element} element target * @param {string} classNAME to remove + * @returns {void} */ function removeClass(element, classNAME) { element.classList.remove(classNAME); @@ -457,7 +496,7 @@ if (duration) { /** * Wrap the handler in on -> off callback - * @type {EventListenerObject['handleEvent']} e Event object + * @type {EventListener} e Event object */ const transitionEndWrapper = (e) => { if (e.target === element) { @@ -487,7 +526,7 @@ * @param {HTMLElement | Element | string} target target element * @param {ReturnType} callback the callback * @param {number} delay the execution delay - * @param {string=} key a unique + * @param {string=} key a unique key */ set: (target, callback, delay, key) => { const element = querySelector(target); @@ -550,42 +589,6 @@ }, }; - let elementUID = 1; - const elementIDMap = new Map(); - - /** - * Returns a unique identifier for popover, tooltip, scrollspy. - * - * @param {HTMLElement | Element} element target element - * @param {string=} key predefined key - * @returns {number} an existing or new unique ID - */ - function getUID(element, key) { - elementUID += 1; - let elMap = elementIDMap.get(element); - let result = elementUID; - - if (key && key.length) { - if (elMap) { - const elMapId = elMap.get(key); - if (!Number.isNaN(elMapId)) { - result = elMapId; - } else { - elMap.set(key, result); - } - } else { - elementIDMap.set(element, new Map()); - elMap = elementIDMap.get(element); - elMap.set(key, result); - } - } else if (!Number.isNaN(elMap)) { - result = elMap; - } else { - elementIDMap.set(element, result); - } - return result; - } - /** * Utility to focus an `HTMLElement` target. * @@ -1428,7 +1431,7 @@ return normalOps; } - var version = "4.1.0alpha6"; + var version = "4.1.0alpha7"; const Version = version; diff --git a/package.json b/package.json index 5103a4d6..848912cc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bootstrap.native", - "version": "4.1.0alpha6", + "version": "4.1.0alpha7", "description": "Native JavaScript for Bootstrap, the sweetest JavaScript library without jQuery.", "main": "dist/bootstrap-native.min.js", "types": "src/index.d.ts", @@ -82,7 +82,7 @@ "dependencies": { "minifill": "^0.0.17", "event-listener.js": "^0.0.5", - "shorter-js": "^0.3.0-alpha24" + "shorter-js": "^0.3.0-alpha25" }, "devDependencies": { "@rollup/plugin-buble": "^0.21.3", diff --git a/src/components/tooltip-native.js b/src/components/tooltip-native.js index 82beaeee..e95796b6 100644 --- a/src/components/tooltip-native.js +++ b/src/components/tooltip-native.js @@ -21,6 +21,7 @@ import getDocument from 'shorter-js/src/get/getDocument'; import getDocumentBody from 'shorter-js/src/get/getDocumentBody'; import getElementTransitionDuration from 'shorter-js/src/get/getElementTransitionDuration'; import getElementStyle from 'shorter-js/src/get/getElementStyle'; +import getUID from 'shorter-js/src/get/getUID'; import closest from 'shorter-js/src/selectors/closest'; import querySelector from 'shorter-js/src/selectors/querySelector'; import addClass from 'shorter-js/src/class/addClass'; @@ -34,7 +35,6 @@ import dispatchEvent from 'shorter-js/src/misc/dispatchEvent'; import passiveHandler from 'shorter-js/src/misc/passiveHandler'; import emulateTransitionEnd from 'shorter-js/src/misc/emulateTransitionEnd'; import Timer from 'shorter-js/src/misc/timer'; -import getUID from 'shorter-js/src/misc/getUID'; import focus from 'shorter-js/src/misc/focus'; import OriginalEvent from 'shorter-js/src/misc/OriginalEvent'; import toLowerCase from 'shorter-js/src/misc/toLowerCase';