/*! * CoreUI v2.0.18 (https://coreui.io) * Copyright 2018 Ɓukasz Holeczek * Licensed under MIT (https://coreui.io) */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('perfect-scrollbar')) : typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'perfect-scrollbar'], factory) : (factory((global.coreui = {}),global.jQuery,global.PerfectScrollbar)); }(this, (function (exports,$,PerfectScrollbar) { 'use strict'; $ = $ && $.hasOwnProperty('default') ? $['default'] : $; PerfectScrollbar = PerfectScrollbar && PerfectScrollbar.hasOwnProperty('default') ? PerfectScrollbar['default'] : PerfectScrollbar; function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } /** * -------------------------------------------------------------------------- * CoreUI (v2.0.18): ajax-load.js * Licensed under MIT (https://coreui.io/license) * -------------------------------------------------------------------------- */ var AjaxLoad = function ($$$1) { /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME = 'ajaxLoad'; var VERSION = '2.0.18'; var DATA_KEY = 'coreui.ajaxLoad'; var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var ClassName = { ACTIVE: 'active', NAV_PILLS: 'nav-pills', NAV_TABS: 'nav-tabs', OPEN: 'open', VIEW_SCRIPT: 'view-script' }; var Event = { CLICK: 'click' }; var Selector = { HEAD: 'head', NAV_DROPDOWN: '.sidebar-nav .nav-dropdown', NAV_LINK: '.sidebar-nav .nav-link', NAV_ITEM: '.sidebar-nav .nav-item', VIEW_SCRIPT: '.view-script' }; var Default = { defaultPage: 'main.html', errorPage: '404.html', subpagesDirectory: 'views/' }; var AjaxLoad = /*#__PURE__*/ function () { function AjaxLoad(element, config) { this._config = this._getConfig(config); this._element = element; var url = location.hash.replace(/^#/, ''); if (url !== '') { this.setUpUrl(url); } else { this.setUpUrl(this._config.defaultPage); } this._addEventListeners(); } // Getters var _proto = AjaxLoad.prototype; // Public _proto.loadPage = function loadPage(url) { var element = this._element; var config = this._config; var loadScripts = function loadScripts(src, element) { if (element === void 0) { element = 0; } var script = document.createElement('script'); script.type = 'text/javascript'; script.src = src[element]; script.className = ClassName.VIEW_SCRIPT; // eslint-disable-next-line no-multi-assign script.onload = script.onreadystatechange = function () { if (!this.readyState || this.readyState === 'complete') { if (src.length > element + 1) { loadScripts(src, element + 1); } } }; var body = document.getElementsByTagName('body')[0]; body.appendChild(script); }; $$$1.ajax({ type: 'GET', url: config.subpagesDirectory + url, dataType: 'html', beforeSend: function beforeSend() { $$$1(Selector.VIEW_SCRIPT).remove(); }, success: function success(result) { var wrapper = document.createElement('div'); wrapper.innerHTML = result; var scripts = Array.from(wrapper.querySelectorAll('script')).map(function (script) { return script.attributes.getNamedItem('src').nodeValue; }); wrapper.querySelectorAll('script').forEach(function (script) { return script.parentNode.removeChild(script); }); $$$1('body').animate({ scrollTop: 0 }, 0); $$$1(element).html(wrapper); if (scripts.length) { loadScripts(scripts); } window.location.hash = url; }, error: function error() { window.location.href = config.errorPage; } }); }; _proto.setUpUrl = function setUpUrl(url) { $$$1(Selector.NAV_LINK).removeClass(ClassName.ACTIVE); $$$1(Selector.NAV_DROPDOWN).removeClass(ClassName.OPEN); $$$1(Selector.NAV_DROPDOWN + ":has(a[href=\"" + url.replace(/^\//, '').split('?')[0] + "\"])").addClass(ClassName.OPEN); $$$1(Selector.NAV_ITEM + " a[href=\"" + url.replace(/^\//, '').split('?')[0] + "\"]").addClass(ClassName.ACTIVE); this.loadPage(url); }; _proto.loadBlank = function loadBlank(url) { window.open(url); }; _proto.loadTop = function loadTop(url) { window.location = url; }; // Private _proto._getConfig = function _getConfig(config) { config = Object.assign({}, Default, config); return config; }; _proto._addEventListeners = function _addEventListeners() { var _this = this; $$$1(document).on(Event.CLICK, Selector.NAV_LINK + "[href!=\"#\"]", function (event) { event.preventDefault(); event.stopPropagation(); if (event.currentTarget.target === '_top') { _this.loadTop(event.currentTarget.href); } else if (event.currentTarget.target === '_blank') { _this.loadBlank(event.currentTarget.href); } else { _this.setUpUrl(event.currentTarget.getAttribute('href')); } }); }; // Static AjaxLoad._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { var data = $$$1(this).data(DATA_KEY); var _config = typeof config === 'object' && config; if (!data) { data = new AjaxLoad(this, _config); $$$1(this).data(DATA_KEY, data); } }); }; _createClass(AjaxLoad, null, [{ key: "VERSION", get: function get() { return VERSION; } }, { key: "Default", get: function get() { return Default; } }]); return AjaxLoad; }(); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $$$1.fn[NAME] = AjaxLoad._jQueryInterface; $$$1.fn[NAME].Constructor = AjaxLoad; $$$1.fn[NAME].noConflict = function () { $$$1.fn[NAME] = JQUERY_NO_CONFLICT; return AjaxLoad._jQueryInterface; }; return AjaxLoad; }($); /** * -------------------------------------------------------------------------- * CoreUI (v2.0.18): toggle-classes.js * Licensed under MIT (https://coreui.io/license) * -------------------------------------------------------------------------- */ var removeClasses = function removeClasses(classNames) { return classNames.map(function (className) { return document.body.classList.contains(className); }).indexOf(true) !== -1; }; var toggleClasses = function toggleClasses(toggleClass, classNames) { var breakpoint = classNames.indexOf(toggleClass); var newClassNames = classNames.slice(0, breakpoint + 1); if (removeClasses(newClassNames)) { newClassNames.map(function (className) { return document.body.classList.remove(className); }); } else { document.body.classList.add(toggleClass); } }; /** * -------------------------------------------------------------------------- * CoreUI (v2.0.18): aside-menu.js * Licensed under MIT (https://coreui.io/license) * -------------------------------------------------------------------------- */ var AsideMenu = function ($$$1) { /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME = 'aside-menu'; var VERSION = '2.0.18'; var DATA_KEY = 'coreui.aside-menu'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var Event = { CLICK: 'click', LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY, TOGGLE: 'toggle' }; var Selector = { BODY: 'body', ASIDE_MENU: '.aside-menu', ASIDE_MENU_TOGGLER: '.aside-menu-toggler' }; var ShowClassNames = ['aside-menu-show', 'aside-menu-sm-show', 'aside-menu-md-show', 'aside-menu-lg-show', 'aside-menu-xl-show']; /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ var AsideMenu = /*#__PURE__*/ function () { function AsideMenu(element) { this._element = element; this._addEventListeners(); } // Getters var _proto = AsideMenu.prototype; // Private _proto._addEventListeners = function _addEventListeners() { $$$1(Selector.ASIDE_MENU_TOGGLER).on(Event.CLICK, function (event) { event.preventDefault(); event.stopPropagation(); var toggle = event.currentTarget.dataset.toggle; toggleClasses(toggle, ShowClassNames); }); }; // Static AsideMenu._jQueryInterface = function _jQueryInterface() { return this.each(function () { var $element = $$$1(this); var data = $element.data(DATA_KEY); if (!data) { data = new AsideMenu(this); $element.data(DATA_KEY, data); } }); }; _createClass(AsideMenu, null, [{ key: "VERSION", get: function get() { return VERSION; } }]); return AsideMenu; }(); /** * ------------------------------------------------------------------------ * Data Api implementation * ------------------------------------------------------------------------ */ $$$1(window).on(Event.LOAD_DATA_API, function () { var asideMenu = $$$1(Selector.ASIDE_MENU); AsideMenu._jQueryInterface.call(asideMenu); }); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $$$1.fn[NAME] = AsideMenu._jQueryInterface; $$$1.fn[NAME].Constructor = AsideMenu; $$$1.fn[NAME].noConflict = function () { $$$1.fn[NAME] = JQUERY_NO_CONFLICT; return AsideMenu._jQueryInterface; }; return AsideMenu; }($); /** * -------------------------------------------------------------------------- * CoreUI (v2.0.18): sidebar.js * Licensed under MIT (https://coreui.io/license) * -------------------------------------------------------------------------- */ var Sidebar = function ($$$1) { /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME = 'sidebar'; var VERSION = '2.0.18'; var DATA_KEY = 'coreui.sidebar'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var Default = { transition: 400 }; var ClassName = { ACTIVE: 'active', BRAND_MINIMIZED: 'brand-minimized', NAV_DROPDOWN_TOGGLE: 'nav-dropdown-toggle', OPEN: 'open', SIDEBAR_FIXED: 'sidebar-fixed', SIDEBAR_MINIMIZED: 'sidebar-minimized', SIDEBAR_OFF_CANVAS: 'sidebar-off-canvas' }; var Event = { CLICK: 'click', DESTROY: 'destroy', INIT: 'init', LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY, TOGGLE: 'toggle', UPDATE: 'update' }; var Selector = { BODY: 'body', BRAND_MINIMIZER: '.brand-minimizer', NAV_DROPDOWN_TOGGLE: '.nav-dropdown-toggle', NAV_DROPDOWN_ITEMS: '.nav-dropdown-items', NAV_ITEM: '.nav-item', NAV_LINK: '.nav-link', NAVIGATION_CONTAINER: '.sidebar-nav', NAVIGATION: '.sidebar-nav > .nav', SIDEBAR: '.sidebar', SIDEBAR_MINIMIZER: '.sidebar-minimizer', SIDEBAR_TOGGLER: '.sidebar-toggler' }; var ShowClassNames = ['sidebar-show', 'sidebar-sm-show', 'sidebar-md-show', 'sidebar-lg-show', 'sidebar-xl-show']; /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ var Sidebar = /*#__PURE__*/ function () { function Sidebar(element) { this._element = element; this.ps = null; this.perfectScrollbar(Event.INIT); this.setActiveLink(); this._addEventListeners(); } // Getters var _proto = Sidebar.prototype; // Public _proto.perfectScrollbar = function perfectScrollbar(event) { var _this = this; if (typeof PerfectScrollbar !== 'undefined') { if (event === Event.INIT && !document.body.classList.contains(ClassName.SIDEBAR_MINIMIZED)) { this.ps = this.makeScrollbar(); } if (event === Event.DESTROY) { this.destroyScrollbar(); } if (event === Event.TOGGLE) { if (document.body.classList.contains(ClassName.SIDEBAR_MINIMIZED)) { this.destroyScrollbar(); } else { this.ps = this.makeScrollbar(); } } if (event === Event.UPDATE && !document.body.classList.contains(ClassName.SIDEBAR_MINIMIZED)) { // ToDo: Add smooth transition setTimeout(function () { _this.destroyScrollbar(); _this.ps = _this.makeScrollbar(); }, Default.transition); } } }; _proto.makeScrollbar = function makeScrollbar(container) { if (container === void 0) { container = Selector.NAVIGATION_CONTAINER; } var ps = new PerfectScrollbar(document.querySelector(container), { suppressScrollX: true }); // ToDo: find real fix for ps rtl ps.isRtl = false; return ps; }; _proto.destroyScrollbar = function destroyScrollbar() { if (this.ps) { this.ps.destroy(); this.ps = null; } }; _proto.setActiveLink = function setActiveLink() { $$$1(Selector.NAVIGATION).find(Selector.NAV_LINK).each(function (key, value) { var link = value; var cUrl = String(window.location).split('?')[0]; if (cUrl.substr(cUrl.length - 1) === '#') { cUrl = cUrl.slice(0, -1); } if ($$$1($$$1(link))[0].href === cUrl) { $$$1(link).addClass(ClassName.ACTIVE).parents(Selector.NAV_DROPDOWN_ITEMS).add(link).each(function (key, value) { link = value; $$$1(link).parent().addClass(ClassName.OPEN); }); } }); }; // Private _proto._addEventListeners = function _addEventListeners() { var _this2 = this; $$$1(Selector.BRAND_MINIMIZER).on(Event.CLICK, function (event) { event.preventDefault(); event.stopPropagation(); $$$1(Selector.BODY).toggleClass(ClassName.BRAND_MINIMIZED); }); $$$1(Selector.NAV_DROPDOWN_TOGGLE).on(Event.CLICK, function (event) { event.preventDefault(); event.stopPropagation(); var dropdown = event.target; $$$1(dropdown).parent().toggleClass(ClassName.OPEN); _this2.perfectScrollbar(Event.UPDATE); }); $$$1(Selector.SIDEBAR_MINIMIZER).on(Event.CLICK, function (event) { event.preventDefault(); event.stopPropagation(); $$$1(Selector.BODY).toggleClass(ClassName.SIDEBAR_MINIMIZED); _this2.perfectScrollbar(Event.TOGGLE); }); $$$1(Selector.SIDEBAR_TOGGLER).on(Event.CLICK, function (event) { event.preventDefault(); event.stopPropagation(); var toggle = event.currentTarget.dataset.toggle; toggleClasses(toggle, ShowClassNames); }); $$$1(Selector.NAVIGATION + " > " + Selector.NAV_ITEM + " " + Selector.NAV_LINK + ":not(" + Selector.NAV_DROPDOWN_TOGGLE + ")").on(Event.CLICK, function () { document.body.classList.remove('sidebar-show'); }); }; // Static Sidebar._jQueryInterface = function _jQueryInterface() { return this.each(function () { var $element = $$$1(this); var data = $element.data(DATA_KEY); if (!data) { data = new Sidebar(this); $element.data(DATA_KEY, data); } }); }; _createClass(Sidebar, null, [{ key: "VERSION", get: function get() { return VERSION; } }]); return Sidebar; }(); /** * ------------------------------------------------------------------------ * Data Api implementation * ------------------------------------------------------------------------ */ $$$1(window).on(Event.LOAD_DATA_API, function () { var sidebar = $$$1(Selector.SIDEBAR); Sidebar._jQueryInterface.call(sidebar); }); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $$$1.fn[NAME] = Sidebar._jQueryInterface; $$$1.fn[NAME].Constructor = Sidebar; $$$1.fn[NAME].noConflict = function () { $$$1.fn[NAME] = JQUERY_NO_CONFLICT; return Sidebar._jQueryInterface; }; return Sidebar; }($); /** * -------------------------------------------------------------------------- * CoreUI Utilities (v2.0.18): get-style.js * Licensed under MIT (https://coreui.io/license) * -------------------------------------------------------------------------- */ var getCssCustomProperties = function getCssCustomProperties() { var cssCustomProperties = {}; var sheets = document.styleSheets; var cssText = ''; for (var i = sheets.length - 1; i > -1; i--) { var rules = sheets[i].cssRules; for (var j = rules.length - 1; j > -1; j--) { if (rules[j].selectorText === '.ie-custom-properties') { cssText = rules[j].cssText; break; } } if (cssText) { break; } } cssText = cssText.substring(cssText.lastIndexOf('{') + 1, cssText.lastIndexOf('}')); cssText.split(';').forEach(function (property) { if (property) { var name = property.split(': ')[0]; var value = property.split(': ')[1]; if (name && value) { cssCustomProperties["--" + name.trim()] = value.trim(); } } }); return cssCustomProperties; }; var minIEVersion = 10; var isIE1x = function isIE1x() { return Boolean(document.documentMode) && document.documentMode >= minIEVersion; }; var isCustomProperty = function isCustomProperty(property) { return property.match(/^--.*/i); }; var getStyle = function getStyle(property, element) { if (element === void 0) { element = document.body; } var style; if (isCustomProperty(property) && isIE1x()) { var cssCustomProperties = getCssCustomProperties(); style = cssCustomProperties[property]; } else { style = window.getComputedStyle(element, null).getPropertyValue(property).replace(/^\s/, ''); } return style; }; /** * -------------------------------------------------------------------------- * CoreUI Utilities (v2.0.18): hex-to-rgb.js * Licensed under MIT (https://coreui.io/license) * -------------------------------------------------------------------------- */ /* eslint-disable no-magic-numbers */ var hexToRgb = function hexToRgb(color) { if (typeof color === 'undefined') { throw new Error('Hex color is not defined'); } var hex = color.match(/^#(?:[0-9a-f]{3}){1,2}$/i); if (!hex) { throw new Error(color + " is not a valid hex color"); } var r; var g; var b; if (color.length === 7) { r = parseInt(color.substring(1, 3), 16); g = parseInt(color.substring(3, 5), 16); b = parseInt(color.substring(5, 7), 16); } else { r = parseInt(color.substring(1, 2), 16); g = parseInt(color.substring(2, 3), 16); b = parseInt(color.substring(3, 5), 16); } return "rgba(" + r + ", " + g + ", " + b + ")"; }; /** * -------------------------------------------------------------------------- * CoreUI Utilities (v2.0.18): hex-to-rgba.js * Licensed under MIT (https://coreui.io/license) * -------------------------------------------------------------------------- */ /* eslint-disable no-magic-numbers */ var hexToRgba = function hexToRgba(color, opacity) { if (opacity === void 0) { opacity = 100; } if (typeof color === 'undefined') { throw new Error('Hex color is not defined'); } var hex = color.match(/^#(?:[0-9a-f]{3}){1,2}$/i); if (!hex) { throw new Error(color + " is not a valid hex color"); } var r; var g; var b; if (color.length === 7) { r = parseInt(color.substring(1, 3), 16); g = parseInt(color.substring(3, 5), 16); b = parseInt(color.substring(5, 7), 16); } else { r = parseInt(color.substring(1, 2), 16); g = parseInt(color.substring(2, 3), 16); b = parseInt(color.substring(3, 5), 16); } return "rgba(" + r + ", " + g + ", " + b + ", " + opacity / 100 + ")"; }; /** * -------------------------------------------------------------------------- * CoreUI (v2.0.18): rgb-to-hex.js * Licensed under MIT (https://coreui.io/license) * -------------------------------------------------------------------------- */ /* eslint-disable no-magic-numbers */ var rgbToHex = function rgbToHex(color) { if (typeof color === 'undefined') { throw new Error('Hex color is not defined'); } if (color === 'transparent') { return '#00000000'; } var rgb = color.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i); if (!rgb) { throw new Error(color + " is not a valid rgb color"); } var r = "0" + parseInt(rgb[1], 10).toString(16); var g = "0" + parseInt(rgb[2], 10).toString(16); var b = "0" + parseInt(rgb[3], 10).toString(16); return "#" + r.slice(-2) + g.slice(-2) + b.slice(-2); }; /** * -------------------------------------------------------------------------- * CoreUI (v2.0.18): index.js * Licensed under MIT (https://coreui.io/license) * -------------------------------------------------------------------------- */ (function ($$$1) { if (typeof $$$1 === 'undefined') { throw new TypeError('CoreUI\'s JavaScript requires jQuery. jQuery must be included before CoreUI\'s JavaScript.'); } var version = $$$1.fn.jquery.split(' ')[0].split('.'); var minMajor = 1; var ltMajor = 2; var minMinor = 9; var minPatch = 1; var maxMajor = 4; if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) { throw new Error('CoreUI\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0'); } })($); window.getStyle = getStyle; window.hexToRgb = hexToRgb; window.hexToRgba = hexToRgba; window.rgbToHex = rgbToHex; exports.AjaxLoad = AjaxLoad; exports.AsideMenu = AsideMenu; exports.Sidebar = Sidebar; Object.defineProperty(exports, '__esModule', { value: true }); }))); //# sourceMappingURL=coreui.js.map