{"version":3,"file":"css-8981f337.js","sources":["../../../../../web/tnt-mate/node_modules/css-element-queries/src/ResizeSensor.js","../../../../../web/tnt-mate/node_modules/css-element-queries/src/ElementQueries.js","../../../../../web/tnt-mate/node_modules/css-element-queries/index.js"],"sourcesContent":["'use strict';\n\n/**\n * Copyright Marc J. Schmidt. See the LICENSE file at the top-level\n * directory of this distribution and at\n * https://github.com/marcj/css-element-queries/blob/master/LICENSE.\n */\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory();\n } else {\n root.ResizeSensor = factory();\n }\n}(typeof window !== 'undefined' ? window : this, function () {\n\n // Make sure it does not throw in a SSR (Server Side Rendering) situation\n if (typeof window === \"undefined\") {\n return null;\n }\n // https://github.com/Semantic-Org/Semantic-UI/issues/3855\n // https://github.com/marcj/css-element-queries/issues/257\n var globalWindow = typeof window != 'undefined' && window.Math == Math\n ? window\n : typeof self != 'undefined' && self.Math == Math\n ? self\n : Function('return this')();\n // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor.\n // In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and\n // would generate too many unnecessary events.\n var requestAnimationFrame = globalWindow.requestAnimationFrame ||\n globalWindow.mozRequestAnimationFrame ||\n globalWindow.webkitRequestAnimationFrame ||\n function (fn) {\n return globalWindow.setTimeout(fn, 20);\n };\n\n var cancelAnimationFrame = globalWindow.cancelAnimationFrame ||\n globalWindow.mozCancelAnimationFrame ||\n globalWindow.webkitCancelAnimationFrame ||\n function (timer) {\n globalWindow.clearTimeout(timer);\n };\n\n /**\n * Iterate over each of the provided element(s).\n *\n * @param {HTMLElement|HTMLElement[]} elements\n * @param {Function} callback\n */\n function forEachElement(elements, callback){\n var elementsType = Object.prototype.toString.call(elements);\n var isCollectionTyped = ('[object Array]' === elementsType\n || ('[object NodeList]' === elementsType)\n || ('[object HTMLCollection]' === elementsType)\n || ('[object Object]' === elementsType)\n || ('undefined' !== typeof jQuery && elements instanceof jQuery) //jquery\n || ('undefined' !== typeof Elements && elements instanceof Elements) //mootools\n );\n var i = 0, j = elements.length;\n if (isCollectionTyped) {\n for (; i < j; i++) {\n callback(elements[i]);\n }\n } else {\n callback(elements);\n }\n }\n\n /**\n * Get element size\n * @param {HTMLElement} element\n * @returns {Object} {width, height}\n */\n function getElementSize(element) {\n if (!element.getBoundingClientRect) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n }\n }\n\n var rect = element.getBoundingClientRect();\n return {\n width: Math.round(rect.width),\n height: Math.round(rect.height)\n }\n }\n\n /**\n * Apply CSS styles to element.\n *\n * @param {HTMLElement} element\n * @param {Object} style\n */\n function setStyle(element, style) {\n Object.keys(style).forEach(function(key) {\n element.style[key] = style[key];\n });\n }\n\n /**\n * Class for dimension change detection.\n *\n * @param {Element|Element[]|Elements|jQuery} element\n * @param {Function} callback\n *\n * @constructor\n */\n var ResizeSensor = function(element, callback) {\n //Is used when checking in reset() only for invisible elements\n var lastAnimationFrameForInvisibleCheck = 0;\n\n /**\n *\n * @constructor\n */\n function EventQueue() {\n var q = [];\n this.add = function(ev) {\n q.push(ev);\n };\n\n var i, j;\n this.call = function(sizeInfo) {\n for (i = 0, j = q.length; i < j; i++) {\n q[i].call(this, sizeInfo);\n }\n };\n\n this.remove = function(ev) {\n var newQueue = [];\n for(i = 0, j = q.length; i < j; i++) {\n if(q[i] !== ev) newQueue.push(q[i]);\n }\n q = newQueue;\n };\n\n this.length = function() {\n return q.length;\n }\n }\n\n /**\n *\n * @param {HTMLElement} element\n * @param {Function} resized\n */\n function attachResizeEvent(element, resized) {\n if (!element) return;\n if (element.resizedAttached) {\n element.resizedAttached.add(resized);\n return;\n }\n\n element.resizedAttached = new EventQueue();\n element.resizedAttached.add(resized);\n\n element.resizeSensor = document.createElement('div');\n element.resizeSensor.dir = 'ltr';\n element.resizeSensor.className = 'resize-sensor';\n\n var style = {\n pointerEvents: 'none',\n position: 'absolute',\n left: '0px',\n top: '0px',\n right: '0px',\n bottom: '0px',\n overflow: 'hidden',\n zIndex: '-1',\n visibility: 'hidden',\n maxWidth: '100%'\n };\n var styleChild = {\n position: 'absolute',\n left: '0px',\n top: '0px',\n transition: '0s',\n };\n\n setStyle(element.resizeSensor, style);\n\n var expand = document.createElement('div');\n expand.className = 'resize-sensor-expand';\n setStyle(expand, style);\n\n var expandChild = document.createElement('div');\n setStyle(expandChild, styleChild);\n expand.appendChild(expandChild);\n\n var shrink = document.createElement('div');\n shrink.className = 'resize-sensor-shrink';\n setStyle(shrink, style);\n\n var shrinkChild = document.createElement('div');\n setStyle(shrinkChild, styleChild);\n setStyle(shrinkChild, { width: '200%', height: '200%' });\n shrink.appendChild(shrinkChild);\n\n element.resizeSensor.appendChild(expand);\n element.resizeSensor.appendChild(shrink);\n element.appendChild(element.resizeSensor);\n\n var computedStyle = window.getComputedStyle(element);\n var position = computedStyle ? computedStyle.getPropertyValue('position') : null;\n if ('absolute' !== position && 'relative' !== position && 'fixed' !== position && 'sticky' !== position) {\n element.style.position = 'relative';\n }\n\n var dirty = false;\n\n //last request animation frame id used in onscroll event\n var rafId = 0;\n var size = getElementSize(element);\n var lastWidth = 0;\n var lastHeight = 0;\n var initialHiddenCheck = true;\n lastAnimationFrameForInvisibleCheck = 0;\n\n var resetExpandShrink = function () {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n expandChild.style.width = (width + 10) + 'px';\n expandChild.style.height = (height + 10) + 'px';\n\n expand.scrollLeft = width + 10;\n expand.scrollTop = height + 10;\n\n shrink.scrollLeft = width + 10;\n shrink.scrollTop = height + 10;\n };\n\n var reset = function() {\n // Check if element is hidden\n if (initialHiddenCheck) {\n var invisible = element.offsetWidth === 0 && element.offsetHeight === 0;\n if (invisible) {\n // Check in next frame\n if (!lastAnimationFrameForInvisibleCheck){\n lastAnimationFrameForInvisibleCheck = requestAnimationFrame(function(){\n lastAnimationFrameForInvisibleCheck = 0;\n reset();\n });\n }\n\n return;\n } else {\n // Stop checking\n initialHiddenCheck = false;\n }\n }\n\n resetExpandShrink();\n };\n element.resizeSensor.resetSensor = reset;\n\n var onResized = function() {\n rafId = 0;\n\n if (!dirty) return;\n\n lastWidth = size.width;\n lastHeight = size.height;\n\n if (element.resizedAttached) {\n element.resizedAttached.call(size);\n }\n };\n\n var onScroll = function() {\n size = getElementSize(element);\n dirty = size.width !== lastWidth || size.height !== lastHeight;\n\n if (dirty && !rafId) {\n rafId = requestAnimationFrame(onResized);\n }\n\n reset();\n };\n\n var addEvent = function(el, name, cb) {\n if (el.attachEvent) {\n el.attachEvent('on' + name, cb);\n } else {\n el.addEventListener(name, cb);\n }\n };\n\n addEvent(expand, 'scroll', onScroll);\n addEvent(shrink, 'scroll', onScroll);\n\n // Fix for custom Elements and invisible elements\n lastAnimationFrameForInvisibleCheck = requestAnimationFrame(function(){\n lastAnimationFrameForInvisibleCheck = 0;\n reset();\n });\n }\n\n forEachElement(element, function(elem){\n attachResizeEvent(elem, callback);\n });\n\n this.detach = function(ev) {\n // clean up the unfinished animation frame to prevent a potential endless requestAnimationFrame of reset\n if (!lastAnimationFrameForInvisibleCheck) {\n cancelAnimationFrame(lastAnimationFrameForInvisibleCheck);\n lastAnimationFrameForInvisibleCheck = 0;\n }\n ResizeSensor.detach(element, ev);\n };\n\n this.reset = function() {\n element.resizeSensor.resetSensor();\n };\n };\n\n ResizeSensor.reset = function(element) {\n forEachElement(element, function(elem){\n elem.resizeSensor.resetSensor();\n });\n };\n\n ResizeSensor.detach = function(element, ev) {\n forEachElement(element, function(elem){\n if (!elem) return;\n if(elem.resizedAttached && typeof ev === \"function\"){\n elem.resizedAttached.remove(ev);\n if(elem.resizedAttached.length()) return;\n }\n if (elem.resizeSensor) {\n if (elem.contains(elem.resizeSensor)) {\n elem.removeChild(elem.resizeSensor);\n }\n delete elem.resizeSensor;\n delete elem.resizedAttached;\n }\n });\n };\n\n if (typeof MutationObserver !== \"undefined\") {\n var observer = new MutationObserver(function (mutations) {\n for (var i in mutations) {\n if (mutations.hasOwnProperty(i)) {\n var items = mutations[i].addedNodes;\n for (var j = 0; j < items.length; j++) {\n if (items[j].resizeSensor) {\n ResizeSensor.reset(items[j]);\n }\n }\n }\n }\n });\n\n document.addEventListener(\"DOMContentLoaded\", function (event) {\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n });\n });\n }\n\n return ResizeSensor;\n\n}));\n","'use strict';\n\n/**\n * Copyright Marc J. Schmidt. See the LICENSE file at the top-level\n * directory of this distribution and at\n * https://github.com/marcj/css-element-queries/blob/master/LICENSE.\n */\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['./ResizeSensor.js'], factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory(require('./ResizeSensor.js'));\n } else {\n root.ElementQueries = factory(root.ResizeSensor);\n root.ElementQueries.listen();\n }\n}(typeof window !== 'undefined' ? window : this, function (ResizeSensor) {\n\n /**\n *\n * @type {Function}\n * @constructor\n */\n var ElementQueries = function () {\n //