{"version":3,"file":"loader.min.js","sources":["https:\/\/edu.betha.com.br\/theme\/smart\/amd\/src\/loader.js"],"sourcesContent":["\/\/ This file is part of Moodle - http:\/\/moodle.org\/\r\n\/\/\r\n\/\/ Moodle is free software: you can redistribute it and\/or modify\r\n\/\/ it under the terms of the GNU General Public License as published by\r\n\/\/ the Free Software Foundation, either version 3 of the License, or\r\n\/\/ (at your option) any later version.\r\n\/\/\r\n\/\/ Moodle is distributed in the hope that it will be useful,\r\n\/\/ but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n\/\/ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n\/\/ GNU General Public License for more details.\r\n\/\/\r\n\/\/ You should have received a copy of the GNU General Public License\r\n\/\/ along with Moodle. If not, see .\r\n\r\n\/**\r\n * Template renderer for Moodle. Load and render Moodle templates with Mustache.\r\n *\r\n * @module theme_smart\/loader\r\n * @copyright 2015 Damyon Wiese \r\n * @license http:\/\/www.gnu.org\/copyleft\/gpl.html GNU GPL v3 or later\r\n * @since 2.9\r\n *\/\r\n\r\nimport $ from 'jquery';\r\nimport * as Aria from '.\/aria';\r\nimport Bootstrap from '.\/index';\r\nimport Pending from 'core\/pending';\r\nimport {DefaultWhitelist} from '.\/bootstrap\/tools\/sanitizer';\r\nimport setupBootstrapPendingChecks from '.\/pending';\r\n\r\n\/**\r\n * Rember the last visited tabs.\r\n *\/\r\nconst rememberTabs = () => {\r\n $('a[data-toggle=\"tab\"]').on('shown.bs.tab', function(e) {\r\n var hash = $(e.target).attr('href');\r\n if (history.replaceState) {\r\n history.replaceState(null, null, hash);\r\n } else {\r\n location.hash = hash;\r\n }\r\n });\r\n const hash = window.location.hash;\r\n if (hash) {\r\n const tab = document.querySelector('[role=\"tablist\"] [href=\"' + hash + '\"]');\r\n if (tab) {\r\n tab.click();\r\n }\r\n }\r\n};\r\n\r\n\/**\r\n * Enable all popovers\r\n *\r\n *\/\r\nconst enablePopovers = () => {\r\n $('body').popover({\r\n container: 'body',\r\n selector: '[data-toggle=\"popover\"]',\r\n trigger: 'focus',\r\n whitelist: Object.assign(DefaultWhitelist, {\r\n table: [],\r\n thead: [],\r\n tbody: [],\r\n tr: [],\r\n th: [],\r\n td: [],\r\n }),\r\n });\r\n\r\n document.addEventListener('keydown', e => {\r\n if (e.key === 'Escape' && e.target.closest('[data-toggle=\"popover\"]')) {\r\n $(e.target).popover('hide');\r\n }\r\n });\r\n};\r\n\r\n\/**\r\n * Enable tooltips\r\n *\r\n *\/\r\nconst enableTooltips = () => {\r\n $('body').tooltip({\r\n container: 'body',\r\n selector: '[data-toggle=\"tooltip\"]',\r\n\t\ttrigger: 'hover',\r\n });\r\n};\r\n\r\nconst pendingPromise = new Pending('theme_smart\/loader:init');\r\n\r\n\/\/ Add pending promise event listeners to relevant Bootstrap custom events.\r\nsetupBootstrapPendingChecks();\r\n\r\n\/\/ Setup Aria helpers for Bootstrap features.\r\nAria.init();\r\n\r\n\/\/ Remember the last visited tabs.\r\nrememberTabs();\r\n\r\n\/\/ Enable all popovers.\r\nenablePopovers();\r\n\r\n\/\/ Enable all tooltips.\r\nenableTooltips();\r\n\r\n\/\/ Disables flipping the dropdowns up or dynamically repositioning them along the Y-axis (based on the viewport)\r\n\/\/ to prevent the dropdowns getting hidden behind the navbar or them covering the trigger element.\r\n$.fn.dropdown.Constructor.Default.popperConfig = {\r\n modifiers: {\r\n flip: {\r\n enabled: false,\r\n },\r\n storeTopPosition: {\r\n enabled: true,\r\n \/\/ eslint-disable-next-line no-unused-vars\r\n fn(data, options) {\r\n data.storedTop = data.offsets.popper.top;\r\n return data;\r\n },\r\n order: 299\r\n },\r\n restoreTopPosition: {\r\n enabled: true,\r\n \/\/ eslint-disable-next-line no-unused-vars\r\n fn(data, options) {\r\n data.offsets.popper.top = data.storedTop;\r\n return data;\r\n },\r\n order: 301\r\n }\r\n },\r\n};\r\n\r\npendingPromise.resolve();\r\n\r\nexport {\r\n Bootstrap,\r\n};\r\n"],"names":["pendingPromise","Pending","Aria","init","on","e","hash","target","attr","history","replaceState","location","window","tab","document","querySelector","click","rememberTabs","popover","container","selector","trigger","whitelist","Object","assign","DefaultWhitelist","table","thead","tbody","tr","th","td","addEventListener","key","closest","tooltip","fn","dropdown","Constructor","Default","popperConfig","modifiers","flip","enabled","storeTopPosition","data","options","storedTop","offsets","popper","top","order","restoreTopPosition","resolve"],"mappings":";;;;;;;;i+BA0FMA,eAAiB,IAAIC,iBAAQ,mDAMnCC,KAAKC,OA9DgB,0BACf,wBAAwBC,GAAG,gBAAgB,SAASC,OAC9CC,MAAO,mBAAED,EAAEE,QAAQC,KAAK,QACxBC,QAAQC,aACRD,QAAQC,aAAa,KAAM,KAAMJ,MAEjCK,SAASL,KAAOA,cAGlBA,KAAOM,OAAOD,SAASL,QACzBA,KAAM,OACAO,IAAMC,SAASC,cAAc,2BAA6BT,KAAO,MACnEO,KACAA,IAAIG,UAoDhBC,uBA1CM,QAAQC,QAAQ,CACdC,UAAW,OACXC,SAAU,0BACVC,QAAS,QACTC,UAAWC,OAAOC,OAAOC,4BAAkB,CACvCC,MAAO,GACPC,MAAO,GACPC,MAAO,GACPC,GAAI,GACJC,GAAI,GACJC,GAAI,OAIZjB,SAASkB,iBAAiB,WAAW3B,IACnB,WAAVA,EAAE4B,KAAoB5B,EAAEE,OAAO2B,QAAQ,gDACrC7B,EAAEE,QAAQW,QAAQ,+BAU1B,QAAQiB,QAAQ,CACdhB,UAAW,OACXC,SAAU,0BAChBC,QAAS,0BAuBTe,GAAGC,SAASC,YAAYC,QAAQC,aAAe,CAC7CC,UAAW,CACPC,KAAM,CACFC,SAAS,GAEbC,iBAAkB,CACdD,SAAS,EAETP,GAAE,CAACS,KAAMC,WACLD,KAAKE,UAAYF,KAAKG,QAAQC,OAAOC,IAC9BL,MAEXM,MAAO,KAEXC,mBAAoB,CAChBT,SAAS,EAETP,GAAE,CAACS,KAAMC,WACLD,KAAKG,QAAQC,OAAOC,IAAML,KAAKE,UACxBF,MAEXM,MAAO,OAKnBnD,eAAeqD"}