File: 013-a11y-bs3.patch

package info (click to toggle)
r-cran-bslib 0.9.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 12,412 kB
  • sloc: javascript: 13,349; makefile: 33; sh: 23
file content (213 lines) | stat: -rw-r--r-- 35,808 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
diff --git a/inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.js b/inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.js
index a9ba444..db2f244 100644
--- a/inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.js
+++ b/inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.js
@@ -16,19 +16,19 @@
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 * ======================================================================== */
-  
- 
- (function($) { 
-  "use strict"; 
+
+
+ $(function() {
+  "use strict";
 
   // GENERAL UTILITY FUNCTIONS
   // ===============================
-  
+
   var uniqueId = function(prefix) {
       return (prefix || 'ui-id') + '-' + Math.floor((Math.random()*1000)+1)
   }
 
-  
+
   var removeMultiValAttributes = function (el, attr, val) {
    var describedby = (el.attr( attr ) || "").split( /\s+/ )
       , index = $.inArray(val, describedby)
@@ -100,7 +100,7 @@ CC0: http://creativecommons.org/publicdomain/zero/1.0/
     return ( /input|select|textarea|button|object/.test( nodeName ) ?
     !element.disabled :
     "a" === nodeName ?
-    element.href || isTabIndexNotNaN :isTabIndexNotNaN) && visible( element ); // the element and all of its ancestors must be visible  
+    element.href || isTabIndexNotNaN :isTabIndexNotNaN) && visible( element ); // the element and all of its ancestors must be visible
   }
   var visible = function ( element ) {
     return $.expr.filters.visible( element ) &&
@@ -219,7 +219,7 @@ CC0: http://creativecommons.org/publicdomain/zero/1.0/
 
   // Tab Extension
   // ===============================
-  
+
   var $tablist = $('.nav-tabs, .nav-pills')
         , $lis = $tablist.children('li')
         , $tabs = $tablist.find('[data-toggle="tab"], [data-toggle="pill"]')
@@ -391,7 +391,7 @@ CC0: http://creativecommons.org/publicdomain/zero/1.0/
     }
 
     $(document).on('keydown.collapse.data-api','[data-toggle="collapse"]' ,  $.fn.collapse.Constructor.prototype.keydown);
-    
+
 
 // Carousel Extension
   // ===============================
@@ -720,4 +720,4 @@ CC0: http://creativecommons.org/publicdomain/zero/1.0/
     $(document).on('keydown.carousel.data-api', 'li[role=tab]', $.fn.carousel.Constructor.prototype.keydown);
 
 
- })(jQuery);
\ No newline at end of file
+ });
diff --git a/inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.min.js b/inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.min.js
index f67aac6..586c5c7 100644
--- a/inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.min.js
+++ b/inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.min.js
@@ -1,4 +1,3 @@
-/*! bootstrap-accessibility-plugin - v1.0.6 - 2020-05-07
-* https://github.com/paypal/bootstrap-accessibility-plugin
-* Copyright (c) 2020 PayPal Accessibility Team; Licensed BSD */
-!function($){"use strict";var uniqueId=function(prefix){return(prefix||"ui-id")+"-"+Math.floor(1e3*Math.random()+1)},focusable=function(element,isTabIndexNotNaN){var map,mapName,img,nodeName=element.nodeName.toLowerCase();return"area"===nodeName?(map=element.parentNode,mapName=map.name,element.href&&mapName&&"map"===map.nodeName.toLowerCase()?(img=$("img[usemap='#"+mapName+"']")[0],!!img&&visible(img)):!1):(/input|select|textarea|button|object/.test(nodeName)?!element.disabled:"a"===nodeName?element.href||isTabIndexNotNaN:isTabIndexNotNaN)&&visible(element)},visible=function(element){return $.expr.filters.visible(element)&&!$(element).parents().addBack().filter(function(){return"hidden"===$.css(this,"visibility")}).length};$.extend($.expr[":"],{data:$.expr.createPseudo?$.expr.createPseudo(function(dataName){return function(elem){return!!$.data(elem,dataName)}}):function(elem,i,match){return!!$.data(elem,match[3])},focusable:function(element){return focusable(element,!isNaN($.attr(element,"tabindex")))},tabbable:function(element){var tabIndex=$.attr(element,"tabindex"),isTabIndexNaN=isNaN(tabIndex);return(isTabIndexNaN||tabIndex>=0)&&focusable(element,!isTabIndexNaN)}}),$(".modal-dialog").attr({role:"document"});var modalhide=$.fn.modal.Constructor.prototype.hide;$.fn.modal.Constructor.prototype.hide=function(){modalhide.apply(this,arguments),$(document).off("keydown.bs.modal")};var modalfocus=$.fn.modal.Constructor.prototype.enforceFocus;$.fn.modal.Constructor.prototype.enforceFocus=function(){var $content=this.$element.find(".modal-content"),focEls=$content.find(":tabbable"),$lastEl=$(focEls[focEls.length-1]),$firstEl=$(focEls[0]);$lastEl.on("keydown.bs.modal",$.proxy(function(ev){9!==ev.keyCode||ev.shiftKey|ev.ctrlKey|ev.metaKey|ev.altKey||(ev.preventDefault(),$firstEl.focus())},this)),$firstEl.on("keydown.bs.modal",$.proxy(function(ev){9===ev.keyCode&&ev.shiftKey&&(ev.preventDefault(),$lastEl.focus())},this)),modalfocus.apply(this,arguments)};var $par,firstItem,toggle="[data-toggle=dropdown]",focusDelay=200,menus=$(toggle).parent().find("ul").attr("role","menu"),lis=menus.find("li").attr("role","presentation");lis.find("a").attr({role:"menuitem",tabIndex:"-1"}),$(toggle).attr({"aria-haspopup":"true","aria-expanded":"false"}),$(toggle).parent().on("shown.bs.dropdown",function(e){$par=$(this);var $toggle=$par.find(toggle);$toggle.attr("aria-expanded","true"),$toggle.on("keydown.bs.dropdown",$.proxy(function(ev){setTimeout(function(){firstItem=$(".dropdown-menu [role=menuitem]:visible",$par)[0];try{firstItem.focus()}catch(ex){}},focusDelay)},this))}).on("hidden.bs.dropdown",function(e){$par=$(this);var $toggle=$par.find(toggle);$toggle.attr("aria-expanded","false")}),$(document).on("focusout.dropdown.data-api",".dropdown-menu",function(e){var $this=$(this),that=this;$this.parent().hasClass("open")&&setTimeout(function(){$.contains(that,document.activeElement)||$this.parent().find("[data-toggle=dropdown]").dropdown("toggle")},150)}).on("keydown.bs.dropdown.data-api",toggle+", [role=menu]",$.fn.dropdown.Constructor.prototype.keydown);var $tablist=$(".nav-tabs, .nav-pills"),$lis=$tablist.children("li"),$tabs=$tablist.find('[data-toggle="tab"], [data-toggle="pill"]');$tabs&&($tablist.attr("role","tablist"),$lis.attr("role","presentation"),$tabs.attr("role","tab")),$tabs.each(function(index){var tabpanel=$($(this).attr("href")),tab=$(this),tabid=tab.attr("id")||uniqueId("ui-tab");tab.attr("id",tabid),tab.parent().hasClass("active")?(tab.attr({tabIndex:"0","aria-selected":"true","aria-controls":tab.attr("href").substr(1)}),tabpanel.attr({role:"tabpanel",tabIndex:"0","aria-hidden":"false","aria-labelledby":tabid})):(tab.attr({tabIndex:"-1","aria-selected":"false","aria-controls":tab.attr("href").substr(1)}),tabpanel.attr({role:"tabpanel",tabIndex:"-1","aria-hidden":"true","aria-labelledby":tabid}))}),$.fn.tab.Constructor.prototype.keydown=function(e){var $items,index,$this=$(this),$ul=$this.closest("ul[role=tablist] "),k=e.which||e.keyCode;if($this=$(this),/(37|38|39|40)/.test(k)){$items=$ul.find("[role=tab]:visible"),index=$items.index($items.filter(":focus")),(38==k||37==k)&&index--,(39==k||40==k)&&index++,0>index&&(index=$items.length-1),index==$items.length&&(index=0);var nextTab=$items.eq(index);"tab"===nextTab.attr("role")&&nextTab.tab("show").focus(),e.preventDefault(),e.stopPropagation()}},$(document).on("keydown.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',$.fn.tab.Constructor.prototype.keydown);var tabactivate=$.fn.tab.Constructor.prototype.activate;$.fn.tab.Constructor.prototype.activate=function(element,container,callback){var $active=container.find("> .active");$active.find("[data-toggle=tab], [data-toggle=pill]").attr({tabIndex:"-1","aria-selected":!1}),$active.filter(".tab-pane").attr({"aria-hidden":!0,tabIndex:"-1"}),tabactivate.apply(this,arguments),element.addClass("active"),element.find("[data-toggle=tab], [data-toggle=pill]").attr({tabIndex:"0","aria-selected":!0}),element.filter(".tab-pane").attr({"aria-hidden":!1,tabIndex:"0"})};var $colltabs=$('[data-toggle="collapse"]');$colltabs.each(function(index){var colltab=$(this),collpanel=$(colltab.attr("data-target")?colltab.attr("data-target"):colltab.attr("href")),parent=colltab.attr("data-parent"),collparent=parent&&$(parent),collid=colltab.attr("id")||uniqueId("ui-collapse"),parentpanel=collpanel.parent(),parentfirstchild=collparent?collparent.find(".panel.panel-default:first-child"):null,hasopenpanel=collparent?collparent.find(".panel-collapse.in").length>0:!1;colltab.attr("id",collid),collparent&&(colltab.attr({"aria-controls":collpanel.attr("id"),role:"tab","aria-selected":"false","aria-expanded":"false"}),$(collparent).find("div:not(.collapse,.panel-body), h4").attr("role","presentation"),collparent.attr({role:"tablist","aria-multiselectable":"true"}),collpanel.attr({role:"tabpanel","aria-labelledby":collid}),!hasopenpanel&&parentpanel.is(parentfirstchild)?(colltab.attr({tabindex:"0"}),collpanel.attr({tabindex:"-1"})):collpanel.hasClass("in")?(colltab.attr({"aria-selected":"true","aria-expanded":"true",tabindex:"0"}),collpanel.attr({tabindex:"0","aria-hidden":"false"})):(colltab.attr({tabindex:"-1"}),collpanel.attr({tabindex:"-1","aria-hidden":"true"})))});var collToggle=$.fn.collapse.Constructor.prototype.toggle;$.fn.collapse.Constructor.prototype.toggle=function(){var href,prevTab=this.$parent&&this.$parent.find('[aria-expanded="true"]');if(prevTab){var curTab,prevPanel=prevTab.attr("data-target")||(href=prevTab.attr("href"))&&href.replace(/.*(?=#[^\s]+$)/,""),$prevPanel=$(prevPanel),$curPanel=this.$element;this.$parent;this.$parent&&(curTab=this.$parent.find('[data-toggle=collapse][href="#'+this.$element.attr("id")+'"]')),collToggle.apply(this,arguments),$.support.transition&&this.$element.one($.support.transition.end,function(){prevTab.attr({"aria-selected":"false","aria-expanded":"false",tabIndex:"-1"}),$prevPanel.attr({"aria-hidden":"true",tabIndex:"-1"}),curTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:"0"}),$curPanel.hasClass("in")?$curPanel.attr({"aria-hidden":"false",tabIndex:"0"}):(curTab.attr({"aria-selected":"false","aria-expanded":"false"}),$curPanel.attr({"aria-hidden":"true",tabIndex:"-1"}))})}else collToggle.apply(this,arguments)},$.fn.collapse.Constructor.prototype.keydown=function(e){var $items,index,$this=$(this),$tablist=$this.closest("div[role=tablist] "),k=e.which||e.keyCode;$this=$(this),/(32|37|38|39|40)/.test(k)&&(32==k&&$this.click(),$items=$tablist.find("[role=tab]"),index=$items.index($items.filter(":focus")),(38==k||37==k)&&index--,(39==k||40==k)&&index++,0>index&&(index=$items.length-1),index==$items.length&&(index=0),$items.eq(index).focus(),e.preventDefault(),e.stopPropagation())},$(document).on("keydown.collapse.data-api",'[data-toggle="collapse"]',$.fn.collapse.Constructor.prototype.keydown),$(".carousel").each(function(index){function setTablistHighlightBox(){var $tab,offset,height,width,highlightBox={};highlightBox.top=0,highlightBox.left=32e3,highlightBox.height=0,highlightBox.width=0;for(var i=0;i<$tabs.length;i++){$tab=$tabs[i],offset=$($tab).offset(),height=$($tab).height(),width=$($tab).width(),highlightBox.top<offset.top&&(highlightBox.top=Math.round(offset.top)),highlightBox.height<height&&(highlightBox.height=Math.round(height)),highlightBox.left>offset.left&&(highlightBox.left=Math.round(offset.left));var w=offset.left-highlightBox.left+Math.round(width);highlightBox.width<w&&(highlightBox.width=w)}$tablistHighlight.style.top=highlightBox.top-2+"px",$tablistHighlight.style.left=highlightBox.left-2+"px",$tablistHighlight.style.height=highlightBox.height+7+"px",$tablistHighlight.style.width=highlightBox.width+8+"px"}var $tabpanel,$tablistHighlight,$pauseCarousel,$complementaryLandmark,$tab,i,$this=$(this),$prev=$this.find('[data-slide="prev"]'),$next=$this.find('[data-slide="next"]'),$tablist=$this.find(".carousel-indicators"),$tabs=$this.find(".carousel-indicators li"),$tabpanels=$this.find(".item"),$is_paused=!1,id_title="id_title",id_desc="id_desc";for($tablist.attr("role","tablist"),$tabs.focus(function(){$this.carousel("pause"),$is_paused=!0,$pauseCarousel.innerHTML="Play Carousel",$(this).parent().addClass("active"),setTablistHighlightBox(),$($tablistHighlight).addClass("focus"),$(this).parents(".carousel").addClass("contrast")}),$tabs.blur(function(event){$(this).parent().removeClass("active"),$($tablistHighlight).removeClass("focus"),$(this).parents(".carousel").removeClass("contrast")}),i=0;i<$tabpanels.length;i++)$tabpanel=$tabpanels[i],$tabpanel.setAttribute("role","tabpanel"),$tabpanel.setAttribute("id","tabpanel-"+index+"-"+i),$tabpanel.setAttribute("aria-labelledby","tab-"+index+"-"+i);for("string"!=typeof $this.attr("role")&&($this.attr("role","complementary"),$this.attr("aria-labelledby",id_title),$this.attr("aria-describedby",id_desc),$this.prepend('<p  id="'+id_desc+'" class="sr-only">A carousel is a rotating set of images, rotation stops on keyboard focus on carousel tab controls or hovering the mouse pointer over images.  Use the tabs or the previous and next buttons to change the displayed slide.</p>'),$this.prepend('<h2 id="'+id_title+'" class="sr-only">Carousel content with '+$tabpanels.length+" slides.</h2>")),i=0;i<$tabs.length;i++){$tab=$tabs[i],$tab.setAttribute("role","tab"),$tab.setAttribute("id","tab-"+index+"-"+i),$tab.setAttribute("aria-controls","tabpanel-"+index+"-"+i);var tpId="#tabpanel-"+index+"-"+i,caption=$this.find(tpId).find("h1").text();("string"!=typeof caption||0===caption.length)&&(caption=$this.find(tpId).text()),("string"!=typeof caption||0===caption.length)&&(caption=$this.find(tpId).find("h3").text()),("string"!=typeof caption||0===caption.length)&&(caption=$this.find(tpId).find("h4").text()),("string"!=typeof caption||0===caption.length)&&(caption=$this.find(tpId).find("h5").text()),("string"!=typeof caption||0===caption.length)&&(caption=$this.find(tpId).find("h6").text()),("string"!=typeof caption||0===caption.length)&&(caption="no title");var tabName=document.createElement("span");tabName.setAttribute("class","sr-only"),tabName.innerHTML="Slide "+(i+1),caption&&(tabName.innerHTML+=": "+caption),$tab.appendChild(tabName)}$tablistHighlight=document.createElement("div"),$tablistHighlight.className="carousel-tablist-highlight",document.body.appendChild($tablistHighlight),$complementaryLandmark=document.createElement("aside"),$complementaryLandmark.setAttribute("class","carousel-aside-pause"),$complementaryLandmark.setAttribute("aria-label","carousel pause/play control"),$this.prepend($complementaryLandmark),$pauseCarousel=document.createElement("button"),$pauseCarousel.className="carousel-pause-button",$pauseCarousel.innerHTML="Pause Carousel",$pauseCarousel.setAttribute("title","Pause/Play carousel button can be used by screen reader users to stop carousel animations"),$($complementaryLandmark).append($pauseCarousel),$($pauseCarousel).click(function(){$is_paused?($pauseCarousel.innerHTML="Pause Carousel",$this.carousel("cycle"),$is_paused=!1):($pauseCarousel.innerHTML="Play Carousel",$this.carousel("pause"),$is_paused=!0)}),$($pauseCarousel).focus(function(){$(this).addClass("focus")}),$($pauseCarousel).blur(function(){$(this).removeClass("focus")}),setTablistHighlightBox(),$(window).resize(function(){setTablistHighlightBox()}),$prev.attr("aria-label","Previous Slide"),$prev.keydown(function(e){var k=e.which||e.keyCode;/(13|32)/.test(k)&&(e.preventDefault(),e.stopPropagation(),$prev.trigger("click"))}),$prev.focus(function(){$(this).parents(".carousel").addClass("contrast")}),$prev.blur(function(){$(this).parents(".carousel").removeClass("contrast")}),$next.attr("aria-label","Next Slide"),$next.keydown(function(e){var k=e.which||e.keyCode;/(13|32)/.test(k)&&(e.preventDefault(),e.stopPropagation(),$next.trigger("click"))}),$next.focus(function(){$(this).parents(".carousel").addClass("contrast")}),$next.blur(function(){$(this).parents(".carousel").removeClass("contrast")}),$(".carousel-inner a").focus(function(){$(this).parents(".carousel").addClass("contrast")}),$(".carousel-inner a").blur(function(){$(this).parents(".carousel").removeClass("contrast")}),$tabs.each(function(){var item=$(this);item.hasClass("active")?item.attr({"aria-selected":"true",tabindex:"0"}):item.attr({"aria-selected":"false",tabindex:"-1"})})});var slideCarousel=$.fn.carousel.Constructor.prototype.slide;$.fn.carousel.Constructor.prototype.slide=function(type,next){var $id,$element=this.$element,$active=$element.find("[role=tabpanel].active"),$next=next||$active[type](),$tab_count=$element.find("[role=tabpanel]").length,$prev_side=$element.find('[data-slide="prev"]'),$next_side=$element.find('[data-slide="next"]'),$index=0,$prev_index=$tab_count-1,$next_index=1;$next&&$next.attr("id")&&($id=$next.attr("id"),$index=$id.lastIndexOf("-"),$index>=0&&($index=parseInt($id.substring($index+1),10)),$prev_index=$index-1,1>$prev_index&&($prev_index=$tab_count-1),$next_index=$index+1,$next_index>=$tab_count&&($next_index=0)),$prev_side.attr("aria-label","Show slide "+($prev_index+1)+" of "+$tab_count),$next_side.attr("aria-label","Show slide "+($next_index+1)+" of "+$tab_count),slideCarousel.apply(this,arguments),$active.one("bsTransitionEnd",function(){var $tab;$tab=$element.find('li[aria-controls="'+$active.attr("id")+'"]'),$tab&&$tab.attr({"aria-selected":!1,tabIndex:"-1"}),$tab=$element.find('li[aria-controls="'+$next.attr("id")+'"]'),$tab&&$tab.attr({"aria-selected":!0,tabIndex:"0"})})};var $this;$.fn.carousel.Constructor.prototype.keydown=function(e){function selectTab(index){index>=$tabs.length||0>index||($carousel.carousel(index),setTimeout(function(){$tabs[index].focus()},150))}$this=$this||$(this),this instanceof Node&&($this=$(this));var index,$carousel=$(e.target).closest(".carousel"),$tabs=$carousel.find("[role=tab]"),k=e.which||e.keyCode;/(37|38|39|40)/.test(k)&&(index=$tabs.index($tabs.filter(".active")),(37==k||38==k)&&(index--,selectTab(index)),(39==k||40==k)&&(index++,selectTab(index)),e.preventDefault(),e.stopPropagation())},$(document).on("keydown.carousel.data-api","li[role=tab]",$.fn.carousel.Constructor.prototype.keydown)}(jQuery);
\ No newline at end of file
+parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c<t.length;c++)try{f(t[c])}catch(e){i||(i=e)}if(t.length){var l=f(t[t.length-1]);"object"==typeof exports&&"undefined"!=typeof module?module.exports=l:"function"==typeof define&&define.amd?define(function(){return l}):n&&(this[n]=l)}if(parcelRequire=f,i)throw i;return f}({"aQMl":[function(require,module,exports) {
+$(function(){"use strict";var t=function(t){return(t||"ui-id")+"-"+Math.floor(1e3*Math.random()+1)},e=function(t,e){var r,n,o,i=t.nodeName.toLowerCase();return"area"===i?(n=(r=t.parentNode).name,!(!t.href||!n||"map"!==r.nodeName.toLowerCase())&&(!!(o=$("img[usemap='#"+n+"']")[0])&&a(o))):(/input|select|textarea|button|object/.test(i)?!t.disabled:"a"===i&&t.href||e)&&a(t)},a=function(t){return $.expr.filters.visible(t)&&!$(t).parents().addBack().filter(function(){return"hidden"===$.css(this,"visibility")}).length};$.extend($.expr[":"],{data:$.expr.createPseudo?$.expr.createPseudo(function(t){return function(e){return!!$.data(e,t)}}):function(t,e,a){return!!$.data(t,a[3])},focusable:function(t){return e(t,!isNaN($.attr(t,"tabindex")))},tabbable:function(t){var a=$.attr(t,"tabindex"),r=isNaN(a);return(r||a>=0)&&e(t,!r)}}),$(".modal-dialog").attr({role:"document"});var r=$.fn.modal.Constructor.prototype.hide;$.fn.modal.Constructor.prototype.hide=function(){r.apply(this,arguments),$(document).off("keydown.bs.modal")};var n=$.fn.modal.Constructor.prototype.enforceFocus;$.fn.modal.Constructor.prototype.enforceFocus=function(){var t=this.$element.find(".modal-content").find(":tabbable"),e=$(t[t.length-1]),a=$(t[0]);e.on("keydown.bs.modal",$.proxy(function(t){9!==t.keyCode||t.shiftKey|t.ctrlKey|t.metaKey|t.altKey||(t.preventDefault(),a.focus())},this)),a.on("keydown.bs.modal",$.proxy(function(t){9===t.keyCode&&t.shiftKey&&(t.preventDefault(),e.focus())},this)),n.apply(this,arguments)};var o,i,s="[data-toggle=dropdown]";$(s).parent().find("ul").attr("role","menu").find("li").attr("role","presentation").find("a").attr({role:"menuitem",tabIndex:"-1"}),$(s).attr({"aria-haspopup":"true","aria-expanded":"false"}),$(s).parent().on("shown.bs.dropdown",function(t){var e=(o=$(this)).find(s);e.attr("aria-expanded","true"),e.on("keydown.bs.dropdown",$.proxy(function(t){setTimeout(function(){i=$(".dropdown-menu [role=menuitem]:visible",o)[0];try{i.focus()}catch(t){}},200)},this))}).on("hidden.bs.dropdown",function(t){(o=$(this)).find(s).attr("aria-expanded","false")}),$(document).on("focusout.dropdown.data-api",".dropdown-menu",function(t){var e=$(this),a=this;e.parent().hasClass("open")&&setTimeout(function(){$.contains(a,document.activeElement)||e.parent().find("[data-toggle=dropdown]").dropdown("toggle")},150)}).on("keydown.bs.dropdown.data-api",s+", [role=menu]",$.fn.dropdown.Constructor.prototype.keydown);var l=$(".nav-tabs, .nav-pills"),d=l.children("li"),c=l.find('[data-toggle="tab"], [data-toggle="pill"]');c&&(l.attr("role","tablist"),d.attr("role","presentation"),c.attr("role","tab")),c.each(function(e){var a=$($(this).attr("href")),r=$(this),n=r.attr("id")||t("ui-tab");r.attr("id",n),r.parent().hasClass("active")?(r.attr({tabIndex:"0","aria-selected":"true","aria-controls":r.attr("href").substr(1)}),a.attr({role:"tabpanel",tabIndex:"0","aria-hidden":"false","aria-labelledby":n})):(r.attr({tabIndex:"-1","aria-selected":"false","aria-controls":r.attr("href").substr(1)}),a.attr({role:"tabpanel",tabIndex:"-1","aria-hidden":"true","aria-labelledby":n}))}),$.fn.tab.Constructor.prototype.keydown=function(t){var e,a,r=$(this),n=r.closest("ul[role=tablist] "),o=t.which||t.keyCode;if(r=$(this),/(37|38|39|40)/.test(o)){a=(e=n.find("[role=tab]:visible")).index(e.filter(":focus")),38!=o&&37!=o||a--,39!=o&&40!=o||a++,a<0&&(a=e.length-1),a==e.length&&(a=0);var i=e.eq(a);"tab"===i.attr("role")&&i.tab("show").focus(),t.preventDefault(),t.stopPropagation()}},$(document).on("keydown.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',$.fn.tab.Constructor.prototype.keydown);var u=$.fn.tab.Constructor.prototype.activate;$.fn.tab.Constructor.prototype.activate=function(t,e,a){var r=e.find("> .active");r.find("[data-toggle=tab], [data-toggle=pill]").attr({tabIndex:"-1","aria-selected":!1}),r.filter(".tab-pane").attr({"aria-hidden":!0,tabIndex:"-1"}),u.apply(this,arguments),t.addClass("active"),t.find("[data-toggle=tab], [data-toggle=pill]").attr({tabIndex:"0","aria-selected":!0}),t.filter(".tab-pane").attr({"aria-hidden":!1,tabIndex:"0"})},$('[data-toggle="collapse"]').each(function(e){var a=$(this),r=a.attr("data-target")?$(a.attr("data-target")):$(a.attr("href")),n=a.attr("data-parent"),o=n&&$(n),i=a.attr("id")||t("ui-collapse"),s=r.parent(),l=o?o.find(".panel.panel-default:first-child"):null,d=!!o&&o.find(".panel-collapse.in").length>0;a.attr("id",i),o&&(a.attr({"aria-controls":r.attr("id"),role:"tab","aria-selected":"false","aria-expanded":"false"}),$(o).find("div:not(.collapse,.panel-body), h4").attr("role","presentation"),o.attr({role:"tablist","aria-multiselectable":"true"}),r.attr({role:"tabpanel","aria-labelledby":i}),!d&&s.is(l)?(a.attr({tabindex:"0"}),r.attr({tabindex:"-1"})):r.hasClass("in")?(a.attr({"aria-selected":"true","aria-expanded":"true",tabindex:"0"}),r.attr({tabindex:"0","aria-hidden":"false"})):(a.attr({tabindex:"-1"}),r.attr({tabindex:"-1","aria-hidden":"true"})))});var p=$.fn.collapse.Constructor.prototype.toggle;$.fn.collapse.Constructor.prototype.toggle=function(){var t,e=this.$parent&&this.$parent.find('[aria-expanded="true"]');if(e){var a,r=e.attr("data-target")||(t=e.attr("href"))&&t.replace(/.*(?=#[^\s]+$)/,""),n=$(r),o=this.$element;this.$parent;this.$parent&&(a=this.$parent.find('[data-toggle=collapse][href="#'+this.$element.attr("id")+'"]')),p.apply(this,arguments),$.support.transition&&this.$element.one($.support.transition.end,function(){e.attr({"aria-selected":"false","aria-expanded":"false",tabIndex:"-1"}),n.attr({"aria-hidden":"true",tabIndex:"-1"}),a.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:"0"}),o.hasClass("in")?o.attr({"aria-hidden":"false",tabIndex:"0"}):(a.attr({"aria-selected":"false","aria-expanded":"false"}),o.attr({"aria-hidden":"true",tabIndex:"-1"}))})}else p.apply(this,arguments)},$.fn.collapse.Constructor.prototype.keydown=function(t){var e,a,r=$(this),n=r.closest("div[role=tablist] "),o=t.which||t.keyCode;r=$(this),/(32|37|38|39|40)/.test(o)&&(32==o&&r.click(),a=(e=n.find("[role=tab]")).index(e.filter(":focus")),38!=o&&37!=o||a--,39!=o&&40!=o||a++,a<0&&(a=e.length-1),a==e.length&&(a=0),e.eq(a).focus(),t.preventDefault(),t.stopPropagation())},$(document).on("keydown.collapse.data-api",'[data-toggle="collapse"]',$.fn.collapse.Constructor.prototype.keydown),$(".carousel").each(function(t){function e(){for(var t,e,a,n,o={top:0,left:32e3,height:0,width:0},i=0;i<p.length;i++){t=p[i],e=$(t).offset(),a=$(t).height(),n=$(t).width(),o.top<e.top&&(o.top=Math.round(e.top)),o.height<a&&(o.height=Math.round(a)),o.left>e.left&&(o.left=Math.round(e.left));var s=e.left-o.left+Math.round(n);o.width<s&&(o.width=s)}r.style.top=o.top-2+"px",r.style.left=o.left-2+"px",r.style.height=o.height+7+"px",r.style.width=o.width+8+"px"}var a,r,n,o,i,s,l=$(this),d=l.find('[data-slide="prev"]'),c=l.find('[data-slide="next"]'),u=l.find(".carousel-indicators"),p=l.find(".carousel-indicators li"),f=l.find(".item"),h=!1;for(u.attr("role","tablist"),p.focus(function(){l.carousel("pause"),h=!0,n.innerHTML="Play Carousel",$(this).parent().addClass("active"),e(),$(r).addClass("focus"),$(this).parents(".carousel").addClass("contrast")}),p.blur(function(t){$(this).parent().removeClass("active"),$(r).removeClass("focus"),$(this).parents(".carousel").removeClass("contrast")}),s=0;s<f.length;s++)(a=f[s]).setAttribute("role","tabpanel"),a.setAttribute("id","tabpanel-"+t+"-"+s),a.setAttribute("aria-labelledby","tab-"+t+"-"+s);for("string"!=typeof l.attr("role")&&(l.attr("role","complementary"),l.attr("aria-labelledby","id_title"),l.attr("aria-describedby","id_desc"),l.prepend('<p  id="id_desc" class="sr-only">A carousel is a rotating set of images, rotation stops on keyboard focus on carousel tab controls or hovering the mouse pointer over images.  Use the tabs or the previous and next buttons to change the displayed slide.</p>'),l.prepend('<h2 id="id_title" class="sr-only">Carousel content with '+f.length+" slides.</h2>")),s=0;s<p.length;s++){(i=p[s]).setAttribute("role","tab"),i.setAttribute("id","tab-"+t+"-"+s),i.setAttribute("aria-controls","tabpanel-"+t+"-"+s);var b="#tabpanel-"+t+"-"+s,y=l.find(b).find("h1").text();"string"==typeof y&&0!==y.length||(y=l.find(b).text()),"string"==typeof y&&0!==y.length||(y=l.find(b).find("h3").text()),"string"==typeof y&&0!==y.length||(y=l.find(b).find("h4").text()),"string"==typeof y&&0!==y.length||(y=l.find(b).find("h5").text()),"string"==typeof y&&0!==y.length||(y=l.find(b).find("h6").text()),"string"==typeof y&&0!==y.length||(y="no title");var g=document.createElement("span");g.setAttribute("class","sr-only"),g.innerHTML="Slide "+(s+1),y&&(g.innerHTML+=": "+y),i.appendChild(g)}(r=document.createElement("div")).className="carousel-tablist-highlight",document.body.appendChild(r),(o=document.createElement("aside")).setAttribute("class","carousel-aside-pause"),o.setAttribute("aria-label","carousel pause/play control"),l.prepend(o),(n=document.createElement("button")).className="carousel-pause-button",n.innerHTML="Pause Carousel",n.setAttribute("title","Pause/Play carousel button can be used by screen reader users to stop carousel animations"),$(o).append(n),$(n).click(function(){h?(n.innerHTML="Pause Carousel",l.carousel("cycle"),h=!1):(n.innerHTML="Play Carousel",l.carousel("pause"),h=!0)}),$(n).focus(function(){$(this).addClass("focus")}),$(n).blur(function(){$(this).removeClass("focus")}),e(),$(window).resize(function(){e()}),d.attr("aria-label","Previous Slide"),d.keydown(function(t){var e=t.which||t.keyCode;/(13|32)/.test(e)&&(t.preventDefault(),t.stopPropagation(),d.trigger("click"))}),d.focus(function(){$(this).parents(".carousel").addClass("contrast")}),d.blur(function(){$(this).parents(".carousel").removeClass("contrast")}),c.attr("aria-label","Next Slide"),c.keydown(function(t){var e=t.which||t.keyCode;/(13|32)/.test(e)&&(t.preventDefault(),t.stopPropagation(),c.trigger("click"))}),c.focus(function(){$(this).parents(".carousel").addClass("contrast")}),c.blur(function(){$(this).parents(".carousel").removeClass("contrast")}),$(".carousel-inner a").focus(function(){$(this).parents(".carousel").addClass("contrast")}),$(".carousel-inner a").blur(function(){$(this).parents(".carousel").removeClass("contrast")}),p.each(function(){var t=$(this);t.hasClass("active")?t.attr({"aria-selected":"true",tabindex:"0"}):t.attr({"aria-selected":"false",tabindex:"-1"})})});var f,h=$.fn.carousel.Constructor.prototype.slide;$.fn.carousel.Constructor.prototype.slide=function(t,e){var a,r=this.$element,n=r.find("[role=tabpanel].active"),o=e||n[t](),i=r.find("[role=tabpanel]").length,s=r.find('[data-slide="prev"]'),l=r.find('[data-slide="next"]'),d=0,c=i-1,u=1;o&&o.attr("id")&&((d=(a=o.attr("id")).lastIndexOf("-"))>=0&&(d=parseInt(a.substring(d+1),10)),(c=d-1)<1&&(c=i-1),(u=d+1)>=i&&(u=0)),s.attr("aria-label","Show slide "+(c+1)+" of "+i),l.attr("aria-label","Show slide "+(u+1)+" of "+i),h.apply(this,arguments),n.one("bsTransitionEnd",function(){var t;(t=r.find('li[aria-controls="'+n.attr("id")+'"]'))&&t.attr({"aria-selected":!1,tabIndex:"-1"}),(t=r.find('li[aria-controls="'+o.attr("id")+'"]'))&&t.attr({"aria-selected":!0,tabIndex:"0"})})},$.fn.carousel.Constructor.prototype.keydown=function(t){function e(t){t>=n.length||t<0||(r.carousel(t),setTimeout(function(){n[t].focus()},150))}f=f||$(this),this instanceof Node&&(f=$(this));var a,r=$(t.target).closest(".carousel"),n=r.find("[role=tab]"),o=t.which||t.keyCode;/(37|38|39|40)/.test(o)&&(a=n.index(n.filter(".active")),37!=o&&38!=o||e(--a),39!=o&&40!=o||e(++a),t.preventDefault(),t.stopPropagation())},$(document).on("keydown.carousel.data-api","li[role=tab]",$.fn.carousel.Constructor.prototype.keydown)});
+},{}]},{},["aQMl"], null)
\ No newline at end of file
diff --git a/inst/lib/bs-a11y-p/src/sass/partials/_buttons.scss b/inst/lib/bs-a11y-p/src/sass/partials/_buttons.scss
index 231c982..3a671c3 100644
--- a/inst/lib/bs-a11y-p/src/sass/partials/_buttons.scss
+++ b/inst/lib/bs-a11y-p/src/sass/partials/_buttons.scss
@@ -1,5 +1,8 @@
 .btn {
   &:focus {
-	@include outline(2px);
+	  @include mouse-outline(2px);
   }
+  &:focus-visible {
+		@include keyboard-outline(2px);
+	}
 }
diff --git a/inst/lib/bs-a11y-p/src/sass/partials/_close.scss b/inst/lib/bs-a11y-p/src/sass/partials/_close.scss
index 0c8622e..582cffa 100644
--- a/inst/lib/bs-a11y-p/src/sass/partials/_close.scss
+++ b/inst/lib/bs-a11y-p/src/sass/partials/_close.scss
@@ -1,6 +1,9 @@
 .close {
   &:hover,
   &:focus {
-  	@include outline(1px);
+  	@include mouse-outline(1px);
+  }
+  &:focus-visible {
+    @include keyboard-outline(1px);
   }
 }
diff --git a/inst/lib/bs-a11y-p/src/sass/partials/_divs.scss b/inst/lib/bs-a11y-p/src/sass/partials/_divs.scss
index a3f0076..7d873bf 100644
--- a/inst/lib/bs-a11y-p/src/sass/partials/_divs.scss
+++ b/inst/lib/bs-a11y-p/src/sass/partials/_divs.scss
@@ -1,5 +1,8 @@
 div.active {
 	&:focus {
-		@include outline(1px);
+		@include mouse-outline(1px);
+	}
+	&:focus-visible {
+		@include keyboard-outline(1px);
 	}
 }
diff --git a/inst/lib/bs-a11y-p/src/sass/partials/_links.scss b/inst/lib/bs-a11y-p/src/sass/partials/_links.scss
index 4d7cc03..a1a6614 100644
--- a/inst/lib/bs-a11y-p/src/sass/partials/_links.scss
+++ b/inst/lib/bs-a11y-p/src/sass/partials/_links.scss
@@ -1,5 +1,8 @@
 a {
   &:focus {
-  	@include outline(1px);
+  	@include mouse-outline(1px);
+  }
+  &:focus-visible {
+    @include keyboard-outline(1px);
   }
 }
diff --git a/inst/lib/bs-a11y-p/src/sass/partials/_mixins.scss b/inst/lib/bs-a11y-p/src/sass/partials/_mixins.scss
index c4e529b..e259e25 100644
--- a/inst/lib/bs-a11y-p/src/sass/partials/_mixins.scss
+++ b/inst/lib/bs-a11y-p/src/sass/partials/_mixins.scss
@@ -1,3 +1,6 @@
-@mixin outline($size) {
-	outline: $outline-default-style $size $outline-default-color;
+@mixin mouse-outline($size) {
+	outline: $mouse-outline-style $size $mouse-outline-color;
 }
+@mixin keyboard-outline($size) {
+	outline: $keyboard-outline-style $size $keyboard-outline-color;
+}
\ No newline at end of file
diff --git a/inst/lib/bs-a11y-p/src/sass/partials/_navigation.scss b/inst/lib/bs-a11y-p/src/sass/partials/_navigation.scss
index 3e0c133..89818ae 100644
--- a/inst/lib/bs-a11y-p/src/sass/partials/_navigation.scss
+++ b/inst/lib/bs-a11y-p/src/sass/partials/_navigation.scss
@@ -3,8 +3,11 @@
 		> a {
 			&:hover,
 			&:focus {
-				@include outline(1px);
+				@include mouse-outline(1px);
+			}
+			&:focus-visible {
+				@include keyboard-outline(1px);
 			}
 		}
 	}
-}
+}
\ No newline at end of file
diff --git a/inst/lib/bs-a11y-p/src/sass/partials/_variables.scss b/inst/lib/bs-a11y-p/src/sass/partials/_variables.scss
index 3704b88..f80b42e 100644
--- a/inst/lib/bs-a11y-p/src/sass/partials/_variables.scss
+++ b/inst/lib/bs-a11y-p/src/sass/partials/_variables.scss
@@ -1,21 +1,25 @@
 //Set the variables for use in stylesheet
 
 // Colors
-$black: 		#000;
-$green-dark: 	#2d4821;
-$blue-dark: 	#214c62;
-$red-dark: 		#6c4a00;
-$red: 			#d2322d;
-$yellow: 		#f9f1c6;
+$black: 		#000 !default;
+$green-dark: 	#2d4821 !default;
+$blue-dark: 	#214c62 !default;
+$red-dark: 		#6c4a00 !default;
+$red: 			#d2322d !default;
+$yellow: 		#f9f1c6 !default;
 
-// Outline
-$outline-default-style: 	dotted;
-$outline-default-color: 	$black;
+// :focus/:hover outline styles
+$mouse-outline-style: 	none !default;
+$mouse-outline-color: 	$black !default;
+
+// :focus-visible outline styles
+$keyboard-outline-style: auto !default;
+$keyboard-outline-color: $mouse-outline-color !default;
 
 // Alerts Colors
-$alert-success-color: 			$green-dark;
-$alert-info-color: 				$blue-dark;
-$alert-warning-color: 			$red-dark;
-$alert-warning-bkg: 			$yellow;
-$alert-danger-color: 			$red;
-$alert-danger-hover: 			darken($red, 10%);
+$alert-success-color: 			$green-dark !default;
+$alert-info-color: 				$blue-dark !default;
+$alert-warning-color: 			$red-dark !default;
+$alert-warning-bkg: 			$yellow !default;
+$alert-danger-color: 			$red !default;
+$alert-danger-hover: 			darken($red, 10%) !default;