{"version":3,"file":"js/simpleLanguageTileChildrenOverview.4a8af430ad8d60f697d1.js","mappings":"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","sources":["webpack://netzkern.am/./node_modules/jquery-match-height/dist/jquery.matchHeight.js","webpack://netzkern.am/./src/Feature/SimpleLanguage/code/Scripts/simpleLanguageTileChildrenOverview.js","webpack://netzkern.am/./src/Foundation/Common/code/Frontend/General/global-js/nextTick.js"],"sourcesContent":["/**\n* jquery-match-height 0.7.2 by @liabru\n* http://brm.io/jquery-match-height/\n* License: MIT\n*/\n\n;(function(factory) { // eslint-disable-line no-extra-semi\n 'use strict';\n if (typeof define === 'function' && define.amd) {\n // AMD\n define(['jquery'], factory);\n } else if (typeof module !== 'undefined' && module.exports) {\n // CommonJS\n module.exports = factory(require('jquery'));\n } else {\n // Global\n factory(jQuery);\n }\n})(function($) {\n /*\n * internal\n */\n\n var _previousResizeWidth = -1,\n _updateTimeout = -1;\n\n /*\n * _parse\n * value parse utility function\n */\n\n var _parse = function(value) {\n // parse value and convert NaN to 0\n return parseFloat(value) || 0;\n };\n\n /*\n * _rows\n * utility function returns array of jQuery selections representing each row\n * (as displayed after float wrapping applied by browser)\n */\n\n var _rows = function(elements) {\n var tolerance = 1,\n $elements = $(elements),\n lastTop = null,\n rows = [];\n\n // group elements by their top position\n $elements.each(function(){\n var $that = $(this),\n top = $that.offset().top - _parse($that.css('margin-top')),\n lastRow = rows.length > 0 ? rows[rows.length - 1] : null;\n\n if (lastRow === null) {\n // first item on the row, so just push it\n rows.push($that);\n } else {\n // if the row top is the same, add to the row group\n if (Math.floor(Math.abs(lastTop - top)) <= tolerance) {\n rows[rows.length - 1] = lastRow.add($that);\n } else {\n // otherwise start a new row group\n rows.push($that);\n }\n }\n\n // keep track of the last row top\n lastTop = top;\n });\n\n return rows;\n };\n\n /*\n * _parseOptions\n * handle plugin options\n */\n\n var _parseOptions = function(options) {\n var opts = {\n byRow: true,\n property: 'height',\n target: null,\n remove: false\n };\n\n if (typeof options === 'object') {\n return $.extend(opts, options);\n }\n\n if (typeof options === 'boolean') {\n opts.byRow = options;\n } else if (options === 'remove') {\n opts.remove = true;\n }\n\n return opts;\n };\n\n /*\n * matchHeight\n * plugin definition\n */\n\n var matchHeight = $.fn.matchHeight = function(options) {\n var opts = _parseOptions(options);\n\n // handle remove\n if (opts.remove) {\n var that = this;\n\n // remove fixed height from all selected elements\n this.css(opts.property, '');\n\n // remove selected elements from all groups\n $.each(matchHeight._groups, function(key, group) {\n group.elements = group.elements.not(that);\n });\n\n // TODO: cleanup empty groups\n\n return this;\n }\n\n if (this.length <= 1 && !opts.target) {\n return this;\n }\n\n // keep track of this group so we can re-apply later on load and resize events\n matchHeight._groups.push({\n elements: this,\n options: opts\n });\n\n // match each element's height to the tallest element in the selection\n matchHeight._apply(this, opts);\n\n return this;\n };\n\n /*\n * plugin global options\n */\n\n matchHeight.version = '0.7.2';\n matchHeight._groups = [];\n matchHeight._throttle = 80;\n matchHeight._maintainScroll = false;\n matchHeight._beforeUpdate = null;\n matchHeight._afterUpdate = null;\n matchHeight._rows = _rows;\n matchHeight._parse = _parse;\n matchHeight._parseOptions = _parseOptions;\n\n /*\n * matchHeight._apply\n * apply matchHeight to given elements\n */\n\n matchHeight._apply = function(elements, options) {\n var opts = _parseOptions(options),\n $elements = $(elements),\n rows = [$elements];\n\n // take note of scroll position\n var scrollTop = $(window).scrollTop(),\n htmlHeight = $('html').outerHeight(true);\n\n // get hidden parents\n var $hiddenParents = $elements.parents().filter(':hidden');\n\n // cache the original inline style\n $hiddenParents.each(function() {\n var $that = $(this);\n $that.data('style-cache', $that.attr('style'));\n });\n\n // temporarily must force hidden parents visible\n $hiddenParents.css('display', 'block');\n\n // get rows if using byRow, otherwise assume one row\n if (opts.byRow && !opts.target) {\n\n // must first force an arbitrary equal height so floating elements break evenly\n $elements.each(function() {\n var $that = $(this),\n display = $that.css('display');\n\n // temporarily force a usable display value\n if (display !== 'inline-block' && display !== 'flex' && display !== 'inline-flex') {\n display = 'block';\n }\n\n // cache the original inline style\n $that.data('style-cache', $that.attr('style'));\n\n $that.css({\n 'display': display,\n 'padding-top': '0',\n 'padding-bottom': '0',\n 'margin-top': '0',\n 'margin-bottom': '0',\n 'border-top-width': '0',\n 'border-bottom-width': '0',\n 'height': '100px',\n 'overflow': 'hidden'\n });\n });\n\n // get the array of rows (based on element top position)\n rows = _rows($elements);\n\n // revert original inline styles\n $elements.each(function() {\n var $that = $(this);\n $that.attr('style', $that.data('style-cache') || '');\n });\n }\n\n $.each(rows, function(key, row) {\n var $row = $(row),\n targetHeight = 0;\n\n if (!opts.target) {\n // skip apply to rows with only one item\n if (opts.byRow && $row.length <= 1) {\n $row.css(opts.property, '');\n return;\n }\n\n // iterate the row and find the max height\n $row.each(function(){\n var $that = $(this),\n style = $that.attr('style'),\n display = $that.css('display');\n\n // temporarily force a usable display value\n if (display !== 'inline-block' && display !== 'flex' && display !== 'inline-flex') {\n display = 'block';\n }\n\n // ensure we get the correct actual height (and not a previously set height value)\n var css = { 'display': display };\n css[opts.property] = '';\n $that.css(css);\n\n // find the max height (including padding, but not margin)\n if ($that.outerHeight(false) > targetHeight) {\n targetHeight = $that.outerHeight(false);\n }\n\n // revert styles\n if (style) {\n $that.attr('style', style);\n } else {\n $that.css('display', '');\n }\n });\n } else {\n // if target set, use the height of the target element\n targetHeight = opts.target.outerHeight(false);\n }\n\n // iterate the row and apply the height to all elements\n $row.each(function(){\n var $that = $(this),\n verticalPadding = 0;\n\n // don't apply to a target\n if (opts.target && $that.is(opts.target)) {\n return;\n }\n\n // handle padding and border correctly (required when not using border-box)\n if ($that.css('box-sizing') !== 'border-box') {\n verticalPadding += _parse($that.css('border-top-width')) + _parse($that.css('border-bottom-width'));\n verticalPadding += _parse($that.css('padding-top')) + _parse($that.css('padding-bottom'));\n }\n\n // set the height (accounting for padding and border)\n $that.css(opts.property, (targetHeight - verticalPadding) + 'px');\n });\n });\n\n // revert hidden parents\n $hiddenParents.each(function() {\n var $that = $(this);\n $that.attr('style', $that.data('style-cache') || null);\n });\n\n // restore scroll position if enabled\n if (matchHeight._maintainScroll) {\n $(window).scrollTop((scrollTop / htmlHeight) * $('html').outerHeight(true));\n }\n\n return this;\n };\n\n /*\n * matchHeight._applyDataApi\n * applies matchHeight to all elements with a data-match-height attribute\n */\n\n matchHeight._applyDataApi = function() {\n var groups = {};\n\n // generate groups by their groupId set by elements using data-match-height\n $('[data-match-height], [data-mh]').each(function() {\n var $this = $(this),\n groupId = $this.attr('data-mh') || $this.attr('data-match-height');\n\n if (groupId in groups) {\n groups[groupId] = groups[groupId].add($this);\n } else {\n groups[groupId] = $this;\n }\n });\n\n // apply matchHeight to each group\n $.each(groups, function() {\n this.matchHeight(true);\n });\n };\n\n /*\n * matchHeight._update\n * updates matchHeight on all current groups with their correct options\n */\n\n var _update = function(event) {\n if (matchHeight._beforeUpdate) {\n matchHeight._beforeUpdate(event, matchHeight._groups);\n }\n\n $.each(matchHeight._groups, function() {\n matchHeight._apply(this.elements, this.options);\n });\n\n if (matchHeight._afterUpdate) {\n matchHeight._afterUpdate(event, matchHeight._groups);\n }\n };\n\n matchHeight._update = function(throttle, event) {\n // prevent update if fired from a resize event\n // where the viewport width hasn't actually changed\n // fixes an event looping bug in IE8\n if (event && event.type === 'resize') {\n var windowWidth = $(window).width();\n if (windowWidth === _previousResizeWidth) {\n return;\n }\n _previousResizeWidth = windowWidth;\n }\n\n // throttle updates\n if (!throttle) {\n _update(event);\n } else if (_updateTimeout === -1) {\n _updateTimeout = setTimeout(function() {\n _update(event);\n _updateTimeout = -1;\n }, matchHeight._throttle);\n }\n };\n\n /*\n * bind events\n */\n\n // apply on DOM ready event\n $(matchHeight._applyDataApi);\n\n // use on or bind where supported\n var on = $.fn.on ? 'on' : 'bind';\n\n // update heights on load and resize events\n $(window)[on]('load', function(event) {\n matchHeight._update(false, event);\n });\n\n // throttled update heights on resize events\n $(window)[on]('resize orientationchange', function(event) {\n matchHeight._update(true, event);\n });\n\n});\n","import \"jquery-match-height\";\r\nimport nextTick from \"General/global-js/nextTick\";\r\nimport('Foundation/Common/code/Scripts/Events/ResizeEndEvent');\r\nimport \"Feature/SimpleLanguage/code/Styles/simplelanguageTileChildrenOverview.scss\"\r\n\r\nwindow.am = window.am || {};\r\n\r\nwindow.am.simplelanguageTileChildrenOverview = new function () {\r\n const init = () => {\r\n let overview = document.querySelector('.nav-simple-language-tile-children-overview');\r\n \r\n window.addEventListener('resizeEnd', matchHeightText);\r\n window.addEventListener('resizeEnd', equalSquareHeightForImage);\r\n $(overview).find('img.lazyload').on('load', matchHeightText);\r\n $(overview).find('img.lazyload').on('load', equalSquareHeightForImage);\r\n\r\n equalSquareHeightForImage();\r\n nextTick(() => {\r\n matchHeightText();\r\n });\r\n };\r\n\r\n const matchHeightText = () => {\r\n const tiles = document.querySelectorAll('.nav-simple-language-tile-children-overview__text');\r\n let tallestText = 0;\r\n\r\n tiles.forEach((tile) => {\r\n tile.style.height = 'auto';\r\n\r\n if (tile.offsetHeight > tallestText) {\r\n tallestText = tile.offsetHeight;\r\n }\r\n });\r\n\r\n tiles.forEach((tile) => {\r\n tile.style.height = `${tallestText}px`;\r\n });\r\n };\r\n\r\n const equalSquareHeightForImage = () => {\r\n const images = document.querySelectorAll('.nav-simple-language-tile-children-overview__image img');\r\n\r\n images.forEach((image) => {\r\n image.style.height = `${image.offsetWidth}px`;\r\n });\r\n };\r\n\r\n return {\r\n init: init\r\n };\r\n};\r\n\r\nwindow.addEventListener('load', window.am.simplelanguageTileChildrenOverview.init);","/**\r\n * This file is an copy of vue.esm.js function nextTick() and it's dependencies.\r\n */\r\n\r\n// Browser environment sniffing\r\nconst inBrowser = typeof window !== 'undefined';\r\nconst UA = inBrowser && window.navigator.userAgent.toLowerCase();\r\nconst isIE = UA && /msie|trident/.test(UA);\r\nconst isIOS = UA && /iphone|ipad|ipod|ios/.test(UA);\r\n\r\nfunction isNative(Ctor) {\r\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString());\r\n}\r\n\r\n/* eslint-disable no-unused-vars */\r\n/**\r\n * Perform no operation.\r\n * Stubbing args to make Flow happy without leaving useless transpiled code\r\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\r\n */\r\nfunction noop(a, b, c) { }\r\n\r\n/* globals MutationObserver */\r\nlet isUsingMicroTask = false;\r\nconst callbacks = [];\r\nlet pending = false;\r\nfunction flushCallbacks() {\r\n pending = false;\r\n const copies = callbacks.slice(0);\r\n callbacks.length = 0;\r\n for (let i = 0; i < copies.length; i++) {\r\n copies[i]();\r\n }\r\n}\r\n// Here we have async deferring wrappers using microtasks.\r\n// In 2.5 we used (macro) tasks (in combination with microtasks).\r\n// However, it has subtle problems when state is changed right before repaint\r\n// (e.g. #6813, out-in transitions).\r\n// Also, using (macro) tasks in event handler would cause some weird behaviors\r\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\r\n// So we now use microtasks everywhere, again.\r\n// A major drawback of this tradeoff is that there are some scenarios\r\n// where microtasks have too high a priority and fire in between supposedly\r\n// sequential events (e.g. #4521, #6690, which have workarounds)\r\n// or even between bubbling of the same event (#6566).\r\nlet timerFunc;\r\n// The nextTick behavior leverages the microtask queue, which can be accessed\r\n// via either native Promise.then or MutationObserver.\r\n// MutationObserver has wider support, however it is seriously bugged in\r\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\r\n// completely stops working after triggering a few times... so, if native\r\n// Promise is available, we will use it:\r\n/* istanbul ignore next, $flow-disable-line */\r\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\r\n const p = Promise.resolve();\r\n timerFunc = () => {\r\n p.then(flushCallbacks);\r\n // In problematic UIWebViews, Promise.then doesn't completely break, but\r\n // it can get stuck in a weird state where callbacks are pushed into the\r\n // microtask queue but the queue isn't being flushed, until the browser\r\n // needs to do some other work, e.g. handle a timer. Therefore we can\r\n // \"force\" the microtask queue to be flushed by adding an empty timer.\r\n if (isIOS)\r\n setTimeout(noop);\r\n };\r\n isUsingMicroTask = true;\r\n}\r\nelse if (!isIE &&\r\n typeof MutationObserver !== 'undefined' &&\r\n (isNative(MutationObserver) ||\r\n // PhantomJS and iOS 7.x\r\n MutationObserver.toString() === '[object MutationObserverConstructor]')) {\r\n // Use MutationObserver where native Promise is not available,\r\n // e.g. PhantomJS, iOS7, Android 4.4\r\n // (#6466 MutationObserver is unreliable in IE11)\r\n let counter = 1;\r\n const observer = new MutationObserver(flushCallbacks);\r\n const textNode = document.createTextNode(String(counter));\r\n observer.observe(textNode, {\r\n characterData: true\r\n });\r\n timerFunc = () => {\r\n counter = (counter + 1) % 2;\r\n textNode.data = String(counter);\r\n };\r\n isUsingMicroTask = true;\r\n}\r\nelse if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\r\n // Fallback to setImmediate.\r\n // Technically it leverages the (macro) task queue,\r\n // but it is still a better choice than setTimeout.\r\n timerFunc = () => {\r\n setImmediate(flushCallbacks);\r\n };\r\n}\r\nelse {\r\n // Fallback to setTimeout.\r\n timerFunc = () => {\r\n setTimeout(flushCallbacks, 0);\r\n };\r\n}\r\n\r\nfunction nextTick(cb, ctx) {\r\n let _resolve;\r\n callbacks.push(() => {\r\n if (cb) {\r\n try {\r\n cb.call(ctx);\r\n }\r\n catch (e) {\r\n //handleError(e, ctx, 'nextTick');\r\n console.error(e, ctx, 'nextTick')\r\n }\r\n }\r\n else if (_resolve) {\r\n _resolve(ctx);\r\n }\r\n });\r\n if (!pending) {\r\n pending = true;\r\n timerFunc();\r\n }\r\n // $flow-disable-line\r\n if (!cb && typeof Promise !== 'undefined') {\r\n return new Promise(resolve => {\r\n _resolve = resolve;\r\n });\r\n }\r\n}\r\n\r\nexport default nextTick;"],"names":["factory","$","_previousResizeWidth","_updateTimeout","_parse","value","parseFloat","_rows","elements","tolerance","$elements","lastTop","rows","each","$that","this","top","offset","css","lastRow","length","push","Math","floor","abs","add","_parseOptions","options","opts","byRow","property","target","remove","extend","matchHeight","fn","that","_groups","key","group","not","_apply","version","_throttle","_maintainScroll","_beforeUpdate","_afterUpdate","scrollTop","window","htmlHeight","outerHeight","$hiddenParents","parents","filter","data","attr","display","row","$row","targetHeight","style","verticalPadding","is","_applyDataApi","groups","$this","groupId","_update","event","throttle","type","windowWidth","width","setTimeout","on","am","simplelanguageTileChildrenOverview","matchHeightText","tiles","document","querySelectorAll","tallestText","forEach","tile","height","offsetHeight","equalSquareHeightForImage","image","offsetWidth","init","overview","querySelector","addEventListener","find","nextTick","UA","navigator","userAgent","toLowerCase","isIE","test","isIOS","isNative","Ctor","toString","noop","a","b","c","isUsingMicroTask","callbacks","timerFunc","pending","flushCallbacks","copies","slice","i","Promise","p","resolve","then","MutationObserver","setImmediate","counter","observer","textNode","createTextNode","String","observe","characterData","cb","ctx","_resolve","call","e","console","error"],"sourceRoot":""}