PageSourceSearch

https://www.grosseswalsertal.at/system/web/GetDocument.ashx?fileid=992803&ltc=1&cts=1590708296

js grosseswalsertal.at collected 2026-10-02 05:40:32 UTC 64,369 bytes, 33 lines download raw bytes

1!function(t){var r={};function i(e){if(r[e])return r[e].exports;var n=r[e]={i:e,l:!1,exports:{}};return t[e].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.m=t,i.c=r,i.d=function(e,n,t){i.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(n,e){if(1&e&&(n=i(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var r in n)i.d(t,r,function(e){return n[e]}.bind(null,r));return t},i.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(n,"a",n),n},i.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},i.p="",i(i.s=1)}({
vendor: 31,245 bytes, lines 1-5
1"./node_modules/intersection-observer/intersection-observer.js":
2/*!*********************************************************************!*\
3  !*** ./node_modules/intersection-observer/intersection-observer.js ***!
4  \*********************************************************************/
5/*! no static exports found */function(module,exports){eval("/**\n * Copyright 2016 Google Inc. All Rights Reserved.\n *\n * Licensed under the W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE.\n *\n *  https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n *\n */\n(function() {\n'use strict';\n\n// Exit early if we're not running in a browser.\nif (typeof window !== 'object') {\n  return;\n}\n\n// Exit early if all IntersectionObserver and IntersectionObserverEntry\n// features are natively supported.\nif ('IntersectionObserver' in window &&\n    'IntersectionObserverEntry' in window &&\n    'intersectionRatio' in window.IntersectionObserverEntry.prototype) {\n\n  // Minimal polyfill for Edge 15's lack of `isIntersecting`\n  // See: https://github.com/w3c/IntersectionObserver/issues/211\n  if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) {\n    Object.defineProperty(window.IntersectionObserverEntry.prototype,\n      'isIntersecting', {\n      get: function () {\n        return this.intersectionRatio > 0;\n      }\n    });\n  }\n  return;\n}\n\n\n/**\n * A local reference to the document.\n */\nvar document = window.document;\n\n\n/**\n * An IntersectionObserver registry. This registry exists to hold a strong\n * reference to IntersectionObserver instances currently observing a target\n * element. Without this registry, instances without another reference may be\n * garbage collected.\n */\nvar registry = [];\n\n/**\n * The signal updater for cross-origin intersection. When not null, it means\n * that the polyfill is configured to work in a cross-origin mode.\n * @type {function(DOMRect|ClientRect, DOMRect|ClientRect)}\n */\nvar crossOriginUpdater = null;\n\n/**\n * The current cross-origin intersection. Only used in the cross-origin mode.\n * @type {DOMRect|ClientRect}\n */\nvar crossOriginRect = null;\n\n\n/**\n * Creates the global IntersectionObserverEntry constructor.\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-entry\n * @param {Object} entry A dictionary of instance properties.\n * @constructor\n */\nfunction IntersectionObserverEntry(entry) {\n  this.time = entry.time;\n  this.target = entry.target;\n  this.rootBounds = ensureDOMRect(entry.rootBounds);\n  this.boundingClientRect = ensureDOMRect(entry.boundingClientRect);\n  this.intersectionRect = ensureDOMRect(entry.intersectionRect || getEmptyRect());\n  this.isIntersecting = !!entry.intersectionRect;\n\n  // Calculates the intersection ratio.\n  var targetRect = this.boundingClientRect;\n  var targetArea = targetRect.width * targetRect.height;\n  var intersectionRect = this.intersectionRect;\n  var intersectionArea = intersectionRect.width * intersectionRect.height;\n\n  // Sets intersection ratio.\n  if (targetArea) {\n    // Round the intersection ratio to avoid floating point math issues:\n    // https://github.com/w3c/IntersectionObserver/issues/324\n    this.intersectionRatio = Number((intersectionArea / targetArea).toFixed(4));\n  } else {\n    // If area is zero and is intersecting, sets to 1, otherwise to 0\n    this.intersectionRatio = this.isIntersecting ? 1 : 0;\n  }\n}\n\n\n/**\n * Creates the global IntersectionObserver constructor.\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-interface\n * @param {Function} callback The function to be invoked after intersection\n *     changes have queued. The function is not invoked if the queue has\n *     been emptied by calling the `takeRecords` method.\n * @param {Object=} opt_options Optional configuration options.\n * @constructor\n */\nfunction IntersectionObserver(callback, opt_options) {\n\n  var options = opt_options || {};\n\n  if (typeof callback != 'function') {\n    throw new Error('callback must be a function');\n  }\n\n  if (options.root && options.root.nodeType != 1) {\n    throw new Error('root must be an Element');\n  }\n\n  // Binds and throttles `this._checkForIntersections`.\n  this._checkForIntersections = throttle(\n      this._checkForIntersections.bind(this), this.THROTTLE_TIMEOUT);\n\n  // Private properties.\n  this._callback = callback;\n  this._observationTargets = [];\n  this._queuedEntries = [];\n  this._rootMarginValues = this._parseRootMargin(options.rootMargin);\n\n  // Public properties.\n  this.thresholds = this._initThresholds(options.threshold);\n  this.root = options.root || null;\n  this.rootMargin = this._rootMarginValues.map(function(margin) {\n    return margin.value + margin.unit;\n  }).join(' ');\n\n  /** @private @const {!Array<!Document>} */\n  this._monitoringDocuments = [];\n  /** @private @const {!Array<function()>} */\n  this._monitoringUnsubscribes = [];\n}\n\n\n/**\n * The minimum interval within which the document will be checked for\n * intersection changes.\n */\nIntersectionObserver.prototype.THROTTLE_TIMEOUT = 100;\n\n\n/**\n * The frequency in which the polyfill polls for intersection changes.\n * this can be updated on a per instance basis and must be set prior to\n * calling `observe` on the first target.\n */\nIntersectionObserver.prototype.POLL_INTERVAL = null;\n\n/**\n * Use a mutation observer on the root element\n * to detect intersection changes.\n */\nIntersectionObserver.prototype.USE_MUTATION_OBSERVER = true;\n\n\n/**\n * Sets up the polyfill in the cross-origin mode. The result is the\n * updater function that accepts two arguments: `boundingClientRect` and\n * `intersectionRect` - just as these fields would be available to the\n * parent via `IntersectionObserverEntry`. This function should be called\n * each time the iframe receives intersection information from the parent\n * window, e.g. via messaging.\n * @return {function(DOMRect|ClientRect, DOMRect|ClientRect)}\n */\nIntersectionObserver._setupCrossOriginUpdater = function() {\n  if (!crossOriginUpdater) {\n    /**\n     * @param {DOMRect|ClientRect} boundingClientRect\n     * @param {DOMRect|ClientRect} intersectionRect\n     */\n    crossOriginUpdater = function(boundingClientRect, intersectionRect) {\n      if (!boundingClientRect || !intersectionRect) {\n        crossOriginRect = getEmptyRect();\n      } else {\n        crossOriginRect = convertFromParentRect(boundingClientRect, intersectionRect);\n      }\n      registry.forEach(function(observer) {\n        observer._checkForIntersections();\n      });\n    };\n  }\n  return crossOriginUpdater;\n};\n\n\n/**\n * Resets the cross-origin mode.\n */\nIntersectionObserver._resetCrossOriginUpdater = function() {\n  crossOriginUpdater = null;\n  crossOriginRect = null;\n};\n\n\n/**\n * Starts observing a target element for intersection changes based on\n * the thresholds values.\n * @param {Element} target The DOM element to observe.\n */\nIntersectionObserver.prototype.observe = function(target) {\n  var isTargetAlreadyObserved = this._observationTargets.some(function(item) {\n    return item.element == target;\n  });\n\n  if (isTargetAlreadyObserved) {\n    return;\n  }\n\n  if (!(target && target.nodeType == 1)) {\n    throw new Error('target must be an Element');\n  }\n\n  this._registerInstance();\n  this._observationTargets.push({element: target, entry: null});\n  this._monitorIntersections(target.ownerDocument);\n  this._checkForIntersections();\n};\n\n\n/**\n * Stops observing a target element for intersection changes.\n * @param {Element} target The DOM element to observe.\n */\nIntersectionObserver.prototype.unobserve = function(target) {\n  this._observationTargets =\n      this._observationTargets.filter(function(item) {\n        return item.element != target;\n      });\n  this._unmonitorIntersections(target.ownerDocument);\n  if (this._observationTargets.length == 0) {\n    this._unregisterInstance();\n  }\n};\n\n\n/**\n * Stops observing all target elements for intersection changes.\n */\nIntersectionObserver.prototype.disconnect = function() {\n  this._observationTargets = [];\n  this._unmonitorAllIntersections();\n  this._unregisterInstance();\n};\n\n\n/**\n * Returns any queue entries that have not yet been reported to the\n * callback and clears the queue. This can be used in conjunction with the\n * callback to obtain the absolute most up-to-date intersection information.\n * @return {Array} The currently queued entries.\n */\nIntersectionObserver.prototype.takeRecords = function() {\n  var records = this._queuedEntries.slice();\n  this._queuedEntries = [];\n  return records;\n};\n\n\n/**\n * Accepts the threshold value from the user configuration object and\n * returns a sorted array of unique threshold values. If a value is not\n * between 0 and 1 and error is thrown.\n * @private\n * @param {Array|number=} opt_threshold An optional threshold value or\n *     a list of threshold values, defaulting to [0].\n * @return {Array} A sorted list of unique and valid threshold values.\n */\nIntersectionObserver.prototype._initThresholds = function(opt_threshold) {\n  var threshold = opt_threshold || [0];\n  if (!Array.isArray(threshold)) threshold = [threshold];\n\n  return threshold.sort().filter(function(t, i, a) {\n    if (typeof t != 'number' || isNaN(t) || t < 0 || t > 1) {\n      throw new Error('threshold must be a number between 0 and 1 inclusively');\n    }\n    return t !== a[i - 1];\n  });\n};\n\n\n/**\n * Accepts the rootMargin value from the user configuration object\n * and returns an array of the four margin values as an object containing\n * the value and unit properties. If any of the values are not properly\n * formatted or use a unit other than px or %, and error is thrown.\n * @private\n * @param {string=} opt_rootMargin An optional rootMargin value,\n *     defaulting to '0px'.\n * @return {Array<Object>} An array of margin objects with the keys\n *     value and unit.\n */\nIntersectionObserver.prototype._parseRootMargin = function(opt_rootMargin) {\n  var marginString = opt_rootMargin || '0px';\n  var margins = marginString.split(/\\s+/).map(function(margin) {\n    var parts = /^(-?\\d*\\.?\\d+)(px|%)$/.exec(margin);\n    if (!parts) {\n      throw new Error('rootMargin must be specified in pixels or percent');\n    }\n    return {value: parseFloat(parts[1]), unit: parts[2]};\n  });\n\n  // Handles shorthand.\n  margins[1] = margins[1] || margins[0];\n  margins[2] = margins[2] || margins[0];\n  margins[3] = margins[3] || margins[1];\n\n  return margins;\n};\n\n\n/**\n * Starts polling for intersection changes if the polling is not already\n * happening, and if the page's visibility state is visible.\n * @param {!Document} doc\n * @private\n */\nIntersectionObserver.prototype._monitorIntersections = function(doc) {\n  var win = doc.defaultView;\n  if (!win) {\n    // Already destroyed.\n    return;\n  }\n  if (this._monitoringDocuments.indexOf(doc) != -1) {\n    // Already monitoring.\n    return;\n  }\n\n  // Private state for monitoring.\n  var callback = this._checkForIntersections;\n  var monitoringInterval = null;\n  var domObserver = null;\n\n  // If a poll interval is set, use polling instead of listening to\n  // resize and scroll events or DOM mutations.\n  if (this.POLL_INTERVAL) {\n    monitoringInterval = win.setInterval(callback, this.POLL_INTERVAL);\n  } else {\n    addEvent(win, 'resize', callback, true);\n    addEvent(doc, 'scroll', callback, true);\n    if (this.USE_MUTATION_OBSERVER && 'MutationObserver' in win) {\n      domObserver = new win.MutationObserver(callback);\n      domObserver.observe(doc, {\n        attributes: true,\n        childList: true,\n        characterData: true,\n        subtree: true\n      });\n    }\n  }\n\n  this._monitoringDocuments.push(doc);\n  this._monitoringUnsubscribes.push(function() {\n    // Get the window object again. When a friendly iframe is destroyed, it\n    // will be null.\n    var win = doc.defaultView;\n\n    if (win) {\n      if (monitoringInterval) {\n        win.clearInterval(monitoringInterval);\n      }\n      removeEvent(win, 'resize', callback, true);\n    }\n\n    removeEvent(doc, 'scroll', callback, true);\n    if (domObserver) {\n      domObserver.disconnect();\n    }\n  });\n\n  // Also monitor the parent.\n  if (doc != (this.root && this.root.ownerDocument || document)) {\n    var frame = getFrameElement(doc);\n    if (frame) {\n      this._monitorIntersections(frame.ownerDocument);\n    }\n  }\n};\n\n\n/**\n * Stops polling for intersection changes.\n * @param {!Document} doc\n * @private\n */\nIntersectionObserver.prototype._unmonitorIntersections = function(doc) {\n  var index = this._monitoringDocuments.indexOf(doc);\n  if (index == -1) {\n    return;\n  }\n\n  var rootDoc = (this.root && this.root.ownerDocument || document);\n\n  // Check if any dependent targets are still remaining.\n  var hasDependentTargets =\n      this._observationTargets.some(function(item) {\n        var itemDoc = item.element.ownerDocument;\n        // Target is in this context.\n        if (itemDoc == doc) {\n          return true;\n        }\n        // Target is nested in this context.\n        while (itemDoc && itemDoc != rootDoc) {\n          var frame = getFrameElement(itemDoc);\n          itemDoc = frame && frame.ownerDocument;\n          if (itemDoc == doc) {\n            return true;\n          }\n        }\n        return false;\n      });\n  if (hasDependentTargets) {\n    return;\n  }\n\n  // Unsubscribe.\n  var unsubscribe = this._monitoringUnsubscribes[index];\n  this._monitoringDocuments.splice(index, 1);\n  this._monitoringUnsubscribes.splice(index, 1);\n  unsubscribe();\n\n  // Also unmonitor the parent.\n  if (doc != rootDoc) {\n    var frame = getFrameElement(doc);\n    if (frame) {\n      this._unmonitorIntersections(frame.ownerDocument);\n    }\n  }\n};\n\n\n/**\n * Stops polling for intersection changes.\n * @param {!Document} doc\n * @private\n */\nIntersectionObserver.prototype._unmonitorAllIntersections = function() {\n  var unsubscribes = this._monitoringUnsubscribes.slice(0);\n  this._monitoringDocuments.length = 0;\n  this._monitoringUnsubscribes.length = 0;\n  for (var i = 0; i < unsubscribes.length; i++) {\n    unsubscribes[i]();\n  }\n};\n\n\n/**\n * Scans each observation target for intersection changes and adds them\n * to the internal entries queue. If new entries are found, it\n * schedules the callback to be invoked.\n * @private\n */\nIntersectionObserver.prototype._checkForIntersections = function() {\n  if (!this.root && crossOriginUpdater && !crossOriginRect) {\n    // Cross origin monitoring, but no initial data available yet.\n    return;\n  }\n\n  var rootIsInDom = this._rootIsInDom();\n  var rootRect = rootIsInDom ? this._getRootRect() : getEmptyRect();\n\n  this._observationTargets.forEach(function(item) {\n    var target = item.element;\n    var targetRect = getBoundingClientRect(target);\n    var rootContainsTarget = this._rootContainsTarget(target);\n    var oldEntry = item.entry;\n    var intersectionRect = rootIsInDom && rootContainsTarget &&\n        this._computeTargetAndRootIntersection(target, targetRect, rootRect);\n\n    var newEntry = item.entry = new IntersectionObserverEntry({\n      time: now(),\n      target: target,\n      boundingClientRect: targetRect,\n      rootBounds: crossOriginUpdater && !this.root ? null : rootRect,\n      intersectionRect: intersectionRect\n    });\n\n    if (!oldEntry) {\n      this._queuedEntries.push(newEntry);\n    } else if (rootIsInDom && rootContainsTarget) {\n      // If the new entry intersection ratio has crossed any of the\n      // thresholds, add a new entry.\n      if (this._hasCrossedThreshold(oldEntry, newEntry)) {\n        this._queuedEntries.push(newEntry);\n      }\n    } else {\n      // If the root is not in the DOM or target is not contained within\n      // root but the previous entry for this target had an intersection,\n      // add a new record indicating removal.\n      if (oldEntry && oldEntry.isIntersecting) {\n        this._queuedEntries.push(newEntry);\n      }\n    }\n  }, this);\n\n  if (this._queuedEntries.length) {\n    this._callback(this.takeRecords(), this);\n  }\n};\n\n\n/**\n * Accepts a target and root rect computes the intersection between then\n * following the algorithm in the spec.\n * TODO(philipwalton): at this time clip-path is not considered.\n * https://w3c.github.io/IntersectionObserver/#calculate-intersection-rect-algo\n * @param {Element} target The target DOM element\n * @param {Object} targetRect The bounding rect of the target.\n * @param {Object} rootRect The bounding rect of the root after being\n *     expanded by the rootMargin value.\n * @return {?Object} The final intersection rect object or undefined if no\n *     intersection is found.\n * @private\n */\nIntersectionObserver.prototype._computeTargetAndRootIntersection =\n    function(target, targetRect, rootRect) {\n  // If the element isn't displayed, an intersection can't happen.\n  if (window.getComputedStyle(target).display == 'none') return;\n\n  var intersectionRect = targetRect;\n  var parent = getParentNode(target);\n  var atRoot = false;\n\n  while (!atRoot && parent) {\n    var parentRect = null;\n    var parentComputedStyle = parent.nodeType == 1 ?\n        window.getComputedStyle(parent) : {};\n\n    // If the parent isn't displayed, an intersection can't happen.\n    if (parentComputedStyle.display == 'none') return null;\n\n    if (parent == this.root || parent.nodeType == /* DOCUMENT */ 9) {\n      atRoot = true;\n      if (parent == this.root || parent == document) {\n        if (crossOriginUpdater && !this.root) {\n          if (!crossOriginRect ||\n              crossOriginRect.width == 0 && crossOriginRect.height == 0) {\n            // A 0-size cross-origin intersection means no-intersection.\n            parent = null;\n            parentRect = null;\n            intersectionRect = null;\n          } else {\n            parentRect = crossOriginRect;\n          }\n        } else {\n          parentRect = rootRect;\n        }\n      } else {\n        // Check if there's a frame that can be navigated to.\n        var frame = getParentNode(parent);\n        var frameRect = frame && getBoundingClientRect(frame);\n        var frameIntersect =\n            frame &&\n            this._computeTargetAndRootIntersection(frame, frameRect, rootRect);\n        if (frameRect && frameIntersect) {\n          parent = frame;\n          parentRect = convertFromParentRect(frameRect, frameIntersect);\n        } else {\n          parent = null;\n          intersectionRect = null;\n        }\n      }\n    } else {\n      // If the element has a non-visible overflow, and it's not the <body>\n      // or <html> element, update the intersection rect.\n      // Note: <body> and <html> cannot be clipped to a rect that's not also\n      // the document rect, so no need to compute a new intersection.\n      var doc = parent.ownerDocument;\n      if (parent != doc.body &&\n          parent != doc.documentElement &&\n          parentComputedStyle.overflow != 'visible') {\n        parentRect = getBoundingClientRect(parent);\n      }\n    }\n\n    // If either of the above conditionals set a new parentRect,\n    // calculate new intersection data.\n    if (parentRect) {\n      intersectionRect = computeRectIntersection(parentRect, intersectionRect);\n    }\n    if (!intersectionRect) break;\n    parent = parent && getParentNode(parent);\n  }\n  return intersectionRect;\n};\n\n\n/**\n * Returns the root rect after being expanded by the rootMargin value.\n * @return {ClientRect} The expanded root rect.\n * @private\n */\nIntersectionObserver.prototype._getRootRect = function() {\n  var rootRect;\n  if (this.root) {\n    rootRect = getBoundingClientRect(this.root);\n  } else {\n    // Use <html>/<body> instead of window since scroll bars affect size.\n    var html = document.documentElement;\n    var body = document.body;\n    rootRect = {\n      top: 0,\n      left: 0,\n      right: html.clientWidth || body.clientWidth,\n      width: html.clientWidth || body.clientWidth,\n      bottom: html.clientHeight || body.clientHeight,\n      height: html.clientHeight || body.clientHeight\n    };\n  }\n  return this._expandRectByRootMargin(rootRect);\n};\n\n\n/**\n * Accepts a rect and expands it by the rootMargin value.\n * @param {DOMRect|ClientRect} rect The rect object to expand.\n * @return {ClientRect} The expanded rect.\n * @private\n */\nIntersectionObserver.prototype._expandRectByRootMargin = function(rect) {\n  var margins = this._rootMarginValues.map(function(margin, i) {\n    return margin.unit == 'px' ? margin.value :\n        margin.value * (i % 2 ? rect.width : rect.height) / 100;\n  });\n  var newRect = {\n    top: rect.top - margins[0],\n    right: rect.right + margins[1],\n    bottom: rect.bottom + margins[2],\n    left: rect.left - margins[3]\n  };\n  newRect.width = newRect.right - newRect.left;\n  newRect.height = newRect.bottom - newRect.top;\n\n  return newRect;\n};\n\n\n/**\n * Accepts an old and new entry and returns true if at least one of the\n * threshold values has been crossed.\n * @param {?IntersectionObserverEntry} oldEntry The previous entry for a\n *    particular target element or null if no previous entry exists.\n * @param {IntersectionObserverEntry} newEntry The current entry for a\n *    particular target element.\n * @return {boolean} Returns true if a any threshold has been crossed.\n * @private\n */\nIntersectionObserver.prototype._hasCrossedThreshold =\n    function(oldEntry, newEntry) {\n\n  // To make comparing easier, an entry that has a ratio of 0\n  // but does not actually intersect is given a value of -1\n  var oldRatio = oldEntry && oldEntry.isIntersecting ?\n      oldEntry.intersectionRatio || 0 : -1;\n  var newRatio = newEntry.isIntersecting ?\n      newEntry.intersectionRatio || 0 : -1;\n\n  // Ignore unchanged ratios\n  if (oldRatio === newRatio) return;\n\n  for (var i = 0; i < this.thresholds.length; i++) {\n    var threshold = this.thresholds[i];\n\n    // Return true if an entry matches a threshold or if the new ratio\n    // and the old ratio are on the opposite sides of a threshold.\n    if (threshold == oldRatio || threshold == newRatio ||\n        threshold < oldRatio !== threshold < newRatio) {\n      return true;\n    }\n  }\n};\n\n\n/**\n * Returns whether or not the root element is an element and is in the DOM.\n * @return {boolean} True if the root element is an element and is in the DOM.\n * @private\n */\nIntersectionObserver.prototype._rootIsInDom = function() {\n  return !this.root || containsDeep(document, this.root);\n};\n\n\n/**\n * Returns whether or not the target element is a child of root.\n * @param {Element} target The target element to check.\n * @return {boolean} True if the target element is a child of root.\n * @private\n */\nIntersectionObserver.prototype._rootContainsTarget = function(target) {\n  return containsDeep(this.root || document, target) &&\n    (!this.root || this.root.ownerDocument == target.ownerDocument);\n};\n\n\n/**\n * Adds the instance to the global IntersectionObserver registry if it isn't\n * already present.\n * @private\n */\nIntersectionObserver.prototype._registerInstance = function() {\n  if (registry.indexOf(this) < 0) {\n    registry.push(this);\n  }\n};\n\n\n/**\n * Removes the instance from the global IntersectionObserver registry.\n * @private\n */\nIntersectionObserver.prototype._unregisterInstance = function() {\n  var index = registry.indexOf(this);\n  if (index != -1) registry.splice(index, 1);\n};\n\n\n/**\n * Returns the result of the performance.now() method or null in browsers\n * that don't support the API.\n * @return {number} The elapsed time since the page was requested.\n */\nfunction now() {\n  return window.performance && performance.now && performance.now();\n}\n\n\n/**\n * Throttles a function and delays its execution, so it's only called at most\n * once within a given time period.\n * @param {Function} fn The function to throttle.\n * @param {number} timeout The amount of time that must pass before the\n *     function can be called again.\n * @return {Function} The throttled function.\n */\nfunction throttle(fn, timeout) {\n  var timer = null;\n  return function () {\n    if (!timer) {\n      timer = setTimeout(function() {\n        fn();\n        timer = null;\n      }, timeout);\n    }\n  };\n}\n\n\n/**\n * Adds an event handler to a DOM node ensuring cross-browser compatibility.\n * @param {Node} node The DOM node to add the event handler to.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to add.\n * @param {boolean} opt_useCapture Optionally adds the even to the capture\n *     phase. Note: this only works in modern browsers.\n */\nfunction addEvent(node, event, fn, opt_useCapture) {\n  if (typeof node.addEventListener == 'function') {\n    node.addEventListener(event, fn, opt_useCapture || false);\n  }\n  else if (typeof node.attachEvent == 'function') {\n    node.attachEvent('on' + event, fn);\n  }\n}\n\n\n/**\n * Removes a previously added event handler from a DOM node.\n * @param {Node} node The DOM node to remove the event handler from.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to remove.\n * @param {boolean} opt_useCapture If the event handler was added with this\n *     flag set to true, it should be set to true here in order to remove it.\n */\nfunction removeEvent(node, event, fn, opt_useCapture) {\n  if (typeof node.removeEventListener == 'function') {\n    node.removeEventListener(event, fn, opt_useCapture || false);\n  }\n  else if (typeof node.detatchEvent == 'function') {\n    node.detatchEvent('on' + event, fn);\n  }\n}\n\n\n/**\n * Returns the intersection between two rect objects.\n * @param {Object} rect1 The first rect.\n * @param {Object} rect2 The second rect.\n * @return {?Object|?ClientRect} The intersection rect or undefined if no\n *     intersection is found.\n */\nfunction computeRectIntersection(rect1, rect2) {\n  var top = Math.max(rect1.top, rect2.top);\n  var bottom = Math.min(rect1.bottom, rect2.bottom);\n  var left = Math.max(rect1.left, rect2.left);\n  var right = Math.min(rect1.right, rect2.right);\n  var width = right - left;\n  var height = bottom - top;\n\n  return (width >= 0 && height >= 0) && {\n    top: top,\n    bottom: bottom,\n    left: left,\n    right: right,\n    width: width,\n    height: height\n  } || null;\n}\n\n\n/**\n * Shims the native getBoundingClientRect for compatibility with older IE.\n * @param {Element} el The element whose bounding rect to get.\n * @return {DOMRect|ClientRect} The (possibly shimmed) rect of the element.\n */\nfunction getBoundingClientRect(el) {\n  var rect;\n\n  try {\n    rect = el.getBoundingClientRect();\n  } catch (err) {\n    // Ignore Windows 7 IE11 \"Unspecified error\"\n    // https://github.com/w3c/IntersectionObserver/pull/205\n  }\n\n  if (!rect) return getEmptyRect();\n\n  // Older IE\n  if (!(rect.width && rect.height)) {\n    rect = {\n      top: rect.top,\n      right: rect.right,\n      bottom: rect.bottom,\n      left: rect.left,\n      width: rect.right - rect.left,\n      height: rect.bottom - rect.top\n    };\n  }\n  return rect;\n}\n\n\n/**\n * Returns an empty rect object. An empty rect is returned when an element\n * is not in the DOM.\n * @return {ClientRect} The empty rect.\n */\nfunction getEmptyRect() {\n  return {\n    top: 0,\n    bottom: 0,\n    left: 0,\n    right: 0,\n    width: 0,\n    height: 0\n  };\n}\n\n\n/**\n * Ensure that the result has all of the necessary fields of the DOMRect.\n * Specifically this ensures that `x` and `y` fields are set.\n *\n * @param {?DOMRect|?ClientRect} rect\n * @return {?DOMRect}\n */\nfunction ensureDOMRect(rect) {\n  // A `DOMRect` object has `x` and `y` fields.\n  if (!rect || 'x' in rect) {\n    return rect;\n  }\n  // A IE's `ClientRect` type does not have `x` and `y`. The same is the case\n  // for internally calculated Rect objects. For the purposes of\n  // `IntersectionObserver`, it's sufficient to simply mirror `left` and `top`\n  // for these fields.\n  return {\n    top: rect.top,\n    y: rect.top,\n    bottom: rect.bottom,\n    left: rect.left,\n    x: rect.left,\n    right: rect.right,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\n\n/**\n * Inverts the intersection and bounding rect from the parent (frame) BCR to\n * the local BCR space.\n * @param {DOMRect|ClientRect} parentBoundingRect The parent's bound client rect.\n * @param {DOMRect|ClientRect} parentIntersectionRect The parent's own intersection rect.\n * @return {ClientRect} The local root bounding rect for the parent's children.\n */\nfunction convertFromParentRect(parentBoundingRect, parentIntersectionRect) {\n  var top = parentIntersectionRect.top - parentBoundingRect.top;\n  var left = parentIntersectionRect.left - parentBoundingRect.left;\n  return {\n    top: top,\n    left: left,\n    height: parentIntersectionRect.height,\n    width: parentIntersectionRect.width,\n    bottom: top + parentIntersectionRect.height,\n    right: left + parentIntersectionRect.width\n  };\n}\n\n\n/**\n * Checks to see if a parent element contains a child element (including inside\n * shadow DOM).\n * @param {Node} parent The parent element.\n * @param {Node} child The child element.\n * @return {boolean} True if the parent node contains the child node.\n */\nfunction containsDeep(parent, child) {\n  var node = child;\n  while (node) {\n    if (node == parent) return true;\n\n    node = getParentNode(node);\n  }\n  return false;\n}\n\n\n/**\n * Gets the parent node of an element or its host element if the parent node\n * is a shadow root.\n * @param {Node} node The node whose parent to get.\n * @return {Node|null} The parent node or null if no parent exists.\n */\nfunction getParentNode(node) {\n  var parent = node.parentNode;\n\n  if (node.nodeType == /* DOCUMENT */ 9 && node != document) {\n    // If this node is a document node, look for the embedding frame.\n    return getFrameElement(node);\n  }\n\n  if (parent && parent.nodeType == 11 && parent.host) {\n    // If the parent is a shadow root, return the host element.\n    return parent.host;\n  }\n\n  if (parent && parent.assignedSlot) {\n    // If the parent is distributed in a <slot>, return the parent of a slot.\n    return parent.assignedSlot.parentNode;\n  }\n\n  return parent;\n}\n\n\n/**\n * Returns the embedding frame element, if any.\n * @param {!Document} doc\n * @return {!Element}\n */\nfunction getFrameElement(doc) {\n  try {\n    return doc.defaultView && doc.defaultView.frameElement || null;\n  } catch (e) {\n    // Ignore the error.\n    return null;\n  }\n}\n\n\n// Exposes the constructors globally.\nwindow.IntersectionObserver = IntersectionObserver;\nwindow.IntersectionObserverEntry = IntersectionObserverEntry;\n\n}());\n\n\n//# sourceURL=webpack:///./node_modules/intersection-observer/intersection-observer.js?")},
vendor: 685 bytes, lines 5-9
5"./node_modules/nodelist-foreach-polyfill/index.js":
6/*!*********************************************************!*\
7  !*** ./node_modules/nodelist-foreach-polyfill/index.js ***!
8  \*********************************************************/
9/*! no static exports found */function(module,exports){eval("if (window.NodeList && !NodeList.prototype.forEach) {\r\n    NodeList.prototype.forEach = function (callback, thisArg) {\r\n        thisArg = thisArg || window;\r\n        for (var i = 0; i < this.length; i++) {\r\n            callback.call(thisArg, this[i], i, this);\r\n        }\r\n    };\r\n}\r\n\n\n//# sourceURL=webpack:///./node_modules/nodelist-foreach-polyfill/index.js?")},
9"./packages/Biosphaerenpark/scss/main.scss":
10/*!*************************************************!*\
11  !*** ./packages/Biosphaerenpark/scss/main.scss ***!
12  \*************************************************/
13/*! no static exports found */function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./packages/Biosphaerenpark/scss/main.scss?")},
13"./packages/Biosphaerenpark/ts/event.ts":
14/*!**********************************************!*\
15  !*** ./packages/Biosphaerenpark/ts/event.ts ***!
16  \**********************************************/
17/*! no static exports found */function(module,exports,__webpack_require__){"use strict";eval("\nexports.__esModule = true;\nvar event = /** @class */ (function () {\n    function event() {\n        // private VERANSTALTUNGEN = <HTMLDivElement>document.getElementsByClassName('veranstaltungcmsliste')[0];\n        this.RASTERLIST = document.getElementsByClassName('rasterList')[0];\n        this._rebuildHTML();\n    }\n    event.prototype._rebuildHTML = function () {\n        // Veranstaltungsliste\n        if (this.RASTERLIST) {\n            // this.RASTERLIST = <HTMLDivElement>this.VERANSTALTUNGEN.getElementsByClassName('rasterList')[0];\n            // if (this.RASTERLIST) {\n            var entries = this.RASTERLIST.getElementsByClassName('rasterListEntry');\n            [].forEach.call(entries, function (e) {\n                // remove div.clear\n                var clear = e.getElementsByClassName('clear')[0];\n                e.removeChild(clear);\n                // create leftSideVA && rightSideVA DIV\n                var rightSideVA = document.createElement('div');\n                rightSideVA.className = 'rightSideVA';\n                var leftSideVA = document.createElement('div');\n                leftSideVA.className = 'leftSideVA';\n                // left side (rasterListImageContainer)\n                var rlimgc = e.getElementsByClassName('rasterListImageContainer')[0];\n                // right side\n                // rasterListInformationContainer\n                var rlic = e.getElementsByClassName('rasterListInfoContainer')[0];\n                // rasterListDateContainer\n                var rldc = e.getElementsByClassName('rasterListDateContainer')[0];\n                // rasterListOrtContainer\n                var rloc = e.getElementsByClassName('rasterListOrtContainer')[0];\n                // Append Container to leftSideVA\n                if (rlimgc) {\n                    leftSideVA.appendChild(rlimgc);\n                }\n                // Append Container to rightSideVA\n                if (rlic) {\n                    if (rlic.innerText.trim().length === 0) {\n                        rlic.classList.add('none');\n                    }\n                    rightSideVA.appendChild(rlic);\n                }\n                if (rldc) {\n                    if (rldc.innerText.trim().length === 0) {\n                        rldc.classList.add('none');\n                    }\n                    var rldcdt = rldc.getElementsByClassName('rasterListDateContainerDateTime')[0];\n                    var rldct = rldc.getElementsByClassName('rasterListDateContainerTime')[0];\n                    // Append time to date\n                    if (rldct) {\n                        rldcdt.innerHTML += \" \" + rldct.innerText;\n                        rldct.classList.add('none');\n                    }\n                    // append to rightSideVA\n                    rightSideVA.appendChild(rldc);\n                }\n                if (rloc) {\n                    if (rloc.innerText.trim().length === 0) {\n                        rloc.classList.add('none');\n                    }\n                    var rloca = rloc.getElementsByClassName('rasterListOrtContainerAdresse')[0];\n                    if (rloca) {\n                        // ort, strasse\n                        rloca.innerHTML = rloca.innerHTML.replace(/<br\\s*\\/?>/mg, \", \");\n                    }\n                    rightSideVA.appendChild(rloc);\n                }\n                var img = rlimgc.getElementsByTagName('img')[0];\n                img.style.display = 'block';\n                e.appendChild(leftSideVA);\n                e.appendChild(rightSideVA);\n            });\n            // }\n        }\n    };\n    return event;\n}());\nexports[\"default\"] = event;\n\n\n//# sourceURL=webpack:///./packages/Biosphaerenpark/ts/event.ts?")},
17"./packages/Biosphaerenpark/ts/main.ts":
18/*!*********************************************!*\
19  !*** ./packages/Biosphaerenpark/ts/main.ts ***!
20  \*********************************************/
21/*! no static exports found */function(module,exports,__webpack_require__){"use strict";eval("\nexports.__esModule = true;\n__webpack_require__(/*! nodelist-foreach-polyfill */ \"./node_modules/nodelist-foreach-polyfill/index.js\");\n__webpack_require__(/*! intersection-observer */ \"./node_modules/intersection-observer/intersection-observer.js\");\nvar news_1 = __webpack_require__(/*! ./news */ \"./packages/Biosphaerenpark/ts/news.ts\");\nvar event_1 = __webpack_require__(/*! ./event */ \"./packages/Biosphaerenpark/ts/event.ts\");\nvar search_1 = __webpack_require__(/*! ./search */ \"./packages/Biosphaerenpark/ts/search.ts\");\nvar praefix = '';\nvar elementIDToStick = '.section__name';\nvar headerOffsetTop = 0;\nwindow.onload = function () {\n    new news_1[\"default\"]();\n    new event_1[\"default\"]();\n    var s = new search_1[\"default\"]();\n    // Custom search\n    if (document.getElementsByClassName('toggleSearch').length > 0) {\n        var loupe = document.getElementsByClassName('toggleSearch')[0];\n        loupe.addEventListener('click', function (ev) {\n            ev.preventDefault();\n            var searchbar = document.getElementsByClassName('searchbarform')[0];\n            if (searchbar.classList.contains('searchbarform--hidden')) {\n                searchbar.classList.remove('searchbarform--hidden');\n            }\n            if (searchbar) {\n                var searchfield = searchbar.getElementsByClassName('searchbar__input')[0];\n                if (searchfield) {\n                    searchfield.focus();\n                }\n            }\n        });\n    }\n    // close searchbar on esc\n    // add eventlistener for escape\n    document.addEventListener('keydown', function (ev) {\n        if (ev.key === \"Escape\" || ev.key === \"Esc\" || ev.keyCode === 27) {\n            var searchForm = document.getElementsByClassName('searchbarform')[0];\n            var searchInput = document.getElementsByClassName('searchbar__input--text')[0];\n            if (searchForm && !searchForm.classList.contains('searchbarform--hidden')) {\n                if (s && searchInput) {\n                    s._closeSearchBar(searchForm, searchInput);\n                }\n            }\n        }\n    });\n    // Amtstafel \"Weitere Aushaenge\"\n    if (document.getElementsByClassName(praefix + \"posting\").length > 0) {\n        var amtstafel = document.getElementsByClassName(praefix + \"posting\")[0];\n        var weitereAushaenge = document.createElement('p');\n        weitereAushaenge.innerHTML = '<a href=\"/amtstafel\">Alle Aushänge</a>';\n        weitereAushaenge.classList.add('boxAmtstafelVorschauWeitereTermine');\n        amtstafel.appendChild(weitereAushaenge);\n    }\n    // HIGHLIGHT\n    if (document.getElementsByClassName(praefix + \"section__highlight\").length > 0) {\n        var highlight = document.getElementsByClassName(praefix + \"section__highlight\")[0];\n        var highlightNews = highlight.querySelectorAll(\".\" + praefix + \"section__highlight .newsrow\");\n        if (highlightNews.length === 0) {\n            highlight.parentNode.removeChild(highlight);\n        }\n    }\n    // Veranstaltung alle Termine Link\n    if (document.getElementsByClassName('boxVeranstaltungsvorschauWeitereTermine').length > 0) {\n        var weitereTermine = document.getElementsByClassName('boxVeranstaltungsvorschauWeitereTermine')[0];\n        var weitereTermineLink = weitereTermine.getElementsByTagName('a')[0];\n        weitereTermineLink.innerText = 'Alle Veranstaltungen';\n    }\n    // Zeitung alle Link\n    /* if (document.getElementsByClassName('g_zeitung').length > 0) {\n        const weitereZeitungen = <HTMLElement>document.getElementsByClassName('g_zeitung')[0];\n        const weitereZeitungenLink = <HTMLElement>weitereZeitungen.getElementsByTagName('a')[1];\n        weitereZeitungenLink.innerText = 'Download';\n    } */\n    // Suche Icon anpassen\n    // if (document.getElementsByClassName(`${praefix}search--einzeilig`).length > 0) {\n    //     const searchbtn = <HTMLInputElement>document.querySelectorAll(`.${praefix}search--einzeilig input[type=\"submit\"]`)[0];\n    //     // fontawesome\n    //     searchbtn.value = '\\uf002';\n    // }\n    // Karussell Image Original anzeigen\n    if (document.getElementsByClassName(praefix + \"ext_links\").length > 0) {\n        var container = document.getElementsByClassName(praefix + \"ext_links\")[0];\n        var images = container.querySelectorAll('img');\n        for (var i = 0; i < images.length;
21 i++) {\n            var img = images[i];\n            img.src = img.src.replace(/mode=T/, 'mode=O');\n        }\n    }\n    // OEFFNUNGSZEITEN DARSTELLUNG\n    // Aktuell nur bei Gelbe Seite (kompakt + nicht kompakt) und Einrichtung (nicht kompakt)\n    if (document.querySelectorAll('#columns .ris_list_oz_closed') || document.querySelectorAll('#columns .ris_list_oz_open')) {\n        var opening = document.querySelectorAll('#columns .ris_list_oz_closed, #columns .ris_list_oz_open');\n        var main_1 = document.getElementById('main');\n        [].forEach.call(opening, function (o) {\n            var openClass = (o.classList.contains('ris_list_oz_open') ? 'open' : 'close');\n            var openTitle = o.getAttribute('title');\n            if (main_1.classList.contains('gelbeseitecmsliste') || main_1.classList.contains('gelbeseitecmsdetail')) {\n                // NICHT KOMPAKT OHNE TABELLE\n                if (document.getElementsByClassName('gs_info').length > 0) {\n                    var gs_info = void 0;\n                    if (o.nextElementSibling.tagName.toLowerCase() === 'img') {\n                        gs_info = o.nextElementSibling.nextElementSibling;\n                    }\n                    else {\n                        gs_info = o.nextElementSibling;\n                    }\n                    var hrefList = gs_info.querySelectorAll('a + br');\n                    var href = hrefList[hrefList.length - 1];\n                    if (href) {\n                        href.insertAdjacentHTML('afterend', \"<p class=\\\"\" + openClass + \"\\\">\" + openTitle + \"</p>\");\n                    }\n                }\n                else {\n                    var href = o.nextElementSibling;\n                    // Aemter und Behoerden\n                    (href || o.parentElement).insertAdjacentHTML('afterend', \"<p class=\\\"\" + openClass + \"\\\">\" + openTitle + \"</p>\");\n                }\n            }\n            else if (main_1.classList.contains('gemeindebetriebcmsliste') || main_1.classList.contains('gemeindebetriebcmsdetail')) {\n                if (document.getElementsByClassName('einrichtungen_list_1').length > 0) {\n                    // NICHT KOMPAKTE LISTE\n                    var hrefList = o.nextElementSibling.querySelectorAll('a + br');\n                    var href = hrefList[hrefList.length - 1];\n                    if (href) {\n                        href.insertAdjacentHTML('afterend', \"<p class=\\\"\" + openClass + \"\\\">\" + openTitle + \"</p>\");\n                    }\n                }\n                else {\n                    // KOMPAKTE LISTE\n                    // HIER GIBT ES KEINE OEFFNUNGSZEITEN?\n                }\n            }\n        });\n    }\n    // Oeffnungszeiten \",\" entfernen\n    if (document.getElementsByClassName('openinghours').length > 0) {\n        var times = document.querySelectorAll('.openinghours');\n        if (times.length > 0) {\n            times.forEach(function (timeContainer, i) {\n                var tc = timeContainer.querySelectorAll('.ris_oz_times');\n                if (tc.length > 0) {\n                    tc.forEach(function (timeItem, i) {\n                        timeItem.innerHTML = timeItem.innerHTML.toString().replace(/, /g, '');\n                    });\n                }\n            });\n        }\n    }\n    // Meine Seite\n    if (window.location.href.indexOf('meineseite') > -1) {\n        var meineSeiteBoxen = document.getElementsByClassName('meineseitebox');\n        var i = 0;\n        var firstBox = meineSeiteBoxen[0];\n        var flexbox_1 = document.createElement('div');\n        flexbox_1.classList.add('flexbox');\n        firstBox.insertAdjacentElement('beforebegin', flexbox_1);\n        [].forEach.call(meineSeiteBoxen, function (b) {\n            var flexboxItemWrapper = document.createElement('div');\n            flexboxItemWrapper.classList.add('flexbox__item');\n            flexboxItemWrapper.appendChild(b);\n            flexbox_1.appendChild(flexboxItemWrapper);\n        });\n    }\n    // scroll spy\n    setObservable();\n};\nwindow.onscroll = function () {\n    var elemToStick = document.querySelectorAll(elementIDToStick)[0];\n    // INITIIEREN\n    if (headerOffsetTop === 0) {\n        // SET OFFSET OF ELEMENT TO STICK + SOME TOLERANCE\n        headerOffsetTop = elemToStick.offsetTop + 20;\n    }\n    // IF ELEMENT TO STICK IS AT LEAST SCROLL THEN STICK IT!\n    if (headerOffsetTop <= window.pageYOffset) {\n        elemToStick.classList.add('stuck');\n    }\n    else {\n        elemToStick.classList.remove('stuck');\n    }\n};\nvar setObservable = function () {\n    var wrapperList = document.querySelectorAll(\"#columns .\" + praefix + \"wrapper\");\n    var observer = new IntersectionObserver(function (entries) {\n        // root: document.getElementsByTagName('body');
21\n        entries.forEach(function (entry) {\n            // if element in viewport set visibility to visible\n            if (entry.intersectionRatio > 0) {\n                var isVisible = entry.target.getAttribute('visibility');\n                if (!isVisible) {\n                    var el = entry.target;\n                    el.style.opacity = '1';\n                    // el.style.visibility = 'visible';\n                    el.classList.add('fadeIn');\n                }\n            }\n        });\n    });\n    wrapperList.forEach(function (wrapper) {\n        observer.observe(wrapper);\n    });\n};\n\n\n//# sourceURL=webpack:///./packages/Biosphaerenpark/ts/main.ts?")},
21"./packages/Biosphaerenpark/ts/news.ts":
22/*!*********************************************!*\
23  !*** ./packages/Biosphaerenpark/ts/news.ts ***!
24  \*********************************************/
25/*! no static exports found */function(module,exports,__webpack_require__){"use strict";eval("\nexports.__esModule = true;\nvar news = /** @class */ (function () {\n    function news() {\n        this.NEWSROW = document.getElementsByClassName('newsrow');\n        this._rebuildHTML();\n    }\n    news.prototype._rebuildHTML = function () {\n        if (this.NEWSROW) {\n            [].forEach.call(this.NEWSROW, function (nr) {\n                var width99 = nr.getElementsByClassName('width99');\n                if (width99) {\n                    [].forEach.call(width99, function (w) {\n                        // leftSide\n                        var leftSide = document.createElement('div');\n                        leftSide.classList.add('leftSide');\n                        var img = w.getElementsByTagName('img')[0];\n                        if (img) {\n                            leftSide.appendChild(img);\n                        }\n                        // rightSide\n                        var rightSide = document.createElement('div');\n                        rightSide.classList.add('rightSide');\n                        var date = w.getElementsByClassName('float_right')[0];\n                        if (date) {\n                            rightSide.appendChild(date);\n                        }\n                        var headline = w.getElementsByTagName('h2')[0];\n                        rightSide.appendChild(headline);\n                        var text = w.querySelectorAll('p:not(.float_right)');\n                        [].forEach.call(text, function (p) {\n                            rightSide.appendChild(p);\n                        });\n                        w.innerHTML = leftSide.outerHTML;\n                        w.innerHTML += rightSide.outerHTML;\n                    });\n                }\n            });\n        }\n    };\n    return news;\n}());\nexports[\"default\"] = news;\n\n\n//# sourceURL=webpack:///./packages/Biosphaerenpark/ts/news.ts?")},
25"./packages/Biosphaerenpark/ts/search.ts":
26/*!***********************************************!*\
27  !*** ./packages/Biosphaerenpark/ts/search.ts ***!
28  \***********************************************/
29/*! no static exports found */function(module,exports,__webpack_require__){"use strict";eval("\nexports.__esModule = true;\nvar search = /** @class */ (function () {\n    function search() {\n        this._addSearchBar();\n        this._redefineSearchLayout();\n    }\n    search.prototype._addSearchBar = function () {\n        var _this = this;\n        var menuonr = '220561721';\n        var body = document.getElementsByTagName('body')[0];\n        // create wrapper div\n        var searchBarContainer = document.createElement('div');\n        searchBarContainer.classList.add('searchbar');\n        // create form\n        var searchForm = document.createElement('form');\n        searchForm.classList.add('searchbarform');\n        searchForm.classList.add('searchbarform--hidden');\n        searchForm.setAttribute('action', '/system/web/suche.aspx');\n        searchForm.setAttribute('method', 'get');\n        searchForm.setAttribute('name', 'Suchformular');\n        searchForm.setAttribute('role', 'search');\n        searchForm.setAttribute('aria-modal', 'true');\n        // create search input\n        var searchInput = document.createElement('input');\n        searchInput.classList.add('searchbar__input');\n        searchInput.classList.add('searchbar__input--text');\n        searchInput.type = 'text';\n        searchInput.name = 'search';\n        searchInput.setAttribute('placeholder', 'Was wollen Sie finden?');\n        searchInput.setAttribute('aria-labelledby', 'ariasearch__paragraph--input');\n        // create search label\n        var searchLabel = document.createElement('label');\n        searchLabel.classList.add('searchbar__label');\n        // searchLabel.innerHTML = '<span class=\"fa fa-search\" aria-hidden=\"true\"></span>';\n        // create submit button\n        var searchSubmit = document.createElement('button');\n        searchSubmit.classList.add('searchbar__input');\n        searchSubmit.classList.add('searchbar__input--submit');\n        searchSubmit.innerHTML = '<span class=\"fa fa-search\" aria-hidden=\"true\" aria-labeledby=\"ariasearch__paragraph--button\"></span>'; // = '\\uf104';\n        searchSubmit.setAttribute('aria-label', 'Suche starten');\n        // create aria-describedby\n        var searchAriaWrapper = document.createElement('div');\n        searchAriaWrapper.classList.add('ariasearch');\n        var searchAriaInput = document.createElement('p');\n        searchAriaInput.id = 'ariasearch__paragraph--input';\n        searchAriaInput.innerText = 'Bitte geben Sie einen Suchbegriff ein und drücken Sie Enter um die Suche zu starten';\n        var searchAriaButton = document.createElement('p');\n        searchAriaButton.id = 'ariasearch__paragraph--button';\n        searchAriaButton.innerText = 'Klicken Sie um die Suche zu starten';\n        // create hidden fields\n        searchForm.insertAdjacentHTML('beforeend', \"<input type=\\\"hidden\\\" class=\\\"searchbar__input searchbar__input--hidden\\\" name=\\\"menuonr\\\" value=\\\"\" + menuonr + \"\\\" />\");\n        searchForm.insertAdjacentHTML('beforeend', '<input type=\"hidden\" class=\"searchbar__input searchbar__input--hidden\" name=\"detailonr\" value=\"0\" />');\n        searchForm.insertAdjacentHTML('beforeend', '<input type=\"hidden\" class=\"searchbar__input searchbar__input--hidden\" name=\"sprache\" value=\"1\" />');\n        searchForm.insertAdjacentHTML('beforeend', '<input type=\"hidden\" class=\"searchbar__input searchbar__input--hidden\" name=\"mqs\" value=\"1\" />');\n        searchForm.insertAdjacentHTML('beforeend', '<input type=\"hidden\" class=\"searchbar__input searchbar__input--hidden\" name=\"cmd\" />');\n        // create closing button\n        var searchbarCloseWrapper = document.createElement('div');\n        searchbarCloseWrapper.classList.add('searchbarclose');\n        var searchbarClose = document.createElement('a');\n        searchbarClose.classList.add('searchbarclose__button');\n        searchbarClose.href = '#';\n        searchbarClose.title = 'Suchedialog schließen';\n        searchbarClose.innerHTML = '<span class=\"fa fa-times\" aria-hidden=\"true\"></span>';\n        searchbarClose.addEventListener('click', function (ev) {\n            ev.preventDefault();\n            _this._closeSearchBar(searchForm, searchInput);\n        });\n        // searchForm.addEventListener('submit', this._handleSubmit);\n        // append input to wrapper\n        searchBarContainer.appendChild(searchInput);\n        // append button to wrapper\n        searchBarContainer.appendChild(searchSubmit);\n        // append aria to aria wrapper\n        searchAriaWrapper.appendChild(searchAriaInput);\n        searchAriaWrapper.appendChild(searchAriaButton);\n        // append aria wrapper to wrapper\n        searchBarContainer.appendChild(searchAriaWrapper);\n        // append close to close wrapper\n        searchbarCloseWrapper.appendChild(searchbarClose);\n        // append close wrapper to wrapper\n        searchBarContainer.appendChild(searchbarCloseWrapper);\n        // append wrapper to form\n        searchForm.appendChild(searchBarContainer);\n        // append form to body\n        body.appendChild(searchForm);\n    };\n    search.prototype._resetSearchInput = function (searchInput) {\n        searchInput.value = '';\n    };\n    search.prototype._closeSearchBar = function (searchForm, searchInput) {\n        this._resetSearchInput(searchInput);\n        if (!searchForm.classList.contains('searchbarform--hidden')) {\
29n            searchForm.classList.add('searchbarform--hidden');\n        }\n    };\n    search.prototype._redefineSearchLayout = function () {\n        if (document.getElementsByClassName('suchecmsliste').length > 0) {\n            var searchWrapper_1 = document.createElement('div');\n            searchWrapper_1.classList.add('search__wrapper');\n            var searchFilterWrapper = document.querySelectorAll('.suchecmsliste p.entries ~ .float_right.width65')[0];\n            var searchFilterLabelWrapper = document.querySelectorAll('.suchecmsliste p.entries ~ .float_right.width65 + p')[0];\n            var entries = document.querySelectorAll('.entries ~ .clear_both')[0];\n            var leftSearchSide = document.createElement('div');\n            leftSearchSide.classList.add('search__filter');\n            var rightSearchSide = document.createElement('div');\n            rightSearchSide.classList.add('search__overflow');\n            var moreFilter = document.createElement('div');\n            moreFilter.classList.add('search__filter');\n            moreFilter.classList.add('search__filter--more');\n            var moreFilterLabel = document.createElement('div');\n            moreFilterLabel.classList.add('search__label');\n            moreFilterLabel.classList.add('search--isvisible');\n            moreFilterLabel.classList.add('search--isalwaysvisible');\n            var moreFilterLabelParagraph = document.createElement('p');\n            var moreFilterLabelButton = document.createElement('a');\n            moreFilterLabelButton.setAttribute('href', '#');\n            moreFilterLabelButton.classList.add('showmore');\n            moreFilterLabelButton.innerHTML = '<b><span class=\"showmore__text\">Weitere Filter</span> <span class=\"fi flaticon-right-chevron\" aria-hidden=\"true\"></b>';\n            moreFilterLabelButton.addEventListener('click', function (ev) {\n                ev.preventDefault();\n                var searchFilterMoreWrapper = searchWrapper_1.getElementsByClassName('search__filter--more')[0];\n                if (searchFilterMoreWrapper) {\n                    if (searchFilterMoreWrapper.classList.contains('search--isvisible')) {\n                        searchFilterMoreWrapper.classList.remove('search--isvisible');\n                    }\n                    else {\n                        searchFilterMoreWrapper.classList.add('search--isvisible');\n                    }\n                }\n                // const moreFilterHidden = <NodeListOf<HTMLElement>>searchWrapper.querySelectorAll('.search__filter--more > div');\n                // moreFilterHidden.forEach((mfh: HTMLElement, key: number) => {\n                //     if (mfh.classList.contains('search--isvisible') || mfh.classList.contains('search--isvisible')) {\n                //         // less || more filter button\n                //         if (!mfh.classList.contains('search--isalwaysvisible')) {\n                //             mfh.classList.remove('search--isvisible');\n                //         } else {\n                //             const showmoreButton = <HTMLSpanElement>mfh.getElementsByClassName('fi')[0];\n                //             if (showmoreButton) {\n                //                 if (showmoreButton.classList.contains('flaticon-right-chevron')) {\n                //                     showmoreButton.classList.replace('flaticon-right-chevron', 'flaticon-down-chevron');\n                //                 } else {\n                //                     showmoreButton.classList.replace('flaticon-down-chevron', 'flaticon-right-chevron');\n                //                 }\n                //             }\n                //         }\n                //     } else {\n                //         mfh.classList.add('search--isvisible');\n                //     }\n                // });\n                // [].forEach.apply(moreFilterHidden, (mfh: HTMLElement) => {\n                // })\n            });\n            moreFilterLabelParagraph.appendChild(moreFilterLabelButton);\n            moreFilterLabel.appendChild(moreFilterLabelParagraph);\n            var moreFilterInput = document.createElement('div');\n            moreFilterInput.classList.add('search__input');\n            // create left and right search block\n            this._createSearchBlock(leftSearchSide, searchFilterLabelWrapper);\n            this._createSearchBlock(rightSearchSide, searchFilterWrapper);\n            // iterate labels\n            for (var i = 0; i < leftSearchSide.children.length;
29 i++) {\n                var ch = leftSearchSide.children[i];\n                if (ch.nodeName.toLowerCase() === 'label') {\n                    var searchInputElement = rightSearchSide.querySelectorAll(\"#\" + ch.getAttribute('for'))[0];\n                    if (searchInputElement) {\n                        // append existing inputs left\n                        searchInputElement.classList.add(\"search__input--\" + searchInputElement.nodeName.toLowerCase());\n                        if (i >= 5) {\n                            // append more filter\n                            moreFilterInput.appendChild(searchInputElement);\n                        }\n                        else {\n                            // append search__filter\n                            ch.insertAdjacentElement('afterend', searchInputElement);\n                        }\n                    }\n                }\n            }\n            var overflowLabelWrapper = document.createElement('div');\n            overflowLabelWrapper.classList.add('search__label');\n            overflowLabelWrapper.classList.add('search__label--top');\n            var overflowInputWrapper = document.createElement('div');\n            overflowInputWrapper.classList.add('search__input');\n            var overflowInputParagraph = document.createElement('p');\n            var overflowLabel = document.createElement('div');\n            overflowLabel.innerHTML = '<p>Weitere Einstellungen</p>';\n            // append label to wrapper\n            overflowLabelWrapper.appendChild(overflowLabel);\n            // append rightSearchSide to wrapper\n            overflowInputParagraph.appendChild(rightSearchSide);\n            overflowInputWrapper.appendChild(overflowInputParagraph);\n            // append moreFilterLabel to moreFilter\n            moreFilter.appendChild(moreFilterLabel);\n            // append moreFilterInput to moreFilter\n            moreFilter.appendChild(moreFilterInput);\n            // append wrapper to wrapper\n            moreFilter.appendChild(overflowLabelWrapper);\n            moreFilter.appendChild(overflowInputWrapper);\n            // append filters to html\n            searchWrapper_1.appendChild(leftSearchSide);\n            searchWrapper_1.appendChild(moreFilter);\n            // searchWrapper.appendChild(filterWrapper);\n            if (entries) {\n                // insert new html\n                entries.insertAdjacentElement('afterend', searchWrapper_1);\n            }\n            // remove existing html\n            searchFilterWrapper.remove();\n            searchFilterLabelWrapper.remove();\n        }\n    };\n    search.prototype._createSearchBlock = function (side, wrapperContainer) {\n        var _this = this;\n        // iterate through all child elements of wrapper\n        [].forEach.call(wrapperContainer.children, function (sf) {\n            // get all labels\n            if (sf.nodeName.toLowerCase() === 'label' || sf.nodeName.toLowerCase() === 'select' || sf.nodeName.toLowerCase() === 'input') {\n                sf.classList.add(\"search__input--\" + sf.nodeName.toLowerCase());\n                side.innerHTML += sf.outerHTML;\n            }\n            // span.search_limitation > label ...\n            if (sf.children.length > 0) {\n                _this._createSearchBlock(side, sf);\n            }\n        });\n    };\n    return search;\n}());\nexports[\"default\"] = search;\n\n\n//# sourceURL=webpack:///./packages/Biosphaerenpark/ts/search.ts?")}
29,1:
30/*!*********************************************************************************************!*\
31  !*** multi ./packages/Biosphaerenpark/ts/main.ts ./packages/Biosphaerenpark/scss/main.scss ***!
32  \*********************************************************************************************/
33/*! no static exports found */function(module,exports,__webpack_require__){eval('__webpack_require__(/*! ./packages/Biosphaerenpark/ts/main.ts */"./packages/Biosphaerenpark/ts/main.ts");\nmodule.exports = __webpack_require__(/*! ./packages/Biosphaerenpark/scss/main.scss */"./packages/Biosphaerenpark/scss/main.scss");\n\n\n//# sourceURL=webpack:///multi_./packages/Biosphaerenpark/ts/main.ts_./packages/Biosphaerenpark/scss/main.scss?')}});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.