{"version":3,"file":"slider.min.js","sources":["https:\/\/www.alsg.org\/home\/theme\/adaptable\/amd\/src\/slider.js"],"sourcesContent":["\/\/ This file is part of Moodle - http:\/\/moodle.org\/\n\/\/\n\/\/ Moodle is free software: you can redistribute it and\/or modify\n\/\/ it under the terms of the GNU General Public License as published by\n\/\/ the Free Software Foundation, either version 3 of the License, or\n\/\/ (at your option) any later version.\n\/\/\n\/\/ Moodle is distributed in the hope that it will be useful,\n\/\/ but WITHOUT ANY WARRANTY; without even the implied warranty of\n\/\/ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\/\/ GNU General Public License for more details.\n\/\/\n\/\/ You should have received a copy of the GNU General Public License\n\/\/ along with Moodle. If not, see .\n\n\/\/\n\/\/ Slider\n\/\/\n\/\/ @module theme_adaptable\/slider\n\/\/ @copyright 2024 G J Barnard.\n\/\/ @author G J Barnard -\n\/\/ {@link https:\/\/moodle.org\/user\/profile.php?id=442195}\n\/\/ {@link https:\/\/gjbarnard.co.uk}\n\/\/ @license https:\/\/www.gnu.org\/copyleft\/gpl.html GNU GPL v3 or later.\n\/\/\n\nimport $ from 'jquery';\nimport { flexslider } from 'theme_adaptable\/flexslider';\nimport log from 'core\/log';\n\n\/**\n * Initialise this module.\n *\/\nexport const init = () => {\n\n const sliderInit = () => {\n flexslider();\n\n \/\/ Slider.\n if ($('#main-slider').length) {\n $('#main-slider').flexslider({\n namespace: \"flex-\", \/\/ New: {NEW} String: Prefix string attached to the class of every element generated by the plugin.\n selector: \".slides > li\", \/\/ New: {NEW} Selector: Must match a simple pattern. '{container} > {slide}' -- Ignore pattern at your own peril\n animation: \"slide\", \/\/ String: Select your animation type, \"fade\" or \"slide\".\n easing: \"swing\", \/\/ {NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!\n direction: \"horizontal\", \/\/ String: Select the sliding direction, \"horizontal\" or \"vertical\".\n reverse: false, \/\/ {NEW} Boolean: Reverse the animation direction.\n animationLoop: true, \/\/ Boolean: Should the animation loop? If false, directionNav will received \"disable\" classes at either end.\n smoothHeight: false, \/\/ {NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode.\n startAt: 0, \/\/ Integer: The slide that the slider should start on. Array notation (0 = first slide).\n slideshow: true, \/\/ Boolean: Animate slider automatically.\n slideshowSpeed: 7000, \/\/ Integer: Set the speed of the slideshow cycling, in milliseconds.\n animationSpeed: 600, \/\/ Integer: Set the speed of animations, in milliseconds.\n initDelay: 0, \/\/ {NEW} Integer: Set an initialization delay, in milliseconds.\n randomize: false, \/\/ Boolean: Randomize slide order.\n\n \/\/ Usability features.\n pauseOnAction: true, \/\/ Boolean: Pause the slideshow when interacting with control elements, highly recommended.\n pauseOnHover: false, \/\/ Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering.\n useCSS: true, \/\/ {NEW} Boolean: Slider will use CSS3 transitions if available.\n touch: true, \/\/ {NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices.\n video: false, \/\/ {NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches.\n\n \/\/ Primary Controls.\n controlNav: true, \/\/ Boolean: Create navigation for paging control of each slide? Note! Leave true for manualControls usage.\n directionNav: true, \/\/ Boolean: Create navigation for previous \/ next navigation? (true\/false).\n prevText: \"Previous\", \/\/ String: Set the text for the \"previous\" directionNav item.\n nextText: \"Next\", \/\/ String: Set the text for the \"next\" directionNav item.\n\n \/\/ Secondary Navigation.\n keyboard: true, \/\/ Boolean: Allow slider navigating via keyboard left\/right keys.\n multipleKeyboard: false, \/\/ {NEW} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.\n mousewheel: false, \/\/ {UPDATED} Boolean: Requires jquery.mousewheel.js (https:\/\/github.com\/brandonaaron\/jquery-mousewheel) - Allows slider navigating via mousewheel.\n pausePlay: false, \/\/ Boolean: Create pause\/play dynamic element.\n pauseText: 'Pause', \/\/ String: Set the text for the \"pause\" pausePlay item.\n playText: 'Play', \/\/ String: Set the text for the \"play\" pausePlay item.\n\n \/\/ Special properties.\n controlsContainer: \"\", \/\/ {UPDATED} Selector: USE CLASS SELECTOR. Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be \".flexslider-container\". Property is ignored if given element is not found.\n manualControls: \"\", \/\/ Selector: Declare custom control navigation. Examples would be \".flex-control-nav li\" or \"#tabs-nav li img\", etc. The number of elements in your controlNav should match the number of slides\/tabs.\n sync: \"\", \/\/ {NEW} Selector: Mirror the actions performed on this slider with another slider. Use with care.\n asNavFor: \"\", \/\/ {NEW} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider.\n });\n\n if ($('.container.slidewrap').length) {\n $(\".container.slidewrap\").on('transitionend', function () {\n var slider1 = $('#main-slider').data('flexslider');\n slider1.resize();\n });\n }\n }\n\n };\n\n if (document.readyState !== 'loading') {\n log.debug(\"Adaptable ES6 Slider JS DOM content already loaded\");\n sliderInit();\n } else {\n log.debug(\"Adaptable ES6 Slider JS DOM content not loaded\");\n document.addEventListener('DOMContentLoaded', function () {\n log.debug(\"Adaptable ES6 Slider JS DOM content loaded\");\n sliderInit();\n });\n }\n};\n"],"names":["sliderInit","length","flexslider","namespace","selector","animation","easing","direction","reverse","animationLoop","smoothHeight","startAt","slideshow","slideshowSpeed","animationSpeed","initDelay","randomize","pauseOnAction","pauseOnHover","useCSS","touch","video","controlNav","directionNav","prevText","nextText","keyboard","multipleKeyboard","mousewheel","pausePlay","pauseText","playText","controlsContainer","manualControls","sync","asNavFor","on","data","resize","document","readyState","debug","addEventListener"],"mappings":";;qKAiCoB,WAEVA,WAAa,mCAIX,mBAAE,gBAAgBC,6BAChB,gBAAgBC,WAAW,CACzBC,UAAW,QACXC,SAAU,eACVC,UAAW,QACXC,OAAQ,QACRC,UAAW,aACXC,SAAS,EACTC,eAAe,EACfC,cAAc,EACdC,QAAS,EACTC,WAAW,EACXC,eAAgB,IAChBC,eAAgB,IAChBC,UAAW,EACXC,WAAW,EAGXC,eAAe,EACfC,cAAc,EACdC,QAAQ,EACRC,OAAO,EACPC,OAAO,EAGPC,YAAY,EACZC,cAAc,EACdC,SAAU,WACVC,SAAU,OAGVC,UAAU,EACVC,kBAAkB,EAClBC,YAAY,EACZC,WAAW,EACXC,UAAW,QACXC,SAAU,OAGVC,kBAAmB,GACnBC,eAAgB,GAChBC,KAAM,GACNC,SAAU,MAGV,mBAAE,wBAAwBlC,4BACxB,wBAAwBmC,GAAG,iBAAiB,YAC5B,mBAAE,gBAAgBC,KAAK,cAC7BC,cAOI,YAAxBC,SAASC,yBACLC,MAAM,sDACVzC,4BAEIyC,MAAM,kDACVF,SAASG,iBAAiB,oBAAoB,wBACtCD,MAAM,8CACVzC"}