{"version":3,"sources":["webpack:///d725550edeaa55de5c27.js","webpack:///./LeLab.Gcv.Web/src/common/com-event-css-modifier/event-css-modifier.js"],"names":["webpackJsonp","260","module","exports","__webpack_require__","evtCssMod","emptySelectorText","uidPrefix","uidCount","eventState","eventInitiate","stylesheet","error","msg","info","console","uid","CSSStyleSheet","ownerNode","id","touchCssText","cssText","selectorText","arr","split","newSelectorText","i","length","selector","trim","match","replace","parseRuleList","CSSRuleList","rulelist","rule","tmp","index","cssRules","type","push","css","base","touch","parseStyleSheet","document","styleSheets","err","href","reference","replaceStyleRule","CSSGroupingRule","deleteRule","insertRule","updateRuleList","update","updateEvent","onTouchStart","evt","onMouseMove","init","window","addEventListener"],"mappings":"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","file":"d725550edeaa55de5c27.js","sourcesContent":["webpackJsonp([1],{\n\n/***/ 260:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\r\n * Event CSS Modifier\r\n *\r\n * Remove / Add :hover pseudo-class from selector text\r\n * base on event use for interaction.\r\n *\r\n * On mobile, we don't want :hover state because they always\r\n * show up, but we need them on desktop. There is also a need\r\n * for computer having both touch and mouse event.\r\n *\r\n * This JS remove :hover selector when using touch event.\r\n * If a mouse event is use, the default selector is restored.\r\n */\n\n// This object is \"private\" and should not be expose\nvar evtCssMod = {\n\n    //\n    // Variables\n    //\n\n    // Default selector, matching nothing, if a selectorText\n    // is empty after modification.\n    emptySelectorText: \"#evtCssModEmpty\",\n\n    // Unique ID prefix\n    uidPrefix: \"evtCssMod\",\n\n    // Unique ID counter\n    uidCount: 0,\n\n    // Current event state applied to CSS modification\n    eventState: \"base\",\n\n    // Boolean mentionning if an event is currently initiated\n    eventInitiate: false,\n\n    // StyleSheet\n    stylesheet: [],\n\n    //\n    // Functions\n    //\n\n\n    // Throw error\n    //\n    error: function error(msg) {\n        throw \"Event CSS Modifier : \" + msg;\n    },\n\n    // Console log information\n    //\n    info: function info(msg) {\n        console.info(\"Event CSS Modifier : \" + msg);\n    },\n\n    // Apply and return a unique ID for the CSSStyleSheet\n    //\n    uid: function uid(CSSStyleSheet) {\n        if (CSSStyleSheet && CSSStyleSheet.ownerNode) {\n            if (CSSStyleSheet.ownerNode.id != \"\") {\n                return CSSStyleSheet.ownerNode.id;\n            } else {\n                evtCssMod.uidCount = evtCssMod.uidCount + 1;\n                return evtCssMod.uidPrefix + evtCssMod.uidCount;\n            }\n        }\n        return false;\n    },\n\n    // Return a \"cssText\" without :hover pseudo-class\n    //\n    touchCssText: function touchCssText(cssText, selectorText) {\n\n        // Build the new selector text without :hover\n        //\n        var arr = selectorText.split(\",\");\n        var newSelectorText = \"\";\n\n        for (var i = 0; i < arr.length; i++) {\n            var selector = arr[i].trim();\n            if (selector.match(\":hover\")) {\n                continue;\n            } else {\n                if (newSelectorText != \"\") {\n                    newSelectorText = newSelectorText + \", \";\n                }\n                newSelectorText = newSelectorText + selector;\n            }\n        }\n\n        // If new selector text is empty, \n        // assign a selector matching nothing\n        if (newSelectorText == \"\") {\n            newSelectorText = evtCssMod.emptySelectorText;\n        }\n\n        // Replace selector of cssTest\n        cssText = cssText.replace(selectorText, newSelectorText);\n\n        return cssText;\n    },\n\n    // Parse rule list (recursive)\n    //\n    parseRuleList: function parseRuleList(CSSRuleList) {\n        var rulelist = [];\n\n        if (CSSRuleList) {\n            // Loop through each rule in sheet\n            for (var i = 0; i < CSSRuleList.length; i++) {\n\n                // CSSStyleRule or CSSMediaRule\n                var rule = CSSRuleList[i];\n                // Temporary object with rulelist info\n                var tmp = {\n                    index: i\n                };\n\n                // CSSMediaRule\n                if (rule.cssRules) {\n                    // Store object name\n                    tmp.type = 'CSSMediaRule';\n                    // Recursion\n                    tmp.rulelist = evtCssMod.parseRuleList(rule.cssRules);\n                    // Push to array (if not empty)\n                    if (tmp.rulelist.length > 0) {\n                        rulelist.push(tmp);\n                    }\n                }\n                // CSSStyleRule\n                else {\n                        // Store object name\n                        tmp.type = 'CSSStyleRule';\n                        // If selector text contain :hover pseudo-class\n                        if (rule.selectorText && rule.selectorText.match(\":hover\")) {\n                            // Store information about the selector\n                            // Base : It's the original\n                            // Touch : Modified for touch event\n                            tmp.css = {};\n                            tmp.css.base = rule.cssText;\n                            tmp.css.touch = evtCssMod.touchCssText(rule.cssText, rule.selectorText);\n                            // Push to array\n                            rulelist.push(tmp);\n                        }\n                    }\n            }\n        }\n\n        return rulelist;\n    },\n\n    // Parse all stylesheet\n    //\n    parseStyleSheet: function parseStyleSheet() {\n        // Loop through each stylesheet\n        for (var i = 0; i < document.styleSheets.length; i++) {\n            var CSSStyleSheet = document.styleSheets[i];\n            // Apply a unique ID to the stylesheet (if none)\n            if (CSSStyleSheet.ownerNode.id == \"\") {\n                var uid = CSSStyleSheet.ownerNode.id = evtCssMod.uid(CSSStyleSheet);\n            }\n            // Retreive the ID (if exist)\n            else if (CSSStyleSheet.ownerNode.id) {\n                    var uid = CSSStyleSheet.ownerNode.id;\n                }\n                // Can't assign or retreive ID\n                else {\n                        evtCssMod.error(\"Impossible to assing unique ID to stylesheet.\");\n                        continue;\n                    }\n            // Try to retreive the cssRules\n            try {\n                var cssRules = CSSStyleSheet.cssRules;\n            } catch (err) {\n                evtCssMod.info(\"Failed to read the 'cssRules' from '\" + CSSStyleSheet.href + \"'.\");\n                continue;\n            }\n            // Add to the stylesheed\n            if (!evtCssMod.stylesheet[uid]) {\n                evtCssMod.stylesheet.push({\n                    id: uid,\n                    reference: CSSStyleSheet,\n                    rulelist: evtCssMod.parseRuleList(cssRules)\n                });\n            }\n        }\n    },\n\n    // Replace a CSSStyleRule\n    //\n    replaceStyleRule: function replaceStyleRule(CSSGroupingRule, cssText, index) {\n        CSSGroupingRule.deleteRule(index);\n        CSSGroupingRule.insertRule(cssText, index);\n    },\n\n    // Update RuleList base on event\n    //\n    updateRuleList: function updateRuleList(CSSGroupingRule, rulelist) {\n        for (var i = 0; i < rulelist.length; i++) {\n            var rule = rulelist[i];\n\n            // CSSMediaRule\n            if (rule.type == 'CSSMediaRule') {\n                evtCssMod.updateRuleList(CSSGroupingRule.cssRules[rule.index], rule.rulelist);\n            }\n\n            // CSSStyleRule\n            else if (rule.type == 'CSSStyleRule') {\n                    // Apply touch modified selector\n                    if (evtCssMod.eventState == \"touch\") {\n                        evtCssMod.replaceStyleRule(CSSGroupingRule, rule.css.touch, rule.index);\n                    }\n                    // Restore original (base) selector\n                    else {\n                            evtCssMod.replaceStyleRule(CSSGroupingRule, rule.css.base, rule.index);\n                        }\n                }\n        }\n    },\n\n    // Update CSS Rules base on event for each stylesheet\n    //\n    update: function update() {\n        for (var i = 0; i < evtCssMod.stylesheet.length; i++) {\n            var stylesheet = evtCssMod.stylesheet[i];\n            if (stylesheet.rulelist.length > 0) {\n                evtCssMod.updateRuleList(stylesheet.reference, stylesheet.rulelist);\n            }\n        }\n    },\n\n    // Update CSS Rules base on event\n    //\n    updateEvent: function updateEvent(eventState) {\n        // Save the event state\n        evtCssMod.eventState = eventState;\n        // Update\n        evtCssMod.update();\n    },\n\n    // Touch Start\n    //\n    onTouchStart: function onTouchStart(evt) {\n        // Update if not the \"touch\" state\n        if (evtCssMod.eventState != \"touch\" && evtCssMod.eventInitiate == false) {\n            evtCssMod.updateEvent(\"touch\");\n        }\n        // Flag to prevent event execution in \"mouse move\"\n        evtCssMod.eventInitiate = true;\n    },\n\n    onMouseMove: function onMouseMove(evt) {\n        // Update if not the \"base\" state\n        if (evtCssMod.eventState != \"base\" && evtCssMod.eventInitiate == false) {\n            evtCssMod.updateEvent(\"base\");\n        }\n        // Flag to restore event execution in \"mouse move\"\n        if (evtCssMod.eventInitiate) {\n            evtCssMod.eventInitiate = false;\n        }\n    },\n\n    // Init\n    //\n    init: function init() {\n        // Parse stylesheet to build new rule\n        evtCssMod.parseStyleSheet();\n        // If device support touch, \n        // there's a high chance it's a mobile (touch).\n        // Transform the CSS by anticipation.\n        if ('ontouchstart' in window) {\n            evtCssMod.updateEvent(\"touch\");\n        }\n        ;\n        // Listen for event\n        document.addEventListener(\"touchstart\", evtCssMod.onTouchStart, false);\n        document.addEventListener(\"mousemove\", evtCssMod.onMouseMove, false);\n    }\n};\n\n// Expose the \"eventCssModifier\" to be used\n// has an API\nmodule.exports = {\n    init: evtCssMod.init,\n    update: evtCssMod.update\n};\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// d725550edeaa55de5c27.js","/**\r\n * Event CSS Modifier\r\n *\r\n * Remove / Add :hover pseudo-class from selector text\r\n * base on event use for interaction.\r\n *\r\n * On mobile, we don't want :hover state because they always\r\n * show up, but we need them on desktop. There is also a need\r\n * for computer having both touch and mouse event.\r\n *\r\n * This JS remove :hover selector when using touch event.\r\n * If a mouse event is use, the default selector is restored.\r\n */\r\n\r\n// This object is \"private\" and should not be expose\r\nvar evtCssMod = {\r\n\r\n    //\r\n    // Variables\r\n    //\r\n\r\n    // Default selector, matching nothing, if a selectorText\r\n    // is empty after modification.\r\n    emptySelectorText: \"#evtCssModEmpty\",\r\n\r\n    // Unique ID prefix\r\n    uidPrefix: \"evtCssMod\",\r\n\r\n    // Unique ID counter\r\n    uidCount: 0,\r\n\r\n    // Current event state applied to CSS modification\r\n    eventState: \"base\",\r\n\r\n    // Boolean mentionning if an event is currently initiated\r\n    eventInitiate: false,\r\n\r\n    // StyleSheet\r\n    stylesheet: [],\r\n\r\n\r\n    //\r\n    // Functions\r\n    //\r\n\r\n\r\n    // Throw error\r\n    //\r\n    error: function (msg) {\r\n        throw \"Event CSS Modifier : \" + msg;\r\n    },\r\n\r\n\r\n    // Console log information\r\n    //\r\n    info: function (msg) {\r\n        console.info(\"Event CSS Modifier : \" + msg);\r\n    },\r\n\r\n\r\n    // Apply and return a unique ID for the CSSStyleSheet\r\n    //\r\n    uid: function (CSSStyleSheet) {\r\n        if (CSSStyleSheet && CSSStyleSheet.ownerNode) {\r\n            if (CSSStyleSheet.ownerNode.id != \"\") {\r\n                return CSSStyleSheet.ownerNode.id;\r\n            } else {\r\n                evtCssMod.uidCount = evtCssMod.uidCount + 1;\r\n                return evtCssMod.uidPrefix + evtCssMod.uidCount;\r\n            }\r\n        }\r\n        return false;\r\n    },\r\n\r\n\r\n    // Return a \"cssText\" without :hover pseudo-class\r\n    //\r\n    touchCssText: function (cssText, selectorText) {\r\n\r\n        // Build the new selector text without :hover\r\n        //\r\n        var arr = selectorText.split(\",\");\r\n        var newSelectorText = \"\";\r\n\r\n        for (var i = 0; i < arr.length; i++) {\r\n            var selector = arr[i].trim();\r\n            if (selector.match(\":hover\")) {\r\n                continue;\r\n            } else {\r\n                if (newSelectorText != \"\") {\r\n                    newSelectorText = newSelectorText + \", \";\r\n                }\r\n                newSelectorText = newSelectorText + selector;\r\n            }\r\n        }\r\n\r\n        // If new selector text is empty, \r\n        // assign a selector matching nothing\r\n        if (newSelectorText == \"\") {\r\n            newSelectorText = evtCssMod.emptySelectorText;\r\n        }\r\n\r\n        // Replace selector of cssTest\r\n        cssText = cssText.replace(selectorText, newSelectorText);\r\n\r\n        return cssText;\r\n    },\r\n\r\n\r\n    // Parse rule list (recursive)\r\n    //\r\n    parseRuleList: function (CSSRuleList) {\r\n        var rulelist = [];\r\n\r\n        if (CSSRuleList) {\r\n            // Loop through each rule in sheet\r\n            for (var i = 0; i < CSSRuleList.length; i++) {\r\n\r\n                // CSSStyleRule or CSSMediaRule\r\n                var rule = CSSRuleList[i];\r\n                // Temporary object with rulelist info\r\n                var tmp = {\r\n                    index: i\r\n                };\r\n\r\n                // CSSMediaRule\r\n                if (rule.cssRules) {\r\n                    // Store object name\r\n                    tmp.type = 'CSSMediaRule';\r\n                    // Recursion\r\n                    tmp.rulelist = evtCssMod.parseRuleList(rule.cssRules);\r\n                    // Push to array (if not empty)\r\n                    if (tmp.rulelist.length > 0) {\r\n                        rulelist.push(tmp);\r\n                    }\r\n                }\r\n                // CSSStyleRule\r\n                else {\r\n                    // Store object name\r\n                    tmp.type = 'CSSStyleRule';\r\n                    // If selector text contain :hover pseudo-class\r\n                    if (rule.selectorText && rule.selectorText.match(\":hover\")) {\r\n                        // Store information about the selector\r\n                        // Base : It's the original\r\n                        // Touch : Modified for touch event\r\n                        tmp.css = {};\r\n                        tmp.css.base = rule.cssText;\r\n                        tmp.css.touch = evtCssMod.touchCssText(rule.cssText, rule.selectorText);\r\n                        // Push to array\r\n                        rulelist.push(tmp);\r\n                    }\r\n                }\r\n\r\n            }\r\n        }\r\n\r\n        return rulelist;\r\n    },\r\n\r\n\r\n    // Parse all stylesheet\r\n    //\r\n    parseStyleSheet: function () {\r\n        // Loop through each stylesheet\r\n        for (var i = 0; i < document.styleSheets.length; i++) {\r\n            var CSSStyleSheet = document.styleSheets[i];\r\n            // Apply a unique ID to the stylesheet (if none)\r\n            if (CSSStyleSheet.ownerNode.id == \"\") {\r\n                var uid = CSSStyleSheet.ownerNode.id = evtCssMod.uid(CSSStyleSheet);\r\n            }\r\n            // Retreive the ID (if exist)\r\n            else if (CSSStyleSheet.ownerNode.id) {\r\n                var uid = CSSStyleSheet.ownerNode.id;\r\n            }\r\n            // Can't assign or retreive ID\r\n            else {\r\n                evtCssMod.error(\"Impossible to assing unique ID to stylesheet.\");\r\n                continue;\r\n            }\r\n            // Try to retreive the cssRules\r\n            try {\r\n                var cssRules = CSSStyleSheet.cssRules;\r\n            } catch (err) {\r\n                evtCssMod.info(\"Failed to read the 'cssRules' from '\" + CSSStyleSheet.href + \"'.\");\r\n                continue;\r\n            }\r\n            // Add to the stylesheed\r\n            if (!evtCssMod.stylesheet[uid]) {\r\n                evtCssMod.stylesheet.push({\r\n                    id: uid,\r\n                    reference: CSSStyleSheet,\r\n                    rulelist: evtCssMod.parseRuleList(cssRules)\r\n                });\r\n            }\r\n        }\r\n    },\r\n\r\n\r\n    // Replace a CSSStyleRule\r\n    //\r\n    replaceStyleRule: function (CSSGroupingRule, cssText, index) {\r\n        CSSGroupingRule.deleteRule(index);\r\n        CSSGroupingRule.insertRule(cssText, index);\r\n    },\r\n\r\n\r\n    // Update RuleList base on event\r\n    //\r\n    updateRuleList: function (CSSGroupingRule, rulelist) {\r\n        for (var i = 0; i < rulelist.length; i++) {\r\n            var rule = rulelist[i];\r\n\r\n            // CSSMediaRule\r\n            if (rule.type == 'CSSMediaRule') {\r\n                evtCssMod.updateRuleList(CSSGroupingRule.cssRules[rule.index], rule.rulelist);\r\n            }\r\n\r\n            // CSSStyleRule\r\n            else if (rule.type == 'CSSStyleRule') {\r\n                // Apply touch modified selector\r\n                if (evtCssMod.eventState == \"touch\") {\r\n                    evtCssMod.replaceStyleRule(CSSGroupingRule, rule.css.touch, rule.index);\r\n                }\r\n                // Restore original (base) selector\r\n                else {\r\n                    evtCssMod.replaceStyleRule(CSSGroupingRule, rule.css.base, rule.index);\r\n                }\r\n            }\r\n        }\r\n    },\r\n\r\n\r\n    // Update CSS Rules base on event for each stylesheet\r\n    //\r\n    update: function () {\r\n        for (var i = 0; i < evtCssMod.stylesheet.length; i++) {\r\n            var stylesheet = evtCssMod.stylesheet[i];\r\n            if (stylesheet.rulelist.length > 0) {\r\n                evtCssMod.updateRuleList(stylesheet.reference, stylesheet.rulelist);\r\n            }\r\n        }\r\n    },\r\n\r\n\r\n    // Update CSS Rules base on event\r\n    //\r\n    updateEvent: function (eventState) {\r\n        // Save the event state\r\n        evtCssMod.eventState = eventState;\r\n        // Update\r\n        evtCssMod.update();\r\n    },\r\n\r\n\r\n    // Touch Start\r\n    //\r\n    onTouchStart: function (evt) {\r\n        // Update if not the \"touch\" state\r\n        if (evtCssMod.eventState != \"touch\" && evtCssMod.eventInitiate == false) {\r\n            evtCssMod.updateEvent(\"touch\");\r\n        }\r\n        // Flag to prevent event execution in \"mouse move\"\r\n        evtCssMod.eventInitiate = true;\r\n    },\r\n\r\n    onMouseMove: function (evt) {\r\n        // Update if not the \"base\" state\r\n        if (evtCssMod.eventState != \"base\" && evtCssMod.eventInitiate == false) {\r\n            evtCssMod.updateEvent(\"base\");\r\n        }\r\n        // Flag to restore event execution in \"mouse move\"\r\n        if (evtCssMod.eventInitiate) {\r\n            evtCssMod.eventInitiate = false;\r\n        }\r\n    },\r\n\r\n\r\n    // Init\r\n    //\r\n    init: function () {\r\n        // Parse stylesheet to build new rule\r\n        evtCssMod.parseStyleSheet();\r\n        // If device support touch, \r\n        // there's a high chance it's a mobile (touch).\r\n        // Transform the CSS by anticipation.\r\n        if ('ontouchstart' in window) {\r\n            evtCssMod.updateEvent(\"touch\");\r\n        }\r\n        ;\r\n        // Listen for event\r\n        document.addEventListener(\"touchstart\", evtCssMod.onTouchStart, false);\r\n        document.addEventListener(\"mousemove\", evtCssMod.onMouseMove, false);\r\n    }\r\n};\r\n\r\n// Expose the \"eventCssModifier\" to be used\r\n// has an API\r\nmodule.exports = {\r\n    init: evtCssMod.init,\r\n    update: evtCssMod.update\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./LeLab.Gcv.Web/src/common/com-event-css-modifier/event-css-modifier.js"],"sourceRoot":""}