(window["webpackJsonpLIS"] = window["webpackJsonpLIS"] || []).push([["toubiz-events~toubiz-poi-results-list-controller"],{

/***/ "./Packages/Plugins/Newland.AssetsNeos/Scripts/common/ajax-form-reload.js":
/*!********************************************************************************!*\
  !*** ./Packages/Plugins/Newland.AssetsNeos/Scripts/common/ajax-form-reload.js ***!
  \********************************************************************************/
/*! exports provided: AjaxFormReload */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AjaxFormReload\", function() { return AjaxFormReload; });\n/* harmony import */ var _string_utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./string-utilities */ \"./Packages/Plugins/Newland.AssetsNeos/Scripts/common/string-utilities.js\");\n/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! qs */ \"./node_modules/qs/lib/index.js\");\n/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_1__);\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\nvar ATTRIBUTE = Object.freeze({\n  AJAX_NAME: 'data-toubiz-ajax.name'\n});\n/**\n * @typedef {object} AjaxFormReload~options\n * @property {string|Node} target\n * @property {string} action\n * @property {string} method\n * @property {boolean} updateUrl\n * @property {string} updateUrlParameters\n * @property {string} updateUrlPluginNamespace\n * @property {Function} beforeLoad\n * @property {Function} afterLoad\n * @property {Function} onLoadError\n * @property {Function} ignoreAjaxReload\n * @property {Function} formDataTransform\n */\n\nvar AjaxFormReload = /*#__PURE__*/function () {\n  /**\n   * @param {HTMLFormElement} form\n   * @param {AjaxFormReload~options} options\n   */\n  function AjaxFormReload(form) {\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n    _classCallCheck(this, AjaxFormReload);\n\n    /** @private {HTMLFormElement} */\n    this.form = form;\n    /** @private {AjaxFormReload~options} */\n\n    this.options = this.prepareOptions(options);\n    this.initializeEventHandlers();\n  }\n\n  _createClass(AjaxFormReload, [{\n    key: \"reload\",\n    value: function () {\n      var _reload = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n        var _this = this;\n\n        var target, requestUrl, options, hasQuery, query, response;\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                if (this.options.beforeLoad) {\n                  this.options.beforeLoad();\n                }\n\n                target = this.options.target instanceof Node ? this.options.target : document.querySelector(this.options.target);\n                requestUrl = this.options.action;\n                options = {\n                  method: this.options.method,\n                  credentials: 'same-origin',\n                  headers: {\n                    Accept: 'text/html'\n                  }\n                };\n\n                if (this.options.method === 'GET') {\n                  hasQuery = requestUrl.indexOf('?') !== -1;\n                  query = [];\n                  this.getFormData().forEach(function (value, key) {\n                    return _this.sanitize(value, key, query);\n                  });\n                  requestUrl += (hasQuery ? '&' : '?') + query.join('&');\n                  this.updateUrl(requestUrl);\n                } else {\n                  options.body = this.getFormData();\n                }\n\n                _context.prev = 5;\n                _context.next = 8;\n                return fetch(requestUrl, options);\n\n              case 8:\n                response = _context.sent;\n                _context.next = 11;\n                return response.text();\n\n              case 11:\n                target.innerHTML = _context.sent;\n                _context.next = 21;\n                break;\n\n              case 14:\n                _context.prev = 14;\n                _context.t0 = _context[\"catch\"](5);\n\n                if (!this.options.onLoadError) {\n                  _context.next = 20;\n                  break;\n                }\n\n                this.options.onLoadError(_context.t0);\n                _context.next = 21;\n                break;\n\n              case 20:\n                throw _context.t0;\n\n              case 21:\n                if (this.options.afterLoad) {\n                  this.options.afterLoad();\n                }\n\n              case 22:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this, [[5, 14]]);\n      }));\n\n      function reload() {\n        return _reload.apply(this, arguments);\n      }\n\n      return reload;\n    }()\n    /**\n     * @param {string} value\n     * @param {string} key\n     * @param {Array} query\n     * @private\n     */\n\n  }, {\n    key: \"sanitize\",\n    value: function sanitize(value, key, query) {\n      if (value !== '') {\n        query.push(\"\".concat(encodeURIComponent(key), \"=\").concat(encodeURIComponent(value)));\n      }\n    }\n    /**\n     * @param {string} requestUrl\n     * @private\n     */\n\n  }, {\n    key: \"updateUrl\",\n    value: function updateUrl(requestUrl) {\n      if (this.options.updateUrl) {\n        var currentUrl = window.location.search.slice(1);\n        var updatedUrl = \"\".concat(window.location.pathname, \"?\").concat(this.replaceParametersInPath(currentUrl, requestUrl));\n        window.history.replaceState('', '', updatedUrl);\n      }\n    }\n    /**\n     * @param {string} currentPath\n     * @param {string} requestPath\n     * @returns {string}\n     * @private\n     */\n\n  }, {\n    key: \"replaceParametersInPath\",\n    value: function replaceParametersInPath(currentPath, requestPath) {\n      var currentParameters = Object(qs__WEBPACK_IMPORTED_MODULE_1__[\"parse\"])(currentPath);\n      var requestParameters = Object(qs__WEBPACK_IMPORTED_MODULE_1__[\"parse\"])(requestPath);\n      var updatedParameters = this.replaceParametersInArray(currentParameters, requestParameters);\n      return Object(qs__WEBPACK_IMPORTED_MODULE_1__[\"stringify\"])(updatedParameters);\n    }\n    /**\n     * @param {object} currentParameters\n     * @param {object} requestParameters\n     * @returns {object}\n     * @private\n     */\n\n  }, {\n    key: \"replaceParametersInArray\",\n    value: function replaceParametersInArray(currentParameters, requestParameters) {\n      var parameters = this.options.updateUrlParameters.split(',');\n      var updatedParameters = JSON.parse(JSON.stringify(currentParameters));\n      var currentNamespace;\n\n      if (this.options.updateUrlPluginNamespace) {\n        updatedParameters[this.options.updateUrlPluginNamespace] = updatedParameters[this.options.updateUrlPluginNamespace] || {};\n        currentNamespace = updatedParameters[this.options.updateUrlPluginNamespace];\n      } else {\n        currentNamespace = updatedParameters;\n      }\n\n      var _iterator = _createForOfIteratorHelper(parameters),\n          _step;\n\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          var parameter = _step.value;\n          currentNamespace[parameter] = requestParameters[parameter];\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n\n      return updatedParameters;\n    }\n    /**\n     * @returns {FormData}\n     * @private\n     */\n\n  }, {\n    key: \"getFormData\",\n    value: function getFormData() {\n      var data = new FormData();\n\n      var _iterator2 = _createForOfIteratorHelper(this.form.querySelectorAll('input, select, textarea')),\n          _step2;\n\n      try {\n        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n          var element = _step2.value;\n          var name = element.getAttribute(ATTRIBUTE.AJAX_NAME) || element.name;\n\n          if ((element.type === 'checkbox' || element.type === 'radio') && !element.checked) {\n            continue;\n          }\n\n          data.append(name, element.value);\n        }\n      } catch (err) {\n        _iterator2.e(err);\n      } finally {\n        _iterator2.f();\n      }\n\n      if (this.options.formDataTransform) {\n        return this.options.formDataTransform(data);\n      }\n\n      return data;\n    }\n    /** @private */\n\n  }, {\n    key: \"initializeEventHandlers\",\n    value: function initializeEventHandlers() {\n      var _this2 = this;\n\n      this.form.addEventListener('submit', function (event) {\n        if (_this2.options.ignoreAjaxReload(_this2.getFormData()) === true) {\n          return;\n        }\n\n        event.preventDefault();\n\n        _this2.reload();\n      });\n    }\n    /**\n     * @private\n     * @param {AjaxFormReload~options} options\n     * @returns {AjaxFormReload~options}\n     */\n\n  }, {\n    key: \"prepareOptions\",\n    value: function prepareOptions(options) {\n      if (!options.target) {\n        throw new Error(Object(_string_utilities__WEBPACK_IMPORTED_MODULE_0__[\"stripMultilineIndention\"])(\"\\n                The 'target' option is required for 'AjaxFormReload'.\\n                It defines the area of the document that should be reloaded.\\n            \"));\n      }\n\n      options.action = options.action || this.form.action;\n      options.method = (options.method || this.form.method).toUpperCase();\n      options.updateUrl = options.updateUrl === true;\n      options.updateUrlParameters = options.updateUrlParameters || '';\n      options.updateUrlPluginNamespace = options.updateUrlPluginNamespace || '';\n\n      options.ignoreAjaxReload = options.ignoreAjaxReload || function () {\n        return false;\n      };\n\n      return options;\n    }\n  }]);\n\n  return AjaxFormReload;\n}();\n\n//# sourceURL=webpack://LIS/./Packages/Plugins/Newland.AssetsNeos/Scripts/common/ajax-form-reload.js?");

/***/ }),

/***/ "./Packages/Plugins/Newland.AssetsNeos/Scripts/common/pagination.class.js":
/*!********************************************************************************!*\
  !*** ./Packages/Plugins/Newland.AssetsNeos/Scripts/common/pagination.class.js ***!
  \********************************************************************************/
/*! exports provided: Pagination */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Pagination\", function() { return Pagination; });\n/* harmony import */ var _nimius_event_utility__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nimius/event-utility */ \"./node_modules/@nimius/event-utility/index.js\");\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n/**\n * @typedef {object} Pagination~options\n * @param {string} next\n * @param {string} prev\n * @param {string} page\n * @param {string} total\n */\n\nvar Pagination = /*#__PURE__*/function () {\n  /**\n   * @param {HTMLElement} wrapper\n   * @param {Pagination~options} options\n   */\n  function Pagination(wrapper) {\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n    _classCallCheck(this, Pagination);\n\n    /** @private {Pagination~options} */\n    this.options = this.prepareOptions(options);\n    /** @private {HTMLElement} */\n\n    this.wrapper = wrapper;\n    /** @private {number} */\n\n    this.page = this.readCurrentPageFromDom() || 1;\n    /** @private {object<string, Function[]>} */\n\n    this.listeners = {};\n    this.initializeButtonListeners();\n    this.setInitialTotalPageCountFromDom();\n  }\n  /**\n   * @param {int} totalPageCount\n   * @public\n   */\n\n\n  _createClass(Pagination, [{\n    key: \"setTotalPageCount\",\n    value: function setTotalPageCount(totalPageCount) {\n      this.totalPageCount = totalPageCount;\n    }\n    /** @private */\n\n  }, {\n    key: \"setInitialTotalPageCountFromDom\",\n    value: function setInitialTotalPageCountFromDom() {\n      if (this.wrapper.hasAttribute(this.options.total)) {\n        this.setTotalPageCount(parseInt(this.wrapper.getAttribute(this.options.total), 10));\n      } else {\n        var buttons = this.wrapper.querySelectorAll(\"[\".concat(this.options.page, \"]\"));\n        var lastButton = buttons[buttons.length - 1];\n        this.setTotalPageCount(parseInt(lastButton.getAttribute(this.options.page), 10));\n      }\n    }\n    /**\n     * @param {int} page\n     * @param {boolean} silent\n     * @public\n     */\n\n  }, {\n    key: \"setPage\",\n    value: function setPage(page) {\n      var silent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      page = parseInt(page, 10);\n\n      if (page <= 0 || page > this.totalPageCount) {\n        return;\n      }\n\n      var emit = !silent && page !== this.page;\n      this.page = page;\n\n      if (emit) {\n        Object(_nimius_event_utility__WEBPACK_IMPORTED_MODULE_0__[\"fireEvent\"])(this.wrapper, 'toubiz-pagination.page-select', {\n          page: this.page\n        });\n      }\n    }\n    /** @private */\n\n  }, {\n    key: \"initializeButtonListeners\",\n    value: function initializeButtonListeners() {\n      var _this = this;\n\n      var _iterator = _createForOfIteratorHelper(this.wrapper.querySelectorAll(\"[\".concat(this.options.next, \"]\"))),\n          _step;\n\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          var next = _step.value;\n          next.addEventListener('click', function (event) {\n            event.preventDefault();\n\n            _this.setPage(_this.page + 1);\n          });\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n\n      var _iterator2 = _createForOfIteratorHelper(this.wrapper.querySelectorAll(\"[\".concat(this.options.prev, \"]\"))),\n          _step2;\n\n      try {\n        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n          var prev = _step2.value;\n          prev.addEventListener('click', function (event) {\n            event.preventDefault();\n\n            _this.setPage(_this.page - 1);\n          });\n        }\n      } catch (err) {\n        _iterator2.e(err);\n      } finally {\n        _iterator2.f();\n      }\n\n      var _iterator3 = _createForOfIteratorHelper(this.wrapper.querySelectorAll(\"[\".concat(this.options.page, \"]\"))),\n          _step3;\n\n      try {\n        var _loop = function _loop() {\n          var element = _step3.value;\n          element.addEventListener('click', function (event) {\n            event.preventDefault();\n            var page = parseInt(element.getAttribute(_this.options.page), 10);\n\n            _this.setPage(page);\n          });\n        };\n\n        for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n          _loop();\n        }\n      } catch (err) {\n        _iterator3.e(err);\n      } finally {\n        _iterator3.f();\n      }\n    }\n    /**\n     * @returns {?int}\n     * @private\n     */\n\n  }, {\n    key: \"readCurrentPageFromDom\",\n    value: function readCurrentPageFromDom() {\n      var element = this.wrapper.querySelector(\"[\".concat(this.options.page, \"][aria-current]\"));\n\n      if (element) {\n        return parseInt(element.getAttribute(this.options.page), 10);\n      }\n\n      return null;\n    }\n    /**\n     * @param {Pagination~options} options\n     * @returns {Pagination~options}\n     * @private\n     */\n\n  }, {\n    key: \"prepareOptions\",\n    value: function prepareOptions(options) {\n      options.next = options.next || 'data-toubiz-pagination-next';\n      options.prev = options.prev || 'data-toubiz-pagination-prev';\n      options.page = options.page || 'data-toubiz-pagination-page';\n      options.total = options.total || 'data-toubiz-pagination-total';\n      return options;\n    }\n  }]);\n\n  return Pagination;\n}();\n\n//# sourceURL=webpack://LIS/./Packages/Plugins/Newland.AssetsNeos/Scripts/common/pagination.class.js?");

/***/ }),

/***/ "./Packages/Plugins/Newland.AssetsNeos/Scripts/common/remove-filters.js":
/*!******************************************************************************!*\
  !*** ./Packages/Plugins/Newland.AssetsNeos/Scripts/common/remove-filters.js ***!
  \******************************************************************************/
/*! exports provided: RemoveFilters */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RemoveFilters\", function() { return RemoveFilters; });\n/* harmony import */ var _nimius_event_utility__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nimius/event-utility */ \"./node_modules/@nimius/event-utility/index.js\");\n/* harmony import */ var _selector_utilities__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./selector-utilities */ \"./Packages/Plugins/Newland.AssetsNeos/Scripts/common/selector-utilities.js\");\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\nvar ATTRIBUTE = Object.freeze({\n  FILTER_FORM: 'data-toubiz-results-list.filter-form',\n  TAG: 'data-toubiz-results.filter-tag',\n  TAG_FALLBACK: 'data-js-poi-filter-tag',\n  RESET_EVENT: 'data-toubiz-results.filter-tag-reset-event',\n  RESET_TARGET: 'data-toubiz-results.filter-tag-reset-target'\n});\nvar RemoveFilters = /*#__PURE__*/function () {\n  /**\n   * @param {HTMLElement} node - node wrapping the results list tagged by `data-toubiz-filter-tags`\n   * @param {HTMLFormElement} form\n   */\n  function RemoveFilters(node, form) {\n    _classCallCheck(this, RemoveFilters);\n\n    /** @private {HTMLElement} */\n    this.node = node;\n    /** @private {HTMLFormElement} */\n\n    this.form = form;\n\n    if (this.node && this.form) {\n      this.initTags();\n    }\n  }\n\n  _createClass(RemoveFilters, [{\n    key: \"initTags\",\n    value: function initTags() {\n      var _this = this;\n\n      var _iterator = _createForOfIteratorHelper(this.getTags()),\n          _step;\n\n      try {\n        var _loop = function _loop() {\n          var tag = _step.value;\n          tag.addEventListener('click', function (e) {\n            e.preventDefault();\n\n            _this.removeFilter(tag);\n\n            _this.fireAllTagsRemovedEventIfNoTagsLeft();\n          });\n        };\n\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          _loop();\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n    }\n    /**\n     * @param {HTMLElement} tag\n     */\n\n  }, {\n    key: \"removeFilter\",\n    value: function removeFilter(tag) {\n      var filterId = tag.getAttribute(ATTRIBUTE.TAG) || tag.dataset.id;\n      var resetEvent = tag.getAttribute(ATTRIBUTE.RESET_EVENT);\n      var resetTargetSelector = tag.getAttribute(ATTRIBUTE.RESET_TARGET);\n\n      var _iterator2 = _createForOfIteratorHelper(this.getItems(filterId)),\n          _step2;\n\n      try {\n        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n          var filter = _step2.value;\n          var type = filter.getAttribute('type');\n\n          if (type === 'checkbox') {\n            filter.checked = false;\n          } else if (type === 'number') {\n            filter.value = '';\n          }\n\n          Object(_nimius_event_utility__WEBPACK_IMPORTED_MODULE_0__[\"fireEvent\"])(filter, 'input');\n        }\n      } catch (err) {\n        _iterator2.e(err);\n      } finally {\n        _iterator2.f();\n      }\n\n      if (tag.parentNode) {\n        tag.parentNode.removeChild(tag);\n      }\n\n      if (resetEvent && resetTargetSelector) {\n        var resetTarget = document.querySelector(resetTargetSelector);\n\n        if (resetTarget) {\n          Object(_nimius_event_utility__WEBPACK_IMPORTED_MODULE_0__[\"fireEvent\"])(resetTarget, resetEvent);\n        }\n      }\n\n      Object(_nimius_event_utility__WEBPACK_IMPORTED_MODULE_0__[\"fireEvent\"])(this.node, 'tagRemoved');\n    }\n  }, {\n    key: \"fireAllTagsRemovedEventIfNoTagsLeft\",\n    value: function fireAllTagsRemovedEventIfNoTagsLeft() {\n      if (this.getTags().length === 0) {\n        Object(_nimius_event_utility__WEBPACK_IMPORTED_MODULE_0__[\"fireEvent\"])(this.node, 'allTagsRemoved');\n      }\n    }\n    /**\n     * @private\n     * @returns {Element[]}\n     */\n\n  }, {\n    key: \"getTags\",\n    value: function getTags() {\n      var tags = _toConsumableArray(document.querySelectorAll(Object(_selector_utilities__WEBPACK_IMPORTED_MODULE_1__[\"attributeSelector\"])(ATTRIBUTE.TAG)));\n\n      var fallback = _toConsumableArray(document.querySelectorAll(Object(_selector_utilities__WEBPACK_IMPORTED_MODULE_1__[\"attributeSelector\"])(ATTRIBUTE.TAG_FALLBACK)));\n\n      if (fallback.length > 0) {\n        console.warn(\"The \".concat(ATTRIBUTE.TAGS_FALLBACK, \" attribute is deprecated. Please use the newer \").concat(ATTRIBUTE.TAGS));\n      }\n\n      return [].concat(_toConsumableArray(tags), _toConsumableArray(fallback));\n    }\n    /**\n     * @param {string} filterId\n     * @returns {HTMLElement[]}\n     * @private\n     */\n\n  }, {\n    key: \"getItems\",\n    value: function getItems(filterId) {\n      var items = [];\n      var selectors = [\"#\".concat(filterId), \"[data-id=\\\"\".concat(filterId, \"\\\"]\")];\n\n      for (var _i = 0, _selectors = selectors; _i < _selectors.length; _i++) {\n        var selector = _selectors[_i];\n\n        try {\n          items.push.apply(items, _toConsumableArray(this.form.querySelectorAll(selector)));\n        } catch (e) {\n          console.warn(e);\n        }\n      }\n\n      return items;\n    }\n  }]);\n\n  return RemoveFilters;\n}();\n\n//# sourceURL=webpack://LIS/./Packages/Plugins/Newland.AssetsNeos/Scripts/common/remove-filters.js?");

/***/ }),

/***/ "./Packages/Plugins/Newland.AssetsNeos/Scripts/common/results-list-controller.class.js":
/*!*********************************************************************************************!*\
  !*** ./Packages/Plugins/Newland.AssetsNeos/Scripts/common/results-list-controller.class.js ***!
  \*********************************************************************************************/
/*! exports provided: ResultsListController */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ResultsListController\", function() { return ResultsListController; });\n/* harmony import */ var _pagination_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pagination.class */ \"./Packages/Plugins/Newland.AssetsNeos/Scripts/common/pagination.class.js\");\n/* harmony import */ var _selector_utilities__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./selector-utilities */ \"./Packages/Plugins/Newland.AssetsNeos/Scripts/common/selector-utilities.js\");\n/* harmony import */ var _ajax_form_reload__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ajax-form-reload */ \"./Packages/Plugins/Newland.AssetsNeos/Scripts/common/ajax-form-reload.js\");\n/* harmony import */ var _remove_filters__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./remove-filters */ \"./Packages/Plugins/Newland.AssetsNeos/Scripts/common/remove-filters.js\");\n/* harmony import */ var _nimius_animation_utility__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @nimius/animation-utility */ \"./node_modules/@nimius/animation-utility/index.js\");\n/* harmony import */ var _results_list_filter_group__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./results-list-filter-group */ \"./Packages/Plugins/Newland.AssetsNeos/Scripts/common/results-list-filter-group.js\");\n/* harmony import */ var _nimius_event_utility__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @nimius/event-utility */ \"./node_modules/@nimius/event-utility/index.js\");\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\n\n\n\n\n\nvar ATTRIBUTE = Object.freeze({\n  RESULT_LIST: 'data-toubiz-results-list',\n  TOGGLE_BUTTON: 'data-toubiz-results-list.filter-toggle-button',\n  PAGINATION: 'data-toubiz-pagination',\n  LOADING: 'data-toubiz-results-loading',\n  PAGE_INPUT: 'data-toubiz-results-list.page',\n  TAGS: 'data-toubiz-results.filter-tags',\n  EMPTY_TAGS_REDIRECT: 'data-toubiz-results.filter-tags.redirect-if-empty',\n  FACET: 'data-toubiz-result-list.facet',\n  SCROLL_OFFSET: 'data-toubiz-results.scroll-to-top.offset',\n  SCROLL_SPEED: 'data-toubiz-results.scroll-to-top.speed',\n  FILTER_GROUP: 'data-toubiz-results-list.filter-group',\n  FILTER_FORM: 'data-toubiz-results-list.filter-form',\n  FILTER_LIST: 'data-toubiz-results-list.filter-list',\n  FILTER_LIST_TARGET: 'data-toubiz-results-list.filter-list-target',\n  FORM_ACTION: 'data-toubiz-results-list.filter-form.ajax-action',\n  FORM_METHOD: 'data-toubiz-results-list.filter-form.ajax-method',\n  FORM_UPDATE_URL: 'data-toubiz-results-list.filter-form.ajax-update-url',\n  FORM_UPDATE_URL_PARAMETERS: 'data-toubiz-results-list.filter-form.ajax-update-url-parameters',\n  FORM_UPDATE_URL_PLUGIN_NAMESPACE: 'data-toubiz-results-list.filter-form.ajax-update-url-plugin-namespace',\n  ACTIVE_CLASSES: 'data-toubiz-results-list.active-classes',\n  INACTIVE_CLASSES: 'data-toubiz-results-list.inactive-classes'\n});\n/**\n * @typedef {object} ResultsListController~scrollToTopSettings\n * @property {int} offset\n * @property {int} speed\n */\n\n/**\n * Shared behaviour for results lists.\n * This class combines a couple of components in order to form a base for list views.\n *\n * This class makes a number of assumptions:\n * - Every element described must be contained in the node passed to the controller.\n * - There must be a pagination marked with `[data-toubiz-pagination]` using the markup expected by\n *   the `Pagination` component.\n * - There may be a list of 'tags': A list of current filters that are then reset on click\n * - There must be a filter form marked with `data-toubiz-results-list.filter-form`\n *      - This form in turn can have the following attributes:\n *      - `data-toubiz-results-list.filter-form.ajax-action`\n *      - `data-toubiz-results-list.filter-form.ajax-method`\n *      - `data-toubiz-results-list.filter-form.ajax-update-url` (Set to 1 if the URL should be updated)\n *      - `data-toubiz-results-list.filter-form.ajax-update-url-parameters`\n *      - `data-toubiz-results-list.filter-form.ajax-update-url-plugin-namespace`\n * - There must be an element `[data-toubiz-results-list]` that contains the content that should be reloaded\n *   via AJAX request.\n */\n\nvar ResultsListController = /*#__PURE__*/function () {\n  /**\n   * @param {HTMLElement} node\n   */\n  function ResultsListController(node) {\n    _classCallCheck(this, ResultsListController);\n\n    /** @private {HTMLElement} */\n    this.container = node;\n    /** @private {HTMLElement} */\n\n    this.list = this.select(Object(_selector_utilities__WEBPACK_IMPORTED_MODULE_1__[\"attributeSelector\"])(ATTRIBUTE.RESULT_LIST));\n    /** @private {HTMLElement} */\n\n    this.toggleButton = this.select(Object(_selector_utilities__WEBPACK_IMPORTED_MODULE_1__[\"attributeSelector\"])(ATTRIBUTE.TOGGLE_BUTTON));\n    /** @private {HTMLInputElement} */\n\n    this.pageIndexInput = this.select(Object(_selector_utilities__WEBPACK_IMPORTED_MODULE_1__[\"attributeSelector\"])(ATTRIBUTE.PAGE_INPUT));\n    /** @private {ResultsListController~scrollToTopSettings} */\n\n    this.scrollToTopSettings = {\n      offset: parseInt(node.getAttribute(ATTRIBUTE.SCROLL_OFFSET), 10) || 120,\n      speed: parseInt(node.getAttribute(ATTRIBUTE.SCROLL_SPEED), 10) || 300\n    };\n    /** @protected {AjaxFormReload} */\n\n    this.formReload = this.initializeFormReload();\n    this.filters = [];\n    this.initializeFilter();\n    this.initializePagination();\n    this.initializeTags();\n    this.initializeFilterGroups();\n    this.onInitialize();\n    this.addClassesToElementsIfChildrenActive();\n  }\n  /** @protected */\n\n\n  _createClass(ResultsListController, [{\n    key: \"onInitialize\",\n    value: function onInitialize() {}\n    /** @protected */\n\n  }, {\n    key: \"onReinitialize\",\n    value: function onReinitialize() {}\n    /** @protected */\n\n  }, {\n    key: \"onReload\",\n    value: function onReload() {}\n    /**\n     * @protected\n     * @param {HTMLFormElement} form\n     * @returns {AjaxFormReload~options}\n     */\n\n  }, {\n    key: \"formReloadOptions\",\n    value: function formReloadOptions(form) {\n      var _this = this;\n\n      var lastKnownPage = parseInt(this.pageIndexInput.value, 10) || 1;\n\n      var reInitialize = function reInitialize() {\n        _this.container.setAttribute(ATTRIBUTE.LOADING, false);\n\n        _this.initializeTags();\n\n        _this.initializePagination();\n\n        _this.onReinitialize();\n\n        _this.addClassesToElementsIfChildrenActive();\n\n        lastKnownPage = parseInt(_this.pageIndexInput.value, 10) || 1;\n      };\n\n      return {\n        target: this.list,\n        action: form.getAttribute(ATTRIBUTE.FORM_ACTION) || form.action,\n        method: form.getAttribute(ATTRIBUTE.FORM_METHOD) || form.method,\n        updateUrl: form.getAttribute(ATTRIBUTE.FORM_UPDATE_URL) === '1',\n        updateUrlParameters: form.getAttribute(ATTRIBUTE.FORM_UPDATE_URL_PARAMETERS) || '',\n        updateUrlPluginNamespace: form.getAttribute(ATTRIBUTE.FORM_UPDATE_URL_PLUGIN_NAMESPACE) || '',\n        beforeLoad: function beforeLoad() {\n          _this.container.setAttribute(ATTRIBUTE.LOADING, true);\n\n          if (_this.pagination) {\n            // Reset pagination when something else (non-pagination) has changed.\n            var currentPage = parseInt(_this.pageIndexInput.value, 10) || 1;\n\n            if (currentPage !== 1 && currentPage === lastKnownPage) {\n              _this.resetPagination();\n            }\n          }\n\n          _this.scrollToTop();\n\n          _this.addClassesToElementsIfChildrenActive();\n\n          _this.onReload();\n        },\n        afterLoad: reInitialize,\n        onLoadError: reInitialize\n      };\n    }\n    /**\n     * @returns {AjaxFormReload}\n     * @private\n     */\n\n  }, {\n    key: \"initializeFormReload\",\n    value: function initializeFormReload() {\n      var form = this.select(Object(_selector_utilities__WEBPACK_IMPORTED_MODULE_1__[\"attributeSelector\"])(ATTRIBUTE.FILTER_FORM));\n      return new _ajax_form_reload__WEBPACK_IMPORTED_MODULE_2__[\"AjaxFormReload\"](form, this.formReloadOptions(form));\n    }\n    /**\n     * @param {string} selector\n     * @param {boolean} multiple\n     * @returns {HTMLElement|NodeList}\n     * @protected\n     */\n\n  }, {\n    key: \"select\",\n    value: function select(selector) {\n      var multiple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n      if (multiple) {\n        return document.querySelectorAll(selector);\n      }\n\n      var result = document.querySelector(selector);\n\n      if (!result) {\n        console.warn(\"\\n                Required element not found. Please ensure that \".concat(selector, \" exists on the page.\\n            \"));\n      }\n\n      return result;\n    }\n    /** @private */\n\n  }, {\n    key: \"initializePagination\",\n    value: function initializePagination() {\n      var _this2 = this;\n\n      var wrapper = document.querySelector(Object(_selector_utilities__WEBPACK_IMPORTED_MODULE_1__[\"attributeSelector\"])(ATTRIBUTE.PAGINATION));\n\n      if (!wrapper) {\n        return;\n      }\n\n      this.pagination = new _pagination_class__WEBPACK_IMPORTED_MODULE_0__[\"Pagination\"](wrapper);\n      wrapper.addEventListener('toubiz-pagination.page-select', function (event) {\n        var currentPage = parseInt(_this2.pageIndexInput.value, 10) || 1;\n\n        if (event.detail.page !== currentPage) {\n          _this2.pageIndexInput.value = event.detail.page;\n\n          _this2.pagination.setPage(event.detail.page);\n\n          _this2.formReload.reload();\n        }\n      });\n    }\n    /** @private */\n\n  }, {\n    key: \"initializeFilterGroups\",\n    value: function initializeFilterGroups() {\n      var _this3 = this;\n\n      var _iterator = _createForOfIteratorHelper(document.querySelectorAll(Object(_selector_utilities__WEBPACK_IMPORTED_MODULE_1__[\"attributeSelector\"])(ATTRIBUTE.FILTER_GROUP))),\n          _step;\n\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          var filterGroupNode = _step.value;\n          var filterGroup = new _results_list_filter_group__WEBPACK_IMPORTED_MODULE_5__[\"ResultsListFilterGroup\"](filterGroupNode); // Toggle filter group button visibility on mobile sub filter navigation\n\n          if (filterGroup.toggleButton) {\n            filterGroup.toggleButton.addEventListener('target-enhancement.open', function () {\n              _this3.toggleButton.classList.add('is-collapsed');\n            });\n            filterGroup.toggleButton.addEventListener('target-enhancement.close', function () {\n              _this3.toggleButton.classList.remove('is-collapsed');\n            });\n          }\n\n          filterGroupNode.addEventListener('filter-group.apply', function () {\n            Object(_nimius_event_utility__WEBPACK_IMPORTED_MODULE_6__[\"fireEvent\"])(_this3.toggleButton, 'target-enhancement.close');\n\n            _this3.resetPagination();\n\n            _this3.formReload.reload();\n          });\n          filterGroupNode.addEventListener('filter-group.reset', function () {\n            Object(_nimius_event_utility__WEBPACK_IMPORTED_MODULE_6__[\"fireEvent\"])(_this3.toggleButton, 'target-enhancement.close');\n\n            _this3.resetPagination();\n\n            _this3.formReload.reload();\n          });\n          this.filters.push(filterGroup);\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n    }\n    /** @private */\n\n  }, {\n    key: \"initializeTags\",\n    value: function initializeTags() {\n      var _this4 = this;\n\n      var tags = document.querySelector(Object(_selector_utilities__WEBPACK_IMPORTED_MODULE_1__[\"attributeSelector\"])(ATTRIBUTE.TAGS));\n\n      if (!tags) {\n        return;\n      }\n\n      new _remove_filters__WEBPACK_IMPORTED_MODULE_3__[\"RemoveFilters\"](tags, this.select(Object(_selector_utilities__WEBPACK_IMPORTED_MODULE_1__[\"attributeSelector\"])(ATTRIBUTE.FILTER_FORM)));\n      tags.addEventListener('tagRemoved', function () {\n        _this4.filters.forEach(function (filterGroup) {\n          filterGroup.update();\n        });\n\n        if (_this4.isDateSelection) {\n          _this4.resetDateSelection();\n        }\n\n        _this4.formReload.reload();\n      });\n\n      if (tags.hasAttribute(ATTRIBUTE.EMPTY_TAGS_REDIRECT)) {\n        tags.addEventListener('allTagsRemoved', function () {\n          document.location.href = tags.getAttribute(ATTRIBUTE.EMPTY_TAGS_REDIRECT);\n        });\n      }\n    }\n    /** @private */\n\n  }, {\n    key: \"resetPagination\",\n    value: function resetPagination() {\n      if (this.pagination) {\n        this.pageIndexInput.value = 1;\n        this.pagination.setPage(1);\n      }\n    }\n    /** @private */\n\n  }, {\n    key: \"initializeFilter\",\n    value: function initializeFilter() {\n      var _this5 = this;\n\n      var facets = this.select(Object(_selector_utilities__WEBPACK_IMPORTED_MODULE_1__[\"attributeSelector\"])(ATTRIBUTE.FACET), true);\n\n      var _iterator2 = _createForOfIteratorHelper(facets),\n          _step2;\n\n      try {\n        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n          var facet = _step2.value;\n          facet.addEventListener('click', function () {\n            return _this5.resetPagination();\n          });\n        }\n      } catch (err) {\n        _iterator2.e(err);\n      } finally {\n        _iterator2.f();\n      }\n    }\n    /** @private */\n\n  }, {\n    key: \"scrollToTop\",\n    value: function scrollToTop() {\n      var position = this.container.getBoundingClientRect().top + window.scrollY;\n      Object(_nimius_animation_utility__WEBPACK_IMPORTED_MODULE_4__[\"scrollToAnimated\"])(position - this.scrollToTopSettings.offset, this.scrollToTopSettings.speed);\n    }\n    /** @public */\n\n  }, {\n    key: \"toggleElementClasses\",\n    value: function toggleElementClasses() {\n      var elements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n      var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n      var activeClassAttribute = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ATTRIBUTE.ACTIVE_CLASSES;\n      var inactiveClassAttribute = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ATTRIBUTE.INACTIVE_CLASSES;\n\n      var _iterator3 = _createForOfIteratorHelper(elements),\n          _step3;\n\n      try {\n        for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n          var element = _step3.value;\n          var activeClasses = [];\n\n          if (element.hasAttribute(activeClassAttribute)) {\n            var _element$classList;\n\n            activeClasses = element.getAttribute(activeClassAttribute).split(' ');\n\n            (_element$classList = element.classList).remove.apply(_element$classList, _toConsumableArray(activeClasses));\n          }\n\n          var inactiveClasses = [];\n\n          if (element.hasAttribute(inactiveClassAttribute)) {\n            var _element$classList2;\n\n            inactiveClasses = element.getAttribute(inactiveClassAttribute).split(' ');\n\n            (_element$classList2 = element.classList).remove.apply(_element$classList2, _toConsumableArray(inactiveClasses));\n          }\n\n          if (state && activeClasses.length > 0) {\n            var _element$classList3;\n\n            (_element$classList3 = element.classList).add.apply(_element$classList3, _toConsumableArray(activeClasses));\n          } else if (inactiveClasses.length > 0) {\n            var _element$classList4;\n\n            (_element$classList4 = element.classList).add.apply(_element$classList4, _toConsumableArray(inactiveClasses));\n          }\n        }\n      } catch (err) {\n        _iterator3.e(err);\n      } finally {\n        _iterator3.f();\n      }\n    }\n    /** @private */\n\n  }, {\n    key: \"addClassesToElementsIfChildrenActive\",\n    value: function addClassesToElementsIfChildrenActive() {\n      var _iterator4 = _createForOfIteratorHelper(this.select(Object(_selector_utilities__WEBPACK_IMPORTED_MODULE_1__[\"attributeSelector\"])(ATTRIBUTE.FILTER_LIST_TARGET), true)),\n          _step4;\n\n      try {\n        for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n          var filterGroupToggle = _step4.value;\n          var isChildActive = this.isChildActive(filterGroupToggle);\n          this.toggleElementClasses([filterGroupToggle], isChildActive, ATTRIBUTE.ACTIVE_CLASSES, ATTRIBUTE.INACTIVE_CLASSES);\n        }\n      } catch (err) {\n        _iterator4.e(err);\n      } finally {\n        _iterator4.f();\n      }\n    }\n    /**\n     * @param {HTMLElement} parent\n     * @returns {boolean}\n     * @private\n     */\n\n  }, {\n    key: \"isChildActive\",\n    value: function isChildActive(filterGroupToggle) {\n      var target = filterGroupToggle.getAttribute(ATTRIBUTE.FILTER_LIST_TARGET);\n      var filterList = target ? this.select(target) : null;\n\n      if (filterList) {\n        var _iterator5 = _createForOfIteratorHelper(filterList.querySelectorAll('input')),\n            _step5;\n\n        try {\n          for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n            var input = _step5.value;\n            var type = input.getAttribute('type');\n\n            if (type === 'checkbox' && input.checked) {\n              return true;\n            }\n\n            if (type === 'number' && input.value !== '' && parseInt(input.value, 10) !== parseInt(input.placeholder, 10)) {\n              return true;\n            }\n          }\n        } catch (err) {\n          _iterator5.e(err);\n        } finally {\n          _iterator5.f();\n        }\n      }\n\n      return false;\n    }\n  }]);\n\n  return ResultsListController;\n}();\n\n//# sourceURL=webpack://LIS/./Packages/Plugins/Newland.AssetsNeos/Scripts/common/results-list-controller.class.js?");

/***/ }),

/***/ "./Packages/Plugins/Newland.AssetsNeos/Scripts/common/results-list-filter-group.js":
/*!*****************************************************************************************!*\
  !*** ./Packages/Plugins/Newland.AssetsNeos/Scripts/common/results-list-filter-group.js ***!
  \*****************************************************************************************/
/*! exports provided: ResultsListFilterGroup */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ResultsListFilterGroup\", function() { return ResultsListFilterGroup; });\n/* harmony import */ var _selector_utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./selector-utilities */ \"./Packages/Plugins/Newland.AssetsNeos/Scripts/common/selector-utilities.js\");\n/* harmony import */ var _nimius_event_utility__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nimius/event-utility */ \"./node_modules/@nimius/event-utility/index.js\");\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\nvar ATTRIBUTE = Object.freeze({\n  TOGGLE_BUTTON: 'data-toubiz-results-list.filter-group-toggle',\n  RESET_BUTTON: 'data-toubiz-results-list.filter-group-reset',\n  APPLY_BUTTON: 'data-toubiz-results-list.filter-group-apply',\n  FILTER_GROUP_ITEM: 'data-toubiz-results-list.filter-group-item',\n  FILTER_GROUP_ITEM_RESET_EVENT: 'data-toubiz-results-list.filter-group-item-reset-event',\n  BACKDROP: 'data-toubiz-results-list.filter-group-backdrop'\n});\nvar ResultsListFilterGroup = /*#__PURE__*/function () {\n  /**\n   * @param {HTMLElement} wrapper\n   */\n  function ResultsListFilterGroup(wrapper) {\n    _classCallCheck(this, ResultsListFilterGroup);\n\n    this.wrapper = wrapper;\n    this.items = wrapper.querySelectorAll(Object(_selector_utilities__WEBPACK_IMPORTED_MODULE_0__[\"attributeSelector\"])(ATTRIBUTE.FILTER_GROUP_ITEM)); // button elements\n\n    this.resetButton = wrapper.querySelector(Object(_selector_utilities__WEBPACK_IMPORTED_MODULE_0__[\"attributeSelector\"])(ATTRIBUTE.RESET_BUTTON));\n    this.applyButton = wrapper.querySelector(Object(_selector_utilities__WEBPACK_IMPORTED_MODULE_0__[\"attributeSelector\"])(ATTRIBUTE.APPLY_BUTTON));\n    this.toggleButton = wrapper.querySelector(Object(_selector_utilities__WEBPACK_IMPORTED_MODULE_0__[\"attributeSelector\"])(ATTRIBUTE.TOGGLE_BUTTON));\n    this.backdrop = wrapper.querySelector(Object(_selector_utilities__WEBPACK_IMPORTED_MODULE_0__[\"attributeSelector\"])(ATTRIBUTE.BACKDROP)); // set initial state\n\n    this.state = this.getCurrentState();\n    this.isOverlayOpen = false; // initialize button listeners and disabled state toggling\n\n    if (this.resetButton && this.applyButton) {\n      this.initializeButtons();\n    }\n  }\n\n  _createClass(ResultsListFilterGroup, [{\n    key: \"getItemValue\",\n    value: function getItemValue(input) {\n      switch (input.type) {\n        case 'checkbox':\n          return input.checked;\n\n        case 'text':\n        case 'number':\n          return input.value;\n\n        default:\n          return null;\n      }\n    }\n  }, {\n    key: \"resetItemValue\",\n    value: function resetItemValue(input) {\n      var resetEvent = input.getAttribute(ATTRIBUTE.FILTER_GROUP_ITEM_RESET_EVENT);\n\n      if (resetEvent) {\n        Object(_nimius_event_utility__WEBPACK_IMPORTED_MODULE_1__[\"fireEvent\"])(input, resetEvent);\n      }\n\n      switch (input.type) {\n        case 'checkbox':\n          input.checked = false;\n          break;\n\n        case 'text':\n        case 'number':\n          input.value = null;\n          break;\n\n        default:\n          break;\n      }\n    }\n  }, {\n    key: \"reset\",\n    value: function reset() {\n      var _iterator = _createForOfIteratorHelper(this.items),\n          _step;\n\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          var item = _step.value;\n          this.resetItemValue(item);\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n    }\n  }, {\n    key: \"getCurrentState\",\n    value: function getCurrentState() {\n      var currentState = [];\n\n      var _iterator2 = _createForOfIteratorHelper(this.items),\n          _step2;\n\n      try {\n        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n          var item = _step2.value;\n          currentState.push(this.getItemValue(item));\n        }\n      } catch (err) {\n        _iterator2.e(err);\n      } finally {\n        _iterator2.f();\n      }\n\n      return currentState;\n    }\n  }, {\n    key: \"updateState\",\n    value: function updateState() {\n      this.state = this.getCurrentState();\n    }\n  }, {\n    key: \"hasUnappliedChanges\",\n    value: function hasUnappliedChanges() {\n      var previousState = JSON.stringify(this.state);\n      var currentState = JSON.stringify(this.getCurrentState());\n      return previousState !== currentState;\n    }\n  }, {\n    key: \"maybeCloseOverlay\",\n    value: function maybeCloseOverlay() {\n      if (this.toggleButton && this.isOverlayOpen) {\n        this.isOverlayOpen = false;\n        Object(_nimius_event_utility__WEBPACK_IMPORTED_MODULE_1__[\"fireEvent\"])(this.toggleButton, 'target-enhancement.close');\n      }\n    }\n  }, {\n    key: \"onResetIntent\",\n    value: function onResetIntent() {\n      this.reset();\n      this.updateState();\n      this.resetButton.disabled = true;\n      this.applyButton.disabled = true;\n      Object(_nimius_event_utility__WEBPACK_IMPORTED_MODULE_1__[\"fireEvent\"])(this.wrapper, 'filter-group.reset');\n    }\n  }, {\n    key: \"update\",\n    value: function update() {\n      this.updateState();\n      this.applyButton.disabled = true;\n    }\n  }, {\n    key: \"apply\",\n    value: function apply() {\n      this.update();\n      this.maybeCloseOverlay();\n      Object(_nimius_event_utility__WEBPACK_IMPORTED_MODULE_1__[\"fireEvent\"])(this.wrapper, 'filter-group.apply');\n    }\n  }, {\n    key: \"onClose\",\n    value: function onClose() {\n      if (this.hasUnappliedChanges()) {\n        this.apply();\n      } else {\n        this.maybeCloseOverlay();\n      }\n    }\n  }, {\n    key: \"hasActiveItems\",\n    value: function hasActiveItems() {\n      var hasActiveItems = false;\n\n      var _iterator3 = _createForOfIteratorHelper(this.state),\n          _step3;\n\n      try {\n        for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n          var item = _step3.value;\n\n          if (item && item !== '') {\n            hasActiveItems = true;\n          }\n        }\n      } catch (err) {\n        _iterator3.e(err);\n      } finally {\n        _iterator3.f();\n      }\n\n      return hasActiveItems;\n    }\n  }, {\n    key: \"onItemChanged\",\n    value: function onItemChanged(item) {\n      if (this.getItemValue(item)) {\n        this.resetButton.disabled = false;\n      } else if (!this.hasActiveItems()) {\n        this.resetButton.disabled = true;\n      }\n\n      this.applyButton.disabled = false;\n    }\n  }, {\n    key: \"initializeButtons\",\n    value: function initializeButtons() {\n      var _this = this;\n\n      var _iterator4 = _createForOfIteratorHelper(this.items),\n          _step4;\n\n      try {\n        var _loop = function _loop() {\n          var item = _step4.value;\n\n          if (_this.getItemValue(item)) {\n            _this.resetButton.disabled = false;\n          }\n\n          item.addEventListener('change', function () {\n            return _this.onItemChanged(item);\n          });\n          item.addEventListener('results-list-filter.change', function () {\n            return _this.onItemChanged(item);\n          });\n        };\n\n        for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n          _loop();\n        }\n      } catch (err) {\n        _iterator4.e(err);\n      } finally {\n        _iterator4.f();\n      }\n\n      this.resetButton.addEventListener('click', function () {\n        _this.onResetIntent();\n\n        _this.maybeCloseOverlay();\n      });\n      this.applyButton.addEventListener('click', function () {\n        return _this.apply();\n      });\n\n      if (this.toggleButton) {\n        this.toggleButton.addEventListener('target-enhancement.open', function () {\n          _this.isOverlayOpen = true;\n        });\n        this.toggleButton.addEventListener('target-enhancement.close', function () {\n          return _this.onClose();\n        });\n      }\n\n      if (this.backdrop) {\n        this.backdrop.addEventListener('click', function () {\n          return _this.onClose();\n        });\n      }\n    }\n  }]);\n\n  return ResultsListFilterGroup;\n}();\n\n//# sourceURL=webpack://LIS/./Packages/Plugins/Newland.AssetsNeos/Scripts/common/results-list-filter-group.js?");

/***/ })

}]);