{"version":3,"file":"uppsala.slideshow.min.js","names":["define","$","swipeshow","slideshow","init","slideShowSelector","nextButtonSelector","prevButtonSelector","activeSlideSelector","activeSlideScreenReaderSelector","document","ready","$slides","slideCount","length","$slideshow","makeChildrenUnfocusable","$next","$previous","speed","autostart","keys","onactivate","currentSlide","currentIndex","prevSlide","$currentSlide","$prevSlide","attr","makeChildrenFocusable","html","activeSlideText","removeClass","$parent","find","not"],"sources":["uppsala.slideshow.js"],"mappings":"AAAAA,OAAO,CAAC,SAAU,oBAAoB,SAAUC,EAAGC,GAC/C,IAAIC,EAAY,CACZC,KAAM,SACFC,EACAC,EACAC,EACAC,EACAC,GAEAR,EAAES,UAAUC,OAAM,WACd,IAAIC,EAAUX,EAAEI,EAAoB,sBAChCQ,EAAaD,EAAQE,OACrBC,EAAad,EAAEI,GAKnBF,EAAUa,wBAAwBD,GAElCA,EAAWb,UAAU,CACjBe,MAAOhB,EAAEK,GACTY,UAAWjB,EAAEM,GACbY,MATe,IAUfC,WAAW,EACXC,MAAM,EACNC,WAAY,SAAUC,EAAcC,EAAcC,GAE9CC,cAAgBzB,EAAEsB,GAClBI,WAAa1B,EAAEwB,GAIfxB,EAAEwB,GAAWG,KAAK,cAAe,QACjCF,cAAcE,KAAK,cAAe,SAGlCzB,EAAUa,wBAAwBW,YAClCxB,EAAU0B,sBAAsBH,eAGhCzB,EAAEO,GAAqBsB,KAAKN,EAAe,GAG3C,IAAIO,EAAmBP,EAAe,EAAK,OAASX,EACpDZ,EAAEQ,GAAiCqB,KAAKC,GAIxCnB,EAAQoB,YAAY,0BAExB,GAER,GACJ,EACAhB,wBAAyB,SAAUiB,GACNA,EAAQC,KAAK,gHAAgHC,IAAI,sCACvIP,KAAK,WAAY,KACxC,EACAC,sBAAuB,SAAUI,GACFA,EAAQC,KAAK,gHACnBN,KAAK,WAAY,IAC1C,GAEJ,OAAOzB,CACX","ignoreList":[],"sourcesContent":["define([\"jquery\", \"jquerySwipeShow\"], function ($, swipeshow) {\r\n var slideshow = {\r\n init: function (\r\n slideShowSelector, //id set on main of slideshow element, should be on same element that has 'swipeshow' class\r\n nextButtonSelector, //button for navigating to next slide\r\n prevButtonSelector, //button for navigating to previous slide\r\n activeSlideSelector, //update visual display of current slide (1/3)\r\n activeSlideScreenReaderSelector //update more understandable curret slide text for screen readera (1 av 3) \r\n ){\r\n $(document).ready(function () {\r\n var $slides = $(slideShowSelector + \"> .slides > .slide\")\r\n var slideCount = $slides.length;\r\n var $slideshow = $(slideShowSelector);\r\n var speedSetting = 400;\r\n\r\n //only visible slide should be focusable\r\n //currentSlide is set to focusable in onactivate\r\n slideshow.makeChildrenUnfocusable($slideshow);\r\n\r\n $slideshow.swipeshow({\r\n $next: $(nextButtonSelector),\r\n $previous: $(prevButtonSelector),\r\n speed: speedSetting,\r\n autostart: false,\r\n keys: false,\r\n onactivate: function (currentSlide, currentIndex, prevSlide) {\r\n\r\n $currentSlide = $(currentSlide);\r\n $prevSlide = $(prevSlide);\r\n\r\n //elements not visible on screen should be hidden for screen readers\r\n //update when sliding\r\n $(prevSlide).attr(\"aria-hidden\", \"true\");\r\n $currentSlide.attr(\"aria-hidden\", \"false\");\r\n\r\n //only visible slide should be focusable\r\n slideshow.makeChildrenUnfocusable($prevSlide);\r\n slideshow.makeChildrenFocusable($currentSlide);\r\n\r\n //update counter with active slide number\r\n $(activeSlideSelector).html(currentIndex + 1);\r\n\r\n //update active slide text for screen readers\r\n var activeSlideText = (currentIndex + 1) + \" av \" + slideCount;\r\n $(activeSlideScreenReaderSelector).html(activeSlideText);\r\n\r\n //remove min-width from css when swipeshow.js has set its calculated widths\r\n //prevents slide from 'jumping' in height when new widths are set\r\n $slides.removeClass(\"slideshow--slidepreinit\");\r\n\r\n },\r\n });\r\n });\r\n },\r\n makeChildrenUnfocusable: function ($parent) {\r\n let $focusableChildren = $parent.find('a[href], area[href], input, select, textarea, button, iframe, object, embed, *[tabindex], *[contenteditable]').not('[tabindex=-1], [disabled], :hidden');\r\n $focusableChildren.attr(\"tabindex\", \"-1\");\r\n },\r\n makeChildrenFocusable: function ($parent) {\r\n let $unfocusableChildren = $parent.find('a[href], area[href], input, select, textarea, button, iframe, object, embed, *[tabindex], *[contenteditable]');\r\n $unfocusableChildren.attr(\"tabindex\", \"0\");\r\n }\r\n }\r\n return slideshow;\r\n});"]}