From f3b4308cb59bf4b21ff186f8479c82239446d139 Mon Sep 17 00:00:00 2001 From: Mario Date: Mon, 7 Jun 2021 12:56:27 +0200 Subject: upgrade to bootstrap 5.0.1 and first batch of fixes --- .../twbs/bootstrap/site/assets/js/application.js | 196 +++++++++++++-------- .../site/assets/js/ie-emulation-modes-warning.js | 52 ------ vendor/twbs/bootstrap/site/assets/js/search.js | 21 +-- .../bootstrap/site/assets/js/vendor/anchor.min.js | 8 +- .../assets/js/vendor/bs-custom-file-input.min.js | 7 - .../site/assets/js/vendor/clipboard.min.js | 6 +- 6 files changed, 136 insertions(+), 154 deletions(-) delete mode 100644 vendor/twbs/bootstrap/site/assets/js/ie-emulation-modes-warning.js delete mode 100644 vendor/twbs/bootstrap/site/assets/js/vendor/bs-custom-file-input.min.js (limited to 'vendor/twbs/bootstrap/site/assets/js') diff --git a/vendor/twbs/bootstrap/site/assets/js/application.js b/vendor/twbs/bootstrap/site/assets/js/application.js index d9f8d1a4a..6ff316056 100644 --- a/vendor/twbs/bootstrap/site/assets/js/application.js +++ b/vendor/twbs/bootstrap/site/assets/js/application.js @@ -10,108 +10,156 @@ * For details, see https://creativecommons.org/licenses/by/3.0/. */ -/* global ClipboardJS: false, anchors: false, bsCustomFileInput: false */ +/* global ClipboardJS: false, anchors: false, bootstrap: false */ -(function ($) { +(function () { 'use strict' - $(function () { - // Tooltip and popover demos - $('.tooltip-demo').tooltip({ - selector: '[data-toggle="tooltip"]', - container: 'body' + // Tooltip and popover demos + document.querySelectorAll('.tooltip-demo') + .forEach(function (tooltip) { + new bootstrap.Tooltip(tooltip, { + selector: '[data-bs-toggle="tooltip"]' + }) + }) + + document.querySelectorAll('[data-bs-toggle="popover"]') + .forEach(function (popover) { + new bootstrap.Popover(popover) }) - $('[data-toggle="popover"]').popover() + var toastPlacement = document.getElementById('toastPlacement') + if (toastPlacement) { + document.getElementById('selectToastPlacement').addEventListener('change', function () { + if (!toastPlacement.dataset.originalClass) { + toastPlacement.dataset.originalClass = toastPlacement.className + } + + toastPlacement.className = toastPlacement.dataset.originalClass + ' ' + this.value + }) + } - $('.bd-example .toast') - .toast({ + document.querySelectorAll('.bd-example .toast') + .forEach(function (toastNode) { + var toast = new bootstrap.Toast(toastNode, { autohide: false }) - .toast('show') - // Live toast demo - $('#liveToastBtn').click(function () { - $('#liveToast').toast('show') + toast.show() }) - // Demos within modals - $('.tooltip-test').tooltip() - $('.popover-test').popover() - - // Indeterminate checkbox example - $('.bd-example-indeterminate [type="checkbox"]').prop('indeterminate', true) + var toastTrigger = document.getElementById('liveToastBtn') + var toastLiveExample = document.getElementById('liveToast') + if (toastTrigger) { + toastTrigger.addEventListener('click', function () { + var toast = new bootstrap.Toast(toastLiveExample) - // Disable empty links in docs examples - $('.bd-content [href="#"]').click(function (e) { - e.preventDefault() + toast.show() }) + } - // Modal relatedTarget demo - $('#exampleModal').on('show.bs.modal', function (event) { - var $button = $(event.relatedTarget) // Button that triggered the modal - var recipient = $button.data('whatever') // Extract info from data-* attributes - // If necessary, you could initiate an AJAX request here (and then do the updating in a callback). - // Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead. - var $modal = $(this) - $modal.find('.modal-title').text('New message to ' + recipient) - $modal.find('.modal-body input').val(recipient) + // Demos within modals + document.querySelectorAll('.tooltip-test') + .forEach(function (tooltip) { + new bootstrap.Tooltip(tooltip) }) - // Activate animated progress bar - $('.bd-toggle-animated-progress').on('click', function () { - $(this).siblings('.progress').find('.progress-bar-striped').toggleClass('progress-bar-animated') + document.querySelectorAll('.popover-test') + .forEach(function (popover) { + new bootstrap.Popover(popover) }) - // Insert copy to clipboard button before .highlight - $('div.highlight').each(function () { - var btnHtml = '
' - $(this).before(btnHtml) - $('.btn-clipboard') - .tooltip() - .on('mouseleave', function () { - // Explicitly hide tooltip, since after clicking it remains - // focused (as it's a button), so tooltip would otherwise - // remain visible until focus is moved away - $(this).tooltip('hide') - }) + // Indeterminate checkbox example + document.querySelectorAll('.bd-example-indeterminate [type="checkbox"]') + .forEach(function (checkbox) { + checkbox.indeterminate = true }) - var clipboard = new ClipboardJS('.btn-clipboard', { - target: function (trigger) { - return trigger.parentNode.nextElementSibling - } + // Disable empty links in docs examples + document.querySelectorAll('.bd-content [href="#"]') + .forEach(function (link) { + link.addEventListener('click', function (e) { + e.preventDefault() + }) }) - clipboard.on('success', function (e) { - $(e.trigger) - .attr('title', 'Copied!') - .tooltip('_fixTitle') - .tooltip('show') - .attr('title', 'Copy to clipboard') - .tooltip('_fixTitle') + // Modal relatedTarget demo + var exampleModal = document.getElementById('exampleModal') + if (exampleModal) { + exampleModal.addEventListener('show.bs.modal', function (event) { + // Button that triggered the modal + var button = event.relatedTarget + // Extract info from data-bs-* attributes + var recipient = button.getAttribute('data-bs-whatever') + + // Update the modal's content. + var modalTitle = exampleModal.querySelector('.modal-title') + var modalBodyInput = exampleModal.querySelector('.modal-body input') + + modalTitle.textContent = 'New message to ' + recipient + modalBodyInput.value = recipient + }) + } + + // Activate animated progress bar + var btnToggleAnimatedProgress = document.getElementById('btnToggleAnimatedProgress') + if (btnToggleAnimatedProgress) { + btnToggleAnimatedProgress.addEventListener('click', function () { + btnToggleAnimatedProgress.parentNode + .querySelector('.progress-bar-striped') + .classList + .toggle('progress-bar-animated') + }) + } - e.clearSelection() + // Insert copy to clipboard button before .highlight + var btnHtml = '
' + document.querySelectorAll('div.highlight') + .forEach(function (element) { + element.insertAdjacentHTML('beforebegin', btnHtml) }) - clipboard.on('error', function (e) { - var modifierKey = /mac/i.test(navigator.userAgent) ? '\u2318' : 'Ctrl-' - var fallbackMsg = 'Press ' + modifierKey + 'C to copy' + document.querySelectorAll('.btn-clipboard') + .forEach(function (btn) { + var tooltipBtn = new bootstrap.Tooltip(btn) - $(e.trigger) - .attr('title', fallbackMsg) - .tooltip('_fixTitle') - .tooltip('show') - .attr('title', 'Copy to clipboard') - .tooltip('_fixTitle') + btn.addEventListener('mouseleave', function () { + // Explicitly hide tooltip, since after clicking it remains + // focused (as it's a button), so tooltip would otherwise + // remain visible until focus is moved away + tooltipBtn.hide() + }) }) - anchors.options = { - icon: '#' + var clipboard = new ClipboardJS('.btn-clipboard', { + target: function (trigger) { + return trigger.parentNode.nextElementSibling } - anchors.add('.bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5') - $('.bd-content').children('h2, h3, h4, h5').wrapInner('') + }) + + clipboard.on('success', function (e) { + var tooltipBtn = bootstrap.Tooltip.getInstance(e.trigger) + + e.trigger.setAttribute('data-bs-original-title', 'Copied!') + tooltipBtn.show() - bsCustomFileInput.init() + e.trigger.setAttribute('data-bs-original-title', 'Copy to clipboard') + e.clearSelection() }) -})(jQuery) + + clipboard.on('error', function (e) { + var modifierKey = /mac/i.test(navigator.userAgent) ? '\u2318' : 'Ctrl-' + var fallbackMsg = 'Press ' + modifierKey + 'C to copy' + var tooltipBtn = bootstrap.Tooltip.getInstance(e.trigger) + + e.trigger.setAttribute('data-bs-original-title', fallbackMsg) + tooltipBtn.show() + + e.trigger.setAttribute('data-bs-original-title', 'Copy to clipboard') + }) + + anchors.options = { + icon: '#' + } + anchors.add('.bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5') +})() diff --git a/vendor/twbs/bootstrap/site/assets/js/ie-emulation-modes-warning.js b/vendor/twbs/bootstrap/site/assets/js/ie-emulation-modes-warning.js deleted file mode 100644 index d11ec1c5a..000000000 --- a/vendor/twbs/bootstrap/site/assets/js/ie-emulation-modes-warning.js +++ /dev/null @@ -1,52 +0,0 @@ -// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT -// IT'S ALL JUST JUNK FOR OUR DOCS! -// ++++++++++++++++++++++++++++++++++++++++++ - -// Intended to prevent false-positive bug reports about Bootstrap not working properly in old versions of IE due to folks testing using IE's unreliable emulation modes. -(function () { - 'use strict' - - function emulatedIEMajorVersion() { - var groups = /MSIE ([\d.]+)/.exec(window.navigator.userAgent) - if (groups === null) { - return null - } - - var ieVersionNum = parseInt(groups[1], 10) - var ieMajorVersion = Math.floor(ieVersionNum) - return ieMajorVersion - } - - function actualNonEmulatedIEMajorVersion() { - // Detects the actual version of IE in use, even if it's in an older-IE emulation mode. - // IE JavaScript conditional compilation docs: https://msdn.microsoft.com/library/121hztk3%28v=vs.94%29.aspx - // @cc_on docs: https://msdn.microsoft.com/library/8ka90k2e%28v=vs.94%29.aspx - var jscriptVersion = new Function('/*@cc_on return @_jscript_version; @*/')() // eslint-disable-line no-new-func - if (typeof jscriptVersion === 'undefined') { - return 11 // IE11+ not in emulation mode - } - - if (jscriptVersion < 9) { - return 8 // IE8 (or lower; haven't tested on IE<8) - } - - return jscriptVersion // IE9 or IE10 in any mode, or IE11 in non-IE11 mode - } - - var ua = window.navigator.userAgent - if (ua.indexOf('Opera') > -1 || ua.indexOf('Presto') > -1) { - return // Opera, which might pretend to be IE - } - - var emulated = emulatedIEMajorVersion() - if (emulated === null) { - return // Not IE - } - - var nonEmulated = actualNonEmulatedIEMajorVersion() - - if (emulated !== nonEmulated) { - // eslint-disable-next-line no-alert - window.alert('WARNING: You appear to be using IE' + nonEmulated + ' in IE' + emulated + ' emulation mode.\nIE emulation modes can behave significantly differently from ACTUAL older versions of IE.\nPLEASE DON\'T FILE BOOTSTRAP BUGS based on testing in IE emulation modes!') - } -})() diff --git a/vendor/twbs/bootstrap/site/assets/js/search.js b/vendor/twbs/bootstrap/site/assets/js/search.js index 724c6aa33..d88263d3f 100644 --- a/vendor/twbs/bootstrap/site/assets/js/search.js +++ b/vendor/twbs/bootstrap/site/assets/js/search.js @@ -11,20 +11,14 @@ return } - var siteDocsVersion = inputElement.getAttribute('data-docs-version') + var siteDocsVersion = inputElement.getAttribute('data-bd-docs-version') - function getOrigin() { - var location = window.location - var origin = location.origin - - if (!origin) { - var port = location.port ? ':' + location.port : '' - - origin = location.protocol + '//' + location.hostname + port + document.addEventListener('keydown', function (event) { + if (event.ctrlKey && event.key === '/') { + event.preventDefault() + inputElement.focus() } - - return origin - } + }) window.docsearch({ apiKey: '5990ad008512000bba2cf951ccf0332f', @@ -35,10 +29,9 @@ }, transformData: function (hits) { return hits.map(function (hit) { - var currentUrl = getOrigin() var liveUrl = 'https://getbootstrap.com/' - hit.url = currentUrl.lastIndexOf(liveUrl, 0) === 0 ? + hit.url = window.location.origin.startsWith(liveUrl) ? // On production, return the result as is hit.url : // On development or Netlify, replace `hit.url` with a trailing slash, diff --git a/vendor/twbs/bootstrap/site/assets/js/vendor/anchor.min.js b/vendor/twbs/bootstrap/site/assets/js/vendor/anchor.min.js index 1216eeac2..608fea9f7 100644 --- a/vendor/twbs/bootstrap/site/assets/js/vendor/anchor.min.js +++ b/vendor/twbs/bootstrap/site/assets/js/vendor/anchor.min.js @@ -1,9 +1,9 @@ // @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat // -// AnchorJS - v4.3.0 - 2020-10-21 +// AnchorJS - v4.3.1 - 2021-04-17 // https://www.bryanbraun.com/anchorjs/ -// Copyright (c) 2020 Bryan Braun; Licensed MIT +// Copyright (c) 2021 Bryan Braun; Licensed MIT // // @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat -!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function d(A){A.icon=Object.prototype.hasOwnProperty.call(A,"icon")?A.icon:"",A.visible=Object.prototype.hasOwnProperty.call(A,"visible")?A.visible:"hover",A.placement=Object.prototype.hasOwnProperty.call(A,"placement")?A.placement:"right",A.ariaLabel=Object.prototype.hasOwnProperty.call(A,"ariaLabel")?A.ariaLabel:"Anchor",A.class=Object.prototype.hasOwnProperty.call(A,"class")?A.class:"",A.base=Object.prototype.hasOwnProperty.call(A,"base")?A.base:"",A.truncate=Object.prototype.hasOwnProperty.call(A,"truncate")?Math.floor(A.truncate):64,A.titleText=Object.prototype.hasOwnProperty.call(A,"titleText")?A.titleText:""}function f(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new TypeError("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],d(this.options),this.isTouchDevice=function(){return Boolean("ontouchstart"in window||window.TouchEvent||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var e,t,o,n,i,s,a,r,c,l,h,u,p=[];if(d(this.options),"touch"===(h=this.options.visible)&&(h=this.isTouchDevice()?"always":"hover"),0===(e=f(A=A||"h2, h3, h4, h5, h6")).length)return this;for(!function(){if(null!==document.head.querySelector("style.anchorjs"))return;var A,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"],style'))?document.head.appendChild(e):document.head.insertBefore(e,A);e.sheet.insertRule(".anchorjs-link{opacity:0;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}",e.sheet.cssRules.length),e.sheet.insertRule(":hover>.anchorjs-link,.anchorjs-link:focus{opacity:1}",e.sheet.cssRules.length),e.sheet.insertRule("[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}",e.sheet.cssRules.length),e.sheet.insertRule('@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype")}',e.sheet.cssRules.length)}(),t=document.querySelectorAll("[id]"),o=[].map.call(t,function(A){return A.id}),i=0;i\]./()*\\\n\t\b\v\u00A0]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),t=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||t||!1}}}); -// @license-end \ No newline at end of file +!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function d(A){A.icon=Object.prototype.hasOwnProperty.call(A,"icon")?A.icon:"",A.visible=Object.prototype.hasOwnProperty.call(A,"visible")?A.visible:"hover",A.placement=Object.prototype.hasOwnProperty.call(A,"placement")?A.placement:"right",A.ariaLabel=Object.prototype.hasOwnProperty.call(A,"ariaLabel")?A.ariaLabel:"Anchor",A.class=Object.prototype.hasOwnProperty.call(A,"class")?A.class:"",A.base=Object.prototype.hasOwnProperty.call(A,"base")?A.base:"",A.truncate=Object.prototype.hasOwnProperty.call(A,"truncate")?Math.floor(A.truncate):64,A.titleText=Object.prototype.hasOwnProperty.call(A,"titleText")?A.titleText:""}function w(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new TypeError("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],d(this.options),this.isTouchDevice=function(){return Boolean("ontouchstart"in window||window.TouchEvent||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var e,t,o,i,n,s,a,c,r,l,h,u,p=[];if(d(this.options),"touch"===(l=this.options.visible)&&(l=this.isTouchDevice()?"always":"hover"),0===(e=w(A=A||"h2, h3, h4, h5, h6")).length)return this;for(null===document.head.querySelector("style.anchorjs")&&((u=document.createElement("style")).className="anchorjs",u.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"],style'))?document.head.appendChild(u):document.head.insertBefore(u,A),u.sheet.insertRule(".anchorjs-link{opacity:0;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}",u.sheet.cssRules.length),u.sheet.insertRule(":hover>.anchorjs-link,.anchorjs-link:focus{opacity:1}",u.sheet.cssRules.length),u.sheet.insertRule("[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}",u.sheet.cssRules.length),u.sheet.insertRule('@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype")}',u.sheet.cssRules.length)),u=document.querySelectorAll("[id]"),t=[].map.call(u,function(A){return A.id}),i=0;i\]./()*\\\n\t\b\v\u00A0]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),A=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||A||!1}}}); +// @license-end diff --git a/vendor/twbs/bootstrap/site/assets/js/vendor/bs-custom-file-input.min.js b/vendor/twbs/bootstrap/site/assets/js/vendor/bs-custom-file-input.min.js deleted file mode 100644 index 0815f3768..000000000 --- a/vendor/twbs/bootstrap/site/assets/js/vendor/bs-custom-file-input.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * bsCustomFileInput v1.3.4 (https://github.com/Johann-S/bs-custom-file-input) - * Copyright 2018 - 2020 Johann-S - * Licensed under MIT (https://github.com/Johann-S/bs-custom-file-input/blob/master/LICENSE) - */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).bsCustomFileInput=t()}(this,function(){"use strict";var s={CUSTOMFILE:'.custom-file input[type="file"]',CUSTOMFILELABEL:".custom-file-label",FORM:"form",INPUT:"input"},l=function(e){if(0